{"version":3,"sources":["utils/index.js","pages/Login.js","pages/Error.js","pages/NotFound.js","pages/Access.js","pages/PrivacyPolicy.js","pages/DeleteAccount.js","service/LocationService.js","utils/chat.js","service/wastegen.service.js","service/wastetran.service.js","components/landing/service.js","components/landing/LandingContainer.js","components/landing/RegisterSocialLandingContainer.js","components/landing/AppleLandingContainer.js","components/AppTopbar.js","components/AppFooter.js","components/AppMenu.js","service/CarService.js","components/demo/Dashboard.js","service/MasterService.js","service/file.service.js","service/ChatService.js","components/AppInlineProfile.js","features/map/MapWithASearchBox.js","components/change-password/ChangePassword.js","components/wastegen/WastegenProfile.js","components/wastegen/WastegenWithdraw.js","components/wastegen/WastgenReportsBuying.js","components/wastegen/WastegenReportsAmount.js","reducer/authen.reducer.js","constants/mappingValue.js","components/wastegen/WastegenInlineProfile.js","PropsRoute.js","components/wastegen/ExampleChangePasswordCtrl.js","features/widget/FileView.js","components/profile/ImageInfoView.js","components/required/ValidateInputNumberLengthView.js","components/required/ValidateInputNumberView.js","components/required/ValidateInputTextView.js","components/required/ValidateDropdownView.js","components/required/ValidatePhoneNumberRequiredView.js","components/profile/ProfileInfoView.js","components/profile/BankInfoView.js","components/profile/AddressInfoView.js","components/profile/AddressSwapInfoView.js","components/register/service.js","components/changepin/ChangePinView.js","components/wastegen/ExampleWastegenProfileCtrl.js","components/wastegen/ExampleWastegenChangePassword.js","components/withdraw/WithDrawHeaderView.js","components/ExportExcel/ExportExcel.js","components/data-table/DynamicDataTableView.js","components/wastegen/ExampleWastegenWithdrawCtrl.js","constants/order-status.js","components/search/SearchView.js","service/order.service.js","service/autocomplete.service.js","components/dialog/PrintDialogView.js","components/wastegen/ExampleWastegenReportBuyingCtrl.js","components/wastegen/ExampleWastegenReportAmountCtrl.js","components/wastegen-dashboard/WastegenOverviews.js","components/wastegen-dashboard/WastegenTimelines.js","components/administrator/service.js","components/wastegen/WastegenNewsDetail.js","components/waste-news/WasteGenNewView.js","components/data-table/DatatableDashBoardView.js","components/wastegen/WastegenDashboard.js","components/data-table/DatatableGoodnessView.js","components/data-table/TableProductGoodnessView.js","components/wastegen/WastegenGoodness.js","components/wastegen/WastegenCertificate.js","components/message/ChatWastegenView.js","components/wastegen/WastegenChatMassage.js","components/wastegen/WastegenContact.js","features/input/CEInputText.js","features/input/CECalendar.js","features/input/CEDropdown.js","features/input/CEPassword.js","components/wastegen/ExampleWastegenChangePin.js","components/wastetran-dashboard/WastetranOverviews.js","components/dashboard/StatisticView.js","features/widget/Avatar.js","components/message/utils.js","components/message/LeftBubble.js","components/message/RightBubble.js","service/admin.service.js","components/message/ChatRoom.js","components/message/service.js","components/wastegen/WastegenChatView.js","components/wastegen/WastegenChatAdmin.js","components/message/ChatWastegenWhitU2View.js","components/wastegen/WastegenChatWithU2.js","components/wastegen/WastegenOrderList.js","components/donate/DonateHeaderView.js","components/wastegen/WastegenDonate.js","components/wastegen/WastegenDonateHistory.js","components/wastegen/service.js","components/wastegen/WastegenContainer.js","components/wastetran/WastetranNotiWithdraw.js","components/wastetran/WastetranProfile.js","features/map/MapWithASearchBoxAndMarkers.js","components/wastetran/service.js","components/wastetran/WastetranChatWithU1.js","components/wastetran/WastetranManageOrder.js","features/widget/CEFileUpload.js","features/widget/CEFileUploadWithImg.js","components/wastetran/WastetranManageAccept.js","components/wastetran/WastetranReportBuying.js","components/wastetran/WastetranInlineProfile.js","components/profile/DrivenInfoView.js","components/profile/AddU3View.js","components/profile/LocationRecycleView.js","components/wastetran/ExampleWastetranProfileCtrl.js","components/wastetran/ExampleWastetranChangePassword.js","components/wastetran/ExampleWastetranChangePin.js","components/wastetran/ExampleWastetranNotiWithdrawCtrl.js","components/wastetran/ExampleWastetranReportBuyingCtrl.js","components/wastetran/ExampleWastetranReportAmountCtrl.js","components/wastetran-noti-recycle/WastetranOrderDetails.js","components/wastetran-noti-recycle/WastetranMoreItems.js","components/transport/TransportsView.js","components/wastetran/ExampleWastetranNotiRecycleCtrl.js","components/wastetran/WastetranNewsDetail.js","components/waste-news/WasteTranNewView.js","components/wastetran/WastetranDashboard.js","components/wastetran/WastetranChatAdmin.js","components/wastetran/WastetranChatView.js","components/message/ChatWastetranWhitU3View.js","components/wastetran/WastetranChatWithU3.js","components/wastetran/WastetranContact.js","components/wastetran/WastetranDonate.js","components/wastetran/WastetranDonateHistory.js","components/wastetran/WastetranContainer.js","components/wastepro/service.js","components/wastepro/WasteproCreateOrder.js","components/wastepro/WasteproManageOrder.js","components/wastepro/WasteproReportInvoice.js","components/wastepro/WasteproManageInvoice.js","components/wastepro/WasteproManageTransfer.js","components/wastepro/WasteproReportValidateOrder.js","components/wastepro/WasteproReportTransfer.js","components/wastepro/WasteproReportBuying.js","components/wastepro/WasteproProfile.js","service/authenService.js","components/wastepro/WasteproInlineProfile.js","components/wastepro/ExampleWasteproProfileCtrl.js","components/wastepro/ExampleWasteproChangePassword.js","components/wastepro/ExampleWasteproReportBuyingCtrl.js","components/wastepro/ExampleWasteproNotiRecycleCtrl.js","components/wastepro-dashboard/WasteproOverviews.js","components/data-table/DatatableWasteproDashView.js","service/wastepro.service.js","components/wastepro/WasteproNewsDetail.js","components/waste-news/WasteProNewView.js","components/wastepro/WasteproDashboard.js","features/map/MapMarkers.js","components/wastepro/WasteproManageProductPrice.js","components/message/ChatWasteproView.js","components/wastepro/WasteproChatMassage.js","components/wastepro/WasteproManageAccept.js","components/wastepro/WasteproContact.js","components/wastepro/WasteproChatAdmin.js","components/wastepro/WasteproChatView.js","components/message/ChatWasteproWhitU2View.js","components/wastepro/WasteproChatWithU2.js","components/wastepro/WasteproReportMaxPurchase.js","components/wastepro/WasteproReportPurchaseAmount.js","components/wastepro/WasteproContainer.js","service/CountryService.js","service/NodeService.js","components/demo/FormsDemo.js","service/EventService.js","components/demo/SampleDemo.js","components/demo/DataDemo.js","components/demo/PanelsDemo.js","components/demo/OverlaysDemo.js","components/demo/MenusDemo.js","components/demo/MessagesDemo.js","components/register/WastegenRegisContainer.js","components/demo/ChartsDemo.js","components/demo/MiscDemo.js","components/demo/EmptyPage.js","components/demo/Documentation.js","components/demo/UtilsDemo.js","components/register/WastetranRegisContainer.js","components/register/WasteproRegisContainer.js","components/data-table/DatatableRankView.js","components/data-table/DatatableOutBalanceView.js","components/message/MessageAdminView.js","components/administrator/DashboardAdminContainer.js","components/administrator/ReportApplicationWaseGenContainer.js","components/administrator/ReportApplicationWaseTranContainer.js","components/administrator/ReportApplicationWaseProContainer.js","components/administrator/AdministratorInlineProfile.js","components/administrator/CreateOrderContainer.js","components/administrator/ManageOrderContainer.js","components/administrator/ManageInvoiceContainer.js","components/administrator/ManageMoneyTransferContainer.js","components/administrator/ReportInvoice.js","components/administrator/ExampleAdminReportWithdraw.js","components/administrator/ReportMoneyTransferContainter.js","components/administrator/ReportOrder.js","components/administrator/ReportWithdraw.js","components/administrator/ManageProductPrice.js","components/administrator/ManageProductFee.js","components/administrator/ManageDeliveryCost.js","components/administrator/ManageDeliveryDistance.js","components/administrator/ManageDeliveryWeight.js","components/administrator/ManageFeeWeight.js","components/administrator/ManageAdminMember.js","components/administrator/ManageLevelAdmin.js","components/administrator/ManageMemberContainer.js","components/administrator/ManageCertificate.js","components/administrator/ManageCertificateResult.js","components/administrator/ManageSettingParameter.js","components/message/ChatAdminView.js","components/administrator/ChatAdministrator.js","components/administrator/ManageFAQ.js","components/administrator/ManageNews.js","components/administrator/ManageSettingReward.js","components/administrator/ManageEnvironmentalCorporateAccount.js","components/administrator/ManageProduct.js","components/administrator/ManageProductType.js","components/administrator/ManageDonateHistory.js","components/administrator/ReportRating.js","features/map/MapMarkersWasteByLocat.js","components/administrator/ReportWasteByLocation.js","components/administrator/AdministratorContainer.js","components/test/TestContainer.js","PrivateRoute.js","components/test/ExampleAvatar.js","components/test/ExampleCtrl.js","components/test/ExampleExcel.js","components/test/ExampleStateLessTestView.js","components/test/TestStateLessCtrl.js","components/wastegen/WastgenReportsBuyingPrint.js","components/wastetran/WastetranReportsBuyingPrint.js","components/wastepro/WasteproReportsBuyingPrint.js","components/wastepro/WasteproInvoiceBuyingPrint.js","components/pdf/PdfTableExample.js","components/test/ExamplePDF.js","pages/FrequentlyAskedQuestions.js","pages/ForgetPassword.js","pages/Landing.js","AppWrapper.js","serviceWorker.js","reducer/locationReducer.js","reducer/rptAdminReducer.js","reducer/dhbAdminReducer.js","reducer/masterReducer.js","reducer/userinfo.reducer.js","reducer/file.reducer.js","reducer/order.reducer.js","reducer/wastegen.reducer.js","reducer/wastetran.reducer.js","reducer/wastepro.reducer.js","reducer/autocomplete.reducer.js","reducer/admin.reducer.js","reducer/chatReducer.js","reducer/index.js","store.js","index.js","service/axios.js","service/user.service.js","utils/utilFunctions.js","constants/word.js","utils/secureUtils.js","service/actionType.js","constants/api.js","constants/sticker/01.png","constants/sticker/02.png","constants/sticker/03.png","constants/sticker/04.png","constants/sticker/05.png","utils/validators.js","constants/sticker/06.png","constants/sticker/07.png","constants/sticker/08.png","constants/sticker/09.png","constants/sticker/10.png","constants/sticker/11.png","constants/sticker/12.png","constants/sticker/13.png","constants/sticker/14.png","constants/sticker/15.png","constants/sticker/16.png","constants/sticker/17.png","constants/sticker/18.png","constants/sticker/19.png","constants/sticker/20.png","constants/sticker/21.png","constants/sticker/22.png","constants/sticker/23.png","constants/sticker/24.png","constants/sticker/25.png","constants/sticker/26.png","constants/sticker/27.png","constants/sticker/28.png","constants/sticker/29.png","constants/sticker/30.png","constants/sticker/31.png","constants/sticker/32.png","constants/sticker/33.png","constants/sticker/34.png","constants/sticker/35.png","constants/sticker/36.png","constants/sticker/37.png","constants/sticker/38.png","constants/sticker/39.png","constants/sticker/40.png"],"names":["_secureUtils__WEBPACK_IMPORTED_MODULE_0__","__webpack_require__","d","__webpack_exports__","_validators__WEBPACK_IMPORTED_MODULE_1__","Login","_Component","props","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","setPasswordVisible","e","console","log","state","checkedPasswordVisible","setState","typePasswordInput","_handleKeyDownEnter","key","handleSubmit","facebookResponse","response","loginProps","authModel","Provider","Token","accessToken","logout","loginExternal","responseGoogle","TYPE_ROOT","tokenId","username","password","submitted","_inherits","_createClass","value","_e$target","target","name","_defineProperty","preventDefault","_this$state","login","_this$state2","_this$props","authentication","userType","isLoading","getUserType","logedIn","window","location","localStorage","getItem","React","createElement","className","style","textAlign","src","alt","href","InputText","placeholder","onChange","handleChange","bind","onKeyDown","marginTop","height","type","Button","width","icon","onClick","isFailed","color","label","ProgressSpinner","strokeWidth","fill","animationDuration","FacebookLogin","appId","autoLoad","fields","textButton","cssClass","float","callback","GoogleLogin","clientId","buttonText","render","renderProps","class","onSuccess","onFailure","cookiePolicy","Component","connect","dispatch","bindActionCreators","UserService","forwardRef","Error","apply","arguments","NotFound","Access","PrivacyPolicy","marginBottom","paddingLeft","privacy","marginRight","ScrollPanel","DeleteAccount","borderRadius","_regeneratorRuntime","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","ws","intervalHandler","getProvice","PROVINCE","REQUEST","isFetching","axios","url","concat","API_ROOT","res","SUCCESS","payload","data","error","FAILURE","getDistrict","provinceCode","DISTRICT","getSubDistrict","districtCode","SUB_DISTRICT","getCardProvice","CARD_PROVINCE","getCardDistrict","CARD_DISTRICT","getCardSubDistrict","CARD_SUB_DISTRICT","getAwaitDistrict","_ref","_asyncToGenerator","_callee","_context","get","t0","_x","getAwaitSubDistrict","_ref2","_callee2","_context2","_x2","getChipProvice","CHIP_PROVINCE","getChipDistrict","CHIP_DISTRICT","getArrChipDistrict","arrProv","ARR_CHIP_DISTRICT","result","map","rs","getBalance","WASTEGEN_ACCOUNT_BALANCE","headers","Authorization","saveWithdrawal","withdrawal_thb","bank_withdraw_code","requestParam","waste_uid","SecureUtils","wasteType","WASTEGEN_ACCOUNT_WITHDRAW","Content-Type","getWithdrawHistory","WASTEGEN_ACCOUNT_WITHDRAW_HISTORY","getWastegenDashLastOrder","WASTEGEN_DASH_LAST_ORDER","status","getWastegenDashProduct","WASTEGEN_DASH_PRODUCT","wastegenChangePin","WASTEGEN_CHANGE_PIN","JSON","stringify","otpResetPinSend","mobile_no","otpResetPinResend","otpVerifyPin","otp_code","otp_ref","getWastegenDonate","WASTEGEN_DONATE","wastegenTransferDonate","WASTEGEN_TRANSFER_DONATE","getWastegenDonateHistory","WASTEGEN_DONATE_HISTORY","wastegenRegisWastetran","WASTETGEN_REGIS_WASTETRAN","wastetranOrderSearchNoti","criteria","WASTETRAN_ORDER_SEARCH_NOTI","message","WASTETRAN_ACCOUNT_BALANCE","WASTETRAN_ACCOUNT_WITHDRAW","WASTETRAN_ACCOUNT_WITHDRAW_HISTORY","wastetranAutoOrder","search_name","WASTETRAN_AUTO_ORDER","getWastetranDashProduct","WASTETRAN_DASH_PRODUCT","getWastetranDashOrderStat","WASTETRAN_DASH_ORDER_STAT","wastetranChangePin","WASTETRAN_CHANGE_PIN","otpVerifyChangePin","getWastetranDonate","WASTETRAN_DONATE","wastetranTransferDonate","WASTETRAN_TRANSFER_DONATE","getWasteTranDonateHistory","WASTETRAN_DONATE_HISTORY","wastetranRegisWastegen","WASTETRAN_REGIS_WASTEGEN","authenExternal","model","connectWebsocket","createRef","senderId","senderType","WEBSOCKET_ROOT","ReconnectingWebSocket","implementWebsocket","onMessage","ping","sendMessage","message_type","onopen","setInterval","onmessage","_message","parse","onerror","onclose","event","code","reason","closeWebsocket","clearInterval","close","send","LandingContainer","iconList","barOpen","barClosed","handleNavAction","pv","isNavActive","iconBar","wastetype","socialtype","removeItem","setItem","open","WEB_ROOT","renderFeature","id","renderLogin","disableFacebookGoogle","ref","section","registerWaste","Dialog","header","visible","visibleErrorDialogy","onHide","errorMessenger","onClickRegister","isDisabled","disabled","backgroundColor","display","loggingOut","userServiceProps","alertDialog","isAuthenticated","user","token","displayDialog","registerDialog","_assertThisInitialized","onClickNavbar","loginButton","redirectToRegis","x","document","getElementById","locationServiceProps","getUserInfo","userTypeNo","userTypeRegis","userInfo","wastetypeCode","is_available_register","userTypeName","_this2","beforeLogin","scrollToComponent","offset","align","duration","cursor","afterLogin","_this3","btnLogin","province","dialogFooter","registerFooter","ScrollAnimation","animateIn","animateOut","modal","footer","defaultProps","district","subDistrict","LocationService","WastegenServiceProps","WastegenService","WastetranServiceProps","WastetranService","RegisterSocialLandingContainer","bindRegister","search","_q","qs","googleResponse","ServerAPI","isVerified","Panel","AppleLandingContainer","AppTopbar","item","onTopbarItemClick","originalEvent","onMenuButtonClick","onTopbarMenuButtonClick","profileMode","horizontal","topbarMenuActive","activeTopbarItem","AppSubmenu","index","root","onRootItemClick","command","activeIndex","onMenuItemClick","menuActive","isHorizontalOrSlim","prevProps","prevState","snapshot","layoutMode","submenuIcon","items","badge","Fragment","content","renderLinkContent","to","NavLink","activeClassName","exact","onMouseEnter","onMenuItemMouseEnter","styleClass","active","classNames","badgeStyleClass","active-menuitem","tooltip","renderLink","parentMenuItemActive","nextProps","AppMenu","_Component2","onRootMenuItemClick","CarService","getBanks","BANK","getProductType","PRDT","getProduct","product_type_code","PRD","getSettingParameterAll","MASTER_SETTING_PARAMETER","updateSettingParameter","deleteWasteTranFile","fileType","fileName","WASTETRAN_FILE_DELETE","deleteWasteproFile","WASTEPRO_FILE_DELETE","getChatMessageByRoom","roomId","pageSize","timeStamp","GET_CHAT_MESSAGE_BY_ROOM","loadMoreChatMessage","LOAD_MORE_CHAT_MESSAGE","addNewChatMessage","ADD_NEW_CHAT_MESSAGE","sendChatImage","image","handleResult","SEND_CHAT_IMAGE","formData","FormData","fileData","uri","split","append","getChatList","GET_CHAT_LIST","_mockChatList","getAdminUid","getBadgeAdmin","GET_CHAT_ADMIN_BADGE","getBadgePickup","room_id","GET_CHAT_PICKUP_BADGE","getBadgeDelivery","GET_CHAT_DELIVERY_BADGE","updateReadAll","badges","isPickup","includes","isDelivery","isAdminChat","Math","random","toString","_","require","_require","compose","withProps","lifecycle","_require2","withScriptjs","withGoogleMap","GoogleMap","Marker","SearchBox","MapWithASearchBox","googleMapURL","loadingElement","containerElement","mapElement","componentWillMount","refs","bounds","markers","onBoundsChanged","debounce","getBounds","center","getCenter","onBoundsChange","maxWait","onMapMounted","onSearchBoxMounted","searchBox","onPlacesChanged","places","getPlaces","google","maps","LatLngBounds","place","geometry","viewport","union","extend","nextMarkers","position","nextCenter","marker","toJSON","onCenterChanged","resetBoundsOnResize","defaultZoom","zoom","defaultCenter","lat","lng","controlPosition","ControlPosition","TOP_LEFT","fontFamily","boxSizing","border","marginLeft","boxShadow","fontSize","outline","textOverflow","draggable","onDragEnd","onMarkerMoveEnd","ChangePassword","_getPrototypeOf2","_len","args","Array","_key","onChangeOldPassword","onChangeNewPassword","onChangeConfirmPassword","onChangePasswordVisible","nextState","classNameRequired","isChangePassword","errorMessageOldPassword","errorMessagePassword","errorMessageConfirmPassword","disableNewPass","required","autoComplete","ToggleButton","borderColor","onLabel","offLabel","onIcon","offIcon","checked","WastegenProfile","initialSelected","locationMaster","banks","selectedPersonPrefix","person_prefix_code","personPrefixs","val","selectedCompanyType","org_type","companyTypes","selectedBank","bank_code","selectedProv","addr_current_province_code","selectedDistrict","addr_current_district_code","selectedSubDistrict","addr_current_subdistrict_code","subDistrictCode","validateRequire","_classNameRequired","_validateLogic","telephone_no1","person_type","person_first_name","person_last_name","org_name","oldPassword","confirmPassword","Validators","isValidateError","onChangeInputText","onChangeProv","onChangeDistrict","onChangeSubDistrict","onChangePersonPrefix","_e$target2","onChangeCompanyType","_e$target3","onChanageBank","_e$target4","onSubmit","showWarn","jsPass","newPassword","statusMessage","changePassword","updateWastegenProfile","isShowChangePassword","isUpdate","onMarkerMoved","coor","latLng","latitude","longitude","mapCenter","showSuccess","growl","show","severity","summary","detail","showError","RegExp","test","cfpassword","onChangeSwitchPassword","isLoadDist","isLoadSubDist","locationRecycle","inputId","dummyDropdownBank","mapZoom","_this$props2","userInfoMaster","initialForm","object","_this$props3","formInfomation","contentBank","contentContact","contentLocation","contentLogin","personType","Dropdown","options","optionLabel","maxlength","keyfilter","person_idcard","legalType","org_code","RadioButton","htmlFor","location_type_code","bank_account_name","bank_account_no","bank_promptpay","addr_current_detail","line_id","email","assign","Growl","el","InputSwitch","WastegenWithdraw","status2","statusItem","manageTable","orderDetail","acceptFileExt","alignSelf","DataTable","paginatorPosition","selectionMode","rows","responsive","selection","dataTableSelection","onSelectionChange","scrollable","Column","field","sortable","WastgenReportsBuying","rowData","column","ColumnGroup","Row","WastegenReportsAmount","initialState","WASTE_TYPE","wastegen","wastetran","wastepro","administrator","WastgenInlineProfile","initial","redirectProfile","onRegisTranClick","changePasswordU1","changePinU1","swapToWastetran","swapToAdmin","fromChat","isLoadAvatar","expanded","fileImgRegis","currentUserInfo","fileServiceProps","getFileWastegen","fullName","imageProfile","img_person_name","contentProfile","profile-expanded","secondToken","role","tabIndex","PropsRoute","component","rest","_objectWithoutProperties","Route","routeProps","finalProps","renderMergedProps","ExampleChangePasswordCtrl","iconPos","FileView","getExt","showCtrl","filename","_personImg","_img","_file","ext","indexOf","ImageInfoView","onSelect","onRefresh","onDelete","renderWastegen","renderWastetran","renderWastepro","renderMode","mode","blob","urlImage","getFile","isNotEmpty","objectURL","toggleable","FileUpload","chooseLabel","withCredentials","cancelLabel","multiple","accept","maxFileSize","auto","ValidateInputNumberLengthView","mask","errorMessage","InputMask","isInValid","Message","text","ValidateInputNumberView","isInValidNoneRequired","ValidateInputTextView","maxLength","ValidateDropdownView","ValidatePhoneNumberRequiredView","isErrorPhone","tmpRequired","isInValidPhoneNumberRequired","ProfileInfoView","wasteTypesSelected","wasteTypes","onCheckChange","errMobileMsg","telephone_no2","isEmail","BankInfoView","onKeyPress","handleNumber","AddressInfoView","onChangeAdrCurrProv","onChangeAdrCurrentDistrict","onChangeAdrCurrentSubDistrict","selectedAdrCurrentProv","selectedAdrCurrentDistrict","currentDistrict","selectedAdrCurrentSubDistrict","currentSubDistrict","AddressSwapInfoView","handlePositiveNumber","characterCode","characterNumber","Number","currentTarget","max","min","onChangeAdrCardProv","onChangeAdrCardDistrict","onChangeAdrCardSubDistrict","area_rai","area_ngan","area_square_wah","validateShowMessage","useCardAddress","selectedAdrCardProv","selectedAdrCardDistrict","selectedAdrCardSubDistrict","addr_card_detail","isEmpty","cardProvince","cardDistrict","cardSubDistrict","checkExit","checkExitPhoneAndName","searchMemberName","ChangePinView","isShow","onClickShow","isValidBankWithDrawCode","onChangePin","isValidPassword","onChangePassword","onClickSubmitPin","isPassPinVisible","onClickVisible","ExampleWastegenProfileCtrl","valState","userInfoModel","set","fileImgPerson","size","listFileDelete","spFname","isInitial","modePin","initialDropdown","provinceModel","currentDistrictModel","currentSubDistrictModel","_validateAddressInfo","chkCardProv","chkCardDistrict","chkCardSubDistrict","chkCardAddress","chkCurrentProv","chkCurrentDistrict","chkCurrentSubDistrict","chkCurrentAddress","onSelectFileImgPerson","files","onRefreshPerson","filter","onDeletePerson","telephoneNumber","tmpChkUid","userId","isShowChangePin","_e$target5","isChangePin","validatePassword","passwordPin","onChangePinPassword","_e$target6","_ref3","_callee3","_context3","isValidPasswordPin","_x3","onSubmitChangePin","_ref4","_callee4","jsDataPin","_context4","inputPin","isSubmitPin","_x4","updateSuccess","userCardAddress","userInfoLoad","changePasswordLoad","changePasswordModel","updateWastegenProfileLoad","Accordion","AccordionTab","banksModel","master","locationLoad","masterLoad","ExampleWastegenChangePassword","WithDrawHeaderView","numVal","toFixed","info","onClickNotiMoney","title","addCommaAndDotFromNumberOrStr","withdrawAmount","unApproveAmount","input_amount_required","input_amount","valid","bank_withdraw_code_required","ExportExcel","isDisable","wb","Sheets","XLSX","json_to_sheet","SheetNames","excelBuffer","bookType","dataBlob","Blob","FileSaver","exportToExcel","DynamicDataTableView","pageNumber","actionTemplate","onPage","loading","first","setTimeout","startIndex","export","dt","exportCSV","onSaveTransfer","sumCol7","sumCol8","sumCol9","sumCol10","entity","parseFloat","colSpan","sumCol5","preProp","preState","dynamicColumns","col","selectedMode","body","keyData","entityData","tmpObj","keyModel","entityModel","exportExcel","exportExcelFileName","saveTransfer","paginator","emptyMessage","sortMode","rowsPerPageOptions","footerColumnGroup","ExampleWastegenWithdrawCtrl","classNamed","_validateRequired","_classNameRequiredIsError","isSave","validateAllRequired","_objectSpread","validateRequired","wastegenWithdraw","wastegenBalance","outstanding_balance_thb","withdraw_balance_thb","dataHistory","wastegenWithdrawHistory","tmpData","col1","dateFormat","requested_date","col2","approver_date","col3","col4","col5","col6","bank_name","col7","approver_uid","showdate","subMessage","getStatus","statusCode","SearchView","onChangeStatus","onChangePickupdate","onChangePickupdateTo","onChangeAppointmentDate","onChangeAppointmentDateTo","onClickSearch","onClickCancel","onSuggestorderIds","onSuggestorderNames","onSuggestCollectionNames","onSuggestShopNames","onChangeAutocomplete","onChangeBank","AutoComplete","order_id","orderIdSuggestions","order_name","suggestions","orderNameSuggestions","completeMethod","statusValue","statusList","Calendar","showIcon","pickup_date_required","pickupDate","maxDate","pickupDateTo","pickup_date_to_required","minDate","appointment_date_required","appointmentDate","appointmentDateTo","appointment_date_to_required","collector_name","collectionNameSuggestions","shop_name","shopNameSuggestions","renderAdminWithdraw","bank","orderSearch","ORDER_SEARCH","orderAutoComplete","ORDER_AUTO_COMP","getOrderDetail","autoCompleteAdminAll","AUTO_ADMINALL","suggest","autoCompleteProduct","AUTO_PROD","product_name","autoCompleteWasteall","AUTO_WASTEALL","autoCompleteWastegen","AUTO_WASTEGEN","autoCompleteWastetran","AUTO_WASTETRAN","autoCompleteWastepro","AUTO_WASTEPRO","PrintDialogView","showDialog","footerDialog","ExampleWastegenReportBuyingCtrl","tmpCode","order_code","orderNameList","product_code","order_status","date","Date","getTime","pickup_date_start","toISOString","pickup_date_end","delivery_date_start","delivery_date_end","user2_search_name","uid","keyDetail","entityDetail","pickup_start_date","pickup_end_date","delivery_date","pickup_quantity_kk","col8","estimate_price_per_unit","col9","delivery_quantity_kk","col10","price_per_unit","col11","u2_fullname","col12","order_status_name","ExampleWastegenReportAmountCtrl","pickup_date","delivery_price_per_unit","WastegenOverviews","summaryBalance","successBalance","noSuccessBalance","carbonCreditSummary","donateSummary","WastegenTimelines","onClickRefresh","dataRs","tmpDataRs","states","objStatus","current_order_status","convertDateMonthNumberToWord","aspected_date","actual_date","renderStatus","getReportApplicantWastegen","RPT_APLC_WG","getReportApplicantWastepro","RPT_APLC_WP","getReportApplicantWastetran","RPT_APLC_WT","getDashboardUsers","DHB_USER","getTranLocation","getProfile","getProLocation","CreateOrder","handleCreateResult","updateOrder","autoComplateOrderID","searchOrder","searchReportOrder","searchReportOrderDownload","responseType","searchReportRating","searchReportWasteByLocation","searchwasteAll","searchInvoice","updateInvoice","searchwastepro","searchProduct","searchOrgAll","searchOrgAccountName","searchadminAll","searchWithDrawRequest","AddTransfer","AddTranspotDistanceType","getTranspotDistanceType","removeTranspotDistanceType","AddTranspotWeightType","getTranspotWeightType","removeTranspotWeightType","AddFeeWeightType","getFeeWeightType","removeFeeWeightType","Addprocessfee","AddTransportFee","getprocessfee","getTransportFee","removeprocessfee","Addsalepricebyu3","getsalepricebyu3","removesalepricebyu3","getAllProductType","addProductType","updateProductType","removeProductType","getReward","AddReward","searchReward","editReward","deleteReward","gid","removeTransportFee","searchProuctFee","searchSalePriceByU3","searchDonateAccount","editTransportWeightType","editTransportDistanceType","editTransportFee","editSalepricebyu3","editProcessfee","editFeeWeightType","createNews","editNews","getAllNews","getNewsByCode","getFileImgNews","getAllfaq","addFAQ","editFAQ","removeFAQ","deleteNews","getAdminRoles","CreateAdministrator","UpdateAdministratorProfile","getAdminPermission","updateAdminPermission","getToken","getUsersAllForManagement","ADMIN_USER_LIST","createCertTemplate","updateCertTemplate","getCertTemplateAll","ADMIN_CERT_TEMPLATE_LIST","getCertTemplateById","deleteCertTemplate","getCertResult","ADMIN_CERT_RESULT_LIST","searchWaste","wasteCode","searchName","searchChatWasteAll","CreateOrganizationDonateAccount","getOrganizationAccount","updateDonateOrganizationAccount","removeDonateOrganizationAccount","setProfileVerification","resetpassword","resettype","getproductAll","removeProduct","AddProduct","editProduct","searchDonateRequest","searchProductList","searchProductTypeList","setProfileStateChange","getProfileState","WastegenNewsDetail","images1","list_news","showProgress","itemTemplate","previewTemplate","onItemChange","responsiveOptions","breakpoint","numVisible","newsCode","newsgid","defaultImageIndex","imgList","newsImageDetails","array","imageName","fileImgList","margin","dateTime","Moment","format","toFormatDateTime","createdDate","Progress","showProgressSpinner","newsTitle","borderStyle","updateDate","defaultImageName","letterSpacing","lineHeight","newsDetail","borderWidth","borderTop","Galleria","previewItemTemplate","thumbnailItemTemplate","maxWidth","thumbnailsPosition","userAnnounce","WasteGenNewView","newsDataList","wastegennews","element","isWasteGen","styles","StyleSheet","container","overlay","bottom","left","right","overflow","transition","textheader","whiteSpace","zIndex","top","transform","mstransform","textdetail","text2","textDecoration","autoPlay","circular","Link","path","showThumbnails","showIndicators","changePreviewOnIndicatorHover","showIndicatorsOnPreview","indicatorsPosition","DatatableDashBoardView","WastegenDashboard","dummySuccessDataTable","order","ranking","amount","quantity","getNewsList","list","obj","userTypeLabel","newFileObj","isWasteTran","isWastePro","newValiable","defaultImage","isDeleted","arr","contentNews","income_summary_thb","abs","withdraw_summary_thb","carbon_credit_summary","donate_summary_thb","contentOverview","dataList","prepareData","product_type_name","quantity_kk","contentSuccessDataTable","contentTimeline","DatatableGoodnessView","TableProductGoodnessView","selectedCar1","WastegenGoodness","productTypeDataTable","tpye","selectedProduct","layout","DataViewLayoutOptions","renderHeader","showDetailDataTable","handleClick","WasteGenCertificate","userCert","useSelector","useDispatch","_useState","useState","_useState2","_slicedToArray","certificationList","setCertificationList","_useState3","_useState4","setShowProgress","_useState5","_useState6","setGid","_useState7","_useState8","isEdit","setIsEdit","_useState9","_useState10","selectedCert","setSelectedCert","useRef","op","useEffect","getCertAll","orderBy","current","updateCert","updateCertImage","socialShare","toggle","OverlayPanel","cert_image_name","cert_name","encodeURIComponent","fbs_click","line_click","certTable","showCertTable","onTabChange","cert_image_width","cert_image_height","cert_image_axis_x","cert_image_axis_y","holder_name_axis_x","holder_name_axis_y","holder_name_font_size","cert_holder_name","cert_date_axis_x","cert_date_axis_y","cert_date_font_size","moment","cert_date","cert_template_image","ChatWastegenView","valueDd","listDd","onChangeDd","valueMessage","onChangeMessage","valueMemberName","onChangeMemberName","onAddMember","customChipRemove","valueChips","valueProvince","provinceList","onChangedProvinceDb","valueDistrict","districtList","onChangedDistrictDb","showChatMassage","aria-hidden","aria-labelledby","WastegenChatMassage","selectedChat","chatWastegen","ListBox","carTemplate","listMessage","WastegenContact","classNam","CEInputText","changed","_isValid","validation","isvalid","_valid","regexp","minlength","minvalue","maxvalue","undefined","isNumber","classList","remove","_className","add","minLength","CECalendar","isArray","showTime","hourFormat","p-error","readOnlyInput","CEDropdown","_$visited","dataKey","CEPassword","ExampleWastegenChangePin","telephoneNumber1","otpRef","otpCode","otpVerify","otpShow","otpTimeOut","otpButtonDisable","otpTypeInput","otpDisabled","errorMessageOtp","onOtpSendPin","onOtpResendPin","errorMessageTelephoneNumber1","_this4","_this5","parseInt","_this6","isvalid_telephoneNumber1","onPressOtp","onOtpVerify","WastetranOverviews","StatisticView","waitDate","waitOrder","waitSendDate","waitSendOrder","closeDate","closeOrder","cancelDate","cancelOrder","overDueDate","overDueOrder","Avatar","onError","stickerPrefix","getSticker","stickerName","replace","sticker","LeftBubble","avatar","avataImage","userWasteType","datetime","receiverId","isSticker","avataStyle","bubbleContainer","imageContainer","datetimeContainer","flex","flexDirection","paddingHorizontal","paddingVertical","padding","RightBubble","getImage","isFirstMessage","isLastMessage","Image","justifyContent","alignItems","adminAnnounceAdd","ADMIN_ANNOUNCE_ADD","getAdminDashSummaryArea","ADMIN_DASH_SUMMARY_AREA","getAdminDashSummaryAreaSearch","sale_year","sale_month","ADMIN_DASH_SUMMARY_AREA_SEARCH","getAdminDashSummaryWithdraw","ADMIN_DASH_SUMMARY_WITHDRAW","ADMIN_USER_LIST_CHAT","loadMoreUsersAllForManagement","LOAD_MORE_ADMIN_USER_LIST","addNewUsersAllForManagement","users","ADD_NEW_ADMIN_USER_LIST","updateUsersAll","chatList","chatListOfId","last_chat","chatListById","without","chatListNew","count_unread","message_time","send_datetime","unshift","stickerDefaultList","_toConsumableArray","ChatRoom","handleOnSend","messageSending","receiver_id","receiver_waste_type","receiverWasteType","orderCode","is_admin_chat","getChatMessage","goToEnd","chatListBox","listBoxElement","getElementsByClassName","newScrollTop","isAmAdmin","scrollTop","scrollHeight","maxScroll","handleOnShowSticker","stickerHeight","onHideSticker","onSelectSticker","stickerId","hide","receiverImage","messages","isFirstRender","messageTemplate","addEventListener","handleScroll","currentRouteName","updateAdminBadge","adminBadge","onUpdateAdminBadge","sendReadData","userList","onUpdateUserList","srcElement","getMoreChatMessage","minBy","moreChat","currentChat","newChat","bounceScrollwhenLoadMore","fileImage","file","isSuccessed","_scrollHeight","listStyle","listClassName","messageCompoment","iam","getImageSource","myImage","fetch","URL","createObjectURL","displayUserScreenDialog","receiverUserName","re","getTokenfail","_this7","onBasicUpload","aria-haspopup","aria-controls","showCloseIcon","resizeMode","handleInputText","onPressEnterSend","_this8","chatMessages","inputMessage","onViewScreenClick","dialogUserScreenFooter","dismissableMask","WastegenChatView","senderNumberType","chatWastetran","chat","wastetranBalance","WastegenChatAdmin","adminInfo","user_wasteTypes","find","chatSingleBadge","admin","ChatServiceProps","ChatWastegenWhitU2View","WastegenChatWithU2","WastegenOrderList","col99","openChat","redirectToChatU2","orderData","handleOnChat","otherWasteType","roomType","u1_uid","u2_uid","u2_img","u1_img","u3_uid","u3_img","Redirect","pathname","DonateHeaderView","WastegenDonate","donateData","org_uid","orgSelection","renderFooter","displayConfirmation","titleDialog","showDialogDonate","wastegenTransfer","contactDetailBodyDialog","orgSelected","addressDetailBodyDialog","onopenContectDetail","onopenAddressDetail","itemOrg","wastegenDonate","contract_detail","addr_current_province_name","add_current_district_name","addr_current_subdistrict_name","openContectDetail","openAddressDetail","openDonateDialog","WastegenDonateHistory","environmental_account_no","itemHistory","showSearchPanel","wastegenDonateHistory","waste_type","waste_name","donate_thb","transaction_img","WastegenContainer","manageChatWebsocket","createMenu","staticMenuMobileActive","userNotCompleteDialog","redirectRegisTran","ServiceAPI","tickerLoad","layoutCompact","overlayMenuActive","staticMenuDesktopInactive","rotateMenuButton","darkMenu","theme","version","onDocumentClick","onMenuClick","masterServiceProps","profileStatusCode","menuClick","isDesktop","topbarItemClick","hideOverlayMenu","isHorizontal","isSlim","rightPanelClick","rightPanelActive","innerWidth","changeStyleSheetUrl","special","prefix","urlTokens","getAttribute","newURL","join","setAttribute","menu","layoutClassName","menu-layout-static","menu-layout-overlay","layout-menu-overlay-active","menu-layout-slim","menu-layout-horizontal","layout-menu-static-inactive","layout-menu-static-active","menuClassName","layout-menu-dark","userNotCompleteFooter","layoutMenuScroller","WastegenCertificate","MasterService","FileService","ChatService","WastetranNotiWithdraw","WastetranProfile","customChip","districtName","provinceName","chipDistrict","valueChip","splice","chipProvince","getFileWastetran","selectedCurrentProv","selectedCurrentDistrict","selectedCurrentSubDistrict","selectedCardProv","addr_card_province_code","selectedCardDistrict","addr_card_district_code","selectedCardSubDistrict","addr_card_subdistrict_code","provinceChipSelected","areaList","chkPov","valArea","keyProv","provVal","isLoadChip","keyDist","valDist","isUseCardAdress","addr_card_use_current","requrestImage","isImgIdCard","img_iden_name","getFileWastetranIden","isImgRegis","img_regis_org_name","getFileWastetranRegis","isImgPerson","getFileWastetranPerson","isImgVehicle","vehicle_img_name","getFileWastetranVehicle","renderImage","fileImgIden","imgRegis","imgPerson","imgVehicle","fileImgVehicle","onProvinceChipChanged","onDistrictChipChanged","districtSelected","chk","onCheckTypeCar","selectedTypeCar","onDuplicate","onChangeCurrentProv","onChangeCurrentDistrict","onChangeCurrentSubDistrict","onChangeCardProv","_this$props4","onChangeCardDistrict","_this$props5","onChangeCardSubDistrict","onFileIDCardChanged","onFileRegisChanged","onFilePersonChanged","onFileVehicleChanged","areListString","updateWastetranProfile","onOldPasswordChanged","onPasswordChanged","onConfirmPasswordChanged","isRendered","checkedSameAddress","dummyTypeCars","acceptPic","imgIdCard","prepareWasteTypes","setUid","setAddrCardUseCurrent","wasteTypeList","showPassCheck","intChecked","wasteTypeListString","useCurrentAddress","_this$props6","contentUser","contentPicture","contentAddress","contentDriver","Chips","onRemove","Checkbox","vehicle_no","vehicle_type","MapWithASearchBoxAndMarkers","WastetranChatWithU1","WastetranManageOrder","redirectToChatU1","redirectToChatU3","brandSuggestions","mapGenMarker","mapGenMarkers","mapGenZoom","mapGenCenter","brands","showAddMoreProduct","wasteTypeSelected","productSelected","amountSelected","orderID","date1","date2","reportSearchOrders","showReportPanel","addDataToTable","showAddProduct","onWasteTypeChange","onproductsChange","onOrderIDChanged","onSelectOrderID","onFileWasteChanged","onDate1Change","onDate2Change","clearSearchInput","onOrderSelected","clearAllDataInput","quantityEditor","memoEditor","trim","orderIDSuggestions","searchModel","admin_code","orderSelection","getOrder","newList","_newList","orderStatus","genID","u1_id","genName","u1_fullname","genPhone","u1_telephone1","genAddress","u1_address","genImg","tranID","u2_id","tranName","u2_fulname","proID","u3_id","proName","u3_fullname","proPhone","u3_telephone1","proAddress","u3_address","proImg","u1_lat","u1_lng","proMarder","u3_lat","u3_lng","fileImgWaste","productTypeCode","product","updatedCars","rowIndex","onEditorQuantityChange","onEditorTextChange","inputQuantityEditor","inputTextEditor","OrderDetailList","pickup_remark","memo","getYear","searchResult","showSearchResult","suggestOrderID","itemOrderIDTemplate","to_requested_start_date","to_requested_end_date","to_transfer_date","_this9","wastegenDetail","showWastegen","wasteproDetail","showWastepro","mapChanged","_this10","dataTableSelection1","editor","_this11","productType","_this12","contentTransportInfo","provinces","transportInfoContent","contentOrderDetail","orderDetailContent","contentAddProduct","addProductContent","productList","sum","_this13","brand","mapProMarker","mapProMarkers","mapProCenter","mapProZoom","_this14","searchPanel","showOrderDetail","CEFileUpload","onClickDeleteItem","CEFileUploadWithImg","selectedCover","onSelectCover","masterImageIndex","selectedTable","onSelectedCover","brandTemplate","bodyContent","WastetranManageAccept","wasteWorkStatus","is_active","acceptCode","dayChecked","dayCheckedString","is_sunday","week","is_monday","is_tuesday","is_wednesday","is_thursday","is_friday","is_saturday","startTimeList","sunday_start_time","monday_start_time","tuesday_start_time","wednesday_start_time","thursday_start_time","friday_start_time","saturday_start_time","endTimeList","sunday_end_time","monday_end_time","tuesday_end_time","wednesday_end_time","thursday_end_time","friday_end_time","saturday_end_time","user_uid","daySelected","daySelectedString","startTimeInputPanel","disable","startTime","timeList","hours","substring","minutes","seconds","setHours","setMinutes","setSeconds","inputStyle","onStartTimeChange","timeOnly","endTimeInputPanel","endTime","onEndTimeChange","acceptTimeList","distanceLabel","isNotValid","isNotValidUpdate","acceptJob","blankWeek","showSettingPanel","onValidation","update","delete","onUpdateValidation","onDistanceUpdate","onDistanceDelete","distance","distance_name","more_than_km","less_than_km","notValid","objAcceptTimeList","objMin","objMax","deleteDialog","property","time","timelist","setTime","start","end","lastIndexOf","timeInputPanel","disableTimeInputPanel","deleteDialogFooter","distanceTable","updateProperty","acceptJobStastusPanel","acceptJobStastus","addDistancePanel","showAddDistance","showDistanceTable","WastetranReportBuying","WastetranInlineProfile","onRegisGenClick","changePasswordU2","changePinU2","swapToWastegen","DrivenInfoView","AddU3View","listSuggestions","chipValue","valueU3","full_name","onSelectAutoCompleteSearchName","suggestBrands","onUsernameChanged","itemTemplateAutoComplete","itemTemplateChipU3","LocationRecycleView","onChangeProvinceChip","onChangeDistrictChip","districtChipSelected","selectedChipDistrict","ExampleWastetranProfileCtrl","saveWastetran","u3ListString","checkCardAddress","isInitialLoadChip","u3List","cardProvinceModel","cardDistrictModel","cardSubDistrictModel","chipProvinceModel","chipDistrictModel","onSelectFileImgIden","onRefreshIden","onDeleteIden","onSelectFileImgRegis","onRefreshRegis","onDeleteRegis","onSelectFileImgVehicle","onRefreshVehicle","onDeleteVehicle","onUsernameU3Changed","onAddU3","onChangeChips","updateWastetranProfileLoad","indexSugges","findIndex","ExampleWastetranChangePassword","ExampleWastetranChangePin","ExampleWastetranNotiWithdrawCtrl","wastetranWithdraw","wastetranWithdrawHistory","ExampleWastetranReportBuyingCtrl","user_search_name","user3_search_name","delivery_cost","ExampleWastetranReportAmountCtrl","WastetranOrderDetails","orderEditor","remarkEditor","editable","WastetranMoreItems","contentDetail","contentlist","TransportsView","onMarkerMovedU3","imageUrlU1","fontWeight","gmap","imageUrlU3","gmapU3","ExampleWastetranNotiRecycleCtrl","isSearch","onEditorValueChange","dataReceive","remark","contentFindOrder","gmapU1","urlU1","urlU3","contentOderDetail","contentMoreItems","WastetranNewsDetail","images","WasteTranNewView","wastetrannews","WastetranDashboard","last_update_date","stat_count","contentStatisticOrders","WastetranChatAdmin","WastetranChatView","ChatWastetranWhitU3View","WastetranChatWithU3","selectedCar","WastetranContact","getWasteproDashPayment","getWasteproDashProduct","getWasteproDashSummary","getWasteproDashOrderStat","WastetranDonate","wastetranTransfer","wastetranDonate","WastetranDonateHistory","wastetranDonateHistory","WastetranContainer","redirectRegisGen","updateWorkingStatus","wasteproGetNewOrderByCode","wasteproAcceptOrRejectOrder","isAccepted","newData","WasteproManageOrder","orderReportDetail","statusTemplate","SelectOrderAccept","SelectOrderNoAccept","deliveryDateTemplate","deliveryDate","tranPhone","u2_telephone1","tranAddress","u2_address","tranImg","NewOrderData","appraisedPriceSelected","delivery_sale_price","salePriceSelected","delivery_remark","price","wastetranDetail","showWastetran","a_sale_price","footerGroup","salePrice","salePriceTemplate","dataTableSelection2","contentReportBuying","reportBuyingContent","reportNewBuyingContent","_this15","_this16","_this17","_this18","WasteproReportInvoice","memberUid","reportSearchInvoice","onSelectAdminName","memberType","invoice_status","adminName","adminUid","total_price","sum_price","sum_quantity","total_quantity","invoiceTable","reportInvoiceTable","dhbUsers","dhbAdmin","dashBoardServiceProps","DashBoardService","AuthenService","accessKey","WasteproInlineProfile","changePasswordU3","getFileWastepro","ExampleWasteproProfileCtrl","saveWastePro","wasteTypeString","fileImgShop","update_date","update_by_uid","updateWasteproProfile","isInitialSelected","inx","onSelectFileImgShop","onRefreshShop","onDeleteShop","tmpFilter","firstCenter","updateWasteproProfileLoad","ExampleWasteproChangePassword","ExampleWasteproReportBuyingCtrl","ExampleWasteproNotiRecycleCtrl","orderIds","suggestorderIds","results","toLowerCase","startsWith","query","WasteproOverviews","payment_amount_thb","total_payment_amount_thb","DatatableWasteproDashView","WASTEPRO_DASH_PAYMENT","WASTEPRO_DASH_SUMMARY_OVERDUE","WASTEPRO_DASH_SUMMARY_PAID","WASTEPRO_DASH_SUMMARY_PRODUCTS","WASTEPRO_DASH_ORDER_STAT","WasteproNewsDetail","WasteProNewView","wastepronews","WasteproDashboard","dummyData","unit","dataListOverdue","dataOverdue","price_cost","price_per_unit_avg","contentOverdue","dataListPaid","dataPaid","contentPaid","dataListProducts","dataProducts","contentProducts","contentStatisticOrdersMain","MapMarkers","onMarkerClicked","WasteproManageProductPrice","addressDetail","priceList","memberStore","searchProductType","priceSelected1","memberStore1","memberStore3","memberStore4","testData","nameStore","product_type","buy_per_kk","onsearchProductChange","onsearchProductTypeChange","getsalepricebyu3ForValid","onWeightUpdate","onproductTypeUpdate","updateStatus","memberUid1","searchProductCode","searchProductTypeCode","productPriceList","productTypeObjUpdate","productObjUpdate","onproductPriceUpdate","onproductPriceDelete","classname","icons","onStatusUpdate","productPrice","fee_per_kk","statusDialog","productTypeDropdown","less_than_kk","more_than_kk","productDropdown","_disableDelete","is_used","disableDelete","objProductPrice","u3_name","memberName","searchProductName","memberName1","productType1","product1","newlist","objlist","statusDialogFooter","weightTable","addnew","addNewProductTab","weightTablePanel","showWeightTable","districts","subDistricts","ChatWasteproView","WasteproChatMassage","chatWastepro","WasteproManageAccept","WasteproContact","WasteproChatAdmin","WasteproChatView","ChatWasteproWhitU2View","WasteproChatWithU2","statusRang","statusOption","WasteproContainer","changePinU3","WasteproReportPurchaseAmount","WasteproReportMaxPurchase","CountryService","countriesData","NodeService","EventService","WastegenRegisContainer","showPage","currentPage","pageAgreement","pageOne","errorMessageUsername","messageUsername","pageTwo","onTelephoneNumber1Changed","lineId","isvalid_email","locationType","placeTypes","isNotvalidStep2","pageThree","provinceSelected","onprovinceChanged","ondistrictChange","subDistrictSelected","onSubDistrictChanged","isNotvalidStep3","pageFour","history","nextPage","inputRequestStep","inputRequestStep1","inputRequestStep2","inputRequestStep3","backPage","scrollTo","errorMessageLastStep","forceUpdate","errorMessageOrgNo","prefixCode","firstName","lastName","comparationSelect","nameType","pageTwoCheckbox","companyTypeCode","orgName","companyNo","districtsSelected","subDistrictsSelected","hideCancel","isAuthenFacebook","facebookId","isAuthenGoogle","googleId","isvalid_companyNo","bindAuthenFacebook","bindAuthenGoogle","oncomparationSelectChange","onnameTypeChange","onTwoCheckboxChange","showpersonType","onClickedAddArea","onIDCardChanged","isNotvalidStep1","onCompanyNoChanged","authFacebook","fname","lname","authGoogle","profileObj","givenName","familyName","personPrefix","selectedpageTwoCheckbox","onDistrictChanged","messageTelephoneNumber1","registerModel","regModel","organizationTypeId","organizationName","organizationNo","legalEntity","orgNo","inputSec1","inputSec2","inputSec3","inputAll","hasErrorMsg","inputStep2","inputStep3","registerRequest","back","onCancelClick","backNotAccept","onCancelNotAccept","nextAccept","nextSubmit","bodyType","btnBack","backpage","btnBackPage","btnNext","Card","WastetranRegisContainer","onRemoveU3","telephoneNumber2","vehicleType","vehicle","vehicleNo","onProvinceChanged","companyName","nameTitle","acceptImgExt","showPass","values2","legalSelectItems","onLagalSelect","onTitleSelect","onBasicUploadAuto","onUserChange","customChipRemoveRemoveU3","districtSelect","isNotvalid","fileNotValidFunc","nomalPerson","Legal","inputSec111","notAccept","nextFirst","WasteproRegisContainer","mapMarker","areaRai","isvalid_areaRai","areaNgan","isvalid_areaNgan","areaSquareWah","isvalid_areaSquareWah","pageFive","selectedFile","DatatableRankView","listRanks","contentRank","year","DatatableOutBalanceView","listOutBalance","MessageAdminView","inputClassName","InputTextarea","value_message_required","onsubmit","DashboardAdminContainer","memberNameChip","memberNameChips","initChips","onChangeDropdown","month","yearSearch","adminServiceProps","waste_receiver_group","is_all_waste","waste_user_id","province_code","district_code","announcement_time","announcement_message","listYear","listMonth","tmpYear","valueMonth","province_name","district_name","subdistrict_name","total_quantity_kk","positive_value","negative_value","order_wait_appointment_count","order_wait_pickup_count","order_closed_count","gen_count","tran_count","pro_count","dataChips","AdminService","ReportApplicationWaseGenContainer","dataTableValue","reportServiceProps","created_date","tmp","Objmaster","rptApplicants","ชื่อผู้สมัคร","applicant_name","หมายเลขโทรศัพท์","อีเมล​์","ไลน์ไอดี","ตำบล/แขวง","อำเภอ/เขต","จังหวัด","ชื่อเข้าใช้งาน","วันเวลาที่สมัคร","toLocaleDateString","to_created_date","reportAdmin","wgApplicants","ReportService","ReportApplicationWaseTranContainer","sort","b","wtApplicants","ReportApplicationWaseProContainer","wpApplicants","AdministratorInlineProfile","CreateOrderContainer","searchProModel","distance_km","requestProLocation","mapTranMarker","mapTranMarkers","mapTranZoom","mapTranCenter","wasteTypeItem","productItem","OrderList","searchWastetran","searchWastepro","U1name","U2name","U3name","provinceTest","phone","subDistrictList","pickDate","pickDateStart","pickDateEnd","deliveryCost","ModelInputLocation","wastetranDataList","wasteproDataList","dataTableSelection3","personPrefixCode","isProfileCompleted","onUpload","onFileDelete","onTableTranSelected","onTableProSelected","onMarkerProClicked","onClickSaveOrder","onPickDateStartChange","onPickDateEndChange","onDeliveryDateChange","selectedTranByLatLng","selectedProByLatLng","distanceTemplate","genAddressProvince","genAddressDistrict","objPro","pro_name","address_detail","marder","searchTranModel","selectedTran","loc","objTran","tran_name","genFname","genLname","personIdcard","orgTypeCode","orgType","genMarder","bindingProfile","localtionServiceProps","objProvince","objDistrict","objSubDistrict","showBodyDetail","createNewOrder","genPersonName","genOrgName","isSuccess","genPhone2","matchingTab","matchingResult","tranHeader","onInput","globalFilterTran","proHeader","globalFilterPro","globalFilter","createDetail","showCreateDetail","ManageOrderContainer","memberTypeItem","date3","date4","selectedProductImg","statusSearchItem","showReportTable","showHideSearch","selectDay","onMemberNameChanged","onSelectMemberName","onDate3Change","onDate4Change","selectedPro","itemProductImgTemplate","estimatePricePerUnitEditor","pickupQuantityEditor","deliveryQuantityEditor","deliveryPricePerUnitEditor","onOrderKeyPress","showReportResult","showHideSearchPanel","memberSuggestions","tranUid","proUid","u3Remark","deliveryVehicleTypeRemark","deliveryDistanceKm","statusName","admin_name","productImageNames","u3_remark","delivery_vehicle_type_remark","delivery_distance_km","p_start","p_end","delivery_end","orderListString","orderDetailListString","_this19","dateStart","dateEnd","toDate","getFullYear","confirm","register_date","_this20","_this21","_this22","suggestMemberName","_this23","_this24","wastegenName","showStatus","showWastegenName","productImageView","showProductImageView","addProductTab","DataView","orderDetailSelection","actionDeliveryPriceTemplate","onSelectedStatus","autoResize","_this25","ManageInvoiceContainer","imageDialog","imageUrl","imageError","onInvoicingClick","onPaidClick","tableHeader","onImageOpen","imgButton","handleImageError","invoice_code","invoice_status_name","adminSuggestions","inValid","inValid2","invoiceStatus","invoice","payment_image_name","itemMemberTemplate","suggestAdminName","onAdminNameChanged","itemAdminTemplate","ManageMoneyTransferContainer","statusItemSelected","request_date_start","request_date_end","transfer_date_start","transfer_date_end","onDateRequestStartChange","onDateRequestEndChange","onDateTransferStartChange","onDateTransferEndChange","datePicker","onClickTransfer","dataTableWithDrawRequestTable","_dataTable","tranfer_date_calendar","tranfer_date_iso","isChecked","showOnFocus","panelStyle","touchUI","onDatePickerChange","isNotAttachAllFiles","isSomeTransfered","transaction_uid","withdrawal_status_code","transfer_date","withdrawal_status","tranfer_date","to_requested_date","showResult","ReportInvoice","deliveryCostTemplate","processFeeTemplate","headerTemplate","footerTemplate","listOfInvoice","invoiceDetail","j","sale_price","process_fee","calculateQuantityTotal","calculatePriceTotal","total","_step","_iterator","_createForOfIteratorHelper","car","err","_step2","_iterator2","เลขที่","ชื่อร้าน","ผู้ขาย","ผู้ขนส่่ง","รายการ","วันที่ส่ง","ผู้ดูแล","สถานะ","ปริมาณส่ง (Kg)","ราคาขาย (บาท)","ค่าขนส่ง (บาท)","ค่าบริการ (บาท)","rowGroupMode","rowGroupHeaderTemplate","sortField","sortOrder","groupField","rowGroupFooterTemplate","ExampleAdminReportWithdraw","ReportMoneyTransferContainter","ชื่อสมาชิก","วันที่แจ้ง","วันที่โอน","จำนวนเงิน (บาท)","ชื่อบัญชี","เลขที่บัญชี","ธนาคาร","Prompt pay","request_date","ReportOrder","date5","date6","excelDisable","onDate5Change","onDate6Change","reConstruct","searchOrderDownload","close_date_start","close_date_end","listOfOrder","estimate_price","is_excel","fileDownload","fee","close_date","ORDER ID","รายการสินค้า","ชื่อ U1","ชื่อ U2","ชื่อ U3","วันเปิด order","วันนัดรับเริ่ม","วันนัดรับสิ้นสุด","วันส่ง","วันปิด order","ปริมาณประเมิน (Kg)","ปริมาณเก็บ (Kg)","ราคาประเมิน/หน่วย","ราคาประเมิน (บาท)","ราคาขาย/หน่วย","หมายเหตุ","excelData","sum_quantity_kk","sum_pickup_quantity_kk","sum_delivery_quantity_kk","sum_estimate_price_per_unit","sum_estimate_price","sum_price_per_unit","sum_sale_price","sum_delivery_cost","sum_process_fee","to_close_date","actionTemplate1","to_double","contentStyle","ReportWithdraw","ManageProductPrice","onMemberName1Changed","onSelectMemberName1","suggestMemberName1","ManageProductFee","priceSelected","weigthSelected","weigth1","weigth1Item","weigth","onWeigth1Change","onWeightChange","getprocessfeeForCheck","onProductTypeUpdate","onProductUpdate","getfeeWeight1Type","processFeeList","weightTypeList","ProductTypeObjUpdate","ProductObjUpdate","weightObjUpdate","onProductFeeUpdate","onProductFeeDelete","productFee","ProductTypeDropdown","ProductDropdown","weightDropdown","weight_type_id","weight_type_name","objPriceCost","weight_name","idweigth","min_per_kk","max_per_kk","nameWeigth","ManageDeliveryCost","deliveryCostList","distanceName","distanceGid","distanceItem","weightName","weightGid","weightItem","checkedRecalonly","checkedRecalonlyEdit","recalonlyAdd","onClickAddDeliveryCost","onDistanceChange","distanceList","weightList","distanceObj","minDistance","maxDistance","weightObj","minWeight","maxWeight","distanceObjUpdate","onDeliveryCostUpdate","onDeliveryCostDelete","transportFee","fee_baht","recalonly","distanceDropdown","distance_type_id","distance_type_name","objDeliveryCost","deliveryCostTable","addDeliveryCostPanel","showAddDeliveryCost","deliveryCostTablePanel","showDeliveryCostTable","ManageDeliveryDistance","onClickAddDistance","objdistanceList","objDistance","distanceTablePanel","ManageDeliveryWeight","weightLabel","onClickAddWeight","onWeightSelect","onWeightDelete","weight","cars","addWeightPanel","showAddWeight","ManageFeeWeight","weightFeeLabel","save","onFeeWeightSelect","onFeeWeightDelete","Feeweight","objWeightList","addFeeWeightPanel","showAddFeeWeight","feeweightTablePanel","showFeeWeightTable","ManageAdminMember","manageList","levelAdministrator","levelAdmin","value1_gid","admin_lvl_1","value1_role_name","role_name","value1_role_key","role_key","value1_manage_administrator","manage_administrator","value1_manage_aproval","manage_aproval","value1_manage_delivery_fee","manage_delivery_fee","value1_manage_invoice","manage_invoice","value1_manage_order","manage_order","value1_manage_password","manage_password","value1_manage_process_fee","manage_process_fee","value1_manage_sale_price","manage_sale_price","value1_manage_transfer","manage_transfer","value1_view_member","view_member","value1_view_report","view_report","value1_chat","value1_create_order","create_order","value1_manage_certificate","manage_certificate","value1_manage_env_account","manage_env_account","value1_manage_faq","manage_faq","value1_manage_master","manage_master","value1_manage_member","manage_member","value1_manage_news","manage_news","value1_manage_reward","manage_reward","value1_view_donate","view_donate","value1_view_user_list","view_user_list","value2_gid","admin_lvl_2","value2_role_name","value2_role_key","value2_manage_administrator","value2_manage_aproval","value2_manage_delivery_fee","value2_manage_invoice","value2_manage_order","value2_manage_password","value2_manage_process_fee","value2_manage_sale_price","value2_manage_transfer","value2_view_member","value2_view_report","value2_chat","value2_create_order","value2_manage_certificate","value2_manage_env_account","value2_manage_faq","value2_manage_master","value2_manage_member","value2_manage_news","value2_manage_reward","value2_view_donate","value2_view_user_list","value3_gid","admin_lvl_3","value3_role_name","value3_role_key","value3_manage_administrator","value3_manage_aproval","value3_manage_delivery_fee","value3_manage_invoice","value3_manage_order","value3_manage_password","value3_manage_process_fee","value3_manage_sale_price","value3_manage_transfer","value3_view_member","value3_view_report","value3_chat","value3_create_order","value3_manage_certificate","value3_manage_env_account","value3_manage_faq","value3_manage_master","value3_manage_member","value3_manage_news","value3_manage_reward","value3_view_donate","value3_view_user_list","addnew1","addNewAdministratorTab1","addnew2","addNewAdministratorTab2","addnew3","addNewAdministratorTab3","ManageLevelAdmin","adminNameList","memberAdminName","firstnameAdmin","lastnameAdmin","phoneNumberAdmin","emailAdmin","prefixCode_admin","person","personPrefixs1","errorMessageTelephoneNumber","onnameTypeChange1","onTelephoneUpdateChanged","optionItemAdmin","listDropdownAdmin","adminList","prefixCodeAdmin","role_id","dropdownlevelAdmin","telupdate","lastname","displayApproveDialog","is_verified","firstname","dialogApproveFooter","dialogApprovePanel","statusApproveTemplate","addNewAdministratorTab","ManageMemberContainer","selectedMemberType","districtsChipSelected","sendPasswordItemSelected","sendPasswordItem","disableEmail","fullname","remarkDetail","onMemberSelected","getMemberDetail","onChipProvinceChanged","onChipDistrictChanged","onMemberType","updateSystemAllowed","resetPassWord","getRemark","searchUser","adminpermission","permission","searchNameArr","memberSelection","sendPasswordListString","onResetPassword","remarkShowDetail","dissable","onSystemAllowedClick","user_waste_type_id","displaySystemAllowedDialog","systemAllowedData","userScreenData","displayResetPassDialog","resetPassData","createStartDate","createEndDate","serverAPIProps","user_id","created_date_start","created_date_end","resetType","allUserLists","dialogSystemAllowedPanel","dialogResetPassPanel","dialogUserScreenPanel","MultiSelect","statusMemberTypeTemplate","systemAllowedTemplate","dialogResetPassFooter","ManageCertificate","adminCertTemplate","setIsNotValid","_useState11","_useState12","certName","setCertName","_useState13","_useState14","certText","setCertText","_useState15","_useState16","carbonCreditStart","setCarbonCreditStart","_useState17","_useState18","setIsValidCreditStart","_useState19","_useState20","carbonCreditEnd","setCarbonCreditEnd","_useState21","_useState22","setIsValidCreditEnd","_useState23","_useState24","certImageAxisX","setCertImageAxisX","_useState25","_useState26","certImageAxisY","setCertImageAxisY","_useState27","_useState28","certImageHeight","setCertImageHeight","_useState29","_useState30","setCertImageWidth","_useState31","_useState32","holderNameAxisX","setHolderNameAxisX","_useState33","_useState34","holderNameAxisY","setHolderNameAxisY","_useState35","_useState36","holderNameFontSize","setHolderNameFontSize","_useState37","_useState38","certDateAxisX","setCertDateAxisX","_useState39","_useState40","certDateAxisY","setCertDateAxisY","_useState41","_useState42","certDateFontSize","setCertDateFontSize","_useState43","_useState44","isActive","setIsActive","_useState45","_useState46","templateImage","setTemplateImage","_useState47","_useState48","certTemplateImage","setCertTemplateImage","_useState49","_useState50","cert","setCert","_useState51","_useState52","setActiveIndex","_useState53","_useState54","setDeleteDialog","_useState55","_useState56","setImageDialog","_useState57","_useState58","showAdd","setShowAdd","_useState59","_useState60","isShowSlide","setIsShowSlide","canvasRef","onCertUpdate","onDeleteClick","onUpdate","objCertList","carbon_credit_start","carbon_credit_end","createUpdateCert","onClearAll","cert_text","onCertDelete","onSave","objCert","onSelectTemplateImage","openImage","onOpenImage","statusColumn","customStyle","Slider","nodeName","onChangeSlider","resetCustomImage","resetCustomHolderName","resetCustomDate","drawText","centerX","centerY","fontFace","ctx","font","fillText","restore","getContext","img","avt","crossOrigin","onload","drawImage","onAmountChange","match","hidden","ManageCertificateResult","adminCertResult","ManageSettingParameter","settingParameter","selectItem","setSelectItem","isValid","setIsValid","selectRow","setSelectRow","editDialogFooter","settingTable","param_label","param_value","param_uom","showSettingTable","ChatAdministrator","getuserList","per_page","time_stamp","option","receiver_img","emptyChat","firstMessageTemplate","firstMessage","userSelected","updateRead","emptyChatList","_chatList","filterBy","filterPlaceholder","onSelectListBox","nameChatTemplate","getUsersAll","ManageFAQ","question","answer","faqList","manageFAQ","quest","cols","showAddCertificatePanel","showAddCertificate","DirectionAttribute","Quill","import","register","AlignClass","BackgroundClass","ColorClass","DirectionClass","FontClass","SizeClass","AlignStyle","BackgroundStyle","ColorStyle","DirectionStyle","FontStyle","SizeStyle","ManageNews","newsHeader","newsBody","onToggleAccordion","newUpdate","createNewsPanel","onRowClickUpdate","onOpenNewsBody","onOpenFiles","selectedMasterIndex","userTypeSelected","genSelected","tranSelected","proSelected","deletedGid","deleteData","showAddNewsPanel","selectedMaster","newsBodyDialog","newsbodyData","filesDialog","filesData","fileImg","arrayGid","currentIndex","paddingTop","replaceThree","replaceAll","maxSelectedLabels","selectedItemsLabel","userTypeItem","Editor","onTextChange","htmlValue","onSelectMaster","to_create_date","to_update_date","openNewsBody","openFiles","dangerouslySetInnerHTML","__html","indicatorItemTemplate","indicatorTemplate","reward_per_kk","ManageEnvironmentalCorporateAccount","onChanageBank1","bankselected_update","environmentalDetail","environmentalDetail1","environmental_account_no1","environmental_name","listAccount","bankAccountName","bankAccountNo","selectedBank1","districtsSelectedUpdate","subDistrictsSelectedUpdate","getOrganizationAccountDonate","searchAccountList","getOrganizationAccountDonateForValid","ondistrictChangeUpdate","onprovinceChangedUpdate","onSubDistrictChangedUpdate","memberSuggestions1","donateDialog","provinceCodeUpdate","districtCodeUpdate","subDistrictCodeUpdate","ondonateUpdate","onAccountDelete","bankselected","provselect","distselected","subdistselect","subDistrictName","prov_sh_update","dist_sh_update","subdist_sh_update","itemTemplate1","contactBodyData","AddressBodyData","locationTypeName","_this$props7","dist","location_name","is_deleted","addNewAccountTab","ManageProduct","select_img","onSelectTemplateImageUpdate","fileImgNameUpdateNew","productStatus","productStatusSelect","productStatusSelect1","productName","fileImgPorduct","getproductAllForValid","onproductsStatusChange","onproductsStatusChange1","onWasteTypeEditChange","productEdit","is_active_foredit","fileImgNameUpdate","image_name","fileImgProduct","fileImgName","newOptionDropdown","objproduct","listnew","newOption","link","ManageProductType","onEditProdcutType","isActiveSelected","productTypeGidUpdate","productTypeCodeUpdate","productTypeNameUpdate","productTypeIsActiveUpdate","onIsActiveChanged","onIsActiveUpdate","priceListForValidExit","productTypeName","itemIndex","productTypeGidDelete","productTypeCodeDelete","productTypeNameDelete","productTypeIsActiveDelete","ManageDonateHistory","to_bank_code","orgUid","onOrgNameChanged","onSelectOrgName","dataTableDonateRequestTable","to_selectedBank","user_search_uid","org_search_uid","orgSuggestions","suggestOrgName","to_banks","onChanageToBank","ReportRating","searchRatings","localDate1","localDate2","order_date","u1_rating_from_u2","u1_rating_from_u3","u2_rating_from_u1","u2_rating_from_u3","u3_rating_from_u1","u3_rating_from_u2","วันที่เปิด Orders","ชื่อผู้ขาย","ดาวจาก U2","ดาวจาก U3","ชื่อผู้ขนส่ง","ดาวจาก U1","withStateHandlers","InfoWindow","StyledMapWithAnInfoBox","InfoBox","isOpen","onToggleOpen","clearToggle","animation","Animation","DROP","closeBomarkerURL","enableEventPropagation","onCloseClick","background","ReportWasteByLocation","updateWindowDimensions","innerHeight","activeStatusItem","activeStatusCode","reportSearchWaste","removeEventListener","listMarkers","waste_type_name","telephone_no","ชื่อ-นามสกุล","ประเภทสมาชิก","เบอร์โทรศัพท์","วันที่ลงทะเบียน","อำเภอ","ตำบล","Latitude","Longtitude","AdministratorContainer","AdminServiceProps","hideMenuAdmin","ManageSettingReward","TestContainer","mapMarkers","prov","number","number2","PrivateRoute","checkAuthen","getAuthenticated","ExampleAvatar","onCloseAvartar","preview","onCropAvatar","renderAvatar","onCrop","onClose","ExampleCtrl","ExampleExcel","createBuying","buying","address","zipcode","ExampleStateLessTestView","onChangeText","TestStateLessCtrl","WastgenReportsBuyingPrint","grand_total","Font","family","RenderViewer","_order","OrderService","_date","_total","_item","no","PDFViewer","Document","Page","View","Text","Table","TableHeader","TableCell","weighting","paddingRight","TableBody","DataTableCell","getContent","withRouter","ReactDOM","WastetranReportsBuyingPrint","_delivery_cost","WasteproReportsBuyingPrint","WasteproInvoiceBuyingPrint","PdfTableExample","page","flexGrow","cellHeader","cellDetail","cellDetailRight","cellDetailCenter","box","headerContainer","summaryContainer","borderBottomWidth","borderBottomColor","borderBottomStyle","leftColumn","rightColumn","justifySelf","alignRight","alignCenter","columnName","ExamplePDF","PDFDownloadLink","pdfDataTable","FrequentlyAskedQuestions","faq","showfaq","ForgetPassword","backToLogin","showPageSuccress","checkStep1","checkStep2","checkStep3","checkStep4","activeStep","buttonDisable","isValidStep1","onOtpSend","onOtpResend","alertShow","alertTheme","alertTitle","alertSubTitle","telNoModel","telID","userUid","Landing","home","about","privacyPolicy","contractUs","isPrivacy","setIsPrivacy","scrollIntoView","behavior","block","data-toggle","data-target","textIndent","data-parent","aria-expanded","paddingBottom","AppWrapper","wastegenUrl","wastetranUrl","wasteproUrl","wasteadminUrl","urlName","checkUserTypeAuthen","Boolean","hostname","initialStateArrChips","initialStateMaster","initialStateSummary","initialUserListState","initialChatMessageState","initialChatListState","initialChatBadge","pickup","delivery","combineReducers","form","formReducer","action","LOGIN","LOGOUT","USER_TYPE","USER_INFO","UPDATE_WASTEGEN_PROFILE","UPDATE_WASTEPRO_PROFILE","UPDATE_WASTETRAN_PROFILE","CHANGE_PASSWORD","wasteproOrderSearch","WASTEPRO_ORDER_SEARCH","WASTEPRO_DASH_PRODUCT","newUsers","USER_ANNOUNCE","USER_CERT_LIST","chatMessageByRoom","messageWithId","message_id","uuidv4","newMessages","store","middlewares","thunk","enhancer","applyMiddleware","createStore","reducer","configureStore","HashRouter","navigator","serviceWorker","ready","registration","unregister","axios__WEBPACK_IMPORTED_MODULE_0__","axios__WEBPACK_IMPORTED_MODULE_0___default","_utils__WEBPACK_IMPORTED_MODULE_1__","interceptors","request","use","config","reject","clear","Buffer","userService","getUserTypeFunction","getCertFile","otpResetPasswordSend","otpResetPasswordResend","otpVerifyChangePassword","_constants_api__WEBPACK_IMPORTED_MODULE_0__","_axios__WEBPACK_IMPORTED_MODULE_1__","_actionType__WEBPACK_IMPORTED_MODULE_2__","_utils__WEBPACK_IMPORTED_MODULE_3__","wasteTypeId","wasteTypeName","from","generateActionType","utilFunctions_convertDateMonthNumberToWord","utilFunctions_dateFormat","utilFunctions_plusDate","dateValue","dateArr","dateMonth","getMonth","monthWord","addCommaFromInteger","integer","integerOrFloat","splitIntAndDecimal","integerWithComma","decimalNumber","substr","plusDate","plus","secure_web_storage__WEBPACK_IMPORTED_MODULE_0__","secure_web_storage__WEBPACK_IMPORTED_MODULE_0___default","crypto_js__WEBPACK_IMPORTED_MODULE_1__","secureStorage","SecureStorage","hash","SHA256","encrypt","AES","decrypt","enc","Utf8","_utils_utilFunctions__WEBPACK_IMPORTED_MODULE_0__","module","exports","isNull","isNotNull","mail","isPhonenumber","inputtxt","isValidNoneRequired","isValidPhoneNumberNoneRequired","isInValidPhoneNumberNoneRequired","isValidPhoneNumberRequired"],"mappings":"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","file":"static/js/main.123d7117.chunk.js","sourcesContent":["import * as SecureUtils from './secureUtils'\r\nimport * as Validators from './validators'\r\nimport * as UtilFunctions from './utilFunctions'\r\n\r\nexport {\r\n SecureUtils,\r\n Validators,\r\n UtilFunctions\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from \"primereact/button\";\r\nimport * as UserService from '../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport { TYPE_ROOT } from '../constants/api'\r\n\r\nclass Login extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tusername: '',\r\n\t\t\tpassword: '',\r\n\t\t\tsubmitted: false,\r\n\t\t\tcheckedPasswordVisible: false,\r\n\t\t\ttypePasswordInput: 'password',\r\n\t\t};\r\n\t}\r\n\r\n\tsetPasswordVisible = (e) => {\r\n\t\tconsole.log(e)\r\n\t\tif (this.state.checkedPasswordVisible) {\r\n\t\t\tthis.setState({ checkedPasswordVisible: false })\r\n\t\t\tthis.setState({ typePasswordInput: 'password' });\r\n\t\t} else {\r\n\t\t\tthis.setState({ checkedPasswordVisible: true })\r\n\t\t\tthis.setState({ typePasswordInput: 'text' });\r\n\t\t}\r\n\t}\r\n\r\n\thandleChange(e) {\r\n\t\tconst { name, value } = e.target;\r\n\t\tthis.setState({ [name]: value });\r\n\t}\r\n\r\n\thandleSubmit(e) {\r\n\t\te.preventDefault();\r\n\t\tthis.setState({ submitted: true });\r\n\t\tconst { username, password } = this.state;\r\n\t\tif (username && password) {\r\n\t\t\tconst { loginProps } = this.props\r\n\t\t\tloginProps.logout();\r\n\t\t\tloginProps.login(username, password);\r\n\t\t}\r\n\t}\r\n\r\n\t_handleKeyDownEnter = (e) => {\r\n\t\tif (e.key === 'Enter') {\r\n\t\t\tthis.handleSubmit(e);\r\n\t\t}\r\n\t}\r\n\r\n\tfacebookResponse = (response) => {\r\n\t\tconst { loginProps } = this.props\r\n\t\tvar authModel = {\r\n\t\t\tProvider: \"Facebook\",\r\n\t\t\tToken: response.accessToken\r\n\t\t}\r\n\t\tloginProps.logout();\r\n\t\tloginProps.loginExternal(authModel);\r\n\r\n\t};\r\n\tresponseGoogle = (response) => {\r\n\t\tif(TYPE_ROOT === 'prod') {\r\n\t\t\tconst { loginProps } = this.props\r\n\t\t\tvar authModel = {\r\n\t\t\t\tProvider: \"Google\",\r\n\t\t\t\tToken: response.tokenId\r\n\t\t\t}\r\n\t\t\tloginProps.logout();\r\n\t\t\tloginProps.loginExternal(authModel);\r\n\t\t}\r\n\t};\r\n\trender() {\r\n\r\n\r\n\t\tconst { username, password } = this.state\r\n\r\n\t\tconst { authentication, loginProps } = this.props\r\n\t\tif (authentication && authentication.accessToken) {\r\n\t\t\tif (!authentication.userType) {\r\n\t\t\t\tif (!authentication.isLoading) {\r\n\t\t\t\t\tloginProps.getUserType();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (authentication.logedIn) {\r\n\t\t\twindow.location = '#/' + localStorage.getItem('user-type')\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\"avalon-react\"\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t

Welcome Guest

\r\n\t\t\t\t\t\t\t\t\t\tSign in to C3Leng\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tหน้าหลัก\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t{authentication.isFailed &&\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tลืมรหัสผ่าน\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t{!authentication.isLoading &&\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t{authentication.isLoading &&\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{/*
\r\n\t\t\t\t\t\t\t\t\t\tForget Password?\r\n\t\t\t\t\t\t\t\t\t
*/}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{/*
*/}\r\n\t\t\t\t\t\t\t\t\t
หรือ
\r\n\t\t\t\t\t\t\t\t\t{/*
*/}\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{TYPE_ROOT === 'prod' && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\r\n\t\t\t\t\t\t\t\t\t\t\tonSuccess={this.responseGoogle}\r\n\t\t\t\t\t\t\t\t\t\t\tonFailure={this.responseGoogle}\r\n\t\t\t\t\t\t\t\t\t\t\tcookiePolicy={'single_host_origin'}\r\n\t\t\t\t\t\t\t\t\t\t/>}\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\tauthentication: state.authentication\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\tloginProps: bindActionCreators(UserService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n\tconnect(\r\n\t\tmapStateToProps,\r\n\t\tmapDispatchToProps, null, { forwardRef: true })(Login)","import React, {Component} from 'react';\r\nimport {Button} from \"primereact/button\";\r\n\r\nexport default class Error extends Component {\r\n\r\n\trender() {\r\n\t\treturn
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tError\r\n\t\t\t\t
\r\n\t\t\t\t Occured\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"avalon-react\"/\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

An error occured.

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

Please contact system administrator.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t}\r\n}","import React, {Component} from 'react';\r\nimport {Button} from \"primereact/button\";\r\n\r\nexport default class NotFound extends Component {\r\n\r\n\trender() {\r\n\t\treturn
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t404\r\n\t\t\t\t
\r\n\t\t\t\t Page Not Found\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"avalon-react\"/\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

That wasn’t supposed to happen...

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

Better get back home and forget about that

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t}\r\n}","import React, {Component} from 'react';\r\nimport {Button} from \"primereact/button\";\r\n\r\nexport default class Access extends Component {\r\n\r\n\trender() {\r\n\t\treturn
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tAccess\r\n\t\t\t\t
\r\n\t\t\t\t Denied\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\"avalon-react\"/\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

Access denied to this resource.

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

You don't have the necessary permission.

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t}\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from \"primereact/button\";\r\nimport * as UserService from '../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport {ScrollPanel} from 'primereact/scrollpanel';\r\n\r\nclass PrivacyPolicy extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\t\r\n\t\t};\r\n\t}\r\n\tprivacy(){\r\n\t\treturn
\r\n\t\t

นโยบายคุ้มครองสิทธิความเป็นส่วนตัวของ ซี-ซาเล้ง

\r\n\t\t\t\t\t\t\t  บริษัท แก้วกรุงไทย จำกัด (“บริษัทฯ”) ซึ่งประกอบกิจการและกำกับดูแลตลาดออนไลน์ภายใต้ชื่อ “C3Leng” ในประเทศไทยแต่เพียงผู้เดียว คำนึงถึงมาตราการปกป้องข้อมูลทุกรูปแบบที่บริษัทฯ มีในครอบครองทั้งหมดตามกฎหมายต่างๆ ที่เกี่ยวข้อง\r\n\t\tบริษัท แก้วกรุงไทย จำกัด ในฐานะผู้ควบคุมข้อมูลตามกฎหมาย มีสำนักงานตั้งอยู่เลขที่ 589 อาคารวิชชุวรรณ ชั้นที่ 2 ถนนรัชดาภิเษก แขวงดินแดง เขตดินแดง กรุงเทพมหานคร 10400 \r\n\t\tนโยบายความเป็นส่วนตัว (“นโยบาย”) นี้ ชี้แจงรายละเอียดเกี่ยวกับการได้มา การใช้/ประมวลผล และการเก็บรักษา ข้อมูลของผู้ใช้บริการ C3Leng ของบริษัทฯ เท่านั้น

\r\n\t\t  บริษัทฯ ให้ความสำคัญเกี่ยวกับความโปร่งใสในการดำเนินธุรกิจและการให้บริการต่อสมาชิกหรือผู้ใช้บริการ C3Leng ในฐานะเจ้าของข้อมูล (“คุณ”) นโยบายความเป็นส่วนตัวนี้ใช้บังคับเกี่ยวกับข้อมูลที่บริษัทฯ เก็บรวบรวมและรักษาไว้ โดยอธิบายครอบคลุมถึงประเภท วัตถุประสงค์ และวิธีปฏิบัติเกี่ยวกับการใช้ประมวลผลและการเก็บรักษาข้อมูลต่างๆ อันได้แก่ ไอพีแอดเดรส (IP Address) คุกกี้ (Cookies) และ/หรือข้อมูลส่วนบุคคลที่คุณมอบให้ผ่านเว็บไซต์และแอพพลิเคชั่นของบริษัทฯ ขณะที่ลงทะเบียนและใช้บริการ C3Leng ซึ่งรวมถึง ข้อมูล Facebook และ/หรือ Google Account ของคุณ\r\n\t\tคุณมีหน้าที่ต้องอ่านและรับทราบนโยบายนี้ทั้งหมดก่อนที่จะให้ข้อมูลใดๆ กับบริษัทฯ  การใช้เว็บไซต์หรือแอพพลิเคชั่น C3Leng หรือลงทะเบียนการขอใช้บริการและกิจกรรมอื่นๆ ของเรา โดยคุณจะต้องให้ความยินยอมผ่านการแสดงเจตนาโดยชัดแจ้งหรือโดยนัยในการอนุญาตให้บริษัทฯ รวบรวม ใช้และเก็บรักษาข้อมูลของคุณตามที่กำหนดไว้ตามนโยบายนี้\r\n\t\tหากคุณมีข้อสงสัยเกี่ยวกับแนวทางปฏิบัติตามนโยบายความเป็นส่วนตัวนี้ รวมถึงข้อกังวลหรือข้อร้องเรียนเกี่ยวกับข้อมูลของคุณประการใด โปรดติดต่อโดยส่งเป็นจดหมายหรือคำร้องผ่านทางอีเมลมาที่ adminc3leng@c3leng.com\r\n\t\tข้อมูลที่บริษัทฯรวบรวม\r\n\t\t

แหล่งข้อมูล

\r\n\t\t  บริษัทฯรวบรวมข้อมูลเกี่ยวกับคุณหรือข้อมูลเกี่ยวกับอุปกรณ์การใช้งานของคุณจากคุณโดยตรงเท่านั้น ตราบเท่าที่คุณอนุญาตโดยชัดแจ้งหรือโดยนัยให้เราใช้ประมวลผลและเก็บรักษาข้อมูลดังกล่าวผ่านทาง\r\n\t\t\r\n\t\t\t •\tเว็บไซต์ C3Leng

\r\n\t\t\t •\tแอปพลิเคชั่น C3Leng

\r\n\t\t\t •\tFacebook (ข้อมูลบัญชีสมาชิกที่เป็นสาธารณะ)

\r\n\t\t\t •\tGoogle Account (ข้อมูลบัญชีสมาชิกที่เป็นสาธารณะ)

\r\n\t\t\t •\tอุปกรณ์ของผู้ใช้ (คอมพิวเตอร์ และ/หรือ โทรศัพท์มือถือ)

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

ประเภทของข้อมูล

\r\n\t\tจากแหล่งข้อมูลข้างต้น ข้อมูลที่บริษัทฯจะเก็บรวบรวมมีดังนี้

\r\n\t\t\t\r\n\r\n\t\t •\tชื่อ

\r\n\t\t •\tนามสกุล

\r\n\t\t •\tรูปภาพโปรไฟล์ / ภาพถ่าย

\r\n\t\t •\tที่อยู่อีเมล์

\r\n\t\t •\tชื่อบัญชี C3Len Application

\r\n\t\t •\tชื่อและรหัสผ่านสำหรับบัญชีสมาชิก C3Leng

\r\n\t\t •\tที่อยู่

\r\n\t\t •\tหมายเลขโทรศัพท์

\r\n\t\t •\tFacebook (member_id, public_profile)

\r\n\t\t •\tGoogle Account (member_id, public_profile)

\r\n\t\t •\tเนื้อหาหรือข้อมูลเกี่ยวกับการโพสต์สินค้าบนแพลตฟอร์มของ C3Leng

\r\n\t\t •\tคุกกี้

\r\n\t\t •\tไอพีแอดเดรส (IP Address)

\r\n\t\t •\tตำแหน่งทางภูมิศาสตร์

\r\n\t\t •\tเนื้อหาหรือข้อมูลในเครื่องมือแชทที่มีอยู่บน C3Leng

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

วิธีการเก็บรวบรวมข้อมูล

\r\n\t\tเราเก็บรวบรวมข้อมูลเกี่ยวกับคุณ ดังต่อไปนี้

\r\n\t\t\r\n\t\t\t •\tในขณะที่คุณกรอกข้อมูลเพื่อการลงทะเบียนเปิดบัญชีสมาชิก C3Leng หรือดูแลปรับปรุงข้อมูลบัญชีสมาชิกของคุณ หรือขอรับบริการต่าง ๆ บนแพลตฟอร์ม C3Leng

\r\n\t\t\t •\tการลงทะเบียนบัญชีสมาชิก C3Leng บริษัทฯจะเก็บรวบรวมข้อมูลเฉพาะที่คุณได้ให้ในแบบฟอร์มที่แสดงอยู่บนแพลตฟอร์มเท่านั้น

\r\n\t\t\t •\tการเลือกลงทะเบียนบัญชีสมาชิก C3Leng โดยให้เชื่อมต่อกับบัญชีสมาชิก Facebook หรือ Google ของคุณ บริษัทฯจะเก็บรวบรวมข้อมูลโปรไฟล์จากบัญชีสมาชิก Facebook หรือ Google เฉพาะส่วนที่คุณเปิดเผยแก่สาธารณะ โปรดทราบว่าบริษัทฯไม่จัดเก็บหรือรับรู้รหัสผ่านเข้าบัญชีสมาชิก Facebook หรือ Google ของคุณในระบบข้อมูลของบริษัทฯแต่อย่างใด

\r\n\t\t\t •\tข้อมูลเกี่ยวกับสินค้า คำบรรยายสินค้า รูปภาพ ที่ผู้ใช้งานได้ให้หรือปรากฏบนแพลตฟอร์มของ C3Leng

\r\n\t\t\t •\tข้อมูลการสนทนาหรือข้อความระหว่างผู้ใช้งานที่ปรากฏในระบบสนทนา บนแพลตฟอร์ม C3Leng

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

\r\n\t\tบริษัทฯรวบรวมข้อมูลเกี่ยวกับอุปกรณ์ของคุณ ดังต่อไปนี้

\r\n\t\t •\tเมื่อคุณใช้เว็บไซต์หรือแอพพลิเคชั่น C3Leng บริษัทฯจะเก็บรวบรวมและวิเคราะห์ข้อมูลบางอย่างโดยอัตโนมัติซึ่งรวมถึงเบราว์เซอร์ที่ชี้เฉพาะเจาะจง ที่อยู่ IP และข้อมูลเกี่ยวกับระบบปฏิบัติการ อุปกรณ์ที่ชี้เฉพาะเจาะจง (เช่น Apple IDFA หรือ Android Advertising ID) ตำแหน่งทางภูมิศาสตร์และข้อมูลที่ชี้เฉพาะถึงอุปกรณ์อื่น ๆ ข้อมูลเกี่ยวกับอินเทอร์เน็ต รวมถึงรายละเอียดเกี่ยวกับธุรกรรมของคุณที่เกิดขึ้นบนเว็บไซต์และแอพ C3Leng

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

การใช้คุกกี้และเทคโนโลยีอื่น ๆ

\r\n\t\t บริษัทฯ และบุคคลที่สามใช้เทคโนโลยีเพื่อเก็บรวบรวมข้อมูลเกี่ยวกับการใช้งานของคุณที่เกิดขึ้นบนเว็บไซต์และแอพ C3Leng\r\n\t\t\t\r\n\t\t\t •\tคุกกี้และเทคโนโลยีอื่น ๆ เพื่อการเก็บข้อมูล คุกกี้และเทคโนโลยีอื่น ๆ เพื่อการจัดเก็บ หมายความถึงไฟล์ที่มีข้อมูลเฉพาะของอุปกรณ์ที่ทางบริษัท ฯ หรือบุคคลที่สามได้ส่งถึงหรืออ่านได้จากอุปกรณ์ของคุณซึ่งจะบันทึกจดจำอุปกรณ์ดังกล่าวเพื่อวัตถุประสงค์ในการให้บริการ การบันทึก การวิเคราะห์พฤติกรรมและทางการตลาด  บริษัท ฯ และบุคคลที่สามจะใช้วิธีการอัตโนมัติในการอ่านหรือบันทึกข้อมูลอุปกรณ์ของคุณ ซึ่งรวมถึงคุกกี้ประเภทต่าง ๆ และเบราว์เซอร์ทั้งหลาย หรือปลั๊กอินอื่น ๆ (เช่นที่เก็บ HTML5 หรือฐานข้อมูลแบบ Flash) โดยคุณอาจเลือกที่จะตั้งค่าเว็บเบราว์เซอร์ของคุณให้ปฏิเสธการให้จัดเก็บคุกกี้บางประเภทหรือจัดให้มีการเตือนในกรณีที่มีการส่งคุกกี้บางประเภทได้ ซึ่งเบราว์เซอร์บางชนิดอาจสามารถถูกตั้งค่าที่คล้ายกันในแบบ HTML5 และ Flash ได้ อย่างไรก็ตามหากคุณป้องกันหรือปฏิเสธการให้จัดเก็บคุกกี้หรือที่เก็บข้อมูลในพื้นที่เว็บไซต์ของบริษัทฯ อาจส่งผลต่อการทำงานของเว็บไซต์ C3Leng ได้

\r\n\t\t\t •\tเทคโนโลยีอื่น ๆ ในการเก็บข้อมูล  บริษัทฯใช้เทคโนโลยีอัตโนมัติมาตรฐานต่าง ๆ ในการเก็บข้อมูลเช่นเว็บบีคอน (หรือเรียกว่า clear GIFs หรือพิกเซลแท็ก) หรือเทคโนโลยีที่คล้ายคลึงกันเพื่อการติดต่อหรือสื่อสารผ่านทางคุกกี้ต่าง ๆ และเพื่อติดตามผลการใช้งานของคุณบนเว็บไซต์และ/หรือแอพของบริษัทฯ นอกจากนี้บริษัทฯยังใช้เว็บบีคอนกับข้อความในอีเมล์เพื่อติดตามผลว่าคุณเปิดอ่านข้อความ รวมถึงการใช้งานอื่น ๆ ดังต่อไปนี้

\r\n\t\t\t
\r\n\t\t\t ในบางกรณีบริษัทฯอาจใช้ข้อมูลดังกล่าวเพื่อการโฆษณาที่ดำเนินการโดยบุคคลที่สาม ซึ่งจะใช้วิธีการเก็บรวบรวมข้อมูลโดยอัตโนมัติ เช่นคุกกี้ ที่จะติดตามการใช้งานบนเว็บไซต์ของคุณเป็นช่วงๆไป โดยข้อมูลดังกล่าว รวมถึงข้อมูลเกี่ยวกับการเข้าชมเว็บไซต์หรือแอพพลิเคชั่นต่างๆ และข้อมูลอื่นๆ ที่บริษัทฯได้รับ อาจถูกใช้เพื่อปรับการเสนอโฆษณาที่เหมาะสมตรงกับความสนใจหรือคุณลักษณะเฉพาะตัว

\r\n\t\t\t อย่างไรก็ดี คุณสามารถควบคุมจัดการที่เกี่ยวกับโฆษณาและการวิเคราะห์ที่นำเสนอโดย Google ได้ที่ https://adssettings.google.com/ และ https://tools.google.com/dlpage/gaoptout ซึ่งการจัดการ เปลี่ยนแปลงหรืออัปเกรดเบราว์เซอร์ของคุณหรือการลบคุกกี้ออกจากระบบดังกล่าว อาจต้องทำผ่านวิธีการเลือกไม่รับ (opt-out) อีกขั้นตอนหนึ่ง ซึ่งการต่อสัญญาณที่ไม่ได้ติดตามบนเบราว์เซอร์ดังกล่าวอยู่นอกเหนือความรับผิดชอบของบริษัทฯ

\r\n\t\t\t สำหรับการควบคุมจัดการความเป็นส่วนตัวเกี่ยวกับอุปกรณ์สื่อสารไร้สายของคุณ โปรดตรวจสอบรายละเอียดคำแนะนำเกี่ยวกับวิธีใช้การควบคุมความเป็นส่วนตัวเพิ่มเติมใดๆ ที่ระบบปฏิบัติการมือถือของคุณนำเสนอเช่นการตั้งค่าความเป็นส่วนตัวสำหรับตัวระบุอุปกรณ์และตำแหน่งทางภูมิศาสตร์ได้ด้วยตนเองที่เว็บไซต์ของผู้ผลิตอุปกรณ์อุปกรณ์สื่อสารไร้สายของคุณ 

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

ลิงค์ของบุคคลที่สาม

\r\n\t\t\t•\tเว็บไซต์และแอปพลิเคชันของ C3Leng อาจมีลิงก์ของเว็บไซต์อื่นๆ (“บุคคลที่สาม”) ซึ่งไม่อยู่ภายใต้การดูแลของบริษัทฯ คุณควรตรวจสอบนโยบายความเป็นส่วนตัวของเว็บไซต์ของบุคคลที่สามอย่างละเอียดก่อน การนำเสนอลิงก์ของบุคคลที่สามนั้น มีไว้เพื่อความสะดวกที่ผู้ใช้บริการของบริษัทฯสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อบางอย่าง โดยบุคคลที่สามนั้นไม่ได้ให้หรือแชร์ข้อมูลใดๆ ของคุณกับบริษัทฯแต่อย่างใด ดังนั้นบริษัทฯไม่มีความรับผิดชอบต่อการปกป้องความเป็นส่วนตัวหรือเนื้อหาของเว็บไซต์ของบุคคลที่สาม ไม่ว่าบางส่วนหรือทั้งหมด\r\n\t\t \r\n\t\t

บริษัทฯใช้ข้อมูลที่รวบรวมอย่างไร

\r\n\t\t บริษัทฯใช้หรือเปิดเผยข้อมูลของคุณเฉพาะด้วยความยินยอมโดยนัยหรือโดยชัดแจ้งที่ระบุไว้ในระเบียบข้อบังคับของกฎหมายที่บังคับทั้งหมดในเขตอำนาจศาลที่เกี่ยวข้องเท่านั้น ตามวัตถุประสงค์ดังต่อไปนี้

\r\n\t\t\t\r\n\t\t\t •\tเพื่อวัตถุประสงค์ทางธุรกิจของบริษัทฯ บริษัทฯจะใช้และเก็บข้อมูลเพื่อประมวลผล วิเคราะห์และปรับปรุงธุรกิจของบริษัทฯ ซึ่งรวมถึงจัดสรรบริการบนแพลตฟอร์ม C3Leng

\r\n\t\t\t •\tเพื่อการรักษาความปลอดภัยทางไซเบอร์ บริษัทฯใช้หรือวิเคราะห์ข้อมูลในการตรวจสอบพฤติกรรมหรือกิจกรรมที่อาจผิดกฎหมายเพื่อการป้องกันการฉ้อโกงหรืออาชญากรรมต่างๆ 

\r\n\t\t\t •\tเพื่อส่งข้อมูลข่าวสารเกี่ยวกับธุรกิจบางอย่างของบริษัทฯให้แก่คุณ รวมถึงการประชาสัมพันธ์ การส่งเสริมการขาย การเปลี่ยนแปลงนโยบายต่างๆ ของแพลตฟอร์มและการสื่อสารทางการตลาด

\r\n\t\t\t •\tเพื่อการปรับแต่งเนื้อหาและการโฆษณาที่คุณพบเห็นบนเว็บไซต์และแอพของบริษัทฯผ่านทางอินเทอร์เน็ตและที่อื่นๆ

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

การเปิดเผยข้อมูลที่บริษัทฯรวบรวม

\r\n\t\t\t\r\n\t\t\t •\tบริษัทฯอาจแบ่งปันข้อมูลตามกฎหมายหรือคำขออย่างเป็นทางการของหน่วยงานของรัฐ

\r\n\t\t\t •\tบริษัทฯอาจแบ่งปันข้อมูลที่ไม่อาจระบุตัวตนของคุณกับบริษัทในเครือของบริษัทฯ ซึ่งถือเป็นส่วนหนึ่งในการดำเนินธุรกิจตามปกติของบริษัทฯ\r\n\t\t\t
\r\n\t\t

ระยะเวลาการเก็บข้อมูล

\r\n\t\t\t บริษัทฯจะเก็บรักษาข้อมูลต่างๆ ตราบเท่าที่จำเป็นในการดำเนินธุรกิจของบริษัทฯ หรือตามที่กำหนดไว้ตามกฎหมายของประเทศไทย ซึ่งโดยปกติเป็นระยะเวลา 2 ปีหลังจากนับตั้งแต่เมื่อมีการปิดหรือลบบัญชีสมาชิกหรือตามระยะเวลาที่กำหนดโดยกฎหมายที่เกี่ยวข้อง เมื่อครบกำหนดเวลาดังกล่าว บริษัทฯจะลบข้อมูลนั้นออกจากฐานข้อมูลของบริษัทฯ

\r\n\t\t\t อย่างไรก็ดี คุณอาจใช้สิทธิเพื่อปกป้องความเป็นส่วนตัวของคุณที่จะขอลบหรือทำลายข้อมูลของคุณจากฐานข้อมูลของบริษัทฯได้ โดยทำคำขอเป็นลายลักษณ์อักษรส่งถึงบริษัทฯที่อีเมล์ adminc3leng@c3leng.com\r\n\t\t \r\n\t\t

การปรับปรุงและแก้ไขนโยบายนี้

\r\n\t\t\t บริษัท แก้วกรุงไทย จำกัด ขอสงวนสิทธิ์ตามดุลยพินิจแต่เพียงผู้เดียวในการเปลี่ยนแปลง แก้ไขหรือลบบางส่วนของนโยบายนี้ได้ตลอดเวลา โปรดติดตามตรวจสอบการเปลี่ยนแปลงหรือแก้ไขเพิ่มเติมนโยบายความเป็นส่วนตัวนี้บนหน้าเว็บไซต์และแพลตฟอร์ม C3Leng 

\r\n\t\t\t การที่คุณใช้งานหรือบริการบนเว็บไซต์ต่อไปหลังจากที่มีการเปลี่ยนแปลงหรือแก้ไขเพิ่มเติมนโยบายนี้ ถือว่าคุณได้แสดงเจตนาตกลงยอมรับเงื่อนไขไม่เฉพาะแต่เพียงบางส่วน แต่ทั้งหมด\r\n\t\t

\r\n\t\t

\r\n\t\t

\r\n\t\tนโยบายนี้ปรับปรุงล่าสุดและมีผลใช้บังคับตั้งแต่วันที่ 9 เมษายน 2563

\r\n\t\t
\r\n\t\t
\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst privacy = this.privacy()\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\r\n\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t

นโยบายความเป็นส่วนตัว

\r\n\t\t\t\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\tหน้าหลัก\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{privacy}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\t\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\r\n\r\n})\r\n\r\n\r\nexport default\r\n\tconnect(\r\n\t\tmapStateToProps,\r\n\t\tmapDispatchToProps, null, { forwardRef: true })(PrivacyPolicy)","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { ScrollPanel } from \"primereact/scrollpanel\";\r\n\r\nclass DeleteAccount extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {};\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

ขั้นตอนการลบบัญชีผู้ใช้ของ ซีซาเล้ง

\r\n
\r\n\r\n \r\n หน้าหลัก\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { forwardRef: true }\r\n)(DeleteAccount);\r\n","import axios from 'axios'\r\nimport { API_ROOT } from '../constants/api'\r\nimport {\r\n PROVINCE, DISTRICT, SUB_DISTRICT,CARD_PROVINCE,CARD_DISTRICT, CARD_SUB_DISTRICT,\r\n CHIP_PROVINCE,\r\n CHIP_DISTRICT,\r\n ARR_CHIP_DISTRICT\r\n} from './actionType'\r\n\r\n// Location\r\nexport const getProvice = () => (dispatch) => {\r\n dispatch({ type: PROVINCE.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/province/all`,\r\n }).then((res) => {\r\n dispatch({ type: PROVINCE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: PROVINCE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getDistrict = (provinceCode) => (dispatch) => {\r\n dispatch({ type: DISTRICT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/district/${provinceCode}`,\r\n }).then((res) => {\r\n dispatch({ type: DISTRICT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: DISTRICT.FAILURE, error })\r\n })\r\n}\r\nexport const getSubDistrict = (districtCode) => (dispatch) => {\r\n dispatch({ type: SUB_DISTRICT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/subdistrict/${districtCode}`,\r\n }).then((res) => {\r\n dispatch({ type: SUB_DISTRICT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: SUB_DISTRICT.FAILURE, error })\r\n })\r\n \r\n}\r\n\r\nexport const getCardProvice = () => (dispatch) => {\r\n dispatch({ type: CARD_PROVINCE.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/province/all`,\r\n }).then((res) => {\r\n dispatch({ type: CARD_PROVINCE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: CARD_PROVINCE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getCardDistrict = (provinceCode) => (dispatch) => {\r\n dispatch({ type: CARD_DISTRICT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/district/${provinceCode}`,\r\n }).then((res) => {\r\n dispatch({ type: CARD_DISTRICT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: CARD_DISTRICT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getCardSubDistrict = (districtCode) => (dispatch) => {\r\n dispatch({ type: CARD_SUB_DISTRICT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/subdistrict/${districtCode}`,\r\n }).then((res) => {\r\n dispatch({ type: CARD_SUB_DISTRICT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: CARD_SUB_DISTRICT.FAILURE, error })\r\n })\r\n \r\n}\r\n\r\nexport const getAwaitDistrict = async (provinceCode) => {\r\n try {\r\n let res = await axios.get(`${API_ROOT}/master/district/${provinceCode}`)\r\n \r\n return res.data;\r\n } catch (error) {\r\n return null;\r\n }\r\n}\r\n\r\nexport const getAwaitSubDistrict = async (districtCode) => {\r\n try {\r\n let res = await axios.get(`${API_ROOT}/master/subdistrict/${districtCode}`)\r\n \r\n return res.data;\r\n } catch (error) {\r\n return null;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const getChipProvice = () => (dispatch) => {\r\n dispatch({ type: CHIP_PROVINCE.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/province/all`,\r\n }).then((res) => {\r\n dispatch({ type: CHIP_PROVINCE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: CHIP_PROVINCE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getChipDistrict = (provinceCode) => (dispatch) => {\r\n dispatch({ type: CHIP_DISTRICT.REQUEST , isFetching: true})\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/district/${provinceCode}`,\r\n }).then((res) => {\r\n dispatch({ type: CHIP_DISTRICT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: CHIP_DISTRICT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getArrChipDistrict = (arrProv) => (dispatch) => {\r\n dispatch({ type: ARR_CHIP_DISTRICT.REQUEST , isFetching: true})\r\n\r\n let result = []\r\n for(let key in arrProv){\r\n let entity = arrProv[key];\r\n let provinceCode = entity.provinceCode\r\n axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/district/${provinceCode}`,\r\n }).then((res) => {\r\n res.data.map((rs)=>{\r\n result.push(rs)\r\n })\r\n }).catch((error) => {\r\n return dispatch({ type: ARR_CHIP_DISTRICT.FAILURE, error })\r\n })\r\n }\r\n\r\n return dispatch({ type: ARR_CHIP_DISTRICT.SUCCESS, payload: result })\r\n}","import ReconnectingWebSocket from 'reconnecting-websocket'\r\nimport { get } from 'lodash'\r\nimport { createRef } from 'react'\r\nimport { WEBSOCKET_ROOT } from '../constants/api'\r\nconst navigationRef = createRef()\r\nlet ws\r\nlet intervalHandler\r\n\r\nexport const connectWebsocket = (senderId, senderType) => {\r\n console.log('connectWebsocket', ws)\r\n if (!ws) {\r\n const url = `${WEBSOCKET_ROOT}?uid=${senderId}&t=${senderType}`\r\n // const url = `ws://103.74.255.222:8088/ws?uid=5b5c88d0-f63a-49e4-b219-6b2e79f61e43&t=2`\r\n\r\n console.log('connectWebsocket', url)\r\n ws = new ReconnectingWebSocket(url)\r\n }\r\n}\r\n\r\nexport const implementWebsocket = onMessage => {\r\n const ping = () => {\r\n //console.log('__ping__')\r\n const messageSending = {\r\n message: '__ping__',\r\n message_type: 3,\r\n }\r\n sendMessage(JSON.stringify(messageSending))\r\n }\r\n\r\n const pong = () => {\r\n //console.log('__pong__')\r\n }\r\n\r\n ws.onopen = () => {\r\n console.log('connection opened.')\r\n intervalHandler = setInterval(ping, 15000)\r\n }\r\n\r\n ws.onmessage = message => {\r\n const _message = JSON.parse(message.data)\r\n\r\n\r\n //console.log(_message)\r\n if (_message.message_type === 3) {\r\n pong()\r\n return\r\n }\r\n\r\n // Alert.alert('New message coming!', '', [{ text: 'ปิด', onPress: () => {}, style: 'cancel' }])\r\n\r\n // const rootStatus = get(navigationRef.current.getRootState(), 'routes', [])\r\n // const currentRouteName = rootStatus[rootStatus.length - 1].name\r\n // onMessage(_message, currentRouteName)\r\n onMessage(_message)\r\n }\r\n\r\n ws.onerror = error => {\r\n console.log('Websocker error', error.message)\r\n }\r\n\r\n ws.onclose = event => {\r\n console.log('Websocker close', event.code, event.reason)\r\n }\r\n}\r\n\r\nexport const closeWebsocket = () => {\r\n if (ws) {\r\n console.log('Websocker is closing')\r\n clearInterval(intervalHandler)\r\n ws.close()\r\n ws = null\r\n }\r\n}\r\n\r\nexport const sendMessage = message => {\r\n if (ws) {\r\n ws.send(message)\r\n }\r\n}\r\n\r\nexport const getChatRoomType = (userWasteType, receiverWasteType) => {\r\n if (userWasteType === 'wastegen' || receiverWasteType === 'wastegen') {\r\n return 'pickup'\r\n } else if (userWasteType === 'wastepro' || receiverWasteType === 'wastepro') {\r\n return 'delivery'\r\n } else if (userWasteType === 'administrator' || receiverWasteType === 'administrator') {\r\n return 'admin'\r\n }\r\n return ''\r\n}\r\n\r\n// export const navigateToUserChatScene = ({\r\n// navigation,\r\n// orderCode,\r\n// userWasteType,\r\n// roomId,\r\n// receiverId,\r\n// receiverImage,\r\n// receiverWasteType,\r\n// }) => {\r\n// navigation.reset({\r\n// index: 2,\r\n// routes: [\r\n// { name: 'Main', params: { screen: 'Report' } },\r\n// {\r\n// name: 'OrderDetailScene',\r\n// params: {\r\n// orderCode,\r\n// userWasteType,\r\n// fromScene: 'Report',\r\n// enableEdit: true,\r\n// },\r\n// },\r\n// {\r\n// name: 'ChatScene',\r\n// params: {\r\n// orderCode,\r\n// roomId,\r\n// receiverId,\r\n// receiverImage,\r\n// receiverWasteType,\r\n// },\r\n// },\r\n// ],\r\n// })\r\n// }\r\n\r\n// export const navigateToAdminChatScene = ({\r\n// navigation,\r\n// roomId,\r\n// receiverImage,\r\n// receiverWasteType,\r\n// }) => {\r\n// navigation.reset({\r\n// index: 2,\r\n// routes: [\r\n// // { name: 'Main', params: { screen: 'Report' } },\r\n// // {\r\n// // name: 'OrderDetailScene',\r\n// // params: {\r\n// // orderCode,\r\n// // userWasteType,\r\n// // fromScene: 'Report',\r\n// // enableEdit: true,\r\n// // },\r\n// // },\r\n// {\r\n// name: 'ChatScene',\r\n// params: {\r\n// roomId,\r\n// receiverImage,\r\n// receiverWasteType,\r\n// isAdminChat: true,\r\n// },\r\n// },\r\n// ],\r\n// })\r\n// }\r\n","\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\nimport { SecureUtils } from '../utils';\r\n\r\nimport {\r\n WASTEGEN_ACCOUNT_BALANCE,\r\n WASTEGEN_ACCOUNT_WITHDRAW,\r\n WASTEGEN_ACCOUNT_WITHDRAW_HISTORY,\r\n WASTEGEN_DASH_LAST_ORDER,\r\n WASTEGEN_DASH_PRODUCT,\r\n WASTEGEN_CHANGE_PIN,\r\n WASTEGEN_DONATE,\r\n WASTEGEN_TRANSFER_DONATE,\r\n WASTEGEN_DONATE_HISTORY,\r\n WASTETGEN_REGIS_WASTETRAN\r\n} from './actionType'\r\n\r\nexport const getBalance = () => (dispatch) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_BALANCE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastegen/account/balance`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_BALANCE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_BALANCE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const saveWithdrawal = (withdrawal_thb, bank_withdraw_code) => (dispatch) => {\r\n let requestParam = {\r\n \"waste_uid\": SecureUtils.getItem('uid'),\r\n \"withdrawal_thb\": withdrawal_thb,\r\n \"bank_withdraw_code\": bank_withdraw_code,\r\n \"wasteType\": 1\r\n };\r\n\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastegen/account/withdraw`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: requestParam\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n if (error.response && error.response.data && error.response.data.length<50) {\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW.FAILURE, payload: error.response.data })\r\n }else{\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW.FAILURE, payload: 'รหัสถอนเงินไม่ถูกต้อง' })\r\n }\r\n })\r\n}\r\n\r\nexport const getWithdrawHistory = () => (dispatch) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW_HISTORY.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastegen/account/withdraw/history`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW_HISTORY.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_ACCOUNT_WITHDRAW_HISTORY.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getWastegenDashLastOrder = () => (dispatch) => {\r\n dispatch({ type: WASTEGEN_DASH_LAST_ORDER.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastegen/dashboard/lastorder`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEGEN_DASH_LAST_ORDER.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_DASH_LAST_ORDER.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getWastegenDashProduct = () => (dispatch) => {\r\n dispatch({ type: WASTEGEN_DASH_PRODUCT.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastegen/dashboard/product`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEGEN_DASH_PRODUCT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_DASH_PRODUCT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastegenChangePin = (\r\n data\r\n) => (dispatch) => {\r\n dispatch({ type: WASTEGEN_CHANGE_PIN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastegen/ChangePin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(data)\r\n })\r\n .then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTEGEN_CHANGE_PIN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_CHANGE_PIN.FAILURE, payload: error.response.data })\r\n })\r\n}\r\n\r\n//> OTP\r\nexport const otpResetPinSend = (mobile_no) =>{\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/otp-reset-pin/send/${mobile_no}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const otpResetPinResend = (mobile_no) =>{\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/otp-reset-pin/resend/${mobile_no}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const otpVerifyPin = (mobile_no,otp_code,otp_ref) =>{\r\n let data = {\r\n mobile_no: mobile_no,\r\n otp_code: otp_code,\r\n otp_ref: otp_ref\r\n }\r\n //console.log(data)\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/otp/verify-changepin`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') },\r\n data: data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getWastegenDonate = () => (dispatch) => {\r\n dispatch({ type: WASTEGEN_DONATE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/donate/organization/getall`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEGEN_DONATE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_DONATE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastegenTransferDonate = (\r\n data\r\n) => (dispatch) => {\r\n dispatch({ type: WASTEGEN_TRANSFER_DONATE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/donate/transfer`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(data)\r\n })\r\n .then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTEGEN_TRANSFER_DONATE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_TRANSFER_DONATE.FAILURE, payload: error.response.data })\r\n })\r\n}\r\n\r\nexport const getWastegenDonateHistory = () => (dispatch) => {\r\n dispatch({ type: WASTEGEN_DONATE_HISTORY.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastegen/account/donate/history`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEGEN_DONATE_HISTORY.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEGEN_DONATE_HISTORY.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastegenRegisWastetran = () => (dispatch) => {\r\n dispatch({ type: WASTETGEN_REGIS_WASTETRAN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastegen/register/wastetran`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETGEN_REGIS_WASTETRAN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETGEN_REGIS_WASTETRAN.FAILURE, payload: error.response.data })\r\n })\r\n}","\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\n\r\nimport {\r\n WASTETRAN_ORDER_SEARCH_NOTI,\r\n WASTETRAN_ACCOUNT_BALANCE,\r\n WASTETRAN_ACCOUNT_WITHDRAW,\r\n WASTETRAN_ACCOUNT_WITHDRAW_HISTORY,\r\n WASTETRAN_AUTO_ORDER,\r\n WASTETRAN_DASH_PRODUCT,\r\n WASTETRAN_DASH_ORDER_STAT,\r\n WASTETRAN_CHANGE_PIN,\r\n WASTETRAN_DONATE,\r\n WASTETRAN_TRANSFER_DONATE,\r\n WASTETRAN_DONATE_HISTORY,\r\n WASTETRAN_REGIS_WASTEGEN\r\n} from './actionType'\r\nimport { SecureUtils } from '../utils'\r\n\r\n\r\nexport const wastetranOrderSearchNoti = (criteria) => (dispatch) => {\r\n dispatch({ type: WASTETRAN_ORDER_SEARCH_NOTI.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/order/salereport/search`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(criteria)\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_ORDER_SEARCH_NOTI.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_ORDER_SEARCH_NOTI.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\n\r\nexport const getBalance = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_BALANCE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/account/balance`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_BALANCE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_BALANCE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const saveWithdrawal = (withdrawal_thb, bank_withdraw_code) => (dispatch) => {\r\n let requestParam = {\r\n \"waste_uid\": SecureUtils.getItem('uid'),\r\n \"withdrawal_thb\": withdrawal_thb,\r\n \"bank_withdraw_code\": bank_withdraw_code,\r\n \"wasteType\": 2\r\n };\r\n\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/account/withdraw`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: requestParam\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n if (error.response && error.response.data&&error.response.data.length<50) {\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW.FAILURE, payload: error.response.data })\r\n } else {\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW.FAILURE, payload: 'รหัสถอนเงินไม่ถูกต้อง' })\r\n }\r\n })\r\n}\r\n\r\nexport const getWithdrawHistory = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW_HISTORY.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/account/withdraw/history`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW_HISTORY.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_ACCOUNT_WITHDRAW_HISTORY.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastetranAutoOrder = (search_name) => (dispatch) => {\r\n console.log(search_name)\r\n dispatch({ type: WASTETRAN_AUTO_ORDER.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/order/autocomplete/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_AUTO_ORDER.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_AUTO_ORDER.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getWastetranDashProduct = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_DASH_PRODUCT.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/dashboard/product`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_DASH_PRODUCT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_DASH_PRODUCT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getWastetranDashOrderStat = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_DASH_ORDER_STAT.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/dashboard/orderstat`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_DASH_ORDER_STAT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_DASH_ORDER_STAT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastetranChangePin = (\r\n data\r\n) => (dispatch) => {\r\n dispatch({ type: WASTETRAN_CHANGE_PIN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/ChangePin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(data)\r\n })\r\n .then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETRAN_CHANGE_PIN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_CHANGE_PIN.FAILURE, payload: error.response.data })\r\n })\r\n}\r\n\r\n\r\n//> OTP\r\nexport const otpResetPinSend = (mobile_no) =>{\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/otp-reset-pin/send/${mobile_no}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const otpResetPinResend = (mobile_no) =>{\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/otp-reset-pin/resend/${mobile_no}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const otpVerifyPin = (mobile_no,otp_code,otp_ref) =>{\r\n let data = {\r\n mobile_no: mobile_no,\r\n otp_code: otp_code,\r\n otp_ref: otp_ref\r\n }\r\n //console.log(data)\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/otp/verify-changepin`,\r\n data: data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const otpVerifyChangePin = (mobile_no,otp_code,otp_ref) =>{\r\n let data = {\r\n mobile_no: mobile_no,\r\n otp_code: otp_code,\r\n otp_ref: otp_ref\r\n }\r\n //console.log(data)\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/otp/verify-changepin`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') },\r\n data: data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getWastetranDonate = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_DONATE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/donate/organization/getall`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_DONATE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_DONATE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastetranTransferDonate = (\r\n data\r\n) => (dispatch) => {\r\n dispatch({ type: WASTETRAN_TRANSFER_DONATE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/donate/transfer`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(data)\r\n })\r\n .then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETRAN_TRANSFER_DONATE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_TRANSFER_DONATE.FAILURE, payload: error.response.data })\r\n })\r\n}\r\n\r\nexport const getWasteTranDonateHistory = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_DONATE_HISTORY.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/account/donate/history`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_DONATE_HISTORY.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_DONATE_HISTORY.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const wastetranRegisWastegen = () => (dispatch) => {\r\n dispatch({ type: WASTETRAN_REGIS_WASTEGEN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/register/wastegen`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then((res) => {\r\n dispatch({ type: WASTETRAN_REGIS_WASTEGEN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_REGIS_WASTEGEN.FAILURE, payload: error.response.data })\r\n })\r\n}","import axios from 'axios'\r\nimport { API_ROOT } from '../../constants/api'\r\n\r\n\r\n\r\nexport const authenExternal = (model) =>{\r\n \r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/authen/external`,\r\n data: model\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const wastegenRegisWastetran = () => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastegen/register/wastetran`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then((res) => {\r\n return res\r\n }).catch((error) => {\r\n return error\r\n })\r\n}\r\n\r\nexport const wastetranRegisWastegen = () => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/register/wastegen`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then((res) => {\r\n return res\r\n }).catch((error) => {\r\n return error\r\n })\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport 'primereact/resources/primereact.min.css';\r\n// import 'fullcalendar/dist/fullcalendar.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\nimport ScrollAnimation from 'react-animate-on-scroll';\r\nimport { Button } from 'primereact/button';\r\nimport { Dialog } from 'primereact/dialog';\r\n\r\nimport { connect } from 'react-redux'\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as WastegenService from '../../service/wastegen.service'\r\nimport * as WastetranService from '../../service/wastetran.service'\r\nimport style from './style.css';\r\n//import * as MasterServiceAPI from '../../service';\r\nimport * as ServerAPI from './service';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { WEB_ROOT, TYPE_ROOT } from '../../constants/api'\r\nimport { closeWebsocket } from '../../utils/chat'\r\nimport scrollToComponent from 'react-scroll-to-component';\r\nimport {AlertDialogView} from '../dialog/AlertDialogView';\r\n\r\nclass LandingContainer extends Component {\r\n\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n iconList = {\r\n barOpen: \"fa fa-bars\",\r\n barClosed: \"fa fa-times\"\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n alertDialog: true,\r\n isAuthenticated: false,\r\n user: null, token: '',\r\n errorMessenger: '',\r\n isNavActive: true,\r\n iconBar: this.iconList.barOpen,\r\n displayDialog: false,\r\n registerDialog: false\r\n };\r\n this.onClickRegister = this.onClickRegister.bind(this);\r\n this.onClickNavbar = this.onClickNavbar.bind(this);\r\n this.loginButton = this.loginButton.bind(this);\r\n this.redirectToRegis = this.redirectToRegis.bind(this);\r\n\r\n }\r\n\r\n onClickNavbar() {\r\n //Responsive navbar mobile only\r\n var x = document.getElementById(\"topNavbarMenuList\");\r\n if (x.className === \"p-grid nav-list-menu\") {\r\n x.className += \" nav-top-responsive\";\r\n } else {\r\n x.className = \"p-grid nav-list-menu\";\r\n }\r\n this.handleNavAction();\r\n }\r\n\r\n handleNavAction = () => {\r\n this.setState((pv) => ({\r\n isNavActive: !pv.isNavActive\r\n }))\r\n\r\n if (this.state.isNavActive) {\r\n this.setState((pv) => ({ iconBar: this.iconList.barClosed }));\r\n } else {\r\n this.setState((pv) => ({ iconBar: this.iconList.barOpen }));\r\n }\r\n //console.log(this.state.isNavActive,\" , \",this.state.iconBar)\r\n }\r\n\r\n componentDidMount() {\r\n const { locationServiceProps, userServiceProps } = this.props\r\n locationServiceProps.getProvice()\r\n userServiceProps.getUserInfo();\r\n }\r\n\r\n redirectToRegis() {\r\n console.log('redirect to login')\r\n if (this.state.userTypeNo == 2 && this.state.userTypeRegis == 1) {\r\n ServerAPI.wastetranRegisWastegen().then(res => {\r\n if (res.status == 200) {\r\n localStorage.setItem('user-type', 'wastegen');\r\n window.location = \"/#/wastegen/profile\";\r\n }\r\n })\r\n }\r\n if (this.state.userTypeNo == 1 && this.state.userTypeRegis == 2) {\r\n ServerAPI.wastegenRegisWastetran().then(res => {\r\n if (res.status == 200) {\r\n localStorage.setItem('user-type', 'wastetran');\r\n window.location = \"/#/wastetran/profile\";\r\n }\r\n })\r\n }\r\n this.setState({ registerDialog: false })\r\n }\r\n onClickRegister(wastetype) {\r\n const { userInfo } = this.props\r\n if (!localStorage.getItem('access-token') || wastetype == 3) {\r\n localStorage.removeItem('auth-facebook');\r\n localStorage.removeItem('auth-google');\r\n if (wastetype == 1) window.location = \"/#/register-wastegen\";\r\n if (wastetype == 2) window.location = \"/#/register-wastetran\";\r\n if (wastetype == 3) window.location = \"/#/register-wastepro\";\r\n } else {\r\n var userType = localStorage.getItem('user-type')\r\n var wastetypeCode = 0;\r\n switch (userType) {\r\n case 'wastegen':\r\n wastetypeCode = 1\r\n break;\r\n case 'wastetran':\r\n wastetypeCode = 2\r\n break;\r\n case 'wastepro':\r\n wastetypeCode = 3\r\n break;\r\n }\r\n if (!userInfo.is_available_register) {\r\n this.setState({ displayDialog: true })\r\n } else {\r\n\r\n\r\n if (wastetypeCode == 2 && wastetype == 1) {\r\n //WastetranServiceProps.wastetranRegisWastegen()\r\n //window.location = \"/#/\"+userType+\"/register-gen\";\r\n this.setState({\r\n registerDialog: true,\r\n userTypeNo: wastetypeCode,\r\n userTypeRegis: wastetype,\r\n userTypeName: 'ผู้รักษ์โลก'\r\n })\r\n } else if (wastetypeCode == 1 && wastetype == 2) {\r\n //WastegenServiceProps.wastegenRegisWastetran()\r\n //window.location = \"/#/\"+userType+\"/register-tran\";\r\n this.setState({\r\n registerDialog: true,\r\n userTypeNo: wastetypeCode,\r\n userTypeRegis: wastetype,\r\n userTypeName: 'ทีมขนส่งซีซาเล้ง'\r\n })\r\n } else {\r\n this.setState({ displayDialog: true })\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n facebookResponse = (response, wastetype) => {\r\n\r\n if (response) {\r\n if (response.status != \"unkhow\") {\r\n var model = {\r\n response: response,\r\n wastetype: wastetype,\r\n socialtype: 'facebook'\r\n }\r\n localStorage.removeItem('landing-regis-response');\r\n localStorage.setItem('landing-regis-response', JSON.stringify(model));\r\n window.location = \"/#/register-landing?type=\" + wastetype;\r\n } else {\r\n window.open(WEB_ROOT, \"_self\");\r\n }\r\n }\r\n /*\r\n if (response.status == \"unknown\") {\r\n this.setState({ errorMessenger: '' });\r\n } else if (response.accessToken) {\r\n localStorage.removeItem('auth-facebook');\r\n localStorage.setItem('auth-facebook', JSON.stringify(response));\r\n var authModel = {\r\n Provider: \"Facebook\",\r\n Token: response.accessToken\r\n }\r\n \r\n ServerAPI.authenExternal(authModel).then((res) => {\r\n\r\n if (res.response)\r\n if (res.response.data)\r\n if (res.response.data.Error) {\r\n this.setState({ errorMessenger: res.response.data.Error });\r\n this.setState({ visibleErrorDialogy: true });\r\n }\r\n\r\n if (res.isVerified) {\r\n if (wastetype == 1) window.location = \"/#/register-wastegen\";\r\n if (wastetype == 2) window.location = \"/#/register-wastetran\";\r\n if (wastetype == 3) window.location = \"/#/register-wastepro\";\r\n }\r\n\r\n }).catch((error) => {\r\n //this.growl.show({severity: 'error', summary: 'ข้อความจากระบบ', detail: 'เกิดข้อผิดพลาดในการเชื่อมต่อ'});\r\n })\r\n } else {\r\n this.setState({ errorMessenger: '' });\r\n this.setState({ visibleErrorDialogy: true });\r\n }\r\n */\r\n\r\n };\r\n\r\n responseGoogle = (response, wastetype) => {\r\n if(TYPE_ROOT === 'prod') {\r\n if (response) {\r\n if (response.status != \"unkhow\") {\r\n var model = {\r\n response: response,\r\n wastetype: wastetype,\r\n socialtype: 'google'\r\n }\r\n localStorage.removeItem('landing-regis-response');\r\n localStorage.setItem('landing-regis-response', JSON.stringify(model));\r\n window.location = \"/#/register-landing\";\r\n } else {\r\n window.open(WEB_ROOT, \"_self\");\r\n }\r\n }\r\n }\r\n\r\n /*\r\n if (response.error) {\r\n this.setState({ errorMessenger: '' });\r\n } else if (response.tokenId) {\r\n localStorage.removeItem('auth-google');\r\n localStorage.setItem('auth-google', JSON.stringify(response));\r\n var authModel = {\r\n Provider: \"Google\",\r\n Token: response.tokenId\r\n }\r\n\r\n ServerAPI.authenExternal(authModel).then((res) => {\r\n\r\n\r\n if (res.response)\r\n if (res.response.data)\r\n if (res.response.data.Error) {\r\n this.setState({ errorMessenger: res.response.data.Error });\r\n this.setState({ visibleErrorDialogy: true });\r\n }\r\n\r\n if (res.isVerified) {\r\n if (wastetype == 1) window.location = \"/#/register-wastegen\";\r\n if (wastetype == 2) window.location = \"/#/register-wastetran\";\r\n if (wastetype == 3) window.location = \"/#/register-wastepro\";\r\n }\r\n\r\n }).catch((error) => {\r\n //this.growl.show({severity: 'error', summary: 'ข้อความจากระบบ', detail: 'เกิดข้อผิดพลาดในการเชื่อมต่อ'});\r\n })\r\n } else {\r\n this.setState({ errorMessenger: '' });\r\n this.setState({ visibleErrorDialogy: true });\r\n }\r\n */\r\n }\r\n\r\n renderFeature = () => {\r\n return (\r\n
\r\n
\r\n
\r\n

ช่วยโลกด้วยการเป็นผู้ขายขยะรีไซเคิล

\r\n

คุณสามารถช่วยโลกและมีรายได้ไปพร้อมๆ กัน ง่ายๆ โดยการสมัครสมาชิกเข้าร่วมโครงการเป็นผู้รักษ์โลก และนำขยะรีไซเคิลมาขายให้กับเราง่ายๆ จากที่บ้านไม่จำเป็นต้องเดินทางไปถึงที่ขาย เรามีบริการมารับถึงที่.

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

ช่วยโลกด้วยการเป็นผู้ทีมขนส่งซีซาเล้งขนย้ายขยะรีไซเคิล

\r\n

ถ้ามีรถซาเล้ง รถกะบะ หรือรถขนส่งใดๆ คุณสามารถช่วยโลกง่ายๆ โดยการสมัครสมาชิกเข้าร่วมโครงการเป็นทีมขนส่งซีซาเล้ง และเราจะบอกคุณเองว่าสามารถไปรับขยะรีไซเคิลได้จากที่ไหน และขนมาให้เราง่ายๆ แค่นี้ ก็ช่วยโลกพร้อมกับมีรายได้ด้วย .

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

ช่วยโลกพร้อมกับพัฒนาธุกิจศูนย์จัดการฯซีซาเล้งของคุณ

\r\n

หากคุณเป็นร้านรับซ้อของเก่า ขยะรีไซเคิล คุณจะสามารถมีรายได้โดยเราจะจัดหาขยะรีไซเคิลที่ผ่านการคัดกรองแล้ว มาส่งถึงที่ในราคาที่เหมาะดีที่สุด แค่นี้คุณก็ขยานธุกิจได้พร้อมกับมีส่วยช่วยโลกลดขยะได้แล้ว.

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

อยากช่วยโลกแต่ไม่อยากทำธุรกิจได้มั๊ย ?

\r\n

คุณก็สามารถช่วยโลกลดขยะได้ง่าย เพียงแค่บอกต่อโครงการของเรา หรือ Share ไปยัง Social บอกเพื่อนๆ ของคุณ.

\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n renderLogin = () => {\r\n var disableFacebookGoogle = false\r\n if (localStorage.getItem('access-token')) {\r\n disableFacebookGoogle = true\r\n }\r\n return (\r\n
{ this.registerWaste = section; }}>\r\n this.setState({ visibleErrorDialogy: false })} style={{ width: '30vw' }} >\r\n {this.state.errorMessenger}\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Earth Lover

\r\n

ผู้รักษ์โลกร่วมกับซีซาเล้ง

\r\n

(ผู้ทิ้งหรือผู้ขายขยะรีไซเคิล)

\r\n
\r\n
\r\n
\r\n
บุคคลทั่วไป / ร้านค้าฯ / องค์กรฯ / ชุมชนฯ ที่ต้องการนำขยะรีไซเคิลเข้าสู่กระบวนการจัดการที่ดีและถูกต้อง เพื่อลดขยะตกค้าง นำมาซึ่งสิ่งแวดล้อมที่ดีและโลกน่าอยู่มากขึ้น
\r\n
\r\n \r\n )}\r\n onSuccess={(e) => { this.responseGoogle(e, 1) }}\r\n onFailure={(e) => { this.responseGoogle(e, 1) }}\r\n style={{ backgroundColor: '#5bc0de' }}\r\n icon={false}\r\n className=\"p-button p-button-secondary info-btn btn-block\"\r\n cookiePolicy={'single_host_origin'}\r\n />}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Move

\r\n

ทีมขนส่งซีซาเล้งเพื่อสิ่งแวดล้อม

\r\n

(ผู้ขนส่งขยะรีไซเคิล)

\r\n
\r\n
\r\n
\r\n
เป็นผู้ขนส่ง เพื่อนำขยะรีไซเคิลจาก “ผู้รักษ์โลก” เพื่อส่งมอบไปยัง “ศูนย์จัดการฯ” เข้าสู่กระบวนการจัดการค้าวัสดุรีไซเคิล เพื่อคัดแยกประเภทต่อไป
\r\n
\r\n \r\n )}\r\n onSuccess={(e) => { this.responseGoogle(e, 2) }}\r\n onFailure={(e) => { this.responseGoogle(e, 2) }}\r\n className=\"p-button p-button-secondary info-btn btn-block\"\r\n cookiePolicy={'single_host_origin'}\r\n />}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Collecting Center

\r\n

ศูนย์จัดการฯซีซาเล้งเพื่อชุมชนสะอาด

\r\n

(ร้านรับซื้อขยะรีไซเคิล)

\r\n
\r\n
\r\n
\r\n
เป็นผู้รวบรวม, คัดแยกขยะรีไซเคิล เพื่อเข้าสู่กระบวนการแปรรูปเป็นวัตถุดิบทดแทน, ลดการใช้ทรัพยากรธรรมชาติ เพื่อส่งต่อสิ่งแวดล้อมที่ดีและยั่งยืนให้คนรุ่นต่อไป
\r\n
\r\n \r\n )}\r\n onSuccess={(e) => { this.responseGoogle(e, 3) }}\r\n onFailure={(e) => { this.responseGoogle(e, 3) }}\r\n\r\n className=\"p-button p-button-secondary info-btn btn-block\"\r\n cookiePolicy={'single_host_origin'}\r\n />}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n loggingOut = () => {\r\n const { userServiceProps } = this.props\r\n userServiceProps.logout();\r\n closeWebsocket();\r\n }\r\n\r\n loginButton() {\r\n\r\n const beforeLogin = (\r\n
\r\n \r\n scrollToComponent(this.registerWaste, { offset: 0, align: 'top', duration: 1500 })} style={{ cursor: 'pointer' }}>\r\n
\r\n );\r\n const afterLogin = (\r\n
\r\n \r\n \r\n
\r\n );\r\n var token = localStorage.getItem('access-token');\r\n if (token) {\r\n return afterLogin;\r\n } else {\r\n return beforeLogin;\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n province,\r\n } = this.props\r\n const btnLogin = this.loginButton();\r\n let dialogFooter =
\r\n
;\r\n let registerFooter =
\r\n
;\r\n \r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n \"Logo\"\r\n { this.onClickNavbar() }}>\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

ซี-ซาเล้ง

\r\n

จัดการขยะรีไซเคิลเข้าสู่ระบบฯ ครบ จบ ในแอปฯเดียว

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n {/*this.renderFeature()*/}\r\n\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n\r\n
\r\n {/* include Render login */}\r\n {this.renderLogin()}\r\n
\r\n\r\n
\r\n
\r\n
\r\n \"Logo\"\r\n
\r\n “แจ้งรับขยะรีไซเคิล สอบถามรายละเอียด โทร. 021151482\"\r\n
C3Leng by GGT
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"\"\r\n
@c3leng
\r\n
\r\n
\r\n
\r\n this.setState({ displayDialog: false })}>\r\n คุณเป็นสมาชิกนี้อยู่แล้วในระบบ\r\n \r\n\r\n this.setState({ registerDialog: false })}>\r\n คุณต้องการสมัครเป็น{this.state.userTypeName}\r\n \r\n\r\n {/* this.setState({ alertDialog: false })}\r\n showDialog={this.state.alertDialog}\r\n /> */}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n province: state.province,\r\n district: state.district,\r\n subDistrict: state.subDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n WastegenServiceProps: bindActionCreators(WastegenService, dispatch),\r\n WastetranServiceProps: bindActionCreators(WastetranService, dispatch),\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(LandingContainer)\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from \"primereact/button\";\r\n\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport * as ServerAPI from './service';\r\nimport Dialog from 'primereact/dialog'\r\nimport {Panel} from 'primereact/panel';\r\nimport { API_ROOT ,WEB_ROOT} from '../../constants/api'\r\nimport * as qs from 'query-string';\r\nclass RegisterSocialLandingContainer extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tvisibleErrorDialogy: false,\r\n errorMessenger:\"\",\r\n isLoading:true,\r\n };\r\n \r\n \r\n \r\n\t}\r\n componentDidMount() {\r\n this.bindRegister = this.bindRegister(this);\r\n \r\n }\r\n bindRegister() {\r\n console.log(\"1 componentDidMount()\");\r\n \r\n var model = JSON.parse(localStorage.getItem('landing-regis-response'));\r\n if(model){\r\n if(this.props.location){\r\n if(this.props.location.search){\r\n let _q = qs.parse(this.props.location.search);\r\n if(_q)if(_q.type){\r\n model.wastetype = _q.type;\r\n }\r\n }\r\n }\r\n if(model.socialtype==\"facebook\"){\r\n this.facebookResponse(model.response,model.wastetype);\r\n } else if(model.socialtype==\"google\"){\r\n this.googleResponse(model.response,model.wastetype);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\tfacebookResponse(response, wastetype) {\r\n console.log(\"facebookResponse\")\r\n console.log(response);\r\n if (response.status == \"unknown\") {\r\n this.setState({ errorMessenger: 'เกิดข้อผิดพลาดจาก facebook' });\r\n this.setState({ isLoading: false });\r\n } else if (response.accessToken) {\r\n localStorage.removeItem('auth-facebook');\r\n localStorage.setItem('auth-facebook', JSON.stringify(response));\r\n var authModel = {\r\n Provider: \"Facebook\",\r\n Token: response.accessToken\r\n }\r\n \r\n ServerAPI.authenExternal(authModel).then((res) => {\r\n\r\n if (res.response)\r\n if (res.response.data)\r\n if (res.response.data.Error) {\r\n this.setState({ errorMessenger: res.response.data.Error });\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n if (res.isVerified) {\r\n if (wastetype == 1) window.location = \"/#/register-wastegen\";\r\n if (wastetype == 2) window.location = \"/#/register-wastetran\";\r\n if (wastetype == 3) window.location = \"/#/register-wastepro\";\r\n }\r\n\r\n }).catch((error) => {\r\n //this.growl.show({severity: 'error', summary: 'ข้อความจากระบบ', detail: 'เกิดข้อผิดพลาดในการเชื่อมต่อ'});\r\n })\r\n } else {\r\n this.setState({ errorMessenger: 'เกิดข้อผิดพลาดจาก facebook' });\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n\t};\r\n\t\r\n\tgoogleResponse(response, wastetype){\r\n if (response.error) {\r\n this.setState({ errorMessenger: 'เกิดข้อผิดพลาดจาก google' });\r\n this.setState({ isLoading: false });\r\n } else if (response.tokenId) {\r\n localStorage.removeItem('auth-google');\r\n localStorage.setItem('auth-google', JSON.stringify(response));\r\n var authModel = {\r\n Provider: \"Google\",\r\n Token: response.tokenId\r\n }\r\n\r\n ServerAPI.authenExternal(authModel).then((res) => {\r\n\r\n\r\n if (res.response)\r\n if (res.response.data)\r\n if (res.response.data.Error) {\r\n this.setState({ errorMessenger: res.response.data.Error });\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n if (res.isVerified) {\r\n if (wastetype == 1) window.location = \"/#/register-wastegen\";\r\n if (wastetype == 2) window.location = \"/#/register-wastetran\";\r\n if (wastetype == 3) window.location = \"/#/register-wastepro\";\r\n }\r\n\r\n }).catch((error) => {\r\n //this.growl.show({severity: 'error', summary: 'ข้อความจากระบบ', detail: 'เกิดข้อผิดพลาดในการเชื่อมต่อ'});\r\n })\r\n } else {\r\n this.setState({ errorMessenger: 'เกิดข้อผิดพลาดจาก google' });\r\n this.setState({ isLoading: false });\r\n }\r\n\r\n\t}\r\n\tonClick(){\r\n window.open(WEB_ROOT,\"_self\");\r\n //window.location = '#/';\r\n }\r\n\trender() {\r\n\r\n\r\n\t\tconst { username, password } = this.state\r\n\r\n\t\tconst { authentication, loginProps } = this.props\r\n\t\tif (authentication && authentication.accessToken) {\r\n\t\t\tif (!authentication.userType) {\r\n\t\t\t\tif (!authentication.isLoading) {\r\n\t\t\t\t\tloginProps.getUserType();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (authentication.logedIn) {\r\n\t\t\twindow.location = '#/' + localStorage.getItem('user-type')\r\n }\r\n \r\n \r\n\r\n\t\treturn (\r\n
\r\n\t\t\t\t
\r\n
\r\n
\r\n\t\t\t\t\t
\r\n
\r\n\t\t\t\t\t\t\t\t\t
\r\n {!this.state.isLoading && \r\n \r\n {this.state.errorMessenger}\r\n
\r\n
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\tauthentication: state.authentication\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\t//loginProps: bindActionCreators(UserService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n\tconnect(\r\n\t\tmapStateToProps,\r\n\t\tmapDispatchToProps, null, { forwardRef: true })(RegisterSocialLandingContainer)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from \"primereact/button\";\r\n\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport * as ServerAPI from './service';\r\nimport Dialog from 'primereact/dialog'\r\nimport {Panel} from 'primereact/panel';\r\nimport { API_ROOT ,WEB_ROOT} from '../../constants/api'\r\nimport * as qs from 'query-string';\r\nclass AppleLandingContainer extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tvisibleErrorDialogy: false,\r\n errorMessenger:\"\",\r\n isLoading:true,\r\n };\r\n \r\n \r\n \r\n\t}\r\n componentDidMount() {\r\n \r\n \r\n }\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\tonClick(){\r\n window.open(WEB_ROOT,\"_self\");\r\n //window.location = '#/';\r\n }\r\n\trender() {\r\n\r\n\r\n\t\tconst { username, password } = this.state\r\n\r\n\t\tconst { authentication, loginProps } = this.props\r\n\t\tif (authentication && authentication.accessToken) {\r\n\t\t\tif (!authentication.userType) {\r\n\t\t\t\tif (!authentication.isLoading) {\r\n\t\t\t\t\tloginProps.getUserType();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (authentication.logedIn) {\r\n\t\t\twindow.location = '#/' + localStorage.getItem('user-type')\r\n }\r\n \r\n \r\n\r\n\t\treturn (\r\n
\r\n\t\t\t\t
\r\n
\r\n
\r\n\t\t\t\t\t
\r\n
\r\n\t\t\t\t\t\t\t\t\t
\r\n {!this.state.isLoading && \r\n \r\n {this.state.errorMessenger}\r\n
\r\n
\r\n
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\tauthentication: state.authentication\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\t//loginProps: bindActionCreators(UserService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n\tconnect(\r\n\t\tmapStateToProps,\r\n\t\tmapDispatchToProps, null, { forwardRef: true })(AppleLandingContainer)","import React, { Component } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nexport class AppTopbar extends Component {\r\n\r\n static defaultProps = {\r\n onMenuButtonClick: null,\r\n onTopbarMenuButtonClick: null,\r\n onTopbarItemClick: null,\r\n profileMode: null,\r\n horizontal: false,\r\n topbarMenuActive: false,\r\n activeTopbarItem: null\r\n }\r\n\r\n static propTypes = {\r\n onMenuButtonClick: PropTypes.func.isRequired,\r\n onTopbarMenuButtonClick: PropTypes.func.isRequired,\r\n onTopbarItemClick: PropTypes.func.isRequired,\r\n profileMode: PropTypes.string.isRequired,\r\n horizontal: PropTypes.bool.isRequired,\r\n topbarMenuActive: PropTypes.bool.isRequired,\r\n activeTopbarItem: PropTypes.string\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {};\r\n }\r\n\r\n onTopbarItemClick(event, item) {\r\n if (this.props.onTopbarItemClick) {\r\n this.props.onTopbarItemClick({\r\n originalEvent: event,\r\n item: item\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n
\r\n \r\n \"Logo\"\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n\r\n \r\n {/* */}\r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nexport class AppFooter extends Component {\r\n\r\n render() {\r\n return
\r\n \r\n \"Logo\"\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n }\r\n}","import React, { Component } from 'react';\r\nimport {NavLink} from 'react-router-dom'\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\n\r\nclass AppSubmenu extends Component {\r\n\r\n static defaultProps = {\r\n className: null,\r\n items: null,\r\n onMenuItemClick: null,\r\n onRootItemClick: null,\r\n root: false,\r\n layoutMode: null,\r\n menuActive: false,\r\n parentMenuItemActive: false\r\n }\r\n\r\n static propTypes = {\r\n className: PropTypes.string,\r\n items: PropTypes.array,\r\n onMenuItemClick: PropTypes.func,\r\n onRootItemClick: PropTypes.func,\r\n root: PropTypes.bool,\r\n layoutMode: PropTypes.string,\r\n menuActive: PropTypes.bool,\r\n parentMenuItemActive: PropTypes.bool\r\n }\r\n \r\n constructor(props) {\r\n super(props);\r\n this.state = {};\r\n }\r\n \r\n onMenuItemClick(event, item, index) {\r\n //avoid processing disabled items\r\n if(item.disabled) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n \r\n if(this.props.root && this.props.onRootItemClick) {\r\n this.props.onRootItemClick({\r\n originalEvent: event,\r\n item: item\r\n });\r\n }\r\n \r\n //execute command\r\n if(item.command) {\r\n item.command({originalEvent: event, item: item});\r\n }\r\n\r\n if(index === this.state.activeIndex)\r\n this.setState({activeIndex: null}); \r\n else\r\n this.setState({activeIndex: index});\r\n\r\n if(this.props.onMenuItemClick) {\r\n this.props.onMenuItemClick({\r\n originalEvent: event,\r\n item: item\r\n });\r\n }\r\n } \r\n \r\n onMenuItemMouseEnter(index) {\r\n if(this.props.root && this.props.menuActive && this.isHorizontalOrSlim()) {\r\n this.setState({activeIndex: index});\r\n }\r\n }\r\n\r\n static getDerivedStateFromProps(nextProps, prevState) {\r\n if (nextProps.parentMenuItemActive === false) {\r\n return {\r\n activeIndex: null\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n \r\n componentDidUpdate(prevProps, prevState, snapshot) {\r\n if(this.isHorizontalOrSlim() && prevProps.menuActive && !this.props.menuActive) {\r\n this.setState({activeIndex: null});\r\n }\r\n }\r\n \r\n isHorizontalOrSlim() {\r\n return (this.props.layoutMode === 'horizontal' || this.props.layoutMode === 'slim');\r\n }\r\n\r\n\trenderLinkContent(item) {\r\n\t\tlet submenuIcon = item.items && ;\r\n\t\tlet badge = item.badge && {item.badge};\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t{item.label}\r\n\t\t\t\t{submenuIcon}\r\n\t\t\t\t{badge}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\r\n\trenderLink(item, i) {\r\n\t\tlet content = this.renderLinkContent(item);\r\n\r\n\t\tif (item.to) {\r\n\t\t\treturn (\r\n\t\t\t\t this.onMenuItemClick(e, item, i)} exact\r\n\t\t\t\t\t\t target={item.target} onMouseEnter={(e) => this.onMenuItemMouseEnter(i)} className={item.styleClass}>{content}\r\n\t\t\t)\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn (\r\n\t\t\t\t this.onMenuItemClick(e, item, i)} target={item.target}\r\n\t\t\t\t onMouseEnter={(e) => this.onMenuItemMouseEnter(i)} className={item.styleClass}>\r\n\t\t\t\t\t{content}\r\n\t\t\t\t\r\n\t\t\t);\r\n\r\n\t\t}\r\n }\r\n \r\n render() {\r\n var items = this.props.items && this.props.items.map((item, i) => {\r\n let active = this.state.activeIndex === i;\r\n let styleClass = classNames(item.badgeStyleClass, {'active-menuitem': active});\r\n let tooltip = this.props.root &&
\r\n
\r\n
{item.label}
\r\n
;\r\n\r\n return
  • \r\n {item.items && this.props.root===true &&
    }\r\n {this.renderLink(item, i)}\r\n {tooltip}\r\n \r\n
  • \r\n });\r\n \r\n return items?:null;\r\n }\r\n}\r\n\r\nexport class AppMenu extends Component {\r\n\r\n static defaultProps = {\r\n model: null,\r\n onMenuItemClick: null,\r\n onRootMenuItemClick: null,\r\n layoutMode: null,\r\n active: false\r\n }\r\n\r\n static propTypes = {\r\n model: PropTypes.array,\r\n layoutMode: PropTypes.string,\r\n onMenuItemClick: PropTypes.func,\r\n onRootMenuItemClick: PropTypes.func,\r\n active: PropTypes.bool\r\n }\r\n\r\n render() {\r\n return \r\n }\r\n}","import axios from 'axios';\r\n\r\nexport class CarService {\r\n \r\n getCarsSmall() {\r\n return axios.get('assets/demo/data/cars-small.json')\r\n .then(res => res.data.data);\r\n }\r\n\r\n getCarsMedium() {\r\n return axios.get('assets/demo/data/cars-medium.json')\r\n .then(res => res.data.data);\r\n }\r\n\r\n getCarsLarge() {\r\n return axios.get('assets/demo/data/cars-large.json')\r\n .then(res => res.data.data);\r\n }\r\n}","import React, { Component } from 'react';\r\nimport {CarService} from '../../service/CarService';\r\nimport {Panel} from 'primereact/components/panel/Panel';\r\nimport {Checkbox} from 'primereact/components/checkbox/Checkbox';\r\nimport {Button} from 'primereact/components/button/Button';\r\nimport {Dropdown} from 'primereact/components/dropdown/Dropdown';\r\nimport {InputText} from 'primereact/components/inputtext/InputText';\r\nimport {InputTextarea} from 'primereact/components/inputtextarea/InputTextarea';\r\nimport {DataTable} from 'primereact/components/datatable/DataTable';\r\nimport {Column} from 'primereact/components/column/Column';\r\nimport {FullCalendar} from 'primereact/fullcalendar';\r\n\r\nexport class Dashboard extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n tasks: [],\r\n city: null,\r\n selectedCar: null\r\n };\r\n this.onTaskChange = this.onTaskChange.bind(this);\r\n this.onCityChange = this.onCityChange.bind(this);\r\n this.carservice = new CarService();\r\n }\r\n\r\n onTaskChange(e) {\r\n let selectedTasks = [...this.state.tasks];\r\n if(e.checked)\r\n selectedTasks.push(e.value);\r\n else\r\n selectedTasks.splice(selectedTasks.indexOf(e.value), 1);\r\n\r\n this.setState({tasks: selectedTasks});\r\n }\r\n\r\n onCityChange(e) {\r\n this.setState({city: e.value});\r\n }\r\n\r\n componentDidMount() {\r\n this.carservice.getCarsSmall().then(data => this.setState({cars: data}));\r\n }\r\n\r\n render() {\r\n let cities = [\r\n {label:'New York', value:{id:1, name: 'New York', code: 'NY'}},\r\n {label:'Rome', value:{id:2, name: 'Rome', code: 'RM'}},\r\n {label:'London', value:{id:3, name: 'London', code: 'LDN'}},\r\n {label:'Istanbul', value:{id:4, name: 'Istanbul', code: 'IST'}},\r\n {label:'Paris', value:{id:5, name: 'Paris', code: 'PRS'}}\r\n ];\r\n\r\n\t\tlet fullcalendarOptions = {\r\n\t\t\tdefaultDate: '2017-02-12',\r\n\t\t\theader: {\r\n\t\t\t\tleft: 'prev,next today',\r\n\t\t\t\tcenter: 'title',\r\n\t\t\t\tright: 'month,agendaWeek,agendaDay'\r\n\t\t\t}\r\n\t\t};\r\n\r\n let events = [\r\n\t\t\t{\r\n\t\t\t\t\"id\": 1,\r\n\t\t\t\t\"title\": \"All Day Event\",\r\n\t\t\t\t\"start\": \"2017-02-01\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 2,\r\n\t\t\t\t\"title\": \"Long Event\",\r\n\t\t\t\t\"start\": \"2017-02-07\",\r\n\t\t\t\t\"end\": \"2017-02-10\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 3,\r\n\t\t\t\t\"title\": \"Repeating Event\",\r\n\t\t\t\t\"start\": \"2017-02-09T16:00:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 4,\r\n\t\t\t\t\"title\": \"Repeating Event\",\r\n\t\t\t\t\"start\": \"2017-02-16T16:00:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 5,\r\n\t\t\t\t\"title\": \"Conference\",\r\n\t\t\t\t\"start\": \"2017-02-11\",\r\n\t\t\t\t\"end\": \"2017-02-13\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 6,\r\n\t\t\t\t\"title\": \"Meeting\",\r\n\t\t\t\t\"start\": \"2017-02-12T10:30:00\",\r\n\t\t\t\t\"end\": \"2017-02-12T12:30:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 7,\r\n\t\t\t\t\"title\": \"Lunch\",\r\n\t\t\t\t\"start\": \"2017-02-12T12:00:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 8,\r\n\t\t\t\t\"title\": \"Meeting\",\r\n\t\t\t\t\"start\": \"2017-02-12T14:30:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 9,\r\n\t\t\t\t\"title\": \"Happy Hour\",\r\n\t\t\t\t\"start\": \"2017-02-12T17:30:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 10,\r\n\t\t\t\t\"title\": \"Dinner\",\r\n\t\t\t\t\"start\": \"2017-02-12T20:00:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 11,\r\n\t\t\t\t\"title\": \"Birthday Party\",\r\n\t\t\t\t\"start\": \"2017-02-13T07:00:00\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"id\": 12,\r\n\t\t\t\t\"title\": \"Click for Google\",\r\n\t\t\t\t\"url\": \"http://google.com/\",\r\n\t\t\t\t\"start\": \"2017-02-28\"\r\n\t\t\t}\r\n\t\t];\r\n\r\n return
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Unread Messages\r\n
    \r\n
    150
    \r\n
    12 less than yesterday
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Check-ins: จำนวนเช็คอิน \r\n
    \r\n
    532
    \r\n
    46 more than yesterday
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Files\r\n
    \r\n
    450
    \r\n
    30 more than yesterday
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Users\r\n
    \r\n
    532
    \r\n
    250 more than yesterday
    \r\n
    \r\n
    \r\n \r\n
    \r\n Global Sales: การขายทั่วโลก}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    Total SalesChange
    1\"BrazilBRAZIL4234+35%
    2\"ChinaCHINA3214-25%
    3\"BelgiumBELGIUM2842+28%
    4\"FranceFRANCE1942+15%
    \r\n
    \r\n
    \r\n \r\n
    \r\n Product Statistics}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    W
    \r\n
    \r\n Last Update: 12m ago\r\n Currently Waiting\r\n \r\n
    253 Shipments
    \r\n
    584 Orders
    \r\n
    \r\n
    S
    \r\n
    \r\n Last Update: 12m ago\r\n Successfully Completed\r\n \r\n
    312 Shipments
    \r\n
    409 Orders
    \r\n
    \r\n
    D
    \r\n
    \r\n Last Update: 6m ago\r\n Delayed\r\n \r\n
    122 Shipments
    \r\n
    341 Orders
    \r\n
    \r\n
    P
    \r\n
    \r\n Last Update: 15m ago\r\n Preordered\r\n \r\n
    221 Shipments
    \r\n
    332 Orders
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Logins\r\n 52003\r\n +32\r\n
    \r\n
    \r\n \"Chart\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Views\r\n 532\r\n +24792\r\n
    \r\n
    \r\n \"Chart\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Sales\r\n $5521\r\n +243\r\n
    \r\n
    \r\n \"Chart\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
      \r\n
    • \r\n -1?true:false}>\r\n Sales Reports\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n Pay Invoices\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n Dinner with Tony\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n Client Meeting\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n New Theme\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n Flight Ticket\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n Generate Charts\r\n \r\n
    • \r\n
    • \r\n -1?true:false}>\r\n Call Client\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
      \r\n
    • \r\n \"User\"\r\n
      \r\n Madison Hughes (me)\r\n jane@pn-manhattan.com\r\n
      \r\n
      \r\n online\r\n \r\n \r\n
      \r\n
    • \r\n
    • \r\n \"Contact\r\n
      \r\n Joshua Williams\r\n joshua@pn-manhattan.com\r\n
      \r\n
      \r\n online\r\n \r\n \r\n
      \r\n
    • \r\n
    • \r\n \"Contact\r\n
      \r\n Emily Clark\r\n emily@pn-manhattan.com\r\n
      \r\n
      \r\n offline\r\n \r\n \r\n
      \r\n
    • \r\n
    • \r\n \"Contact\r\n
      \r\n Tim Johnson\r\n tim@pn-manhattan.com\r\n
      \r\n
      \r\n online\r\n \r\n \r\n
      \r\n
    • \r\n
    • \r\n \"Contact\r\n
      \r\n David Stark\r\n kelly@pn-manhattan.com\r\n
      \r\n
      \r\n offline\r\n \r\n \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
      \r\n
    • \r\n \"Contact\r\n Retro occupy organic, stumptown shabby chic pour-over roof party DIY normcore.\r\n
    • \r\n
    • \r\n \"User\"\r\n Actually artisan organic occupy, Wes Anderson ugh whatever pour-over gastropub selvage.\r\n
    • \r\n
    • \r\n \"Contact\r\n Chillwave craft beer tote bag stumptown quinoa hashtag.\r\n
    • \r\n
    • \r\n \"User\"\r\n Dreamcatcher locavore iPhone chillwave, occupy trust fund slow-carb distillery art party narwhal.\r\n
    • \r\n
    • \r\n Sed ut perspiciatis unde omnis iste natus.\r\n
    • \r\n
    • \r\n \"Contact\r\n Quis autem vel eum iure reprehenderit qui in ea voluptate velit esse.\r\n
    • \r\n
    • \r\n \"User\"\r\n At vero eos et accusamus.\r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n this.setState({selectedCar: e.value})}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n just now\r\n \r\n
    \r\n
    \r\n Katherine May\r\n Lorem ipsun dolor amet\r\n
    \r\n \"Bridge\"\r\n
    \r\n
    \r\n \r\n
    \r\n 12h ago\r\n \r\n
    \r\n
    \r\n Brandon Santos\r\n Ab nobis, magnam sunt eum. Laudantium, repudiandae, similique!.\r\n
    \r\n \r\n
    \r\n 15h ago\r\n \r\n
    \r\n
    \r\n Stephan Ward\r\n Omnis veniam quibusdam ratione est repellat qui nam quisquam ab mollitia dolores ullam voluptates, similique, dignissimos.\r\n
    \r\n \"Nature\"\r\n
    \r\n
    \r\n \r\n
    \r\n 2d ago\r\n \r\n
    \r\n
    \r\n Jason Smith\r\n Laudantium, repudiandae, similique!\r\n
    \r\n \"Map\"\r\n
    \r\n
    \r\n \r\n
    \r\n 1w ago\r\n \r\n
    \r\n
    \r\n Kevin Cox\r\n Quibusdam ratione est repellat qui nam quisquam veniam quibusdam ratione.\r\n
    \r\n \r\n
    \r\n 2w ago\r\n \r\n
    \r\n
    \r\n Walter White\r\n I am the one who knocks!\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\t\t\t\t\t\t\t\r\n \r\n
    \r\n
    \r\n }\r\n}","import axios from 'axios'\r\nimport { API_ROOT } from '../constants/api'\r\nimport {\r\n BANK,\r\n PRDT,\r\n PRD,\r\n MASTER_SETTING_PARAMETER\r\n} from './actionType'\r\n\r\n// Location\r\nexport const getBanks = () => (dispatch) => {\r\n dispatch({ type: BANK.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/bank/all`,\r\n }).then((res) => {\r\n dispatch({ type: BANK.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: BANK.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getProductType = () => (dispatch) => {\r\n dispatch({ type: PRDT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/producttype/all`,\r\n }).then((res) => {\r\n dispatch({ type: PRDT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: PRDT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getProduct = (product_type_code) => (dispatch) => {\r\n dispatch({ type: PRD.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/product/${product_type_code}`,\r\n }).then((res) => {\r\n dispatch({ type: PRD.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: PRD.FAILURE, error })\r\n })\r\n}\r\n\r\n\r\nexport const getSettingParameterAll = () => (dispatch) => {\r\n dispatch({ type: MASTER_SETTING_PARAMETER.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/parameter/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: MASTER_SETTING_PARAMETER.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: MASTER_SETTING_PARAMETER.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const updateSettingParameter = (data) => (dispatch) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/master/admin/parameter/update`,\r\n data: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((error) => {\r\n return error\r\n })\r\n}","\r\n\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\nimport {\r\n WASTETRAN_FILE_DELETE,\r\n WASTEPRO_FILE_DELETE\r\n} from './actionType'\r\n\r\nexport const deleteWasteTranFile = (fileType, fileName) => (dispatch) => {\r\n dispatch({ type: WASTETRAN_FILE_DELETE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/deletefile/${fileType}/${fileName}`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTETRAN_FILE_DELETE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTETRAN_FILE_DELETE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const deleteWasteproFile = (fileType, fileName) => (dispatch) => {\r\n dispatch({ type: WASTEPRO_FILE_DELETE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/deletefile/${fileType}/${fileName}`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_FILE_DELETE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_FILE_DELETE.FAILURE, error })\r\n })\r\n}\r\n\r\n\r\n","import { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\nimport {\r\n GET_CHAT_MESSAGE_BY_ROOM,\r\n LOAD_MORE_CHAT_MESSAGE,\r\n ADD_NEW_CHAT_MESSAGE,\r\n SEND_CHAT_IMAGE,\r\n GET_CHAT_LIST,\r\n GET_CHAT_PICKUP_BADGE,\r\n GET_CHAT_DELIVERY_BADGE,\r\n GET_CHAT_ADMIN_BADGE,\r\n} from './actionType'\r\nimport { map, without, orderBy, includes } from 'lodash'\r\n\r\nexport const getChatMessageByRoom = (roomId, pageSize, timeStamp) => dispatch => {\r\n dispatch({ type: GET_CHAT_MESSAGE_BY_ROOM.REQUEST })\r\n console.log('getChatMessageByRoom roomId', roomId)\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetByRoomId/${roomId}/${pageSize}/${timeStamp}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n // console.log('getChatMessageByRoom data', res.data)\r\n dispatch({ type: GET_CHAT_MESSAGE_BY_ROOM.SUCCESS, payload: res.data })\r\n })\r\n .catch(error => {\r\n dispatch({ type: GET_CHAT_MESSAGE_BY_ROOM.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const loadMoreChatMessage = (roomId, pageSize, timeStamp) => dispatch => {\r\n dispatch({ type: LOAD_MORE_CHAT_MESSAGE.REQUEST })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetByRoomId/${roomId}/${pageSize}/${timeStamp}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n dispatch({ type: LOAD_MORE_CHAT_MESSAGE.SUCCESS, payload: res.data })\r\n })\r\n .catch(error => {\r\n dispatch({ type: LOAD_MORE_CHAT_MESSAGE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const addNewChatMessage = message => dispatch => {\r\n dispatch({ type: ADD_NEW_CHAT_MESSAGE, message })\r\n}\r\n\r\nexport const sendChatImage = (image, roomId, handleResult) => dispatch => {\r\n dispatch({\r\n type: SEND_CHAT_IMAGE.REQUEST,\r\n isLoading: true,\r\n })\r\n\r\n const formData = new FormData()\r\n const fileData = image.uri.split('/')\r\n const fileName = fileData[fileData.length - 1]\r\n formData.append('file', { uri: image.uri, type: image.type, name: fileName })\r\n formData.append('room_id', roomId)\r\n\r\n // return\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/chatmessage/PostImage`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n dispatch({\r\n type: SEND_CHAT_IMAGE.SUCCESS,\r\n payload: res.data,\r\n })\r\n console.log('res.data', res.data)\r\n handleResult(true, res.data)\r\n })\r\n .catch(error => {\r\n dispatch({\r\n type: SEND_CHAT_IMAGE.FAILURE,\r\n payload: error.message,\r\n })\r\n console.log(error.response)\r\n handleResult(false)\r\n })\r\n}\r\n\r\nexport const getChatList = () => dispatch => {\r\n dispatch({ type: GET_CHAT_LIST.REQUEST })\r\n\r\n dispatch({ type: GET_CHAT_LIST.SUCCESS, payload: _mockChatList })\r\n // return axiosTokenJson({\r\n // method: 'get',\r\n // url: `${API_ROOT}/chatmessage/GetByRoomId/${roomId}`,\r\n // })\r\n // .then(res => {\r\n // dispatch({ type: GET_CHAT_MESSAGE_BY_ROOM.SUCCESS, payload: res.data })\r\n // })\r\n // .catch(error => {\r\n // dispatch({ type: GET_CHAT_MESSAGE_BY_ROOM.FAILURE, error })\r\n // })\r\n}\r\n\r\nexport const getAdminUid = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetAdminUid`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data\r\n })\r\n .catch(error => {\r\n return error\r\n })\r\n}\r\n\r\nexport const getBadgeAdmin = () => dispatch => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnread/admin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n dispatch({\r\n type: GET_CHAT_ADMIN_BADGE,\r\n payload: res.data,\r\n })\r\n })\r\n .catch(error => {})\r\n}\r\n\r\nexport const getBadgePickup = room_id => dispatch => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n dispatch({\r\n type: GET_CHAT_PICKUP_BADGE,\r\n payload: res.data,\r\n })\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const getBadgeDelivery = room_id => dispatch => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n dispatch({\r\n type: GET_CHAT_DELIVERY_BADGE,\r\n payload: res.data,\r\n })\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const updateReadAll = (roomId,type,badges) => dispatch => {\r\n let isPickup = includes(roomId, 'pickup')\r\n let isDelivery = includes(roomId, 'delivery')\r\n let isAdminChat = includes(roomId, 'admin')\r\n // return axios({\r\n // method: 'get',\r\n // url: `${API_ROOT}/chatmessage/ReadAll/${roomId}`,\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n // }\r\n // })\r\n // .then(res => {\r\n if(isPickup) {\r\n dispatch({\r\n type: GET_CHAT_PICKUP_BADGE,\r\n payload: 0,\r\n })\r\n }\r\n if(isDelivery) {\r\n dispatch({\r\n type: GET_CHAT_DELIVERY_BADGE,\r\n payload: 0,\r\n })\r\n }\r\n if(isAdminChat && type == 0) {\r\n dispatch({\r\n type: GET_CHAT_ADMIN_BADGE,\r\n payload: 0,\r\n })\r\n }\r\n if(isAdminChat && type == 1) {\r\n dispatch({\r\n type: GET_CHAT_ADMIN_BADGE,\r\n payload: badges,\r\n })\r\n }\r\n // })\r\n // .catch(error => {\r\n // })\r\n}\r\n\r\nconst _mockChatList = [\r\n {\r\n id: Math.random().toString(),\r\n name: 'Tony Stark',\r\n },\r\n {\r\n id: Math.random().toString(),\r\n name: 'Captain America',\r\n },\r\n {\r\n id: Math.random().toString(),\r\n name: 'Thor',\r\n },\r\n {\r\n id: Math.random().toString(),\r\n name: 'Spiderman',\r\n },\r\n]\r\n\r\nconst _mockLoadMore = {\r\n data: [\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n {\r\n iam: true,\r\n is_deleted: false,\r\n message: 'test text',\r\n message_id: Math.random().toString(),\r\n message_type: 1,\r\n room_id: null,\r\n send_datetime: '2020-07-10T14:54:32.4559212+07:00',\r\n sender_id: null,\r\n token: null,\r\n },\r\n ],\r\n}\r\n","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\n\r\nexport class AppInlineProfile extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n expanded: false\r\n };\r\n this.onClick = this.onClick.bind(this);\r\n }\r\n\r\n onClick(event) {\r\n this.setState({expanded: !this.state.expanded});\r\n event.preventDefault();\r\n }\r\n\r\n render() {\r\n return
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n }\r\n}","import React from 'react';\r\nconst _ = require(\"lodash\");\r\nconst { compose, withProps, lifecycle } = require(\"recompose\");\r\nconst {\r\n withScriptjs,\r\n withGoogleMap,\r\n GoogleMap,\r\n Marker,\r\n} = require(\"react-google-maps\");\r\nconst { SearchBox } = require(\"react-google-maps/lib/components/places/SearchBox\");\r\n\r\nexport const MapWithASearchBox = compose(\r\n withProps({\r\n googleMapURL: \"https://maps.googleapis.com/maps/api/js?key=AIzaSyA4jjZnsw8iYo3eDeZROTP-S63t1wfPYyo&v=3&libraries=geometry,drawing,places\",\r\n loadingElement:
    ,\r\n containerElement:
    ,\r\n mapElement:
    \r\n }),\r\n lifecycle({\r\n componentWillMount() {\r\n const refs = {}\r\n \r\n this.setState({\r\n bounds: null,\r\n markers: [],\r\n // center: { lat: 13.7734283, lng: 100.57383099999993 },\r\n \r\n onBoundsChanged: _.debounce(\r\n () => {\r\n //console.log(refs.map);\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: refs.map.getCenter()\r\n \r\n })\r\n let { onBoundsChange } = this.props\r\n if (onBoundsChange) {\r\n onBoundsChange(refs.map)\r\n }\r\n },\r\n 100,\r\n { maxWait: 500 }\r\n ),\r\n onMapMounted: ref => {\r\n refs.map = ref;\r\n \r\n },\r\n /*onBoundsChanged: () => {\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: refs.map.getCenter(),\r\n })\r\n },*/\r\n onSearchBoxMounted: ref => {\r\n refs.searchBox = ref;\r\n },\r\n\r\n \r\n onPlacesChanged: _.debounce(\r\n () => {\r\n const places = refs.searchBox.getPlaces();\r\n const bounds = new window.google.maps.LatLngBounds();\r\n \r\n places.forEach(place => {\r\n if (place.geometry.viewport) {\r\n bounds.union(place.geometry.viewport)\r\n } else {\r\n bounds.extend(place.geometry.location)\r\n }\r\n \r\n });\r\n \r\n \r\n const nextMarkers = places.map(place => ({\r\n position: place.geometry.location,\r\n }));\r\n const nextCenter = _.get(nextMarkers, '0.position', this.state.center);\r\n //console.log(nextCenter.toJSON());\r\n this.setState({\r\n center: nextCenter,\r\n markers: nextMarkers\r\n\r\n });\r\n this.setState({marker: nextCenter.toJSON()});\r\n \r\n let { onCenterChanged } = this.props\r\n if (onCenterChanged) {\r\n onCenterChanged(nextCenter.toJSON());\r\n }\r\n\r\n }),\r\n })\r\n },\r\n }),\r\n withScriptjs,\r\n withGoogleMap,\r\n)(props =>\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n);\r\n\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { InputText } from 'primereact/inputtext'\r\nimport { ToggleButton } from 'primereact/togglebutton'\r\n\r\n\r\nclass ChangePassword extends Component {\r\n\r\n state = {\r\n\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n //console.log(\"ChangePassword :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"ChangePassword :componentWillReceiveProps\")\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ChangePassword :shouldComponentUpdate\")\r\n return true\r\n }\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n //console.log(\"ChangePassword :componentWillUpdate\")\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ChangePassword :componentDidUpdate\")\r\n\r\n }\r\n\r\n //> Event\r\n onChangeOldPassword = (e) => { this.props.onChangeOldPassword(e) }\r\n onChangeNewPassword = (e) => { this.props.onChangeNewPassword(e) }\r\n onChangeConfirmPassword = (e) => { this.props.onChangeConfirmPassword(e) }\r\n onChangePasswordVisible = (e) => { this.props.onChangePasswordVisible(e) }\r\n\r\n render() {\r\n //console.log(\"ChangePassword :render\")\r\n const {\r\n typePasswordInput,\r\n classNameRequired,\r\n isChangePassword,\r\n errorMessageOldPassword,\r\n errorMessagePassword,\r\n errorMessageConfirmPassword,\r\n checkedPasswordVisible,\r\n disableNewPass\r\n } = this.props\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n {errorMessageOldPassword} \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {isChangePassword &&\r\n {errorMessagePassword} \r\n }\r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n\r\n {isChangePassword &&\r\n {errorMessageConfirmPassword} \r\n }\r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(ChangePassword)\r\n","import React, { Component } from 'react';\r\n\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Messages } from 'primereact/messages';\r\nimport { Message } from 'primereact/message';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\n\r\nimport * as Validators from '../../utils/validators'\r\n\r\n\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\n\r\nimport * as SecureUtils from '../../utils/secureUtils';\r\n\r\nexport class WastegenProfile extends Component {\r\n\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n //Validate\r\n isValidateError: false,\r\n classNameRequired: 'p-col-12',\r\n\r\n isLoading: true,\r\n isUpdate: false,\r\n isLoadDist: false,\r\n isLoadSubDist: false,\r\n selectedProv: null,\r\n selectedDistrict: null,\r\n selectedSubDistrict: null,\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n selectedCompanyType: null,\r\n locationRecycle: [\r\n { inputId: 1, value: \"บ้านในโครงการจัดสรร\" },\r\n { inputId: 2, value: \"คอนโดมีเนียม / อพาร์ทเม้นท์\" },\r\n { inputId: 3, value: \"ร้านค้า / ร้านอาหาร\" },\r\n { inputId: 4, value: \"อื่นๆ\" },\r\n { inputId: 5, value: \"บ้านพักอาศัยทั่วไป\" },\r\n { inputId: 6, value: \"อาคารสำนักงาน / โรงงาน\" },\r\n { inputId: 7, value: \"สถานศึกษา / สถานที่ราชการ\" }\r\n ],\r\n dummyDropdownBank: [\r\n { name: 'กสิกรไทย', code: '1' },\r\n { name: 'นครหลวงไทย', code: '2' },\r\n { name: 'กรุงเทพ', code: '3' },\r\n { name: 'ไทยพาณิทย์', code: '4' },\r\n ],\r\n selectedBank: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n selectedPersonPrefix: null,\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n password: null,\r\n confirmPassword: null,\r\n disableNewPass: true\r\n }\r\n\r\n this.onMarkerMoved = this.onMarkerMoved.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { userServiceProps, locationServiceProps, userInfo } = this.props\r\n\r\n this.setState({ isLoading: true })\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenProfile :componentWillReceiveProps\", this.state)\r\n //> Transform props to state\r\n if (nextProps.userInfo) {\r\n if (\r\n !nextProps.userInfoMaster.isLoading\r\n && !nextProps.updateWastegenProfile.isLoading\r\n && !nextProps.changePassword.isLoading\r\n && !nextProps.locationMaster.isFetching\r\n ) {\r\n this.initialSelected(this.state);\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenProfile :shouldComponentUpdate\")\r\n if (nextProps.userInfo) {\r\n if (\r\n nextState.isLoading\r\n && !nextProps.userInfoMaster.isLoading\r\n && !nextProps.updateWastegenProfile.isLoading\r\n && !nextProps.changePassword.isLoading\r\n && !nextProps.locationMaster.isFetching\r\n ) {\r\n if (nextState.isUpdate) {\r\n if (nextProps.updateWastegenProfile.isFailed) {\r\n this.showError();\r\n } else {\r\n if (nextState.isShowChangePassword) {\r\n if (!nextProps.changePassword.isFailed) {\r\n this.initialForm(nextProps.updateWastegenProfile.data)\r\n this.showSuccess();\r\n this.initialSelected(nextProps.updateWastegenProfile.data);\r\n } else {\r\n this.showError(nextProps.changePassword.data)\r\n }\r\n } else {\r\n this.initialForm(nextProps.updateWastegenProfile.data)\r\n this.showSuccess();\r\n this.initialSelected(nextProps.updateWastegenProfile.data);\r\n }\r\n }\r\n this.setState({ isUpdate: false })\r\n this.setState({ isLoading: false })\r\n } else {\r\n this.initialForm(nextProps.userInfo)\r\n this.initialSelected(nextProps.userInfo);\r\n }\r\n\r\n this.validateRequire(nextState);\r\n }\r\n }\r\n\r\n if (!nextProps.changePassword.isLoading) {\r\n if (nextProps.changePassword.isFailed) {\r\n if (nextState.isUpdate) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenProfile :componentWillUpdate\")\r\n\r\n\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState);\r\n }\r\n if (this.state.person_type != nextState.person_type) {\r\n this.validateRequire(nextState);\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenProfile :componentDidUpdate\")\r\n if (prevState.isChangePassword) {\r\n if (prevState.isUpdate) {\r\n if (!this.props.changePassword.isLoading) {\r\n if (!this.props.changePassword.isFailed) {\r\n if (!this.props.updateWastegenProfile.isLoading) {\r\n this.props.userServiceProps.updateWastegenProfile(prevState)\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // ========= PREPARE =========\r\n initialForm(object) {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isLoading: false })\r\n if(object.latitude && object.longitude)\r\n this.setState({ marker: { lat: object.latitude, lng: object.longitude } })\r\n }\r\n }\r\n\r\n\r\n initialSelected = (state) => {\r\n\r\n const { province, district, subDistrict, locationServiceProps, locationMaster, banks } = this.props\r\n\r\n //person_prefix_code default :: check dropdown\r\n if (!state.selectedPersonPrefix &&state.person_prefix_code) {\r\n for (let key in this.state.personPrefixs) {\r\n let val = this.state.personPrefixs[key]\r\n if (state.person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n //person_prefix_code default :: check dropdown\r\n if (!state.selectedCompanyType && state.org_type) {\r\n for (let key in this.state.companyTypes) {\r\n let val = this.state.companyTypes[key]\r\n if (state.org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n //bank_code default :: check dropdown\r\n if (!state.selectedBank && state.bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (state.bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n\r\n }\r\n }\r\n }\r\n //province default :: check dropdown\r\n if (!state.selectedProv && state.addr_current_province_code && !locationMaster.isFetching) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (state.addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedProv: val })\r\n locationServiceProps.getDistrict(val.provinceCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!state.selectedDistrict && state.addr_current_district_code && !locationMaster.isFetching) {\r\n for (let key in district) {\r\n let val = district[key]\r\n if (state.addr_current_district_code == val.districtCode) {\r\n //console.log(\"district \",val)\r\n this.setState({ selectedDistrict: val })\r\n locationServiceProps.getSubDistrict(val.districtCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!state.selectedSubDistrict && state.addr_current_subdistrict_code ) {\r\n subDistrict.map((val) => {\r\n if (state.addr_current_subdistrict_code == val.subDistrictCode) {\r\n //console.log(\"subDistrict \",val)\r\n this.setState({ selectedSubDistrict: val })\r\n }\r\n })\r\n for (let key in subDistrict) {\r\n const val = subDistrict[key]\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n // ======== Validate data =========\r\n //> Validate\r\n validateRequire = (state) => {\r\n this._classNameRequired(false)\r\n\r\n this._validateLogic(state.telephone_no1)\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n this._validateLogic(state.password);\r\n this._validateLogic(state.confirmPassword);\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error p-col-12\" : \"p-col-12\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n\r\n // ========= Event =========\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n }\r\n\r\n onChangeProv = (e) => {\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedDistrict: null })\r\n this.setState({ addr_current_province_code: null })\r\n this.setState({ selectedSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n locationServiceProps.getDistrict(value.provinceCode);\r\n e.preventDefault()\r\n }\r\n\r\n onChangeDistrict = (e) => {\r\n\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n locationServiceProps.getSubDistrict(value.districtCode);\r\n e.preventDefault()\r\n }\r\n\r\n\r\n onChangeSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n\r\n // ======== SAVE =========\r\n onSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n this.validateRequire(this.state);\r\n\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.password,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.userServiceProps.changePassword(JSON.parse(JSON.stringify(jsPass)))\r\n } else {\r\n this.props.userServiceProps.updateWastegenProfile(this.state)\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n this.setState({ isLoading: true })\r\n }\r\n\r\n }\r\n\r\n // ======== MAP ========\r\n onMarkerMoved = (e) => {\r\n \r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n }\r\n \r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'สถานะ', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n // === EVENT CHANGE PASSWORD ===\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ password: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.value })\r\n if (this.state.isShowChangePassword) {\r\n console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n\r\n // ========= RENDER =========\r\n render() {\r\n const { changePassword, banks, userInfoMaster, userInfo, province, district, subDistrict, updateWastegenProfile, locationServiceProps } = this.props\r\n\r\n console.log(this.state)\r\n\r\n\r\n //> loading all page\r\n let formInfomation = (\r\n
    Loading...
    \r\n )\r\n let contentBank = (\r\n
    Loading...
    \r\n )\r\n let contentContact = (\r\n
    Loading...
    \r\n )\r\n let contentLocation = (\r\n
    Loading...
    \r\n )\r\n let contentLogin = (\r\n
    Loading...
    \r\n )\r\n //console.log(\"load state \", this.state.isLoading)\r\n //console.log(\"update load \", updateWastegenProfile.isLoading)\r\n if (!userInfoMaster.isLoading && !updateWastegenProfile.isLoading) {\r\n\r\n //> Transform Dropdown to Object selected\r\n\r\n //> get Distrct and Sub Distict\r\n // if(this.state.isLoadDist&&district.length==0){\r\n // locationServiceProps.getDistrict(this.state.addr_current_province_code)\r\n // this.setState({isLoadSubDist:true})\r\n // this.setState({isLoadDist:false})\r\n // }\r\n if (this.state.isLoadSubDist && subDistrict.length == 0) {\r\n let distCode = this.state.addr_current_district_code;\r\n //console.log(\"dist code ,\",distCode)\r\n this.setState({ isLoadSubDist: false })\r\n }\r\n\r\n\r\n\r\n //> Manage page\r\n const personType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const legalType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n );\r\n\r\n //> ข้อมูลสมาชิก\r\n formInfomation = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n {this.state.person_type == '1' && personType}\r\n {this.state.person_type == '2' && legalType}\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n //> รายละเอียดบัญชีธนาคาร\r\n contentBank = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n //> รายละเอียดที่อยู่ติดต่อ\r\n contentContact = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n\r\n //> Location google address\r\n contentLocation = (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n );\r\n\r\n //> ข้อมูล Login\r\n contentLogin = (\r\n \r\n );\r\n }//End Tax check User Info\r\n\r\n\r\n return (\r\n
    \r\n

    Profile

    \r\n this.growl = el} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    ข้อมูลสมาชิก

    \r\n {formInfomation}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    รายละเอียดที่อยู่ติดต่อ

    \r\n {contentContact}\r\n
    \r\n
    \r\n\r\n {
    \r\n
    \r\n

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

    \r\n {this.state.isShowChangePassword == true && contentLogin}\r\n\r\n
    \r\n
    }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    รายละเอียดบัญชีธนาคาร

    \r\n {contentBank}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Location google address

    \r\n {contentLocation}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\n\r\n\r\n\r\n\r\nexport class WastegenWithdraw extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n\r\n\r\n status: '0',\r\n status2: '0',\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '0' },\r\n { label: 'รอนัดหมาย', value: '1' },\r\n { label: 'รอทีมขนส่ง', value: '2' },\r\n { label: 'รอส่งสินค้า', value: '3' },\r\n { label: 'ปิด Order', value: '4' },\r\n { label: 'ยกเลิก', value: '5' },\r\n { label: 'ผิดนัด', value: '6' },\r\n ],\r\n\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n };\r\n\r\n }\r\n\r\n\r\n render() {\r\n\r\n\r\n\r\n\r\n return (\r\n //
    \r\n //

    แจ้งถอนเงิน

    \r\n //
    \r\n //
    \r\n //
    \r\n // จะใช้งานได้ภายในเดือน มกราคม 2563\r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ยอดเงินค้างเบิก\r\n
    \r\n
    10,000 บาท
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n scrollable={true} \r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\n\r\n\r\n\r\n\r\nexport class WastgenReportsBuying extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n\r\n\r\n status: '0',\r\n status2: '0',\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '0' },\r\n { label: 'รอนัดหมาย', value: '1' },\r\n { label: 'รอทีมขนส่ง', value: '2' },\r\n { label: 'รอส่งสินค้า', value: '3' },\r\n { label: 'ปิด Order', value: '4' },\r\n { label: 'ยกเลิก', value: '5' },\r\n { label: 'ผิดนัด', value: '6' },\r\n ],\r\n\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n };\r\n\r\n }\r\n\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n\r\n render() {\r\n var header =
    \r\n
    ;\r\n\r\n\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n
    \r\n

    รายงานการขาย

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n //
    \r\n //
    \r\n //
    \r\n\r\n // \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // { this.setState({ status2: e.value }) }}\r\n // />\r\n //
    \r\n //
    \r\n //
    \r\n\r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date1: e.value })} />\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date2: e.value })} />\r\n //
    \r\n //
    \r\n //
    \r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date3: e.value })} />\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date4: e.value })} />\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n\r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n\r\n //
    \r\n // \r\n // this.setState({ dataTableSelection: event.value })}\r\n // scrollable={true} rowsPerPageOptions={[5, 10, 20]} footerColumnGroup={footerGroup}\r\n // >\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n //
    \r\n\r\n //
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nexport class WastegenReportsAmount extends Component {\r\n render(){\r\n return (\r\n
    \r\n

    ใบราคา

    \r\n
    \r\n
    \r\n
    \r\n อยู่ระหว่างการพัฒนา\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import { LOGIN,LOGOUT,USER_TYPE } from '../service/actionType'\r\n\r\nconst initialState = {\r\n accessToken:null,\r\n userType:null, \r\n isFailed: false, \r\n isLoading: false,\r\n logedIn:false\r\n}\r\nexport function authentication(state = initialState, action) {\r\n switch (action.type) {\r\n case LOGIN.REQUEST:\r\n return { ...state, isFailed: false, accessToken: null, isLoading: true };\r\n case LOGIN.SUCCESS:\r\n return { ...state, isFailed: false, accessToken: action.payload, isLoading: false };\r\n case LOGIN.FAILURE:\r\n return { ...state, isFailed: true, accessToken: action.payload, isLoading: false };\r\n case LOGOUT.SUCCESS:\r\n return { ...state, accessToken:null,userType:null, isFailed: false,isLoading: false,logedIn:false}; \r\n case USER_TYPE.REQUEST:\r\n return { ...state, isFailed: false, userType: null, isLoading: true,logedIn:false };\r\n case USER_TYPE.SUCCESS:\r\n return { ...state, isFailed: false, userType: action.payload, isLoading: false ,logedIn:true};\r\n case USER_TYPE.FAILURE:\r\n return { ...state, isFailed: true, userType: action.payload, isLoading: false ,logedIn:false};\r\n default:\r\n return state\r\n }\r\n}","export const WASTE_TYPE = {\r\n wastegen: 1,\r\n wastetran: 2,\r\n wastepro: 3,\r\n administrator: 4,\r\n}\r\n\r\nexport const WASTE_TYPE_NUM_TO_NAME = {\r\n 1: 'wastegen',\r\n 2: 'wastetran',\r\n 3: 'wastepro',\r\n 4: 'administrator',\r\n}\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { closeWebsocket } from '../../utils/chat'\r\nimport classNames from 'classnames';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as UserService from '../../service/user.service'\r\nimport { authentication } from '../../reducer/authen.reducer';\r\nimport { getFile } from '../../utils/utilFunctions'\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nexport class WastgenInlineProfile extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n isLoadAvatar: false,\r\n isLoading: true,\r\n expanded: true,\r\n fileImgRegis:null\r\n };\r\n this.onClick = this.onClick.bind(this);\r\n this.redirectProfile = this.redirectProfile.bind(this);\r\n }\r\n\r\n // ========= Initial : props to state =========\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isLoading: false })\r\n }\r\n }\r\n\r\n onClick(event) {\r\n this.setState({ expanded: !this.state.expanded });\r\n event.preventDefault();\r\n }\r\n\r\n redirectProfile = (event) => {\r\n this.props.redirectProfile(event)\r\n }\r\n onRegisTranClick = (event) => {\r\n this.props.onRegisTranClick(event)\r\n }\r\n changePasswordU1 = (event) => {\r\n this.props.changePasswordU1(event)\r\n }\r\n changePinU1 = (event) => {\r\n this.props.changePinU1(event)\r\n }\r\n\r\n logout = () => {\r\n const { userServiceProps } = this.props\r\n userServiceProps.logout();\r\n closeWebsocket();\r\n }\r\n\r\n swapToWastetran = () => {\r\n localStorage.setItem('user-type', 'wastetran');\r\n window.location = '#/wastetran';\r\n }\r\n\r\n swapToAdmin = () => {\r\n\r\n var token=localStorage.getItem('second-token');\r\n\r\n localStorage.removeItem('second-token')\r\n\r\n localStorage.setItem('access-token', token);\r\n localStorage.setItem('user-type', 'administrator');\r\n\r\n if(this.state.fromChat){\r\n window.location = '#/administrator/chat';\r\n }else{\r\n window.location = '#/administrator/manage-members';\r\n }\r\n \r\n }\r\n\r\n render() {\r\n const {\r\n userInfo,\r\n fileServiceProps,\r\n getFileWastegen\r\n } = this.props\r\n var currentUserInfo = null\r\n if(userInfo){\r\n currentUserInfo = userInfo.is_available_register;\r\n }\r\n \r\n let fullName = \"Loading...\";\r\n let imageProfile = (\r\n \"Profile\"\r\n );\r\n\r\n if (this.state.isLoading) {\r\n if (userInfo) {\r\n this.initial(userInfo);\r\n this.setState({ isLoadAvatar: true })\r\n }\r\n if(this.props.location.search == '?from=chat'){\r\n this.setState({ fromChat: true})\r\n }\r\n }\r\n\r\n \r\n if(userInfo){\r\n if(userInfo.person_type==1){\r\n if (userInfo.person_first_name && userInfo.person_last_name) {\r\n fullName = userInfo.person_first_name + \" \" + userInfo.person_last_name\r\n }\r\n }else{\r\n fullName = userInfo.org_name\r\n }\r\n }\r\n\r\n if (this.props.userInfo) {\r\n if (!this.props.userInfo.img_person_name) {\r\n imageProfile = (\r\n \"Profile\"\r\n );\r\n } else {\r\n imageProfile = (\r\n \"Profile\"\r\n\r\n );\r\n }\r\n }\r\n\r\n const contentProfile = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (!localStorage.getItem('user-type')) {\r\n window.location = \"#/\"\r\n }\r\n\r\n let secondToken = localStorage.getItem('second-token');\r\n \r\n return (
    \r\n {contentProfile}\r\n\r\n
      \r\n\r\n \r\n {(secondToken)?\r\n
    • \r\n \r\n \r\n กลับหน้า Admin\r\n \r\n
      \r\n
      \r\n
      กลับหน้า Admin
      \r\n
      \r\n
    • \r\n :''\r\n } \r\n {(secondToken)?'':\r\n
    • \r\n \r\n \r\n Logout\r\n \r\n
      \r\n
      \r\n
      Logout
      \r\n
      \r\n
    • \r\n } \r\n\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      Profile
      \r\n
      \r\n
    • \r\n\r\n {currentUserInfo != null && !currentUserInfo && userInfo &&\r\n
    • \r\n \r\n \r\n สลับเป็นทีมขนส่งซีซาเล้ง\r\n \r\n
      \r\n
      \r\n
      สลับเป็นทีมขนส่งซีซาเล้ง
      \r\n
      \r\n
    • }\r\n\r\n {currentUserInfo != null && currentUserInfo && userInfo &&\r\n
    • \r\n \r\n \r\n สมัครเป็นทีมขนส่งซีซาเล้ง\r\n \r\n
      \r\n
      \r\n
      สมัครเป็นผู้เก็บขยะรีไซเคิล
      \r\n
      \r\n
    • }\r\n \r\n {(secondToken)?'':\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      เปลี่ยนรหัสผ่าน
      \r\n
      \r\n
    • \r\n }\r\n {(secondToken)?'':\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      เปลี่ยนรหัสแจ้งถอนเงิน
      \r\n
      \r\n
    • \r\n }\r\n
    \r\n
    )\r\n }\r\n}\r\n\r\n\r\nexport default WastgenInlineProfile\r\n","\r\nimport React from 'react'\r\nimport { Route } from 'react-router-dom'\r\n\r\nconst renderMergedProps = (component, ...rest) => {\r\n const finalProps = Object.assign({}, ...rest);\r\n return (\r\n React.createElement(component, finalProps)\r\n );\r\n }\r\n \r\n const PropsRoute = ({ component, ...rest }) => {\r\n return (\r\n {\r\n return renderMergedProps(component, routeProps, rest);\r\n }}/>\r\n );\r\n }\r\n\r\n \r\nexport default PropsRoute","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getProvice } from '../../service/LocationService';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\n\r\nimport * as Validators from '../../utils/validators'\r\nimport * as SecureUtils from '../../utils/secureUtils';\r\n\r\nclass ExampleChangePasswordCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleChangePasswordCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n //VALIDATE\r\n isValidateError: false,\r\n classNameRequired: 'p-col-12',\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n password: null,\r\n confirmPassword: null,\r\n disableNewPass:true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleChangePasswordCtrl :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleChangePasswordCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleChangePasswordCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleChangePasswordCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleChangePasswordCtrl :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleChangePasswordCtrl :componentDidUpdate\")\r\n\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Validate\r\n validateRequire = () => {\r\n console.log(\"validateRequire \", this.state)\r\n this._classNameRequired(false)\r\n \r\n this._validateLogic(this.state.telephone_no1)\r\n if (this.state.person_type == '1') {\r\n this._validateLogic(this.state.person_prefix_code)\r\n this._validateLogic(this.state.person_first_name)\r\n this._validateLogic(this.state.person_last_name)\r\n } else {\r\n this._validateLogic(this.state.org_type)\r\n this._validateLogic(this.state.org_name)\r\n }\r\n\r\n //Password\r\n if (this.state.isChangePassword == true) {\r\n this._validateLogic(this.state.oldPassword);\r\n this._validateLogic(this.state.password);\r\n this._validateLogic(this.state.confirmPassword);\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error p-col-12\" : \"p-col-12\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'สถานะ', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n //> Event\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({disableNewPass:false});\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({disableNewPass:true});\r\n \r\n }\r\n }\r\n\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ password: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.password, \" cfpass \", cfpassword)\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n\r\n render() {\r\n console.log(\"ExampleChangePasswordCtrl :render\")\r\n\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

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

    Change password

    \r\n {\r\n\r\n \r\n\r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userInfo: state.userInfo\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleChangePasswordCtrl)\r\n","import React, { Component } from 'react';\r\nimport { Button } from 'primereact/button';\r\n\r\nexport class FileView extends Component {\r\n static defaultProps = {\r\n src: ''\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.getExt = this.getExt.bind(this);\r\n this.showCtrl = this.showCtrl.bind(this);\r\n }\r\n \r\n getExt(filename){\r\n return filename.split('.').pop();\r\n }\r\n \r\n showCtrl(){\r\n \r\n const {src} = this.props;\r\n console.log(\"show ctrl: \"+src)\r\n const _personImg = (\r\n \r\n )\r\n const _img = (\r\n \r\n )\r\n \r\n const _file = (\r\n \r\n
    \r\n\r\n \r\n \r\n )\r\n\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getDistrict, getSubDistrict } from '../../service/LocationService';\r\n\r\nimport ImageInfoView from '../profile/ImageInfoView';\r\n\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport AddressInfoView from '../profile/AddressInfoView';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\n\r\nimport { updateWastegenProfile, changePassword, getUserInfo } from '../../service/user.service'\r\nimport { wastegenChangePin } from '../../service/wastegen.service'\r\nimport * as ServerAPI from '../register/service'\r\n\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { ChangePinView } from '../changepin/ChangePinView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { API_ROOT } from '../../constants/api';\r\n\r\nclass ExampleWastegenProfileCtrl extends Component {\r\n\r\n constructor(props) {\r\n //console.log(\"ExampleWastegenProfileCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n //> page control\r\n isInitial: true,\r\n isUpdate: false,\r\n updateSuccess: false,\r\n isValidateError: false,\r\n mode: 'wastegen',\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n listFileDelete: [],\r\n errMobileMsg: null,\r\n isErrorPhone: false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Change Pin\r\n modePin: 2,\r\n isShowChangePin: false,\r\n isChangePin: false,\r\n isSubmitPin: false,\r\n inputPin: null,\r\n passwordPin: null,\r\n isValidBankWithDrawCode: true,\r\n isValidPasswordPin: true,\r\n isPassPinVisible: false,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n userCardAddress: false,\r\n //> Map\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n newPassword: null,\r\n confirmPassword: null,\r\n disableNewPass: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"ExampleWastegenProfileCtrl :componentDidMount\", this.props)\r\n this.props.dispatch(getUserInfo())\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"ExampleWastegenProfileCtrl :componentWillReceiveProps\", this.state)\r\n\r\n if (!nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n }\r\n\r\n }\r\n }\r\n\r\n //> Status submit\r\n if (this.state.isSubmitPin && this.state.isChangePin && !nextProps.wastegenChangePin.isLoading) {\r\n if (nextProps.wastegenChangePin.isFailed) {\r\n this.showError(\"ไม่สามารถเปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน กรุณาตรวจสอบรหัสผ่าน\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n } else {\r\n this.showSuccess(\"เปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน สำเร็จ\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n this.setState({ inputPin: null })\r\n this.setState({ passwordPin: null })\r\n this.setState({isShowChangePin:false})\r\n this.props.dispatch(getUserInfo());\r\n this.setState({ isInitial: true })\r\n }\r\n }\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n this.props.dispatch(updateWastegenProfile(this.state));\r\n if (!nextProps.updateWastegenProfileLoad.isLoading) {\r\n if (!nextProps.updateWastegenProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n if (nextProps.updateWastegenProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWastegenProfileCtrl :shouldComponentUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenProfileCtrl :componentWillUpdate \")\r\n\r\n\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ExampleWastegenProfileCtrl :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n }\r\n //> Submit\r\n onSubmit = async (e) => {\r\n await this.validateRequire(this.state);\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n const formData = new FormData();\r\n\r\n for (let key in this.props.userInfoModel) {\r\n let valState = this.state[key]\r\n if (typeof valState == 'object') {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.append([key], JSON.stringify(valState))\r\n }\r\n } else {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.set([key], valState || '')\r\n }\r\n }\r\n }\r\n const fLimit = 1000000;\r\n if (this.state.fileImgPerson && this.state.fileImgPerson.size <= fLimit) {\r\n console.log(\"fileImgPerson : \",this.state.fileImgPerson);\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n\r\n this.state.listFileDelete.map(fileName => {\r\n fileName = fileName || \"\"\r\n let fileType = null;\r\n let spFname = fileName.split(\"-\")\r\n if (spFname.length > 0) {\r\n fileType = spFname[0]\r\n }\r\n // this.props.dispatch(deleteWasteTranFile(fileType, fileName))\r\n })\r\n this.props.dispatch(updateWastegenProfile(formData));\r\n\r\n //remove pin out of process\r\n // delete this.state['bank_withdraw_code']\r\n // this.props.dispatch(updateWastegenProfile(this.state))\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n\r\n }\r\n\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n //> pin\r\n if (Validators.isNotEmpty(nextProps.bank_withdraw_code)) {\r\n this.setState({\r\n modePin: 1\r\n })\r\n } else {\r\n this.setState({\r\n modePin: 2\r\n })\r\n }\r\n \r\n // img_person_name\r\n if(nextProps.img_person_name){\r\n this.setState({img_person_name:nextProps.img_person_name})\r\n }\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n //console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n //console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n //Map\r\n latitude,\r\n longitude,\r\n marker\r\n } = nextState\r\n\r\n //> map\r\n if (!marker.lat && latitude && longitude) {\r\n this.setState({ marker: { lat: latitude, lng: longitude } })\r\n this.setState({ mapCenter: { lat: latitude, lng: longitude } })\r\n }\r\n\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n\r\n }\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n this._validateAddressInfo(1);\r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status });\r\n }\r\n\r\n onSelectFileImgPerson = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onRefreshPerson = (e) => {\r\n this.setState({ img_person_name: this.props.userInfoModel.img_person_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_person_name)\r\n })\r\n }\r\n onDeletePerson = (e) => {\r\n this.state.listFileDelete.push(this.state.img_person_name)\r\n this.setState({ img_person_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event : Adress current\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n //console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n //console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n //>Change pin\r\n onClickShow = (e) => {\r\n this.setState({ isShowChangePin: e.checked })\r\n }\r\n onChangePin = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ isChangePin: true })\r\n this.setState({ [name]: value })\r\n\r\n //validate input pin number\r\n if (name == 'inputPin') {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidBankWithDrawCode: false })\r\n } else {\r\n this.setState({ isValidBankWithDrawCode: true })\r\n }\r\n }\r\n this.validatePassword(this.state.passwordPin)\r\n }\r\n onChangePinPassword = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n //Validate required\r\n if (Validators.isNotEmpty(value)) {\r\n this.validatePassword(value)\r\n }\r\n }\r\n validatePassword = async (password) => {\r\n //Validate required\r\n if (password != SecureUtils.getItem(\"user\").password) {\r\n this.setState({ isValidPasswordPin: false })\r\n } else {\r\n this.setState({ isValidPasswordPin: true })\r\n }\r\n }\r\n onClickVisible = (e) => {\r\n this.setState((pv) => ({ isPassPinVisible: !pv.isPassPinVisible }))\r\n }\r\n onSubmitChangePin = async (e) => {\r\n //Validate required\r\n await this.validatePassword(this.state.passwordPin)\r\n if (this.state.isChangePin && this.state.isValidPasswordPin) {\r\n var jsDataPin = {\r\n password: this.state.passwordPin,\r\n bank_withdraw_code: this.state.inputPin\r\n };\r\n this.props.dispatch(wastegenChangePin(jsDataPin))\r\n this.setState({ isSubmitPin: true })\r\n } else {\r\n if (!this.state.isValidPasswordPin) {\r\n this.showWarn(\"กรุณาระบุรหัสผ่านให้ถูกต้อง\")\r\n }\r\n\r\n if (Validators.isEmpty(this.state.inputPin)) {\r\n this.showWarn(\"กรุณาระบุข้อมูล PIN ให้ถูกต้อง\")\r\n this.setState({ isValidBankWithDrawCode: false })\r\n }\r\n }\r\n }\r\n //> Event map\r\n onCenterChanged = (coor) => {\r\n if (coor) {\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n }\r\n onMarkerMoved = (e) => {\r\n //console.log(\"onMarkerMoved\");\r\n\r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n //console.log(\"ExampleWastegenProfileCtrl :render\", this.state)\r\n\r\n return (\r\n
    \r\n

    Profile

    \r\n this.growl = el} />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {!this.props.userInfoLoad.isLoading &&\r\n \r\n }\r\n \r\n \r\n\r\n \r\n {\r\n \r\n }\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n
    \r\n {/* {\r\n \r\n } */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {/*
    \r\n

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

    \r\n {this.state.isShowChangePassword == true &&\r\n }\r\n
    */}\r\n \r\n
    \r\n\r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n {this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n }\r\n {!this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n }\r\n
    \r\n }\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWastegenProfileLoad: state.updateWastegenProfile,\r\n wastegenChangePin: state.wastegenChangePin\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastegenProfileCtrl)","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getDistrict, getSubDistrict } from '../../service/LocationService';\r\n\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport AddressInfoView from '../profile/AddressInfoView';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\n\r\nimport { updateWastegenProfile, changePassword, getUserInfo } from '../../service/user.service'\r\nimport { wastegenChangePin } from '../../service/wastegen.service'\r\nimport * as ServerAPI from '../register/service'\r\n\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { ChangePinView } from '../changepin/ChangePinView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\n\r\nclass ExampleWastegenChangePassword extends Component {\r\n\r\n constructor(props) {\r\n //console.log(\"ExampleWastegenChangePassword :constructor\")\r\n super(props);\r\n this.state = {\r\n //> page control\r\n isInitial: true,\r\n isUpdate: false,\r\n updateSuccess: false,\r\n isValidateError: false,\r\n mode: 'wastegen',\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n errMobileMsg: null,\r\n isErrorPhone: false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Change Pin\r\n modePin: 2,\r\n isShowChangePin: false,\r\n isChangePin: false,\r\n isSubmitPin: false,\r\n inputPin: null,\r\n passwordPin: null,\r\n isValidBankWithDrawCode: true,\r\n isValidPasswordPin: true,\r\n isPassPinVisible: false,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n userCardAddress: false,\r\n //> Map\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: '',\r\n disableNewPass: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"ExampleWastegenChangePassword :componentDidMount\", this.props)\r\n this.props.dispatch(getUserInfo())\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"ExampleWastegenChangePassword :componentWillReceiveProps\", this.state)\r\n\r\n if (!nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n }\r\n\r\n }\r\n }\r\n\r\n //> Status submit\r\n if (this.state.isSubmitPin && this.state.isChangePin && !nextProps.wastegenChangePin.isLoading) {\r\n if (nextProps.wastegenChangePin.isFailed) {\r\n this.showError(\"ไม่สามารถเปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน กรุณาตรวจสอบรหัสผ่าน\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n } else {\r\n this.showSuccess(\"เปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน สำเร็จ\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n this.setState({ inputPin: null })\r\n this.setState({ passwordPin: null })\r\n this.setState({isShowChangePin:false})\r\n this.props.dispatch(getUserInfo());\r\n this.setState({ isInitial: true })\r\n }\r\n }\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n this.props.dispatch(updateWastegenProfile(this.state));\r\n if (!nextProps.updateWastegenProfileLoad.isLoading) {\r\n if (!nextProps.updateWastegenProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n if (nextProps.updateWastegenProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWastegenChangePassword :shouldComponentUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenChangePassword :componentWillUpdate \")\r\n\r\n\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ExampleWastegenChangePassword :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n }\r\n //> Submit\r\n onSubmit = async (e) => {\r\n await this.validateRequire(this.state);\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n var isNotinput = (\r\n this.state.oldPassword == '' ||\r\n this.state.newPassword == '' ||\r\n this.state.confirmPassword==''\r\n );\r\n if (isNotinput) {\r\n this.showWarn();\r\n }else{\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n this.props.dispatch(updateWastegenProfile(this.state))\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n }\r\n\r\n }\r\n\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n //> pin\r\n if (Validators.isNotEmpty(nextProps.bank_withdraw_code)) {\r\n this.setState({\r\n modePin: 1\r\n })\r\n } else {\r\n this.setState({\r\n modePin: 2\r\n })\r\n }\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n //console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n //console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n //Map\r\n latitude,\r\n longitude,\r\n marker\r\n } = nextState\r\n\r\n //> map\r\n if (!marker.lat && latitude && longitude) {\r\n this.setState({ marker: { lat: latitude, lng: longitude } })\r\n this.setState({ mapCenter: { lat: latitude, lng: longitude } })\r\n }\r\n\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n\r\n }\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n this._validateAddressInfo(1);\r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status });\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event : Adress current\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n //console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n //console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n //>Change pin\r\n onClickShow = (e) => {\r\n this.setState({ isShowChangePin: e.checked })\r\n }\r\n onChangePin = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ isChangePin: true })\r\n this.setState({ [name]: value })\r\n\r\n //validate input pin number\r\n if (name == 'inputPin') {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidBankWithDrawCode: false })\r\n } else {\r\n this.setState({ isValidBankWithDrawCode: true })\r\n }\r\n }\r\n this.validatePassword(this.state.passwordPin)\r\n }\r\n onChangePinPassword = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n //Validate required\r\n if (Validators.isNotEmpty(value)) {\r\n this.validatePassword(value)\r\n }\r\n }\r\n validatePassword = async (password) => {\r\n //Validate required\r\n if (password != SecureUtils.getItem(\"user\").password) {\r\n this.setState({ isValidPasswordPin: false })\r\n } else {\r\n this.setState({ isValidPasswordPin: true })\r\n }\r\n }\r\n onClickVisible = (e) => {\r\n this.setState((pv) => ({ isPassPinVisible: !pv.isPassPinVisible }))\r\n }\r\n onSubmitChangePin = async (e) => {\r\n //Validate required\r\n await this.validatePassword(this.state.passwordPin)\r\n if (this.state.isChangePin && this.state.isValidPasswordPin) {\r\n var jsDataPin = {\r\n password: this.state.passwordPin,\r\n bank_withdraw_code: this.state.inputPin\r\n };\r\n this.props.dispatch(wastegenChangePin(jsDataPin))\r\n this.setState({ isSubmitPin: true })\r\n } else {\r\n if (!this.state.isValidPasswordPin) {\r\n this.showWarn(\"กรุณาระบุรหัสผ่านให้ถูกต้อง\")\r\n }\r\n\r\n if (Validators.isEmpty(this.state.inputPin)) {\r\n this.showWarn(\"กรุณาระบุข้อมูล PIN ให้ถูกต้อง\")\r\n this.setState({ isValidBankWithDrawCode: false })\r\n }\r\n }\r\n }\r\n //> Event map\r\n onCenterChanged = (coor) => {\r\n if (coor) {\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n }\r\n onMarkerMoved = (e) => {\r\n //console.log(\"onMarkerMoved\");\r\n\r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n //console.log(\"ExampleWastegenChangePassword :render\", this.state)\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n
    \r\n
    \r\n
    \r\n

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

    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n }\r\n {!this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWastegenProfileLoad: state.updateWastegenProfile,\r\n wastegenChangePin: state.wastegenChangePin\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastegenChangePassword)","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\n\r\nimport { addCommaAndDotFromNumberOrStr } from '../../utils/utilFunctions'\r\nimport { Message } from 'primereact/message';\r\n\r\nclass WithDrawHeaderView extends Component {\r\n\r\n static defaultProps = {\r\n input_amount:null,\r\n input_amount_required:{\r\n valid:true,\r\n className:'',\r\n message:''\r\n },\r\n bank_withdraw_code:null,\r\n bank_withdraw_code_required:{\r\n valid:true,\r\n className:'',\r\n message:''\r\n },\r\n withdrawAmount: 0,\r\n unApproveAmount: 0,\r\n title: \"ยอดทั้งหมดที่ถอนได้\",\r\n onChangeInputText: null,\r\n onClickNotiMoney: null,\r\n }\r\n\r\n static propTypes = {\r\n input_amount:PropTypes.number,\r\n input_amount_required:PropTypes.func,\r\n bank_withdraw_code:PropTypes.number,\r\n bank_withdraw_code_required:PropTypes.func,\r\n withdrawAmount: PropTypes.number,\r\n unApproveAmount: PropTypes.number,\r\n title: PropTypes.string,\r\n\r\n onChangeInputText: PropTypes.func,\r\n onClickNotiMoney: PropTypes.func,\r\n }\r\n\r\n //> Event\r\n handlePositiveNumber = (e) => {\r\n const {maxLength,value} = e.target\r\n let numVal = Number(value).toFixed(0);\r\n console.log(\"maxLength \",maxLength,\" ,value.length \",numVal.length)\r\n if(maxLength && maxLength>0){\r\n if(maxLength<=numVal.length){\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n const characterCode = e.key\r\n if (characterCode === 'Backspace') return\r\n\r\n const characterNumber = characterCode=='.'?0:Number(characterCode).toFixed(0)\r\n console.info(characterNumber)\r\n if (characterNumber >= 0 && characterNumber <= 9) {\r\n if (e.currentTarget.value && e.currentTarget.value.length) {\r\n return\r\n } else if (characterNumber === 0) {\r\n // e.preventDefault()\r\n }\r\n } else {\r\n e.preventDefault()\r\n }\r\n }\r\n onChangeInputText = (e) => {\r\n this.props.onChangeInputText(e);\r\n }\r\n onClickNotiMoney = (e) => {\r\n this.props.onClickNotiMoney(e)\r\n }\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastetran = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastepro = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const {\r\n mode,\r\n classNameRequired\r\n } = this.props\r\n\r\n console.log(\"WithDrawHeaderView :render\", classNameRequired)\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {this.props.title}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n ยอดเงินเบิกที่ยังไม่อนุมัติ บาท\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {!this.props.input_amount_required.valid&&\r\n \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {!this.props.bank_withdraw_code_required.valid&&\r\n \r\n }\r\n
    \r\n \r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n {renderMode}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps)(WithDrawHeaderView)\r\n","import React from 'react'\r\nimport { Button } from 'primereact/button';\r\n\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nexport const ExportExcel = ({ data, fileName, isDisable }) => {\r\n const fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n const fileExtension = '.xlsx';\r\n\r\n const exportToExcel = (data, fileName) => {\r\n console.log(data, fileName)\r\n const ws = XLSX.utils.json_to_sheet(data);\r\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n const excelBuffer = XLSX.write(wb, { bookType: 'xlsx', type: 'array' });\r\n const dataBlob = new Blob([excelBuffer], { type: fileType });\r\n FileSaver.saveAs(dataBlob, fileName + fileExtension);\r\n }\r\n\r\n return (\r\n exportToExcel(data, fileName)} />\r\n )\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { DataTable } from 'primereact/datatable'\r\nimport { Column } from 'primereact/column'\r\nimport { ColumnGroup } from 'primereact/columngroup'\r\nimport { Row } from 'primereact/row'\r\nimport { Button } from 'primereact/button';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\n\r\nclass DynamicDataTableView extends Component {\r\n\r\n static defaultProps = {\r\n model: [{ field: null, header: null }],\r\n data: [],\r\n rows: 10,\r\n exportExcel: false,\r\n loading: false,\r\n selection: [],\r\n saveTransfer: false,\r\n\r\n actionTemplate: null,\r\n onPage: null,\r\n onSelectionChange: null,\r\n onSaveTransfer: null\r\n }\r\n\r\n static propTypes = {\r\n model: PropTypes.array,\r\n data: PropTypes.array,\r\n rows: PropTypes.number,\r\n exportExcel: PropTypes.bool,\r\n loading: PropTypes.bool,\r\n selection: PropTypes.array,\r\n saveTransfer: PropTypes.bool,\r\n\r\n actionTemplate: PropTypes.func,\r\n onPage: PropTypes.func,\r\n onSelectionChange: PropTypes.func,\r\n onSaveTransfer: PropTypes.func\r\n }\r\n\r\n state = {\r\n rows: 5,\r\n pageNumber: 0,\r\n summary: []\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n console.log(\"DynamicDataTableView :componentDidMount\")\r\n }\r\n componentDidUpdate(preProp, preState) {\r\n if (preProp.data.length != this.props.data.length) {\r\n this.setState({ pageNumber: 0 })\r\n }\r\n }\r\n\r\n //> Event\r\n actionTemplate = (rowData, column) => {\r\n return this.props.actionTemplate(rowData, column);\r\n }\r\n onSelectionChange = (e) => this.props.onSelectionChange(e);\r\n onPage = (e) => {\r\n this.setState({\r\n loading: true\r\n });\r\n console.log(`firest: ${e.first}`)\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n const startIndex = e.first;\r\n // const endIndex = event.first + this.state.rows;\r\n this.setState({ rows: e.rows })\r\n this.setState({\r\n pageNumber: startIndex,\r\n loading: false\r\n });\r\n }, 250);\r\n }\r\n\r\n export = () => this.dt.exportCSV();\r\n onSaveTransfer = () => this.props.onSaveTransfer();\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n var sumCol7 = 0;\r\n var sumCol8 = 0;\r\n var sumCol9 = 0;\r\n var sumCol10 = 0;\r\n\r\n for (let key in this.props.data) {\r\n let entity = this.props.data[key]\r\n sumCol7 += parseFloat(entity['col7'])\r\n sumCol8 += parseFloat(entity['col8'])\r\n sumCol9 += parseFloat(entity['col9'])\r\n sumCol10 += parseFloat(entity['col10'])\r\n }\r\n\r\n let colSpan = 6;\r\n if(this.props.model.length!=12){\r\n colSpan=5;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n renderWastetran = () => {\r\n\r\n var sumCol7 = 0;\r\n var sumCol8 = 0;\r\n var sumCol9 = 0;\r\n\r\n for (let key in this.props.data) {\r\n let entity = this.props.data[key]\r\n sumCol7 += parseFloat(entity['col7'])\r\n sumCol8 += parseFloat(entity['col8'])\r\n sumCol9 += parseFloat(entity['col9'])\r\n }\r\n let colSpan = 6;\r\n if(this.props.model.length!=12){\r\n colSpan=5;\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n renderWastepro = () => {\r\n var sumCol5 = 0;\r\n var sumCol6 = 0;\r\n var sumCol7 = 0;\r\n\r\n for (let key in this.props.data) {\r\n let entity = this.props.data[key]\r\n sumCol5 += parseFloat(entity['col5'])\r\n sumCol6 += parseFloat(entity['col6'])\r\n sumCol7 += parseFloat(entity['col7'])\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n }\r\n render() {\r\n console.log(\"DynamicDataTableView :render\")\r\n const {\r\n mode\r\n } = this.props\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n let dynamicColumns = this.props.model.map((col, i) => {\r\n if (col.selectedMode) {\r\n return (\r\n \r\n )\r\n } else if (col.body) {\r\n return (\r\n \r\n );\r\n } else if (col.field && col.header) {\r\n console.log(\"col ,\",col)\r\n return (\r\n \r\n );\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n const data = [];\r\n for (let keyData in this.props.data) {\r\n let entityData = this.props.data[keyData]\r\n\r\n let tmpObj = {};\r\n for (let keyModel in this.props.model) {\r\n let entityModel = this.props.model[keyModel]\r\n let field = entityModel.field\r\n let val = entityData[field]\r\n if (entityModel.selectedMode || entityModel.body) {\r\n continue;\r\n }\r\n tmpObj[entityModel.header] = val\r\n\r\n }\r\n data.push(tmpObj);\r\n }\r\n console.log(`data is ${data}`)\r\n var exportExcel =\r\n
    \r\n {/* \r\n */}\r\n \r\n
    ;\r\n var saveTransfer = (\r\n
    \r\n \r\n \r\n
    \r\n )\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    )}\r\n sortMode=\"multiple\"\r\n rowsPerPageOptions={[5, 10, 20]}\r\n footerColumnGroup={renderMode}\r\n first={this.state.pageNumber}\r\n onPage={this.onPage}\r\n loading={this.props.loading}\r\n selection={this.props.selection}\r\n onSelectionChange={this.onSelectionChange}\r\n >\r\n {dynamicColumns}\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(DynamicDataTableView)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport WithDrawHeaderView from '../withdraw/WithDrawHeaderView';\r\nimport { Panel } from 'primereact/panel';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { getBalance, getWithdrawHistory, saveWithdrawal } from '../../service/wastegen.service'\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass ExampleWastegenWithdrawCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n //save\r\n isSave: false,\r\n //Validate require\r\n isValidateError: false,\r\n classNameRequired: {},\r\n\r\n //WithDrawHeaderView\r\n withdrawAmount: 0,\r\n unApproveAmount: 0,\r\n input_amount: null,\r\n input_amount_required: {\r\n valid: true,\r\n className: '',\r\n message: ''\r\n },\r\n bank_withdraw_code: null,\r\n bank_withdraw_code_required: {\r\n valid: true,\r\n className: '',\r\n message: ''\r\n },\r\n //DynamicDataTableView\r\n model: [\r\n { field: 'col1', header: 'วันที่แจ้ง', sortable: true },\r\n { field: 'col2', header: 'วันที่โอน', sortable: true },\r\n { field: 'col3', header: 'จำนวนเงิน (บาท)', sortable: true, className: 'p-text-right'},\r\n { field: 'col4', header: 'ชื่อบัญชี', sortable: true },\r\n { field: 'col5', header: 'เลขที่บัญชี', sortable: true },\r\n { field: 'col6', header: 'ธนาคาร', sortable: true },\r\n { field: 'col7', header: 'สถานะ', sortable: true },\r\n ],\r\n data: [\r\n\r\n ]\r\n }\r\n\r\n this.validateRequired = {};\r\n\r\n //Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //Event : withdraw\r\n this.onClickNotiMoney = this.onClickNotiMoney.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentWillReceiveProps\")\r\n if (this.state.isSave) {\r\n if (!nextProps.wastegenWithdraw.isLoading) {\r\n if (!nextProps.wastegenWithdraw.isFailed) {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n this.setState({ isSave: false })\r\n this.showSuccess();\r\n this._validateRequired('bank_withdraw_code_required', true)\r\n this.setState({ input_amount: '' })\r\n this.setState({ bank_withdraw_code: '' })\r\n }\r\n if (nextProps.wastegenWithdraw.isFailed) {\r\n this.showError(nextProps.wastegenWithdraw.data);\r\n this._validateRequired('bank_withdraw_code_required', false, nextProps.wastegenWithdraw.data)\r\n this.setState({ isSave: false })\r\n }\r\n }\r\n }\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentWillUpdate\")\r\n\r\n\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentDidUpdate\", this.state, \" ,\", prevState)\r\n\r\n if (prevProps.wastegenBalance.data != this.props.wastegenBalance.data) {\r\n if (this.props.wastegenBalance.data && this.props.wastegenBalance.data.outstanding_balance_thb) {\r\n this.setState({ withdrawAmount: (this.props.wastegenBalance.data.outstanding_balance_thb).toFixed(2) })\r\n this.setState({ unApproveAmount: (this.props.wastegenBalance.data.withdraw_balance_thb).toFixed(2) })\r\n }\r\n console.log(`print state ${this.state}`)\r\n }\r\n\r\n\r\n }\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if ([name] == \"input_amount\") {\r\n if (Number(value) > Number(this.state.withdrawAmount)) {\r\n this._validateRequired(classNamed, false, \"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\")\r\n } else {\r\n this._validateRequired(classNamed, true)\r\n }\r\n if (Validators.isEmpty(this.state.bank_withdraw_code)) {\r\n this._validateRequired('bank_withdraw_code_required', false, \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\")\r\n } else {\r\n this._validateRequired('bank_withdraw_code_required', true)\r\n }\r\n }\r\n if ([name] == \"bank_withdraw_code\") {\r\n if (Validators.isEmpty(value)) {\r\n this._validateRequired(classNamed, false, \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\")\r\n } else {\r\n this._validateRequired(classNamed, true)\r\n }\r\n }\r\n }\r\n }\r\n onClickNotiMoney = (e) => {\r\n const { input_amount, withdrawAmount, bank_withdraw_code } = this.state;\r\n console.log(input_amount, \",\", withdrawAmount)\r\n if ((parseFloat(input_amount) && parseFloat(input_amount) > 0) && Validators.isNotEmpty(this.state.bank_withdraw_code)) {\r\n if (parseFloat(input_amount) > parseFloat(withdrawAmount)) {\r\n this.showWarn(\"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\")\r\n this._classNameRequiredIsError(\"input_amount_required\", true)\r\n } else {\r\n this.props.dispatch(saveWithdrawal(input_amount, bank_withdraw_code))\r\n this.setState({ isSave: true })\r\n // this.setState(pv => ({\r\n // withdrawAmount: pv.withdrawAmount.toFixed(2)\r\n // }))\r\n }\r\n } else {\r\n this.showWarn(\"ไม่สามารถทำรายการได้ กรุณาตรวจสอบ\")\r\n if(Validators.isEmpty(this.state.input_amount)){\r\n this._validateRequired('input_amount_required',false,'กรุณาระบุยอดเงินที่ต้องการถอน')\r\n }\r\n if(Validators.isEmpty(this.state.bank_withdraw_code)){\r\n this._validateRequired('bank_withdraw_code_required',false,'กรุณาระบุรหัสสำหรับแจ้งถอนเงิน')\r\n }\r\n }\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n if (nextState.input_amount) {\r\n let classNamed = 'input_amount_required';\r\n if (Number(nextState.input_amount) > Number(this.state.withdrawAmount)) {\r\n this._validateRequired(classNamed, false, \"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\")\r\n } else {\r\n this._validateRequired(classNamed, true)\r\n }\r\n\r\n }\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: null\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n _validateRequired = (className, valid, message) => {\r\n message = message || ''\r\n this.setState({\r\n [className]: {\r\n valid: valid,\r\n className: valid ? '' : 'p-error',\r\n message: message\r\n }\r\n })\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastegenWithdrawCtrl :render\", this.state)\r\n\r\n let dataHistory = [];\r\n if (this.props.wastegenWithdrawHistory && !this.props.wastegenWithdrawHistory.isLoading) {\r\n if (!this.props.wastegenWithdrawHistory.isFailed) {\r\n for (let key in this.props.wastegenWithdrawHistory.data) {\r\n let entity = this.props.wastegenWithdrawHistory.data[key];\r\n console.log(`entity ${entity}`)\r\n let tmpData = {\r\n \"col1\": dateFormat(entity.requested_date),\r\n \"col2\": dateFormat(entity.approver_date),\r\n \"col3\": entity.withdrawal_thb,\r\n \"col4\": entity.bank_account_name,\r\n \"col5\": entity.bank_account_no,\r\n \"col6\": entity.bank_name,\r\n \"col7\": entity.approver_uid === entity.waste_uid ? 'บริจาคแล้ว' : entity.approver_uid?'โอนแล้ว':'ต้องการถอน'\r\n }\r\n dataHistory.push(tmpData);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    แจ้งถอนเงิน

    \r\n
    \r\n {/* DETAIL */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n wastegenWithdraw: state.wastegenWithdraw,\r\n wastegenWithdrawHistory: state.wastegenWithdrawHistory\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastegenWithdrawCtrl)\r\n","export const status = [\r\n { name: \"รอร้านค้ายืนยัน\", value: 0, color: \"NAVY\", icon: 'fa fa-map-signs', showdate: false, message: 'อยู่ระหว่างรอร้านค้ายืนยัน', subMessage: '' },\r\n { name: \"รอนัดหมาย\", value: 1, color: \"NAVY\", icon: 'fa fa-map-signs', showdate: false, message: 'อยู่ระหว่างรอนัดหมาย', subMessage: '' },\r\n { name: \"รอทีมขนส่ง\", value: 2, color: \"PURPLE\", icon: 'fa fa-comment', showdate: true, message: 'อยู่ระหว่างรอทีมขนส่ง', subMessage: '' },\r\n { name: \"รอส่งศูนย์จัดการฯ\", value: 3, color: \"GREEN\", icon: 'fa fa-map', showdate: true, message: 'อยู่ระหว่างรอส่งศูนย์จัดการฯซีซาเล้ง', subMessage: '' },\r\n { name: \"รอปิด Order\", value: 4, color: \"RED\", icon: 'fa fa-history', showdate: true, message: 'อยู่ระหว่างรอปิด Order', subMessage: '' },\r\n { name: \"เกินกำหนดรับสินค้า\", value: 5, color: \"RED\", icon: 'fa fa-history', showdate: false, message: 'เกินกำหนดรับสินค้า', subMessage: '' },\r\n { name: \"เลือกร้านค้าใหม่\", value: 6, color: \"RED\", icon: 'fa fa-history', showdate: false, message: 'เลือกร้านค้าใหม่', subMessage: '' },\r\n { name: \"ปิด Order\", value: 88, color: \"OLIVE\", icon: 'fa fa-history', showdate: false, message: 'อยู่ระหว่างปิด Order', subMessage: '' },\r\n { name: \"ยกเลิก\", value: 99, color: \"MAROON\", icon: 'fa fa-history', showdate: false, message: 'อยู่ระหว่างยกเลิก', subMessage: '' },\r\n { name: \"ผิดนัด\", value: 999, color: \"RED\", icon: 'fa fa-history', showdate: false, message: 'อยู่ระหว่างผิดนัด', subMessage: '' },\r\n { name: \"ร้านค้าปฏิเสธรับซื้อ\", value: 998, color: \"RED\", icon: 'fa fa-history', showdate: false, message: 'ร้านค้าปฏิเสธรับซื้อ', subMessage: '' },\r\n]\r\n\r\nexport const getStatus = (statusCode) => {\r\n let rs = status.filter((value) => { return value.value == statusCode })\r\n return rs[0]\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { Button } from 'primereact/button';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\n\r\nimport {status} from '../../constants/order-status'\r\nimport { filter } from 'lodash'\r\n\r\n\r\nclass SearchView extends Component {\r\n\r\n static defaultProps = {\r\n classNameRequired:{},\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n shop_name: null,\r\n shopNameSuggestions: null,\r\n statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n statusList: status,\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n bank: null,\r\n banks: [],\r\n\r\n onChangeInputText: null,\r\n onChangeStatus: null,\r\n onChangePickupdate: null,\r\n onChangePickupdateTo: null,\r\n onChangeAppointmentDate: null,\r\n onChangeAppointmentDateTo: null,\r\n onClickSearch: null,\r\n onClickCancel:null,\r\n onSuggestorderIds: null,\r\n onSuggestorderNames: null,\r\n onSuggestCollectionNames: null,\r\n onChangeAutocomplete: null,\r\n onChangeBank: null,\r\n onSuggestShopNames: null,\r\n \r\n }\r\n\r\n static propTypes = {\r\n classNameRequired:PropTypes.object,\r\n order_id: PropTypes.string,\r\n orderIdSuggestions: PropTypes.array,\r\n order_name: PropTypes.string,\r\n orderNameSuggestions: PropTypes.array,\r\n shop_name: PropTypes.string,\r\n shopNameSuggestions: PropTypes.array,\r\n statusValue: PropTypes.object,\r\n statusList: PropTypes.array,\r\n pickupDate: PropTypes.instanceOf(Date),\r\n pickupDateTo: PropTypes.instanceOf(Date),\r\n collector_name: PropTypes.string,\r\n collectionNameSuggestions: PropTypes.array,\r\n bank: PropTypes.object,\r\n banks: PropTypes.array,\r\n\r\n onChangeInputText: PropTypes.func,\r\n onChangeStatus: PropTypes.func,\r\n onChangePickupdate: PropTypes.func,\r\n onChangePickupdateTo: PropTypes.func,\r\n onChangeAppointmentDate: PropTypes.func,\r\n onChangeAppointmentDateTo: PropTypes.func,\r\n onClickSearch: PropTypes.func,\r\n onClickCancel:PropTypes.func,\r\n onSuggestorderIds: PropTypes.func,\r\n onSuggestorderNames: PropTypes.func,\r\n onSuggestCollectionNames: PropTypes.func,\r\n onSuggestShopNames: PropTypes.func,\r\n onChangeAutocomplete: PropTypes.func,\r\n onChangeBank: PropTypes.func\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n console.log(\"SearchView :componentDidMount\")\r\n }\r\n //>Life Cycle Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"SearchView :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"SearchView :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"SearchView :componentWillUpdate\")\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"SearchView :componentDidUpdate\")\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n this.props.onChangeInputText(e);\r\n }\r\n onChangeStatus = (e) => {\r\n this.props.onChangeStatus(e);\r\n }\r\n onChangePickupdate = (e) => {\r\n this.props.onChangePickupdate(e);\r\n }\r\n onChangePickupdateTo = (e) => {\r\n this.props.onChangePickupdateTo(e);\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n this.props.onChangeAppointmentDate(e);\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n this.props.onChangeAppointmentDateTo(e);\r\n }\r\n onClickSearch = (e) => {\r\n this.props.onClickSearch(e)\r\n }\r\n onClickCancel=(e)=>this.props.onClickCancel(e);\r\n onSuggestorderIds = (e) => {\r\n this.props.onSuggestorderIds(e);\r\n }\r\n onSuggestorderNames = (e) => this.props.onSuggestorderNames(e);\r\n\r\n onSuggestCollectionNames = (e) => this.props.onSuggestCollectionNames(e);\r\n onSuggestShopNames = (e) => this.props.onSuggestShopNames(e);\r\n onChangeAutocomplete = (e) => {\r\n this.props.onChangeAutocomplete(e);\r\n }\r\n onChangeBank = (e) => this.props.onChangeBank(e);\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n return (\r\n
    \r\n {/* ROW1 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW2 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW3 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW4 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW5 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n renderWastetran = () => {\r\n return (\r\n
    \r\n {/* ROW1 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW2 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW3 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW4 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW5 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n renderWastepro = () => {\r\n return (\r\n
    \r\n {/* ROW1 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW2 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n n.value != 0)}\r\n onChange={this.onChangeStatus}\r\n optionLabel=\"name\"\r\n placeholder=\"ระบุสถานะ\"\r\n />\r\n
    \r\n
    \r\n\r\n {/* ROW3 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW5 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n renderAdminWithdraw = () => {\r\n return (\r\n
    \r\n\r\n {/* ROW2 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW3 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW4 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ROW5 */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n console.log(\"SearchView :render\")\r\n const {\r\n mode\r\n } = this.props\r\n console.log(`mode ::${mode}`)\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n case 'admin-withdraw':\r\n renderMode = this.renderAdminWithdraw()\r\n break;\r\n default:\r\n renderMode = this.renderWastegen()\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n {renderMode}\r\n
    \r\n {!this.props.orderSearch.isLoading &&\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderSearch: state.orderSearch\r\n})\r\n\r\n\r\nexport default connect(mapStateToProps)(SearchView)\r\n","\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\nimport {\r\n ORDER_SEARCH,\r\n ORDER_AUTO_COMP\r\n} from './actionType'\r\n\r\nexport const orderSearch = (wastetype,criteria) => (dispatch) => {\r\n dispatch({ type: ORDER_SEARCH.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/${wastetype}/order/salereport/search`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(criteria)\r\n }).then((res) => {\r\n dispatch({ type: ORDER_SEARCH.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ORDER_SEARCH.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const orderAutoComplete = (code) => (dispatch) => {\r\n dispatch({ type: ORDER_AUTO_COMP.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/order/autocomplete/${code}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ORDER_AUTO_COMP.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ORDER_AUTO_COMP.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getOrderDetail = (code) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/order/getbycode/${code}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n } ","import { API_ROOT } from '../constants/api'\r\nimport axios from 'axios'\r\n\r\nimport {\r\n AUTO_ADMINALL,\r\n AUTO_PROD,\r\n AUTO_WASTEALL,\r\n AUTO_WASTEGEN,\r\n AUTO_WASTETRAN,\r\n AUTO_WASTEPRO\r\n} from './actionType'\r\n\r\nexport const autoCompleteAdminAll = (search_name) => (dispatch) => {\r\n dispatch({ type: AUTO_ADMINALL.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/adminall/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n let rs = res.data.map((value) => {\r\n return value.search_name\r\n })\r\n res.data.suggest = rs;\r\n dispatch({ type: AUTO_ADMINALL.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: AUTO_ADMINALL.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const autoCompleteProduct = (search_name) => (dispatch) => {\r\n dispatch({ type: AUTO_PROD.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/product/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n \r\n let rs = res.data.map((value) => {\r\n return value.product_name\r\n })\r\n res.data.suggest = rs;\r\n dispatch({ type: AUTO_PROD.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: AUTO_PROD.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const autoCompleteWasteall = (search_name) => (dispatch) => {\r\n dispatch({ type: AUTO_WASTEALL.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wasteall/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n \r\n let rs = res.data.map((value) => {\r\n return value.search_name\r\n })\r\n res.data.suggest = rs;\r\n dispatch({ type: AUTO_WASTEALL.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: AUTO_WASTEALL.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const autoCompleteWastegen = (search_name) => (dispatch) => {\r\n dispatch({ type: AUTO_WASTEGEN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wastegen/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n \r\n let rs = res.data.map((value) => {\r\n return value.search_name\r\n })\r\n res.data.suggest = rs;\r\n dispatch({ type: AUTO_WASTEGEN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: AUTO_WASTEGEN.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const autoCompleteWastetran = (search_name) => (dispatch) => {\r\n dispatch({ type: AUTO_WASTETRAN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wastetran/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n \r\n let rs = res.data.map((value) => {\r\n return value.search_name\r\n })\r\n res.data.suggest = rs;\r\n dispatch({ type: AUTO_WASTETRAN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: AUTO_WASTETRAN.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const autoCompleteWastepro = (search_name) => (dispatch) => {\r\n dispatch({ type: AUTO_WASTEPRO.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wastepro/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n \r\n let rs = res.data.map((value) => {\r\n return value.search_name\r\n })\r\n res.data.suggest = rs;\r\n dispatch({ type: AUTO_WASTEPRO.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: AUTO_WASTEPRO.FAILURE, payload: error.message })\r\n })\r\n}","import React from 'react'\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { Button } from 'primereact/button';\r\n\r\nexport const PrintDialogView = ({showDialog,onHide})=>{\r\n\r\n const footerDialog = (\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n \r\n อยู่ในช่วงพัฒนา\r\n \r\n );\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport { autoCompleteWastetran, autoCompleteProduct } from '../../service/autocomplete.service'\r\nimport { PrintDialogView } from '../dialog/PrintDialogView';\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass ExampleWastegenReportBuyingCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n classNameRequired: {},\r\n showDialog: false,\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n orderNameList: null,\r\n statusValue: 1000,\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'พิมพ์ใบสรุป', body: this.actionTemplate },\r\n { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการ', sortable: true },\r\n { field: 'col4', header: 'นัดรับเริ่ม', sortable: true },\r\n { field: 'col5', header: 'นัดรับสิ้นสุด', sortable: true },\r\n { field: 'col6', header: 'นัดส่ง', sortable: true },\r\n { field: 'col7', header: 'ปริมาณเก็บ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col8', header: 'ราคาประเมิน (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col9', header: 'ปริมาณรับซื้อ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col10', header: 'ราคารับซื้อ (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col11', header: 'ทีมขนส่ง', sortable: true },\r\n { field: 'col12', header: 'สถานะ', sortable: true },\r\n ],\r\n pageNumber: 0,\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSuggestorderNames = this.onSuggestorderNames.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :componentDidMount\")\r\n let criteria = {order_status: this.state.statusValue};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :componentWillReceiveProps\")\r\n if (nextProps.autoCompleteProduct && !nextProps.autoCompleteProduct.isLoading && !nextProps.autoCompleteProduct.isFailed) {\r\n if (nextProps.autoCompleteProduct.data) {\r\n this.setState({ orderNameList: nextProps.autoCompleteProduct.data })\r\n }\r\n }\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(orderAutoComplete(nextState.order_id));\r\n }\r\n if (nextState.order_name != this.state.order_name) {\r\n nextProps.dispatch(autoCompleteProduct(nextState.order_name));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteWastetran(nextState.collector_name));\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let search = true;\r\n let criteria = {};\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n if (this.state.orderNameList instanceof Array) {\r\n var tmpCode = this.state.orderNameList.filter((rs) => {\r\n return rs.product_name.indexOf(this.state.order_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.product_code = tmpCode[0].product_code\r\n }\r\n }\r\n }\r\n if (this.state.statusValue || this.state.statusValue == 0) {\r\n criteria.order_status = this.state.statusValue\r\n }\r\n if (this.state.pickupDate) {\r\n var date = new Date(this.state.pickupDate.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_start = date.toISOString();\r\n if (!this.state.pickupDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.pickupDateTo) {\r\n var date = new Date(this.state.pickupDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_end = date.toISOString();\r\n if (!this.state.pickupDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDate) {\r\n var date = new Date(this.state.appointmentDate.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_start = date.toISOString()\r\n if (!this.state.appointmentDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDateTo) {\r\n var date = new Date(this.state.appointmentDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_end = date.toISOString()\r\n if (!this.state.appointmentDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.collector_name) {\r\n var tmpCode = this.props.autoCompleteWastetran.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.collector_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user2_search_name = tmpCode[0].uid\r\n }\r\n }\r\n console.log(criteria)\r\n if (search) {\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n } else {\r\n this.showWarn(\"ไม่สามารถค้นหา กรุณาตรวจสอบ\");\r\n }\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n this.setState({ order_name: null });\r\n this.setState({ statusValue: 1000 });\r\n this.setState({ pickupDate: null });\r\n this.setState({ pickupDateTo: null });\r\n this.setState({ appointmentDate: null });\r\n this.setState({ appointmentDateTo: null });\r\n this.setState({ collector_name: null });\r\n\r\n let criteria = {order_status: 1000};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.orderAutoComplete\r\n && this.props.orderAutoComplete.data\r\n && !this.props.orderAutoComplete.isLoading\r\n ) {\r\n // let results = this.props.orderAutoComplete.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.orderAutoComplete.data });\r\n }\r\n }\r\n onSuggestorderNames = (e) => {\r\n\r\n if (this.props.autoCompleteProduct\r\n && this.props.autoCompleteProduct.data\r\n && !this.props.autoCompleteProduct.isLoading\r\n ) {\r\n // this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data });\r\n\r\n this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data.suggest });\r\n }\r\n\r\n }\r\n onSuggestCollectionNames = (e) => {\r\n\r\n if (this.props.autoCompleteWastetran\r\n && this.props.autoCompleteWastetran.data\r\n && !this.props.autoCompleteWastetran.isLoading\r\n ) {\r\n\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteWastetran.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData);\r\n return
    \r\n window.open('/#/report-u1?order_code='+rowData.col2, \"_blank\")}\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastegenReportBuyingCtrl :render\")\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.pickup_start_date),\r\n \"col5\": dateFormat(entity.pickup_end_date),\r\n \"col6\": dateFormat(entity.delivery_date),\r\n \"col7\": entityDetail.pickup_quantity_kk,\r\n \"col8\": entityDetail.estimate_price_per_unit,\r\n \"col9\": entityDetail.delivery_quantity_kk,\r\n \"col10\": entityDetail.price_per_unit,\r\n \"col11\": entity.u2_fullname,\r\n \"col12\": entity.order_status_name\r\n }\r\n data.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    รายงานการขาย

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n this.setState({ showDialog: false })}\r\n showDialog={this.state.showDialog}\r\n />\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderAutoComplete: state.orderAutoComplete,\r\n orderSearch: state.orderSearch,\r\n autoCompleteProduct: state.autoCompleteProduct,\r\n autoCompleteWastetran: state.autoCompleteWastetran\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastegenReportBuyingCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport { autoCompleteWastetran, autoCompleteProduct } from '../../service/autocomplete.service'\r\nimport { PrintDialogView } from '../dialog/PrintDialogView';\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass ExampleWastegenReportAmountCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastegenReportAmountCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n showDialog: false,\r\n classNameRequired: {},\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n orderNameList: null,\r\n statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'พิมพ์ใบสรุป', body: this.actionTemplate },\r\n { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการ', sortable: true },\r\n { field: 'col4', header: 'นัดรับ', sortable: true },\r\n { field: 'col5', header: 'นัดส่ง', sortable: true },\r\n { field: 'col6', header: 'ปริมาณเก็บ (kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col7', header: 'ราคาประเมิน (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col8', header: 'ปริมาณรับซื้อ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col9', header: 'ราคารับซื้อ (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col10', header: 'ทีมขนส่ง', sortable: true },\r\n { field: 'col11', header: 'สถานะ', sortable: true },\r\n ],\r\n pageNumber: 0,\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSuggestorderNames = this.onSuggestorderNames.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastegenReportAmountCtrl :componentDidMount\")\r\n let criteria = {};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastegenReportAmountCtrl :componentWillReceiveProps\")\r\n if (nextProps.autoCompleteProduct && !nextProps.autoCompleteProduct.isLoading && !nextProps.autoCompleteProduct.isFailed) {\r\n if (nextProps.autoCompleteProduct.data) {\r\n this.setState({ orderNameList: nextProps.autoCompleteProduct.data })\r\n }\r\n }\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenReportAmountCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenReportAmountCtrl :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(orderAutoComplete(nextState.order_id));\r\n }\r\n if (nextState.order_name != this.state.order_name) {\r\n nextProps.dispatch(autoCompleteProduct(nextState.order_name));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteWastetran(nextState.collector_name));\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastegenReportAmountCtrl :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let search = true;\r\n let criteria = {};\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n if (this.state.orderNameList instanceof Array) {\r\n var tmpCode = this.state.orderNameList.filter((rs) => {\r\n return rs.product_name.indexOf(this.state.order_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.product_code = tmpCode[0].product_code\r\n }\r\n }\r\n }\r\n if (this.state.statusValue && this.state.statusValue.value) {\r\n criteria.order_status = this.state.statusValue.value\r\n }\r\n if (this.state.pickupDate) {\r\n var date = new Date(this.state.pickupDate.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_start = date.toISOString();\r\n if (!this.state.pickupDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.pickupDateTo) {\r\n var date = new Date(this.state.pickupDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_end = date.toISOString();\r\n if (!this.state.pickupDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDate) {\r\n var date = new Date(this.state.appointmentDate.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_start = date.toISOString()\r\n if (!this.state.appointmentDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDateTo) {\r\n var date = new Date(this.state.appointmentDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_end = date.toISOString()\r\n if (!this.state.appointmentDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.collector_name) {\r\n var tmpCode = this.props.autoCompleteWastetran.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.collector_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user2_search_name = tmpCode[0].uid\r\n }\r\n }\r\n console.log(criteria)\r\n if (search) {\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n } else {\r\n this.showWarn(\"ไม่สามารถค้นหา กรุณาตรวจสอบ\");\r\n }\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n this.setState({ order_name: null });\r\n this.setState({ statusValue: null });\r\n this.setState({ pickupDate: null });\r\n this.setState({ pickupDateTo: null });\r\n this.setState({ appointmentDate: null });\r\n this.setState({ appointmentDateTo: null });\r\n this.setState({ collector_name: null });\r\n\r\n let criteria = {};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.orderAutoComplete\r\n && this.props.orderAutoComplete.data\r\n && !this.props.orderAutoComplete.isLoading\r\n ) {\r\n // let results = this.props.orderAutoComplete.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.orderAutoComplete.data });\r\n }\r\n }\r\n onSuggestorderNames = (e) => {\r\n\r\n if (this.props.autoCompleteProduct\r\n && this.props.autoCompleteProduct.data\r\n && !this.props.autoCompleteProduct.isLoading\r\n ) {\r\n // this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data });\r\n\r\n this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data.suggest });\r\n }\r\n\r\n }\r\n onSuggestCollectionNames = (e) => {\r\n\r\n if (this.props.autoCompleteWastetran\r\n && this.props.autoCompleteWastetran.data\r\n && !this.props.autoCompleteWastetran.isLoading\r\n ) {\r\n\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteWastetran.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData);\r\n return
    \r\n window.open('/#/report-u1?order_code='+rowData.col2, \"_blank\") }\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastegenReportAmountCtrl :render\")\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.pickup_date),\r\n \"col5\": dateFormat(entity.delivery_date),\r\n \"col6\": entityDetail.pickup_quantity_kk,\r\n \"col7\": entityDetail.estimate_price_per_unit,\r\n \"col8\": entityDetail.delivery_quantity_kk,\r\n \"col9\": entityDetail.delivery_price_per_unit,\r\n \"col10\": entity.u2_fullname,\r\n \"col11\": entity.order_status_name\r\n }\r\n data.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    ใบราคา

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n this.setState({ showDialog: false })}\r\n showDialog={this.state.showDialog}\r\n />\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderAutoComplete: state.orderAutoComplete,\r\n orderSearch: state.orderSearch,\r\n autoCompleteProduct: state.autoCompleteProduct,\r\n autoCompleteWastetran: state.autoCompleteWastetran\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastegenReportAmountCtrl)\r\n","import React, { Component } from 'react';\r\nimport { Button } from 'primereact/button';\r\nexport const WastegenOverviews=({summaryBalance,successBalance,noSuccessBalance, carbonCreditSummary, donateSummary})=> {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดสะสม\r\n
    \r\n
    {summaryBalance}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินเบิกแล้ว\r\n
    \r\n
    {successBalance}
    \r\n
    {`บาท (บริจาค ${donateSummary} บาท)`}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินค้างเบิก\r\n
    \r\n
    {noSuccessBalance}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n ระดับความสำเร็จ\r\n
    \r\n
    {carbonCreditSummary}
    \r\n
    คาร์บอนเครดิต
    \r\n\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n )\r\n \r\n}","import React from 'react';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { status, getStatus } from '../../constants/order-status'\r\nimport { convertDateMonthNumberToWord } from '../../utils/utilFunctions';\r\n\r\nexport const WastegenTimelines = ({ data, onClickRefresh }) => {\r\n\r\n const renderStatus = () => {\r\n let dataRs = []\r\n console.log(\"renderStatus\")\r\n console.log(data)\r\n let tmpDataRs = data.states.map((value) => {\r\n let objStatus = getStatus(value.order_status);\r\n return (\r\n
    \r\n
    \r\n {objStatus.name}\r\n \r\n
    \r\n
    \r\n \r\n {\r\n (data.current_order_status!=88 &&data.current_order_status != 1 ) && 'วันที่ ' + convertDateMonthNumberToWord(new Date(value.aspected_date))\r\n } \r\n {\r\n (data.current_order_status!=88 &&data.current_order_status == 1) && 'วันที่ ' + convertDateMonthNumberToWord(new Date(value.actual_date))\r\n } \r\n\r\n\r\n
    \r\n { (data.current_order_status==88) && 'วันที่ ' + convertDateMonthNumberToWord(new Date(value.actual_date))}
    \r\n
    \r\n
    \r\n )\r\n })\r\n dataRs.push(tmpDataRs)\r\n return dataRs\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {renderStatus()}\r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}","import axios from '../../service/axios'\r\nimport { API_ROOT } from '../../constants/api'\r\nimport {\r\n RPT_APLC_WG,\r\n RPT_APLC_WP,\r\n RPT_APLC_WT,\r\n DHB_USER,\r\n ADMIN_USER_LIST,\r\n ADMIN_CERT_TEMPLATE_LIST,\r\n ADMIN_CERT_RESULT_LIST\r\n} from '../../service/actionType'\r\n\r\n\r\nexport const getReportApplicantWastegen = () => (dispatch) => {\r\n dispatch({ type: RPT_APLC_WG.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/report/applicant/wastegen`,\r\n }).then((res) => {\r\n dispatch({ type: RPT_APLC_WG.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: RPT_APLC_WG.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getReportApplicantWastepro = () => (dispatch) => {\r\n dispatch({ type: RPT_APLC_WP.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/report/applicant/wastepro`,\r\n }).then((res) => {\r\n dispatch({ type: RPT_APLC_WP.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: RPT_APLC_WP.FAILURE, error })\r\n })\r\n}\r\n\r\n\r\nexport const getReportApplicantWastetran = () => (dispatch) => {\r\n dispatch({ type: RPT_APLC_WT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/report/applicant/wastetran`,\r\n }).then((res) => {\r\n dispatch({ type: RPT_APLC_WT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: RPT_APLC_WT.FAILURE, error })\r\n })\r\n}\r\n\r\n\r\nexport const getDashboardUsers = () => (dispatch) => {\r\n dispatch({ type: DHB_USER.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/dashboard/users`,\r\n }).then((res) => {\r\n dispatch({ type: DHB_USER.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: DHB_USER.FAILURE, error })\r\n })\r\n}\r\n\r\n\r\n\r\n\r\nexport const searchMemberName = (search_name) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wastegen/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getTranLocation = (model) => {\r\n\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/getbylocation`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: model\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getProfile = (uid) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/profile/${uid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const getDistrict = (provinceCode) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/district/${provinceCode}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const getSubDistrict = (districtCode) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/subdistrict/${districtCode}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getProLocation = (model) => {\r\n\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/getbylocation`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: model\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const CreateOrder = (formData, handleCreateResult) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/order/create`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n handleCreateResult(true, res.data.order_code)\r\n })\r\n .catch(function (error) {\r\n handleCreateResult(false, error.response.data)\r\n });\r\n}\r\n\r\nexport const updateOrder = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/order/update`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const autoComplateOrderID = (code) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/order/autocomplete/${code}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchOrder = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/order/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchReportOrder = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/order/report/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchReportOrderDownload = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/order/report/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n responseType: 'blob'\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchReportRating = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/order/rating/report`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchReportWasteByLocation = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/report/wastebylocation`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getOrderDetail = (code) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/order/getbycode/${code}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchwasteAll = (search_name) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wasteall/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchInvoice = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/invoice/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const updateInvoice = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/invoice/update`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchwastepro = (search_name) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wastepro/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchProduct = (search_name) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/product/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchOrgAll = (search_name) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/orgall/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchOrgAccountName = (search_name) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/orgAccountName/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchadminAll = (search_name) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/adminall/${search_name}`,\r\n\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\n\r\nexport const searchWithDrawRequest = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/withdraw/history`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const AddTransfer = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/transfer/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const AddTranspotDistanceType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/TransportDistanceType/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getTranspotDistanceType = () => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/TransportDistanceType/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const removeTranspotDistanceType = (id) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/TransportDistanceType/remove/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const AddTranspotWeightType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/TransportWeightType/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getTranspotWeightType = () => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/TransportWeightType/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const removeTranspotWeightType = (id) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/TransportWeightType/remove/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const AddFeeWeightType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/FeeWeightType/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getFeeWeightType = () => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/FeeWeightType/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const removeFeeWeightType = (id) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/FeeWeightType/remove/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const Addprocessfee = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/processfee/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const AddTransportFee = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/TransportFee/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getprocessfee = () => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/processfee/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getTransportFee = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/TransportFee/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const removeprocessfee = (id) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/processfee/delete/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const Addsalepricebyu3 = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/salepricebyu3/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getsalepricebyu3 = () => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/salepricebyu3/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const removesalepricebyu3 = (id) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/salepricebyu3/delete/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\n// service for manage product-type\r\nexport const getAllProductType = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/producttype/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const addProductType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/master/admin/producttype/create`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const updateProductType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/master/admin/producttype/update`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const removeProductType = (id) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/producttype/delete/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\n//service setting-reward\r\nexport const getReward = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/reward/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n console.log(\"get success : \", res.data);\r\n return res.data;\r\n }).catch((error) => {\r\n console.log(\"error reward : \", error);\r\n return error;\r\n })\r\n}\r\n\r\nexport const AddReward = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/reward/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n console.log(\"data : \", res.data);\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchReward = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/reward/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editReward = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/reward/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const deleteReward = (gid) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/reward/delete/${gid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const removeTransportFee = (id) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/TransportFee/delete/${id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchProuctFee = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/processfee/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchSalePriceByU3 = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/salepricebyu3/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchDonateAccount = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/donate/organization/search`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editTransportWeightType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/TransportWeightType/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const editTransportDistanceType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/TransportDistanceType/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editTransportFee = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/TransportFee/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editSalepricebyu3 = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/salepricebyu3/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editProcessfee = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/processfee/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\nexport const editFeeWeightType = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/FeeWeightType/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const createNews = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/news/create`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editNews = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/news/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getAllNews = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/news/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getNewsByCode = (code) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/news/getbycode/${code}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getFileImgNews = (filename) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/news/getfile/${filename}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const getAllfaq = () => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/faq/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const addFAQ = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/faq/add`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editFAQ = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/faq/edit`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const removeFAQ = (id) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/faq/delete/${id} `,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const deleteNews = (gid) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/news/delete/${gid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getAdminRoles = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/GetAdminRoles`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\n\r\nexport const CreateAdministrator = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/CreateAdministrator`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const UpdateAdministratorProfile = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/UpdateAdministratorProfile`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getAdminPermission = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/getAdminPermission`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const updateAdminPermission = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/SettingAdminPermission`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getToken = (username) => {\r\n console.log(\"USERNAME : \" + username)\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/gettoken/${username}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n var token = localStorage.getItem('access-token');\r\n\r\n localStorage.setItem('second-token', token);\r\n localStorage.setItem('access-token', res.data);\r\n\r\n return true;\r\n }).catch((error) => {\r\n console.log(error)\r\n return false;\r\n })\r\n}\r\n\r\nexport const getUsersAllForManagement = (body) => (dispatch) => {\r\n console.log(body)\r\n dispatch({ type: ADMIN_USER_LIST.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/GetUsersAllForManagement`,\r\n data: body,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_USER_LIST.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n console.log(error)\r\n dispatch({ type: ADMIN_USER_LIST.FAILURE, error })\r\n })\r\n}\r\n\r\n//> Certification Action Service\r\nexport const createCertTemplate = (data) => (dispatch) => {\r\n console.log(data)\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/certificationtemplate/create`,\r\n data: data,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n console.log(error)\r\n return error\r\n })\r\n}\r\n\r\nexport const updateCertTemplate = (data) => (dispatch) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/certificationtemplate/update`,\r\n data: data,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data = 'success'\r\n }).catch((error) => {\r\n console.log(error)\r\n return error\r\n })\r\n}\r\n\r\nexport const getCertTemplateAll = () => (dispatch) => {\r\n dispatch({ type: ADMIN_CERT_TEMPLATE_LIST.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/certificationtemplate/GetAll`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_CERT_TEMPLATE_LIST.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n console.log(error)\r\n dispatch({ type: ADMIN_CERT_TEMPLATE_LIST.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getCertTemplateById = (gid) => (dispatch) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/certificationtemplate/getbyid/${gid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((error) => {\r\n return error\r\n })\r\n}\r\n\r\nexport const deleteCertTemplate = (gid) => (dispatch) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/certificationtemplate/Delete/${gid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data = \"success\"\r\n }).catch((error) => {\r\n return error\r\n })\r\n}\r\n\r\nexport const getCertResult = () => (dispatch) => {\r\n dispatch({ type: ADMIN_CERT_RESULT_LIST.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/certification/GetResult`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_CERT_RESULT_LIST.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ADMIN_CERT_RESULT_LIST.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const searchWaste = (wasteCode, provinceCode, districtCode, searchName) => {\r\n let wasteType = 'wasteall'\r\n switch (wasteCode) {\r\n case 0:\r\n wasteType = 'wasteall'\r\n break;\r\n case 1:\r\n wasteType = 'wastegen'\r\n break;\r\n case 2:\r\n if (provinceCode == 0 || districtCode == 0) {\r\n wasteType = 'wastetran'\r\n } else {\r\n wasteType = `wastetran/${provinceCode}/${districtCode}`\r\n }\r\n break;\r\n case 3:\r\n wasteType = 'wastepro'\r\n break;\r\n default:\r\n wasteType = 'wasteall'\r\n break;\r\n }\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/${wasteType}/${searchName}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const searchChatWasteAll = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/GetUsersAllForManagement`,\r\n\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') },\r\n data: formData,\r\n // headers: {\r\n // 'Content-Type': 'application/json',\r\n // Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n // }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const CreateOrganizationDonateAccount = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/donate/organization/create`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const getOrganizationAccount = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/donate/organization/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const updateDonateOrganizationAccount = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/donate/organization/update`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const removeDonateOrganizationAccount = (gid) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/donate/organization/delete/${gid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const setProfileVerification = (uid,isVerified) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/profile-verification/${uid}/${isVerified}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const resetpassword = (username,resettype) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/resetpassword/${username}/${resettype}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const getBadgeAdmin = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnread/admin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n return error\r\n })\r\n}\r\n\r\nexport const checkExitPhoneAndName = (model) =>{\r\n \r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/checkexit`,\r\n data: model\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const getproductAll = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/product/getall`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\n\r\nexport const removeProduct = (gid) => {\r\n\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/product/delete/${gid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const AddProduct = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/master/admin/product/create`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\n\r\nexport const editProduct = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/master/admin/product/update`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const searchDonateRequest = (formData) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/donate/history`,\r\n data: formData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const searchProductList = (product_type_code,search_name) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/product/search/${product_type_code}/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchProductTypeList = (search_name) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/master/admin/producttype/search/${search_name}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\nexport const setProfileStateChange = (data) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/account/profile-state-change`,\r\n data: data,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const getProfileState = (waste_uid) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/account/profile-state-log/${waste_uid}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { Galleria } from 'primereact/galleria';\r\nimport { connect } from 'react-redux';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as ServerAPI from '../../components/administrator/service';\r\nimport * as qs from 'query-string'\r\nimport { Button } from 'primereact/button';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\n\r\n\r\nexport class WastegenNewsDetail extends Component {\r\n\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n images1: null,\r\n activeIndex: 2,\r\n list_news: null,\r\n showProgress: false,\r\n \r\n };\r\n\r\n this.itemTemplate = this.itemTemplate.bind(this);\r\n this.previewTemplate = this.previewTemplate.bind(this);\r\n this.onItemChange = this.onItemChange.bind(this)\r\n\r\n\r\n this.responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n console.log(this.props);\r\n this.setState({ showProgress: true })\r\n\r\n if (this.props.location) {\r\n if (this.props.location.search) {\r\n let newsCode = qs.parse(this.props.location.search);\r\n this.setState({ newsgid: newsCode.newsCode });\r\n console.log(newsCode.newsCode);\r\n ServerAPI.getNewsByCode(newsCode.newsCode).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log('succress');\r\n this.setState(\r\n {\r\n list_news: res[0],\r\n activeIndex: res[0].defaultImageIndex,\r\n showProgress: false\r\n }\r\n )\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }\r\n\r\n\r\n onOpenFiles(e) {\r\n console.log(e)\r\n\r\n var imgList = [];\r\n e.newsImageDetails.forEach((item, index) => {\r\n let array = {\r\n url: `${API_ROOT}/user/news/getfile/${item.imageName}`,\r\n name: item.name,\r\n gid: item.gid,\r\n index: index,\r\n }\r\n imgList.push(array)\r\n console.log(imgList)\r\n this.setState({ fileImgList: imgList });\r\n })\r\n }\r\n\r\n onItemChange(event) {\r\n this.setState({ activeIndex: event.index });\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.alt}\r\n
    \r\n );\r\n\r\n }\r\n\r\n previewTemplate(item) {\r\n console.log(item);\r\n return {item.alt}\r\n }\r\n\r\n toFormatDateTime(dateTime){\r\n return
    \r\n \r\n {dateTime}\r\n \r\n \r\n \r\n {dateTime}\r\n
    ; \r\n }\r\n to_create_date(rowData, column){\r\n return this.toFormatDateTime(rowData.createdDate);\r\n }\r\n\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n\r\n render() {\r\n\r\n console.log(this.state.list_news);\r\n if (this.state.list_news == null) {\r\n console.log(this.state.list_news);\r\n if (this.state.showProgress == true) {\r\n return
    \r\n {this.showProgressSpinner()}\r\n
    \r\n } else {\r\n return
    \r\n เกิดข้อผิดพลาด\r\n \r\n
    ย้อนกลับ
    \r\n
    \r\n
    \r\n }\r\n\r\n }\r\n return (\r\n
    \r\n {/*

    ข่าวสาร

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.list_news.newsTitle}\r\n \r\n\r\n

    \r\n
    \r\n
    \r\n \r\n C3leng News\r\n \r\n
    \r\n \r\n \r\n {this.toFormatDateTime(this.state.list_news.updateDate)}\r\n \r\n\r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n    {this.state.list_news.newsDetail}\r\n \r\n

    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder: state.getWastegenDashLastOrder,\r\n getWastegenDashProduct: state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenNewsDetail)","import React from 'react'\r\nimport { Panel } from 'primereact/panel'\r\nimport { Message } from 'primereact/message'\r\nimport { ScrollPanel } from 'primereact/scrollpanel';\r\nimport { Card } from 'primereact/card';\r\nimport { Button } from 'primereact/button';\r\nimport { Galleria } from 'primereact/galleria';\r\nimport { Document, Page, Text, View, StyleSheet, } from '@react-pdf/renderer';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Route, Link } from 'react-router-dom'\r\nimport { WastegenNewsDetail } from '../wastegen/WastegenNewsDetail'\r\n\r\nimport { dateFormat, plusDate, convertDateMonthNumberToWord } from '../../utils/utilFunctions'\r\n\r\nexport const WasteGenNewView = ({ newsDataList }) => {\r\n const data = newsDataList || []\r\n let wastegennews = [];\r\n data.forEach(element => {\r\n if (element.isWasteGen) {\r\n wastegennews.push(element);\r\n }\r\n\r\n });\r\n //console.log(data);\r\n // const images = [\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 1' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 2' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 3' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 4' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 5' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 6' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 7' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 8' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 9' },\r\n // ]\r\n\r\n\r\n const responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n\r\n const itemTemplate = (item) => {\r\n return (\r\n
    \r\n {item.alt}\r\n
    \r\n );\r\n }\r\n\r\n const onClickToNews = () => {\r\n // this.props.history.push(\"#/wastegen/news-detail\");\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const previewTemplate = (item) => {\r\n if (item.isWasteGen)\r\n return (
    \r\n {item.alt}\r\n \r\n {item.newsTitle}\r\n \r\n \r\n {item.newsDetail}\r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n const styles = StyleSheet.create({\r\n\r\n container: {\r\n position: 'relative',\r\n //width: '50%'\r\n },\r\n image: {\r\n display: 'block',\r\n width: '100%',\r\n height: 'auto',\r\n\r\n },\r\n overlay: {\r\n position: 'absolute',\r\n bottom: '0',\r\n left: '0',\r\n right: '0',\r\n backgroundColor: '#0000007e',\r\n //opacity:'70%',\r\n overflow: 'hidden',\r\n width: '100%',\r\n height: '0',\r\n transition: '.5s ease',\r\n height: '20%'\r\n },\r\n\r\n textheader: {\r\n color: '#a1db89',\r\n fontSize: '20px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '85%',\r\n left: '44%',\r\n width: '80%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n },\r\n textdetail: {\r\n color: 'white',\r\n fontSize: '15px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '94%',\r\n left: '44%',\r\n width: '80%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n },\r\n text2: {\r\n color: '#a1db89',\r\n fontSize: '15px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '94%',\r\n left: '140%',\r\n width: '100%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n textDecoration: 'underline'\r\n },\r\n });\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {/* {data.length == 0 && */}\r\n
    \r\n {/* เริ่มให้บริการ 1 มีนาคม 2563 เป็นต้นไป */}\r\n\r\n
    \r\n\r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n\r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n {/* */}\r\n {/* \r\n หัวข่าว\r\n */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* } */}\r\n {/* {data.length > 0 &&\r\n
  • \r\n {data[data.length-1].messages}\r\n
  • \r\n } */}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\n","import React, { Component } from 'react';\r\n\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\n\r\nexport const DatatableDashBoardView = ({ data ,header}) => {\r\n header = header||\"ความสำเร็จของคุณ\"\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    )\r\n }>\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\n\r\nimport { getBalance,getWastegenDashLastOrder,getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteGenNewView } from '../waste-news/WasteGenNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\n\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as ServerAPI from '../../components/administrator/service';\r\n\r\n\r\n\r\n\r\nclass WastegenDashboard extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'ขวดพลาสติกใส', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ขวดแก้ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'อลูมิเนียม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กระดาษ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กล่องนม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ],\r\n }\r\n\r\n this.onClickRefresh=this.onClickRefresh.bind(this);\r\n this.getNewsList = this.getNewsList.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getNewsList();\r\n console.log(\"WastegenDashboard :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e)=>{\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n getNewsList(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAllNews().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n var list = [];\r\n \r\n res.forEach((obj,index) => {\r\n let userType = []\r\n let wastegen = '';\r\n let wastetran = '';\r\n let wastepro = '';\r\n let userTypeLabel = '';\r\n let newFileObj = []\r\n if(obj.isWasteGen){\r\n let type = {name: 'ผู้รักษ์โลก', code: '1'}\r\n userType.push(type)\r\n wastegen = 'ผู้รักษ์โลก'\r\n }\r\n if(obj.isWasteTran){\r\n let type = {name: 'ทีมขนส่งซีซาเล้ง', code: '2'}\r\n userType.push(type)\r\n wastetran = 'ทีมขนส่งซีซาเล้ง'\r\n }\r\n if(obj.isWastePro){\r\n let type = {name: 'ศูนย์จัดการฯซีซาเล้ง', code: '3'}\r\n userType.push(type)\r\n wastepro = 'ศูนย์จัดการฯซีซาเล้ง'\r\n }\r\n\r\n if(wastegen && wastetran && wastepro){\r\n userTypeLabel = 'ทุกกลุ่ม'\r\n }else{\r\n userTypeLabel = wastegen+\"\\n\"+wastetran+\"\\n\"+wastepro\r\n }\r\n\r\n obj.newsImageDetails.forEach(item => {\r\n let newValiable = {\r\n defaultImage: item.defaultImage,\r\n gid: item.gid,\r\n name: item.imageName,\r\n imageName: item.imageName,\r\n isDeleted: item.isDeleted,\r\n }\r\n newFileObj.push(newValiable)\r\n });\r\n\r\n let arr = {\r\n gid: obj.gid,\r\n newsCode: obj.newsCode,\r\n newsTitle: obj.newsTitle,\r\n updateDate: obj.updateDate,\r\n createdDate: obj.createdDate,\r\n newsDetail: obj.newsDetail,\r\n\r\n defaultImageIndex: obj.defaultImageIndex,\r\n defaultImageName: obj.defaultImageName,\r\n newsImageDetails: newFileObj,\r\n\r\n userType: userType,\r\n userTypeLabel: userTypeLabel,\r\n isWasteGen: obj.isWasteGen,\r\n isWasteTran: obj.isWasteTran,\r\n isWastePro: obj.isWastePro,\r\n }\r\n list.push(arr)\r\n\r\n });\r\n console.log(list)\r\n this.setState({ newsDataList: list })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n wastegenBalance,\r\n userAnnounce,\r\n getWastegenDashLastOrder,\r\n getWastegenDashProduct\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n\r\n //Overview\r\n let summaryBalance = 0;\r\n let successBalance = 0;\r\n let noSuccessBalance = 0;\r\n let carbonCreditSummary = 0;\r\n let donateSummary = 0;\r\n if (\r\n !wastegenBalance.isLoading\r\n && wastegenBalance.data\r\n && !wastegenBalance.isFailed\r\n ) {\r\n summaryBalance = wastegenBalance.data.income_summary_thb.toFixed(2);\r\n successBalance = Math.abs(wastegenBalance.data.withdraw_summary_thb.toFixed(2));\r\n noSuccessBalance = wastegenBalance.data.withdraw_balance_thb.toFixed(2);\r\n carbonCreditSummary = wastegenBalance.data.carbon_credit_summary.toFixed(2);\r\n donateSummary = wastegenBalance.data.donate_summary_thb.toFixed(2);\r\n }\r\n const contentOverview = (\r\n \r\n );\r\n\r\n //> ความสำเร็จของคุณ\r\n let dataList = []\r\n if(!getWastegenDashProduct.isLoading && !getWastegenDashProduct.isFailed){\r\n if(getWastegenDashProduct.data && getWastegenDashProduct.data.length>0){\r\n for(let key in getWastegenDashProduct.data){\r\n let entity = getWastegenDashProduct.data[key]\r\n let prepareData = { \r\n order: entity.product_type_name, \r\n quantity: entity.quantity_kk\r\n };\r\n dataList.push(prepareData);\r\n }\r\n }\r\n }\r\n const contentSuccessDataTable = (\r\n \r\n );\r\n\r\n //> รายการล่าสุด\r\n let contentTimeline = (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n\r\n if(!getWastegenDashLastOrder.isLoading && !getWastegenDashLastOrder.isFailed){\r\n if(getWastegenDashLastOrder.data){\r\n contentTimeline = (\r\n \r\n )\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {contentNews}\r\n

    Dashboard

    \r\n
    \r\n
    \r\n
    \r\n {contentOverview}\r\n
    \r\n {contentSuccessDataTable}\r\n
    \r\n
    \r\n {contentTimeline}\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder:state.getWastegenDashLastOrder,\r\n getWastegenDashProduct:state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenDashboard)","import React, { Component } from 'react';\r\n\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\n\r\n\r\nexport const DatatableGoodnessView = ({ data ,header}) => {\r\n \r\n header = header||\"ค่าความดีของคุณ\"\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    )\r\n }>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport { DataTable } from 'primereact/datatable'\r\nimport { Column } from 'primereact/column'\r\nimport { ColumnGroup } from 'primereact/columngroup'\r\nimport { Row } from 'primereact/row'\r\nimport { Button } from 'primereact/button';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\n\r\nclass TableProductGoodnessView extends Component {\r\n\r\n static defaultProps = {\r\n model: [{ field: null, header: null }],\r\n data: [],\r\n rows: 10,\r\n exportExcel: false,\r\n loading: false,\r\n selection: [],\r\n saveTransfer: false,\r\n\r\n actionTemplate: null,\r\n onPage: null,\r\n onSelectionChange: null,\r\n onSaveTransfer: null\r\n }\r\n\r\n static propTypes = {\r\n model: PropTypes.array,\r\n data: PropTypes.array,\r\n rows: PropTypes.number,\r\n exportExcel: PropTypes.bool,\r\n loading: PropTypes.bool,\r\n selection: PropTypes.array,\r\n saveTransfer: PropTypes.bool,\r\n\r\n actionTemplate: PropTypes.func,\r\n onPage: PropTypes.func,\r\n onSelectionChange: PropTypes.func,\r\n onSaveTransfer: PropTypes.func\r\n }\r\n\r\n state = {\r\n selectedCar1:null,\r\n rows: 5,\r\n pageNumber: 0,\r\n summary: []\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n console.log(\"TableProductGoodnessView :componentDidMount\")\r\n }\r\n componentDidUpdate(preProp, preState) {\r\n if (preProp.data.length != this.props.data.length) {\r\n this.setState({ pageNumber: 0 })\r\n }\r\n }\r\n\r\n //> Event\r\n actionTemplate = (rowData, column) => {\r\n return this.props.actionTemplate(rowData, column);\r\n }\r\n onPage = (e) => {\r\n this.setState({\r\n loading: true\r\n });\r\n console.log(`firest: ${e.first}`)\r\n //imitate delay of a backend call\r\n setTimeout(() => {\r\n const startIndex = e.first;\r\n // const endIndex = event.first + this.state.rows;\r\n this.setState({ rows: e.rows })\r\n this.setState({\r\n pageNumber: startIndex,\r\n loading: false\r\n });\r\n }, 250);\r\n }\r\n\r\n export = () => this.dt.exportCSV();\r\n onSaveTransfer = () => this.props.onSaveTransfer();\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n var sumCol6 = 0;\r\n var sumCol7 = 0;\r\n var sumCol8 = 0;\r\n var sumCol9 = 0;\r\n\r\n for (let key in this.props.data) {\r\n let entity = this.props.data[key]\r\n sumCol6 += parseFloat(entity['col6'])\r\n sumCol7 += parseFloat(entity['col7'])\r\n sumCol8 += parseFloat(entity['col8'])\r\n sumCol9 += parseFloat(entity['col9'])\r\n }\r\n\r\n let colSpan = 5;\r\n if(this.props.model.length!=11){\r\n colSpan=4;\r\n }\r\n\r\n return (\r\n
    \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n )\r\n }\r\n \r\n \r\n render() {\r\n console.log(\"TableProductGoodnessView :render\")\r\n const {\r\n mode\r\n } = this.props\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n let dynamicColumns = this.props.model.map((col, i) => {\r\n if (col.selectedMode) {\r\n return (\r\n \r\n )\r\n } else if (col.body) {\r\n return (\r\n \r\n );\r\n } else if (col.field && col.header) {\r\n console.log(\"col ,\",col)\r\n return (\r\n \r\n );\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n const data = [];\r\n for (let keyData in this.props.data) {\r\n let entityData = this.props.data[keyData]\r\n\r\n let tmpObj = {};\r\n for (let keyModel in this.props.model) {\r\n let entityModel = this.props.model[keyModel]\r\n let field = entityModel.field\r\n let val = entityData[field]\r\n if (entityModel.selectedMode || entityModel.body) {\r\n continue;\r\n }\r\n tmpObj[entityModel.header] = val\r\n\r\n }\r\n data.push(tmpObj);\r\n }\r\n console.log(`data is ${data}`)\r\n var exportExcel =\r\n
    \r\n {/* \r\n */}\r\n ประเภทสินค้า\r\n {/* */}\r\n
    ;\r\n var saveTransfer = (\r\n
    \r\n \r\n \r\n
    \r\n )\r\n\r\n return (\r\n
    \r\n
    \r\n this.setState({selectedCar1: e.value})}\r\n value={this.props.data}\r\n responsive={true}\r\n paginator={true}\r\n rows={this.state.rows}\r\n header={this.props.exportExcel ? exportExcel : (this.props.saveTransfer ? saveTransfer : null)}\r\n emptyMessage={(
    \r\n \r\n
    )}\r\n sortMode=\"multiple\"\r\n rowsPerPageOptions={[5, 10, 20]}\r\n footerColumnGroup={renderMode}\r\n first={this.state.pageNumber}\r\n onPage={this.onPage}\r\n loading={this.props.loading}\r\n >\r\n {dynamicColumns}\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(TableProductGoodnessView)\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\n\r\nimport { getBalance, getWastegenDashLastOrder, getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableGoodnessView } from '../data-table/DatatableGoodnessView';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { Panel } from 'primereact/panel';\r\nimport { DataView, DataViewLayoutOptions } from \"primereact/dataview\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Card } from 'primereact/card';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport TableProductGoodnessView from '../data-table/TableProductGoodnessView';\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass WastegenGoodness extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"WastegenGoodness :constructor\")\r\n super(props);\r\n this.state = {\r\n model: [\r\n // { field: 'col1', header: 'พิมพ์ใบสรุป', body: this.actionTemplate },\r\n // { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการสินค้า', sortable: true },\r\n { field: 'col4', header: 'วันที่ขาย', sortable: true },\r\n // { field: 'col5', header: 'นัดส่ง', sortable: true },\r\n { field: 'col6', header: 'ปริมาณเก็บ (Kg)', sortable: true , style:{textAlign:'center'}},\r\n // { field: 'col7', header: 'ราคาประเมิน (บาท)', sortable: true , style:{textAlign:'right'}},\r\n // { field: 'col8', header: 'ปริมาณรับซื้อ (Kg)', sortable: true , style:{textAlign:'right'}},\r\n { field: 'col9', header: 'ราคารับซื้อ (บาท)', sortable: true , style:{textAlign:'center'}},\r\n // { field: 'col10', header: 'ทีมขนส่ง', sortable: true },\r\n // { field: 'col11', header: 'สถานะ', sortable: true },\r\n ],\r\n productTypeDataTable: [\r\n { type: 'กระดาษลัง', ranking: '0', amount: '0', quantity: '20 kg.' },\r\n { type: 'กระดาษจับจั๊ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { type: 'การดาษขาวดำ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { tpye: 'กระดาษ(ไม่ระบุ)', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ],\r\n selectedProduct: null,\r\n visible: false,\r\n layout: 'list',\r\n selectedCar1: null,\r\n }\r\n\r\n this.onClickRefresh = this.onClickRefresh.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WastegenGoodness :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n let criteria = {};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenGoodness :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenGoodness :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenGoodness :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenGoodness :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e) => {\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n \r\n\r\n \r\n\r\n renderHeader() {\r\n return (\r\n
    \r\n
    \r\n this.setState({ layout: e.value })} />\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n console.log(\"WastegenGoodness :render\")\r\n const {\r\n wastegenBalance,\r\n userAnnounce,\r\n getWastegenDashLastOrder,\r\n getWastegenDashProduct\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n const header = this.renderHeader();\r\n\r\n \r\n //Overview\r\n let summaryBalance = 0;\r\n let successBalance = 0;\r\n let noSuccessBalance = 0;\r\n if (\r\n !wastegenBalance.isLoading\r\n && wastegenBalance.data\r\n && !wastegenBalance.isFailed\r\n ) {\r\n summaryBalance = wastegenBalance.data.income_summary_thb.toFixed(2);\r\n successBalance = Math.abs(wastegenBalance.data.withdraw_summary_thb.toFixed(2));\r\n noSuccessBalance = wastegenBalance.data.withdraw_balance_thb.toFixed(2);\r\n }\r\n const contentOverview = (\r\n \r\n );\r\n\r\n //> ความสำเร็จของคุณ\r\n let dataList = []\r\n if (!getWastegenDashProduct.isLoading && !getWastegenDashProduct.isFailed) {\r\n if (getWastegenDashProduct.data && getWastegenDashProduct.data.length > 0) {\r\n for (let key in getWastegenDashProduct.data) {\r\n let entity = getWastegenDashProduct.data[key]\r\n let prepareData = {\r\n order: entity.product_type_name,\r\n quantity: entity.quantity_kk\r\n };\r\n dataList.push(prepareData);\r\n }\r\n }\r\n }\r\n \r\n\r\n const showDetailDataTable = (\r\n \r\n
    \r\n
    \r\n

    \r\n ประเภทสินค้า : \r\n

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

    \r\n กระดาษ\r\n

    \r\n
    \r\n
    \r\n สินค้า : \r\n
    \r\n
    \r\n กระดาษลัง\r\n
    \r\n
    \r\n ขายวันที่ : \r\n
    \r\n
    \r\n 22/02/2020\r\n
    \r\n
    \r\n ส่งวันที่ : \r\n
    \r\n
    \r\n 23/02/2020\r\n
    \r\n
    \r\n จำนวน \r\n
    \r\n
    \r\n 20     กิโลกรัม\r\n
    \r\n
    \r\n ราคา\r\n
    \r\n
    \r\n 1234     บาท\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n )\r\n\r\n const contentSuccessDataTable = (\r\n \r\n );\r\n\r\n //> รายการล่าสุด\r\n let contentTimeline = (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n\r\n if (!getWastegenDashLastOrder.isLoading && !getWastegenDashLastOrder.isFailed) {\r\n if (getWastegenDashLastOrder.data) {\r\n contentTimeline = (\r\n \r\n )\r\n }\r\n }\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n // \"col1\": null,\r\n // \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.pickup_date),\r\n \"col5\": dateFormat(entity.delivery_date),\r\n \"col6\": entityDetail.pickup_quantity_kk,\r\n \"col7\": entityDetail.estimate_price_per_unit,\r\n \"col8\": entityDetail.delivery_quantity_kk,\r\n \"col9\": entityDetail.price_per_unit,\r\n \"col10\": entity.u2_fullname,\r\n \"col11\": entity.order_status_name\r\n }\r\n data.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n

    ค่าความดี

    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\n\r\nimport { getBalance, getWastegenDashLastOrder, getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableGoodnessView } from '../data-table/DatatableGoodnessView';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatWastegenView } from '../message/ChatWastegenView';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WastegenChatMassage extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'ขวดพลาสติกใส', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ขวดแก้ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'อลูมิเนียม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กระดาษ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กล่องนม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ],\r\n selectedChat:'',\r\n }\r\n\r\n this.onClickRefresh = this.onClickRefresh.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WastegenDashboard :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e) => {\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n userAnnounce,\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n const citySelectItems = [\r\n { label: 'นาย อิศยา กาบนันทา', value: '1' },\r\n { label: 'eissaya U1', value: '2' },\r\n { label: 'usertran eisya', value: '3' },\r\n { label: 'ร้านมารวย', value: '4' },\r\n { label: 'นาย ประทีบ จันทรา', value: '5' },\r\n { label: 'นาย ประเทือง จันทรา', value: '6'},\r\n { label: 'นาย ประหยัด จันทรา', value: '7'},\r\n { label: 'นาย ประทุ จันทรา', value: '8'},\r\n { label: 'นาย ประปา จันทรา', value: '9'},\r\n { label: 'นาย ประวัติ จันทรา', value: '10'},\r\n { label: 'นาย ประจบ จันทรา', value: '11'},\r\n { label: 'นาย ประแจง จันทรา', value: '12'},\r\n { label: 'นาย ประนอม จันทรา', value: '13'},\r\n { label: 'นาย ประวรรณ จันทรา', value: '14'},\r\n ];\r\n\r\n \r\n const showChatTable = (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ selectedChat: e.value })}\r\n itemTemplate={this.carTemplate}\r\n style={{ width: '100%' }}\r\n listStyle={{ maxHeight: '450px' }} />\r\n
    \r\n )\r\n\r\n const chatWastegen = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastegen}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder: state.getWastegenDashLastOrder,\r\n getWastegenDashProduct: state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenChatMassage)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\nimport { getBalance,getWastegenDashLastOrder,getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport {Panel} from 'primereact/panel';\r\n\r\n\r\nclass WastegenContact extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'ขวดพลาสติกใส', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ขวดแก้ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'อลูมิเนียม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กระดาษ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กล่องนม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n\r\n this.onClickRefresh=this.onClickRefresh.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e)=>{\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n wastegenBalance,\r\n userAnnounce,\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n
    \r\n
    \r\n ติดต่อเรา\r\n
    \r\n
    \r\n
    \r\n แจ้งรับขยะรีไซเคิล\r\n
    \r\n
    \r\n สอบถามรายละเอียด โทร. 021151482\r\n
    \r\n
    \r\n C3leng by GGT\r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n

    ข้อมูลการติดต่อ C3Leng

    \r\n {contentNews}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder:state.getWastegenDashLastOrder,\r\n getWastegenDashProduct:state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenContact)","import React, { Component } from 'react';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport {InputMask} from 'primereact/inputmask';\r\nimport classNames from 'classnames';\r\nimport { max } from 'moment';\r\n\r\nclass CEInputText extends Component {\r\n static defaultProps = {\r\n\r\n required:false,\r\n value: '',\r\n id:null,\r\n placeholder: '',\r\n tooltip:'',\r\n type: 'text',\r\n className: '',\r\n style: '',\r\n regexp: '',\r\n minlength: '',\r\n maxlength: '',\r\n minvalue: '',\r\n maxvalue: '',\r\n onChange: () => { },\r\n onKeyPress: () => { },\r\n isvalid: () => { },\r\n mask:\"9999999999999\",\r\n disabled:false\r\n\r\n \r\n }\r\n\r\n constructor(props) {\r\n \r\n super(props)\r\n this.state = { isvalid: true,value: ''}\r\n this.validation = this.validation.bind(this);\r\n this.changed = this.changed.bind(this);\r\n //this.showCtrl = this.showCtrl.bind(this);\r\n //regexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n \r\n }\r\n componentDidMount() {\r\n \r\n \r\n this.setState({value: this.props.value})\r\n const _isValid = this.validation(this.props.value);\r\n this.props.isvalid(_isValid);\r\n \r\n }\r\n \r\n validation(value){\r\n var _valid = true;\r\n const {required, id, regexp,placeholder, type, className, style,minlength,maxlength,onChange,minvalue,maxvalue} = this.props; \r\n \r\n /* check input required? */\r\n if(required && (value==''|| value==null))_valid = false;\r\n //console.log(type)\r\n /* check input type */\r\n if(regexp!='' && regexp!=null && regexp!=undefined){\r\n var checkValue = new RegExp(regexp);\r\n const isRegexp = checkValue.test(value);\r\n if(!isRegexp) {\r\n _valid = false;\r\n }\r\n }\r\n if(type=='number') {\r\n var checkNumber = new RegExp(\"^[0-9]*$\");\r\n const isNumber = checkNumber.test(value);\r\n console.log(isNumber)\r\n if(value){\r\n var index = value.toString().indexOf(\"e\");\r\n console.log(index)\r\n if(index!=-1) _valid = false;\r\n }\r\n \r\n if(!isNumber && value!='') _valid = false;\r\n }else if(type=='money'){\r\n var checkNumber = new RegExp(\"^[0-9]+(\\.[0-9]{1,2})?$\");\r\n const isNumber = checkNumber.test(value);\r\n if(!isNumber) {\r\n if(value && value!='') _valid = false;\r\n }\r\n } else if(type=='telephone') {\r\n var checkNumber = new RegExp(\"^[0]{1}[0-9]*$\");\r\n const isNumber = checkNumber.test(value);\r\n if(!isNumber && value!='' && required) _valid = false;\r\n }else if(type=='email'){\r\n var checkEmail = new RegExp(\"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$\");\r\n const isEmail = checkEmail.test(value);\r\n console.log(\"isEmail:\"+isEmail)\r\n if(!isEmail && value!='') _valid = false;\r\n }\r\n\r\n /* check length */\r\n if(type!='email'){\r\n if(minlength!=0 && value.length < Number(minlength) && type!='email') _valid = false;\r\n if(maxlength!=0 && value.length > Number(maxlength) && type!='email') _valid = false;\r\n }\r\n if(minvalue!='' && type=='number' && value!=\"\"){\r\n if( Number(value) < Number(minvalue) ) _valid = false;\r\n }\r\n if(maxvalue!='' && type=='number' && value!=\"\" ){\r\n if( Number(value) > Number(maxvalue) ) _valid = false;\r\n }\r\n if(minvalue!='' && type=='money' && value!=\"\"){\r\n if( Number(value) < Number(minvalue) ) _valid = false;\r\n }\r\n if(maxvalue!='' && type=='money' && value!=\"\" ){\r\n if( Number(value) > Number(maxvalue) ) _valid = false;\r\n }\r\n \r\n\r\n return _valid;\r\n } \r\n changed = (e) =>{\r\n console.log(e.target.value)\r\n this.setState({value:e.target.value})\r\n const _isValid = this.validation(e.target.value);\r\n console.log(_isValid)\r\n\r\n this.props.onChange(e,_isValid);\r\n this.props.isvalid(_isValid);\r\n \r\n }\r\n \r\n showCtrl(){\r\n \r\n \r\n\r\n const {required,name,mask,tooltip,value, id, placeholder, type, className, style,minlength,maxlength,onChange,onKeyPress,disabled} = this.props;\r\n \r\n var el = document.getElementById(id);\r\n \r\n if(el) el.classList.remove(\"p-error\");\r\n \r\n let _txtTooltip = '';\r\n if(tooltip=='' || tooltip==null) _txtTooltip = \"กรุณากรอก\" + placeholder ; else _txtTooltip = tooltip;\r\n \r\n\r\n let _isValid = this.validation(this.state.value);\r\n let _className = \"\";\r\n //console.log(_isValid)\r\n if(_isValid ){\r\n _className = classNames('p-inputtext p-component',className)\r\n var _el = document.getElementById(id);\r\n if(_el) el.classList.remove(\"p-error\");\r\n \r\n }else{\r\n _className = classNames('p-inputtext p-component',className, 'p-error')\r\n var _el = document.getElementById(id);\r\n if(_el) el.classList.add(\"p-error\");\r\n }\r\n\r\n\r\n \r\n /*tooltip={_txtTooltip} \r\n tooltipOptions={{event: 'focus',position: 'bottom'}}*/\r\n if(type==\"telephone\" || (type==\"number\" && mask!=\"\")){\r\n return \r\n \r\n }else if (type==\"number\" && mask==\"\"){\r\n return \r\n }else{\r\n return \r\n }\r\n \r\n \r\n\r\n }\r\n render(){\r\n const bodyContent = this.showCtrl();\r\n \r\n return (\r\n bodyContent\r\n )\r\n }\r\n}\r\n\r\nexport default CEInputText","import React, { Component } from 'react';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport classNames from 'classnames';\r\nimport { max } from 'moment';\r\n\r\nclass CECalendar extends Component {\r\n static defaultProps = {\r\n\r\n required:false,\r\n value: null,\r\n id:'', \r\n className: null, \r\n style: null,\r\n showIcon: true,\r\n showTime:true,\r\n hourFormat:24,\r\n onChange: () => { },\r\n isvalid: false,\r\n minDate: null,\r\n selectionMode: 'single',\r\n placeholder: ''\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = { isvalid: false,value: ''}\r\n this.validation = this.validation.bind(this);\r\n this.changed = this.changed.bind(this);\r\n //this.showCtrl = this.showCtrl.bind(this);\r\n //regexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n \r\n }\r\n componentDidMount() {\r\n this.setState({value: this.props.value})\r\n const _isValid = this.validation(this.props.value);\r\n this.props.isvalid(_isValid);\r\n }\r\n \r\n validation(value){\r\n console.log(value)\r\n const {required,selectionMode} = this.props;\r\n var _valid = true;\r\n let isArray = Array.isArray(value)\r\n if(isArray){\r\n if( required && selectionMode == 'range' && (value[0]==null || value[1]==null)) _valid = false;\r\n }else{\r\n if( required && (!value || value==null || value=='')) _valid = false;\r\n }\r\n return _valid;\r\n } \r\n changed = (e) =>{\r\n this.setState({value:e.value})\r\n const _isValid = this.validation(e.value);\r\n this.props.isvalid(_isValid);\r\n this.props.onChange(e);\r\n \r\n }\r\n \r\n showCtrl(){\r\n \r\n const {required,value, id, className, style,showIcon,onChange,showTime,hourFormat,minDate,selectionMode,placeholder} = this.props;\r\n const _isValid = this.validation(this.state.value);\r\n \r\n const _className = classNames(className, {\r\n 'p-error': !_isValid\r\n });\r\n\r\n \r\n \r\n\r\n return \r\n \r\n\r\n }\r\n render(){\r\n const bodyContent = this.showCtrl();\r\n \r\n return (\r\n bodyContent\r\n )\r\n }\r\n}\r\n\r\nexport default CECalendar","import React, { Component } from 'react';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport classNames from 'classnames';\r\nimport { max } from 'moment';\r\n\r\nclass CEDropdown extends Component {\r\n static defaultProps = {\r\n\r\n required:false,\r\n value: null,\r\n id:'', \r\n className: null, \r\n style: {},\r\n options:null,\r\n placeholder:'',\r\n optionLabel:{},\r\n dataKey:'',\r\n onChange: () => { },\r\n isvalid: false\r\n \r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = { isvalid: false,value: null}\r\n this.validation = this.validation.bind(this);\r\n this.changed = this.changed.bind(this);\r\n //this.showCtrl = this.showCtrl.bind(this);\r\n //regexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n \r\n }\r\n componentDidMount() {\r\n this.setState({value: this.props.value})\r\n const _isValid = this.validation(this.props.value);\r\n this.props.isvalid(_isValid);\r\n }\r\n componentWillReceiveProps(e) { \r\n \r\n const _isValid = this.validation(e.value);\r\n this.props.isvalid(_isValid);\r\n if(e.value!=null){\r\n \r\n this.setState({value:e.value})\r\n }else{\r\n this.setState({value:null})\r\n }\r\n \r\n }\r\n validation(value){\r\n const {required} = this.props;\r\n var _valid = true;\r\n //console.log(\"validation\");\r\n //console.log(value);\r\n if( required && (!value || value==null || value=='' || value=={})){\r\n \r\n _valid = false;\r\n }else{\r\n if(value._$visited ==true) _valid = false;\r\n }\r\n return _valid;\r\n } \r\n changed = (e) =>{\r\n this.setState({value:e.value})\r\n const _isValid = this.validation(e.value);\r\n this.props.isvalid(_isValid);\r\n this.props.onChange(e);\r\n \r\n }\r\n \r\n showCtrl(){\r\n \r\n const {required,value, id, className, style,onChange,options,placeholder,optionLabel,dataKey} = this.props;\r\n const _isValid = this.validation(this.state.value);\r\n \r\n const _className = classNames(className, {\r\n 'p-error': !_isValid\r\n });\r\n\r\n \r\n \r\n\r\n return \r\n \r\n\r\n }\r\n render(){\r\n const bodyContent = this.showCtrl();\r\n \r\n return (\r\n bodyContent\r\n )\r\n }\r\n}\r\n\r\nexport default CEDropdown","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { max } from 'moment';\r\nimport {InputText} from 'primereact/inputtext';\r\n\r\nclass CEPassword extends Component {\r\n static defaultProps = {\r\n\r\n required:false,\r\n value: '',\r\n id:null,\r\n placeholder: '',\r\n tooltip:'',\r\n type: 'text',\r\n className: '',\r\n style: '',\r\n regexp: \"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\",\r\n minlength: '',\r\n maxlength: '',\r\n minvalue: '',\r\n maxvalue: '',\r\n onChange: () => { },\r\n onKeyPress: () => { },\r\n isvalid: () => { },\r\n disabled:false\r\n \r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = { isvalid: false,value: ''}\r\n this.validation = this.validation.bind(this);\r\n this.changed = this.changed.bind(this);\r\n //this.showCtrl = this.showCtrl.bind(this);\r\n //regexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n \r\n }\r\n componentDidMount() {\r\n this.setState({value: this.props.value})\r\n const _isValid = this.validation(this.props.value);\r\n this.props.isvalid(_isValid);\r\n }\r\n \r\n validation(value){\r\n var _valid = true;\r\n const {required, regexp,id, placeholder, type, className, style,minlength,maxlength,onChange,minvalue,maxvalue} = this.props; \r\n if(required && (value==''|| value==null))_valid = false;\r\n if(type=='number') {\r\n var checkNumber = new RegExp(\"^[0-9]*$\");\r\n const isNumber = checkNumber.test(value);\r\n if(!isNumber) _valid = false;\r\n }\r\n if(type=='money'){\r\n var checkNumber = new RegExp(\"^[0-9]+(\\.[0-9]{1,2})?$\");\r\n const isNumber = checkNumber.test(value);\r\n if(!isNumber) {\r\n if(value) _valid = false;\r\n }\r\n }\r\n if(type=='password'){\r\n var checkNumber = new RegExp(regexp);\r\n const isNumber = checkNumber.test(value);\r\n if(!isNumber) {\r\n if(value) _valid = false;\r\n }\r\n }\r\n if(type=='telephone') {\r\n var checkNumber = new RegExp(\"^[0]{1}[0-9]*$\");\r\n const isNumber = checkNumber.test(value);\r\n if(!isNumber) _valid = false;\r\n }\r\n if(type=='email'){\r\n var checkEmail = new RegExp(\"^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$\");\r\n const isEmail = checkEmail.test(value);\r\n if(!isEmail && value!='') _valid = false;\r\n }\r\n if(minlength!=0 && value.length < Number(minlength)) _valid = false;\r\n if(maxlength!=0 && value.length > Number(maxlength)) _valid = false;\r\n if(minvalue!='' && type=='number'){\r\n if( Number(value) < Number(minvalue) ) _valid = false;\r\n }\r\n if(maxvalue!='' && type=='number'){\r\n if( Number(value) > Number(maxvalue) ) _valid = false;\r\n }\r\n \r\n return _valid;\r\n } \r\n changed = (e) =>{\r\n this.setState({value:e.target.value})\r\n const _isValid = this.validation(e.target.value);\r\n this.props.isvalid(_isValid);\r\n this.props.onChange(e);\r\n \r\n }\r\n \r\n showCtrl(){\r\n \r\n const {required,regexp,tooltip,value, id, placeholder, type, className, style,minlength,maxlength,onChange,onKeyPress,disabled} = this.props;\r\n const _isValid = this.validation(this.state.value);\r\n \r\n const _className = classNames('p-inputtext p-component', className, {\r\n 'p-error': !_isValid\r\n });\r\n\r\n \r\n\r\n let _txtTooltip = '';\r\n if(tooltip=='' || tooltip==null) _txtTooltip = \"กรุณากรอก\" + placeholder ; else _txtTooltip = tooltip;\r\n \r\n \r\n /* tooltip={_txtTooltip} \r\n tooltipOptions={{event: 'focus',position: 'bottom'}}*/\r\n return \r\n \r\n\r\n }\r\n render(){\r\n const bodyContent = this.showCtrl();\r\n \r\n return (\r\n bodyContent\r\n )\r\n }\r\n}\r\n\r\nexport default CEPassword","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getDistrict, getSubDistrict } from '../../service/LocationService';\r\n\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport AddressInfoView from '../profile/AddressInfoView';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\n\r\nimport { updateWastegenProfile, changePassword, getUserInfo } from '../../service/user.service'\r\nimport { wastegenChangePin } from '../../service/wastegen.service'\r\nimport * as ServerAPI from '../register/service'\r\n\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { ChangePinView } from '../changepin/ChangePinView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { CEInputText, CECalendar, CEDropdown, CEPassword } from '../../features/input';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport * as UserService from '../../service/wastegen.service';\r\n\r\nclass ExampleWastegenChangePin extends Component {\r\n\r\n constructor(props) {\r\n //console.log(\"ExampleWastegenChangePin :constructor\")\r\n super(props);\r\n this.state = {\r\n //> page control\r\n isInitial: true,\r\n isUpdate: false,\r\n updateSuccess: false,\r\n isValidateError: false,\r\n mode: 'wastegen',\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n errMobileMsg: null,\r\n isErrorPhone: false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Change Pin\r\n modePin: 2,\r\n isShowChangePin: false,\r\n isChangePin: false,\r\n isSubmitPin: false,\r\n inputPin: null,\r\n passwordPin: null,\r\n isValidBankWithDrawCode: true,\r\n isValidPasswordPin: true,\r\n isPassPinVisible: false,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n userCardAddress: false,\r\n //> Map\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n newPassword: null,\r\n confirmPassword: null,\r\n disableNewPass: true,\r\n telephoneNumber1: '',\r\n\r\n // Otp\r\n\t\t\tmobile_no: '',\r\n\t\t\totpRef: '',\r\n\t\t\totpCode: '',\r\n\t\t\totpVerify: null,\r\n\t\t\totpShow: false,\r\n\t\t\totpTimeOut: 0,\r\n\t\t\totpButtonDisable: false,\r\n\t\t\totpTypeInput: false,\r\n otpDisabled: false,\r\n \r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"ExampleWastegenChangePin :componentDidMount\", this.props)\r\n this.props.dispatch(getUserInfo())\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"ExampleWastegenChangePin :componentWillReceiveProps\", this.state)\r\n\r\n if (!nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n }\r\n\r\n }\r\n }\r\n\r\n //> Status submit\r\n if (this.state.isSubmitPin && this.state.isChangePin && !nextProps.wastegenChangePin.isLoading) {\r\n if (nextProps.wastegenChangePin.isFailed) {\r\n this.showError(\"ไม่สามารถเปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน กรุณาตรวจสอบรหัสผ่าน\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n } else {\r\n this.showSuccess(\"เปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน สำเร็จ\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n this.setState({ inputPin: null })\r\n this.setState({ passwordPin: null })\r\n this.setState({ isShowChangePin: false })\r\n this.props.dispatch(getUserInfo());\r\n this.setState({ isInitial: true })\r\n }\r\n }\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n this.props.dispatch(updateWastegenProfile(this.state));\r\n if (!nextProps.updateWastegenProfileLoad.isLoading) {\r\n if (!nextProps.updateWastegenProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n if (nextProps.updateWastegenProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWastegenChangePin :shouldComponentUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenChangePin :componentWillUpdate \")\r\n\r\n\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ExampleWastegenChangePin :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n }\r\n\r\n onPressOtp() {\r\n\t\t// this.setState({ otpTimeOut: 60, otpButtonDisable: true, otpCode: '', errorMessageOtp: '', otpVerify: null, otpButtonDisable: false })\r\n\t\t// this.setState({ mobile_no: this.state.telephoneNumber1, otpRef: 'XXXXXX', otpShow: true });\r\n\t\tthis.setState({ otpTimeOut: 60, otpButtonDisable: true, otpCode: '', errorMessageOtp: '', otpVerify: null })\r\n\t\tsetInterval(() => {\r\n\t\t\tthis.setState((prevState) => ({ otpTimeOut: prevState.otpTimeOut - 1 }))\r\n\t\t\tif (this.state.otpTimeOut == 0) {\r\n\t\t\t\tthis.setState({ otpButtonDisable: false })\r\n\t\t\t}\r\n\t\t}, 1000)\r\n\t\tif (this.state.otpRef == '') {\r\n\t\t\tthis.onOtpSendPin()\r\n\t\t} else {\r\n\t\t\tthis.onOtpResendPin()\r\n\t\t}\r\n\t}\r\n\r\n\r\n //> OTP\r\n\tonOtpSendPin() {\r\n\t\tUserService.otpResetPinSend(this.state.telephone_no1).then((res) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.mobile_no.length > 0) {\r\n\t\t\t\tthis.setState({ mobile_no: res.mobile_no, otpRef: res.otp_ref, otpShow: true });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ mobile_no: '', otpRef: '', otpShow: false });\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"เครือข่ายขัดข้อง\" });\r\n\t\t})\r\n\t}\r\n\r\n\tonOtpResendPin() {\r\n\t\tUserService.otpResetPinResend(this.state.telephone_no1).then((res) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.mobile_no.length > 0) {\r\n\t\t\t\tthis.setState({ mobile_no: res.mobile_no, otpRef: res.otp_ref, otpShow: true });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ mobile_no: '', otpRef: '', otpShow: false });\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"เครือข่ายขัดข้อง\" });\r\n\t\t})\r\n }\r\n\r\n // onOtpVerify(value) {\r\n\t// \t// let otpCode = value\r\n\t// \t// this.setState({ otpCode: otpCode })\r\n\t// \t// this.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n\r\n\t// \tlet otpCode = value\r\n\t// \tthis.setState({ otpCode: otpCode })\r\n\t// \tlet mobile_no = this.state.telephoneNumber1\r\n\t// \tlet otp_ref = this.state.otpRef\r\n\t// \tif (otpCode.length == 6) {\r\n\t// \t\tthis.setState({\r\n\t// \t\t\terrorMessageOtp: \"\",\r\n\t// \t\t\totpVerify: true,\r\n\t// \t\t\totpButtonDisable: true,\r\n\t// \t\t\totpTypeInput: true,\r\n\t// \t\t\totpDisabled: true\r\n\t// \t\t});\r\n\t\t\t\r\n\t// \t} else {\r\n\t// \t\tthis.setState({ errorMessageOtp: \"รหัสยืนยันไม่ถูกต้อง\", otpVerify: false ,otpDisabled:false});\r\n\t// \t}\r\n // }\r\n \r\n onOtpVerify(value) {\r\n // let otpCode = value\r\n // this.setState({ otpCode: otpCode })\r\n // this.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n \r\n let otpCode = value\r\n this.setState({ otpCode: otpCode })\r\n let mobile_no = this.state.telephone_no1\r\n let otp_ref = this.state.otpRef\r\n if (otpCode.length == 6) {\r\n UserService.otpVerifyPin(mobile_no, parseInt(otpCode), otp_ref).then((res) => {\r\n console.log(res);\r\n if (res == true) {\r\n this.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n } else {\r\n this.setState({ errorMessageOtp: res.response.data, otpVerify: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errorMessageOtp: error, otpVerify: false });\r\n })\r\n } else {\r\n this.setState({ errorMessageOtp: \"รหัสยืนยันไม่ถูกต้อง\", otpVerify: false });\r\n }\r\n }\r\n \r\n\r\n //> Submit\r\n onSubmit = async (e) => {\r\n await this.validateRequire(this.state);\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n this.props.dispatch(updateWastegenProfile(this.state))\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n\r\n }\r\n\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n //> pin\r\n if (Validators.isNotEmpty(nextProps.bank_withdraw_code)) {\r\n this.setState({\r\n modePin: 1\r\n })\r\n } else {\r\n this.setState({\r\n modePin: 2\r\n })\r\n }\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n //console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n //console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n //Map\r\n latitude,\r\n longitude,\r\n marker\r\n } = nextState\r\n\r\n //> map\r\n if (!marker.lat && latitude && longitude) {\r\n this.setState({ marker: { lat: latitude, lng: longitude } })\r\n this.setState({ mapCenter: { lat: latitude, lng: longitude } })\r\n }\r\n\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n\r\n }\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n this._validateAddressInfo(1);\r\n //Phone\r\n if (state.isErrorPhone || !state.telephone_no1) {\r\n this._classNameRequired(true)\r\n }\r\n\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status });\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event : Adress current\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n //console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n //console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n //>Change pin\r\n onClickShow = (e) => {\r\n this.setState({ isShowChangePin: e.checked })\r\n }\r\n onChangePin = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ isChangePin: true })\r\n this.setState({ [name]: value })\r\n\r\n //validate input pin number\r\n if (name == 'inputPin') {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidBankWithDrawCode: false })\r\n } else {\r\n this.setState({ isValidBankWithDrawCode: true })\r\n }\r\n }\r\n this.validatePassword(this.state.passwordPin)\r\n }\r\n onChangePinPassword = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n //Validate required\r\n if (Validators.isNotEmpty(value)) {\r\n this.validatePassword(value)\r\n }\r\n }\r\n validatePassword = async (password) => {\r\n //Validate required\r\n if (password != SecureUtils.getItem(\"user\").password) {\r\n this.setState({ isValidPasswordPin: false })\r\n } else {\r\n this.setState({ isValidPasswordPin: true })\r\n }\r\n }\r\n onClickVisible = (e) => {\r\n this.setState((pv) => ({ isPassPinVisible: !pv.isPassPinVisible }))\r\n }\r\n onSubmitChangePin = async (e) => {\r\n //Validate required\r\n await this.validatePassword(this.state.passwordPin)\r\n if (this.state.isChangePin && this.state.isValidPasswordPin) {\r\n var jsDataPin = {\r\n password: this.state.passwordPin,\r\n bank_withdraw_code: this.state.inputPin\r\n };\r\n this.props.dispatch(wastegenChangePin(jsDataPin))\r\n this.setState({ isSubmitPin: true })\r\n } else {\r\n if (!this.state.isValidPasswordPin) {\r\n this.showWarn(\"กรุณาระบุรหัสผ่านให้ถูกต้อง\")\r\n }\r\n\r\n if (Validators.isEmpty(this.state.inputPin)) {\r\n this.showWarn(\"กรุณาระบุข้อมูล PIN ให้ถูกต้อง\")\r\n this.setState({ isValidBankWithDrawCode: false })\r\n }\r\n }\r\n }\r\n //> Event map\r\n onCenterChanged = (coor) => {\r\n if (coor) {\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n }\r\n onMarkerMoved = (e) => {\r\n //console.log(\"onMarkerMoved\");\r\n\r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n //console.log(\"ExampleWastegenChangePin :render\", this.state)\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n {/* onClickShow(e)} /> */}\r\n

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n this.onTelephoneNumber1Changed(e.target.value, v)}\r\n isvalid={(valid) => this.setState({ isvalid_telephoneNumber1: valid })}\r\n //disabled={this.state.otpDisabled || this.state.otpButtonDisable}\r\n />\r\n {/* {this.state.errorMessageTelephoneNumber1} */}\r\n\r\n
    \r\n {/* {!this.state.telephoneNumber1 == '' && this.state.errorMessageTelephoneNumber1 == '' && !this.state.otpDisabled && */}\r\n
    \r\n 0 && this.state.otpButtonDisable && 'ขอ OTP ' + this.state.otpTimeOut + ' วินาที') ||\r\n (this.state.otpTimeOut == 0 && !this.state.otpButtonDisable && 'ขอ OTP เพื่อเปลี่ยนรหัสถอนเงิน') ||\r\n (this.state.otpRef !== '' && !this.state.otpButtonDisable && 'ขอ OTP อีกครั้ง')}\r\n style={{ width: '100%' }}\r\n disabled={this.state.otpButtonDisable}\r\n onClick={this.onPressOtp.bind(this)}\r\n >\r\n\r\n \r\n
    \r\n {/* } */}\r\n {this.state.otpShow &&\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.onOtpVerify(e.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t//isvalid={(valid) => console.log(valid)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t } \r\n\r\n
    \r\n
    \r\n\r\n {this.state.otpVerify &&\r\n \r\n } \r\n\r\n
    \r\n\r\n\r\n
    \r\n {this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n }\r\n {/* {!this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n } */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWastegenProfileLoad: state.updateWastegenProfile,\r\n wastegenChangePin: state.wastegenChangePin\r\n})\r\n\r\n\r\n\r\nexport default connect(mapStateToProps)(ExampleWastegenChangePin)","import React, { Component } from 'react';\r\n\r\n\r\nexport const WastetranOverviews = ({ summaryBalance, successBalance, noSuccessBalance, donateSummary }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินสะสม\r\n
    \r\n
    {summaryBalance}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินเบิกแล้ว\r\n
    \r\n
    {successBalance}
    \r\n
    {`บาท (บริจาค ${donateSummary} บาท)`}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินค้างเบิก\r\n
    \r\n
    {noSuccessBalance}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n}","import React from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport {status, getStatus} from '../../constants/order-status'\r\nimport { dateFormat } from '../../utils/utilFunctions';\r\n\r\nexport const StatisticView = ({\r\n header,\r\n waitDate,waitOrder,\r\n waitSendDate,waitSendOrder,\r\n closeDate,closeOrder,\r\n cancelDate,cancelOrder,\r\n overDueDate, overDueOrder\r\n}) => {\r\n waitDate = waitDate||new Date(\"0001-01-01T00:00:00\")\r\n waitSendDate = waitSendDate||new Date(\"0001-01-01T00:00:00\")\r\n closeDate = closeDate||new Date(\"0001-01-01T00:00:00\")\r\n cancelDate = cancelDate||new Date(\"0001-01-01T00:00:00\")\r\n overDueDate = overDueDate||new Date(\"0001-01-01T00:00:00\")\r\n waitOrder = waitOrder||0\r\n waitSendOrder = waitSendOrder||0\r\n closeOrder = closeOrder||0\r\n cancelOrder = cancelOrder||0\r\n overDueOrder = overDueOrder||0\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    W
    \r\n
    \r\n {getStatus(2).name}\r\n Last Update:
    {dateFormat(waitDate)}
    \r\n
    \r\n
    {waitOrder} Orders
    \r\n
    \r\n
    S
    \r\n
    \r\n {getStatus(3).name}\r\n Last Update:
    {dateFormat(waitSendDate)}
    \r\n
    \r\n
    {waitSendOrder} Orders
    \r\n
    \r\n
    D
    \r\n
    \r\n {getStatus(88).name}\r\n Last Update:
    {dateFormat(closeDate)}
    \r\n
    \r\n
    {closeOrder} Orders
    \r\n
    \r\n
    P
    \r\n
    \r\n {getStatus(99).name}\r\n Last Update:
    {dateFormat(cancelDate)}
    \r\n
    \r\n
    {cancelOrder} Orders
    \r\n
    \r\n
    O
    \r\n
    \r\n {getStatus(5).name}\r\n Last Update:
    {dateFormat(overDueDate)}
    \r\n
    \r\n
    {waitOrder} Orders
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n}","import React, { Component } from 'react';\r\n\r\nexport class Avatar extends Component {\r\n static defaultProps = {\r\n src: 'assets/avatar/user.png',\r\n width: '100',\r\n height: '100',\r\n styles: {borderRadius: '50%'},\r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n \r\n }\r\n \r\n \r\n\r\n render(){\r\n const src = this.props.src; \r\n const ext = new RegExp(/\\.(JPG|JPEG|PNG|jpg|jpeg|gif|png|tiff|svg)$/);\r\n const isCorrect = ext.test(src);\r\n \r\n if(isCorrect){ \r\n return \"Profile\" e.target.src='assets/avatar/user.png'}/> \r\n }\r\n return \"Profile\"\r\n }\r\n}","import * as sticker from '../../constants/sticker'\r\n\r\nexport const stickerPrefix = '!!!c3leng-sticker-'\r\n\r\nexport const getSticker = message => {\r\n const stickerName = message.replace(stickerPrefix, '')\r\n if (stickerName && sticker[`sticker_${stickerName}`]) {\r\n return sticker[`sticker_${stickerName}`]\r\n }\r\n return null\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { getSticker, stickerPrefix } from './utils'\r\n\r\nexport default function LeftBubble ({message, type, avataImage, userWasteType, datetime, roomId,receiverId}){\r\n let avatar;\r\n if(userWasteType == 'administrator'){\r\n avatar = avataImage\r\n }else{\r\n avatar = `${API_ROOT}/${userWasteType}/getfile/${avataImage}`\r\n }\r\n let isSticker = false\r\n if (message.includes(stickerPrefix)) {\r\n isSticker = true\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {/* */}\r\n {type === 1 && !isSticker && (\r\n
    \r\n
    {message}
    \r\n
    \r\n )}\r\n {type === 2 && !isSticker && (\r\n
    \r\n {/* */}\r\n \r\n
    \r\n )}\r\n {isSticker && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    {datetime}
    \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n )\r\n}\r\n\r\nconst styles = ({\r\n container: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n },\r\n bubbleContainer: {\r\n marginLeft: 55,\r\n backgroundColor: '#f5f5f5',\r\n paddingHorizontal: 10,\r\n paddingVertical: 5,\r\n borderRadius: 20,\r\n // maxWidth: '50%',\r\n width: 'max-content',\r\n },\r\n message: {\r\n fontSize: '18px',\r\n padding: '0px 10px',\r\n },\r\n imageContainer: {\r\n marginLeft: 10,\r\n },\r\n image: {\r\n borderRadius: 10,\r\n width: '40%',\r\n height: '20%',\r\n float: 'revert',\r\n marginLeft: '10px',\r\n },\r\n datetimeContainer: {\r\n marginLeft: '12%' + 15,\r\n },\r\n datetime: {\r\n fontSize: '14px',\r\n color: '#c8c8c8',\r\n marginLeft: 55,\r\n },\r\n avataStyle: {\r\n borderRadius: '50%',\r\n width: 50,\r\n height: 50\r\n }\r\n })\r\n\r\n","import React, { useState } from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { getSticker, stickerPrefix } from './utils'\r\n\r\nexport default function RightBubble ({message, type, datetime, roomId, getImage, isFirstMessage, isLastMessage}){\r\n //console.log('is first : '+isFirstMessage)\r\n //console.log('is Last : '+isLastMessage)\r\n var imgPath = new Image;\r\n if(type === 2){\r\n // getImage(roomId,message).then(res=>{\r\n // //console.log(res)\r\n // imgPath.src = res\r\n // //console.log(imgPath.src)\r\n // })\r\n }\r\n //console.log(imgPath.src)\r\n \r\n let isSticker = false\r\n if (message.includes(stickerPrefix)) {\r\n isSticker = true\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {type === 1 && !isSticker && (\r\n
    \r\n
    {message}
    \r\n
    \r\n )}\r\n {type === 2 && !isSticker && (\r\n
    \r\n {/* */}\r\n {\r\n \r\n }\r\n
    \r\n )}\r\n {isSticker && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    {datetime}
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\nconst styles = ({\r\n container: {\r\n flex: 1,\r\n flexDirection: 'row',\r\n justifyContent: 'flex-end',\r\n alignItems: 'flex-end',\r\n textAlign: '-webkit-right',\r\n },\r\n bubbleContainer: {\r\n marginRight: 10,\r\n backgroundColor: 'lightgreen',\r\n paddingHorizontal: 10,\r\n paddingVertical: 5,\r\n borderRadius: 20,\r\n // maxWidth: '50%',\r\n width: 'max-content',\r\n },\r\n message: {\r\n fontSize: '18px',\r\n padding: '0px 10px',\r\n },\r\n imageContainer: {\r\n marginRight: 10,\r\n },\r\n image: {\r\n borderRadius: 10,\r\n width: '40%',\r\n height: '20%',\r\n alignItems: 'flex-end',\r\n float: 'revert'\r\n },\r\n datetimeContainer: {\r\n marginRight: 16,\r\n alignItems: 'flex-end',\r\n textAlign: '-webkit-right',\r\n },\r\n datetime: {\r\n fontSize: '14px',\r\n color: '#c8c8c8',\r\n marginLeft: 55,\r\n }\r\n})\r\n\r\n","\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\nimport {\r\n ADMIN_ANNOUNCE_ADD,\r\n ADMIN_DASH_SUMMARY_AREA,\r\n ADMIN_DASH_SUMMARY_WITHDRAW,\r\n ADMIN_DASH_SUMMARY_AREA_SEARCH,\r\n ADMIN_USER_LIST_CHAT,\r\n LOAD_MORE_ADMIN_USER_LIST,\r\n ADD_NEW_ADMIN_USER_LIST,\r\n} from './actionType'\r\nimport { map, without, orderBy, includes } from 'lodash'\r\n\r\nexport const adminAnnounceAdd = (data) => (dispatch) => {\r\n dispatch({ type: ADMIN_ANNOUNCE_ADD.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/AnnouncementLog/sendannouncement`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: data\r\n })\r\n .then((res) => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n dispatch({ type: ADMIN_ANNOUNCE_ADD.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ADMIN_ANNOUNCE_ADD.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getAdminDashSummaryArea = () => (dispatch) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_AREA.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/dashboard/summary/area`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_AREA.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_AREA.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getAdminDashSummaryAreaSearch = ({sale_year,sale_month}) => (dispatch) => {\r\n let sale_top = 5;\r\n\r\n dispatch({ type: ADMIN_DASH_SUMMARY_AREA_SEARCH.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/dashboard/summary/area/${sale_year}/${sale_month}/${sale_top}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_AREA_SEARCH.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_AREA_SEARCH.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getAdminDashSummaryWithdraw = () => (dispatch) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_WITHDRAW.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/dashboard/summary/withdraw`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_WITHDRAW.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: ADMIN_DASH_SUMMARY_WITHDRAW.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getUsersAllForManagement = (body) => (dispatch) => {\r\n dispatch({ type: ADMIN_USER_LIST_CHAT.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/GetUsersAllForManagement`,\r\n data: body,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: ADMIN_USER_LIST_CHAT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n console.log(error)\r\n dispatch({ type: ADMIN_USER_LIST_CHAT.FAILURE, error })\r\n })\r\n }\r\n\r\n export const loadMoreUsersAllForManagement = (body) => dispatch => {\r\n dispatch({ type: LOAD_MORE_ADMIN_USER_LIST.REQUEST })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/GetUsersAllForManagement`,\r\n data: body,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then(res => {\r\n dispatch({ type: LOAD_MORE_ADMIN_USER_LIST.SUCCESS, payload: res.data })\r\n }).catch(error => {\r\n dispatch({ type: LOAD_MORE_ADMIN_USER_LIST.FAILURE, error })\r\n })\r\n }\r\n\r\n export const addNewUsersAllForManagement = users => dispatch => {\r\n dispatch({ type: ADD_NEW_ADMIN_USER_LIST, users })\r\n }\r\n\r\n export const updateUsersAll = (chatList, roomId, type, ws) => dispatch => {\r\n if (chatList) {\r\n var chatListOfId = map(chatList, function(o) {\r\n if (o.last_chat.room_id == roomId) return o\r\n })\r\n var chatListById = without(chatListOfId, undefined)[0]\r\n var chatListNew = without(chatList, chatListById)\r\n if (chatList.length > 0) {\r\n if (type == 0) {\r\n chatListById.last_chat.count_unread = 0\r\n }\r\n if (type == 1) {\r\n chatListById.last_chat.count_unread += 1\r\n chatListById.last_chat.message_time = ws.send_datetime\r\n }\r\n }\r\n chatListNew.unshift(chatListById)\r\n dispatch({\r\n type: ADMIN_USER_LIST_CHAT.SUCCESS,\r\n payload: orderBy(chatListNew, 'last_chat.message_time', 'desc'),\r\n })\r\n return orderBy(chatListNew, 'last_chat.message_time', 'desc')\r\n }\r\n }","import React, { Component } from \"react\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputTextarea } from \"primereact/components/inputtextarea/InputTextarea\";\r\nimport { Button } from \"primereact/button\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Chips } from \"primereact/chips\";\r\nimport { ListBox } from \"primereact/listbox\";\r\nimport moment from \"moment\";\r\nimport * as ServerAPI from \"./service\";\r\nimport * as UserService from \"../../service/user.service\";\r\nimport { updateReadAll } from \"../../service/ChatService\";\r\nimport LeftBubble from \"./LeftBubble\";\r\nimport RightBubble from \"./RightBubble\";\r\nimport { minBy, get } from \"lodash\";\r\nimport { sendMessage } from \"../../utils/chat\";\r\nimport scrollToComponent from \"react-scroll-to-component\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { implementWebsocket } from \"../../utils/chat\";\r\nimport { getFilenameFromUriAndroid } from \"../../utils/utilFunctions\";\r\nimport { API_ROOT } from \"../../constants/api\";\r\nimport { WASTE_TYPE } from \"../../constants/mappingValue\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { updateUsersAll } from \"../../service/admin.service\";\r\nimport * as sticker from \"../../constants/sticker\";\r\nimport { stickerPrefix } from \"./utils\";\r\nimport { OverlayPanel } from \"primereact/overlaypanel\";\r\n\r\nconst stickerDefaultList = [...Array(40)].map((_, index) => {\r\n if (index < 9) {\r\n return { id: `0${index + 1}` };\r\n }\r\n return { id: (index + 1).toString() };\r\n});\r\n\r\nexport class ChatRoom extends Component {\r\n static defaultProps = {\r\n orderCode: \"\",\r\n receiverId: \"\",\r\n receiverImage: \"\",\r\n receiverWasteType: \"\",\r\n roomId: \"\",\r\n header: \"แชท\",\r\n isAdminChat: false,\r\n isAmAdmin: false,\r\n userList: \"\",\r\n receiverUserName: \"\",\r\n onUpdateUserList: () => {},\r\n onUpdateAdminBadge: () => {},\r\n adminBadge: 0,\r\n };\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n test: \"test\",\r\n receiverImage: \"\",\r\n receiverWasteType: \"\",\r\n receiverId: \"\",\r\n message: \"\",\r\n messages: [],\r\n isFirstRender: true,\r\n stickerHeight: 0,\r\n };\r\n this.messageTemplate = this.messageTemplate.bind(this);\r\n this.handleOnSend = this.handleOnSend.bind(this);\r\n }\r\n\r\n roomId = this.props.roomId;\r\n pageSize = 20;\r\n\r\n componentDidMount() {\r\n console.log(\"chatRoom :componentDidMount\");\r\n console.log(this.props);\r\n const listBoxElement = document.getElementsByClassName(\r\n \"p-listbox-list-wrapper\"\r\n );\r\n if (this.props.isAmAdmin) {\r\n listBoxElement[1].addEventListener(\"scroll\", (e) =>\r\n this.handleScroll(e, this.props.roomId)\r\n );\r\n } else {\r\n listBoxElement[0].addEventListener(\"scroll\", (e) =>\r\n this.handleScroll(e, this.props.roomId)\r\n );\r\n }\r\n if (this.state.isFirstRender) {\r\n this.getChatMessage(this.props.roomId, this.pageSize);\r\n this.setState({ isFirstRender: false });\r\n }\r\n const onMessage = (message, currentRouteName) => {\r\n let updateAdminBadge = {\r\n badges: this.props.adminBadge,\r\n roomId: this.props.roomId,\r\n type: 1,\r\n };\r\n this.props.onUpdateAdminBadge(updateAdminBadge);\r\n let sendReadData = {\r\n userList: this.props.userList,\r\n roomId: message.room_id,\r\n type: 1,\r\n message: message,\r\n };\r\n this.props.onUpdateUserList(sendReadData);\r\n\r\n this.getChatMessage(this.props.roomId, this.pageSize);\r\n };\r\n implementWebsocket(onMessage);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"chatRoom :componentWillReceiveProps\");\r\n if (nextProps.roomId != this.props.roomId) {\r\n this.getChatMessage(nextProps.roomId, this.pageSize);\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"chatRoom :shouldComponentUpdate\");\r\n return true;\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"chatRoom :componentWillUpdate\");\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"chatRoom :componentDidUpdate\");\r\n }\r\n handleScroll(e) {\r\n let scrollTop = e.srcElement.scrollTop;\r\n if (scrollTop == 0) {\r\n console.log(\"load more old chat data\");\r\n this.getMoreChatMessage(this.props.roomId, this.pageSize);\r\n }\r\n }\r\n getChatMessage(roomId, pageSize) {\r\n const timeStamp = moment()\r\n .add(5, \"seconds\")\r\n .format(\"YYYY-MM-DDTHH:mm:ss\");\r\n ServerAPI.getChatMessageByRoom(roomId, pageSize, timeStamp)\r\n .then((res) => {\r\n this.setState({\r\n messages: res.reverse(),\r\n });\r\n this.goToEnd();\r\n ServerAPI.updateReadAll(roomId).then((res) => {\r\n console.log(res);\r\n if (this.props.isAdminChat) {\r\n let updateAdminBadge = {\r\n badges: this.props.adminBadge,\r\n roomId: this.props.roomId,\r\n type: 0,\r\n };\r\n this.props.onUpdateAdminBadge(updateAdminBadge);\r\n }\r\n\r\n let sendReadData = {\r\n userList: this.props.userList,\r\n roomId: this.props.roomId,\r\n type: 0,\r\n };\r\n this.props.onUpdateUserList(sendReadData);\r\n });\r\n\r\n // if(this.props.isAdminChat && this.props.isAmAdmin) {\r\n // console.log('do')\r\n // console.log(this.props.chatList)\r\n // ServerAPI.updateUsersAll(this.props.chatList, roomId, 0).then((res) => {\r\n // console.log(res)\r\n // })\r\n // }\r\n })\r\n .catch((error) => {});\r\n }\r\n getMoreChatMessage(roomId, pageSize) {\r\n const timeStamp = get(\r\n minBy(this.state.messages, \"send_datetime\"),\r\n \"send_datetime\",\r\n \"\"\r\n );\r\n ServerAPI.loadMoreChatMessage(roomId, pageSize, timeStamp)\r\n .then((res) => {\r\n console.log(res);\r\n let moreChat = res.reverse();\r\n let currentChat = this.state.messages;\r\n let newChat = moreChat.concat(currentChat);\r\n this.setState({\r\n messages: newChat,\r\n });\r\n if (res.length != 0) this.bounceScrollwhenLoadMore();\r\n })\r\n .catch((error) => {});\r\n }\r\n onBasicUpload(e) {\r\n console.log(e.files[0]);\r\n const _file = e.files[0];\r\n this.setState({ fileImage: _file });\r\n ServerAPI.sendChatImage(\r\n _file,\r\n this.props.roomId,\r\n (isSuccessed, imageName) => {\r\n if (isSuccessed) {\r\n this.handleOnSend(imageName, 2);\r\n }\r\n }\r\n );\r\n }\r\n\r\n handleInputText(e) {\r\n this.setState({ message: e.target.value });\r\n }\r\n onPressEnterSend(e) {\r\n const characterCode = e.key;\r\n if (characterCode === \"Enter\") {\r\n this.handleOnSend(this.state.message, 1);\r\n }\r\n }\r\n\r\n handleOnSend = (message, type) => {\r\n if (message) {\r\n console.log(\"send message\", message);\r\n const messageSending = {\r\n message,\r\n message_type: type,\r\n room_id: this.props.roomId,\r\n receiver_id: this.props.receiverId,\r\n receiver_waste_type: WASTE_TYPE[this.props.receiverWasteType],\r\n order_code: !this.props.isAdminChat ? this.props.orderCode : null,\r\n is_admin_chat: this.props.isAdminChat ? true : false,\r\n };\r\n sendMessage(JSON.stringify(messageSending));\r\n\r\n this.setState({ message: \"\" });\r\n this.getChatMessage(this.props.roomId, this.pageSize);\r\n }\r\n };\r\n\r\n goToEnd = () => {\r\n const listBoxElement = document.getElementsByClassName(\r\n \"p-listbox-list-wrapper\"\r\n );\r\n let chatListBox;\r\n if (this.props.isAmAdmin) {\r\n chatListBox = listBoxElement[1];\r\n } else {\r\n chatListBox = listBoxElement[0];\r\n }\r\n let _scrollTop = chatListBox.scrollTop;\r\n let _scrollHeight = chatListBox.scrollHeight;\r\n let newScrollTop = _scrollTop + _scrollHeight;\r\n chatListBox.scrollTop = newScrollTop;\r\n this.setState({ maxScroll: newScrollTop });\r\n };\r\n bounceScrollwhenLoadMore() {\r\n const listBoxElement = document.getElementsByClassName(\r\n \"p-listbox-list-wrapper\"\r\n );\r\n let chatListBox;\r\n if (this.props.isAmAdmin) {\r\n chatListBox = listBoxElement[1];\r\n } else {\r\n chatListBox = listBoxElement[0];\r\n }\r\n let _scrollTop = chatListBox.scrollTop;\r\n let _scrollHeight = chatListBox.scrollHeight;\r\n let newScrollTop = _scrollHeight - this.state.maxScroll;\r\n chatListBox.scrollTop = newScrollTop;\r\n this.setState({ maxScroll: 0 + _scrollHeight });\r\n }\r\n\r\n chatMessages() {\r\n return (\r\n \r\n );\r\n }\r\n\r\n messageTemplate(item) {\r\n let messageCompoment = null;\r\n if (!item.iam) {\r\n messageCompoment = (\r\n \r\n );\r\n } else if (item.iam) {\r\n messageCompoment = (\r\n \r\n );\r\n }\r\n\r\n return messageCompoment;\r\n }\r\n\r\n getImageSource(roomId, message) {\r\n var myImage = new Image();\r\n const src = `${API_ROOT}/chatmessage/GetImage/${roomId}/${message}`;\r\n const options = {\r\n method: \"get\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + localStorage.getItem(\"access-token\"),\r\n },\r\n };\r\n\r\n return fetch(src, options)\r\n .then((res) => res.blob())\r\n .then((blob) => {\r\n var objectURL = URL.createObjectURL(blob);\r\n myImage.src = objectURL;\r\n //console.log(myImage.src)\r\n return URL.createObjectURL(blob);\r\n });\r\n //console.log(myImage.src)\r\n //return myImage.src\r\n }\r\n onViewScreenClick(e) {\r\n console.log(e);\r\n this.setState({\r\n displayUserScreenDialog: true,\r\n receiverUserName: e,\r\n });\r\n }\r\n getToken(e) {\r\n // const { adminServiceProps } = this.props\r\n if (this.state.receiverUserName) {\r\n ServerAPI.getToken(this.state.receiverUserName)\r\n .then((res) => {\r\n if (res) {\r\n UserService.getUserTypeFunction().then((re) => {\r\n if (re) {\r\n const userType = localStorage.getItem(\"user-type\");\r\n console.log(userType);\r\n window.location = \"#/\" + userType + \"?from=chat\";\r\n // this.props.history.push({\r\n // pathname: '/'+userType,\r\n // })\r\n }\r\n this.setState({ getTokenfail: true });\r\n });\r\n } else {\r\n this.setState({ getTokenfail: true });\r\n }\r\n })\r\n .catch((error) => {\r\n console.log(error);\r\n this.setState({ getTokenfail: true });\r\n });\r\n }\r\n }\r\n\r\n handleOnShowSticker = () => {\r\n this.setState({ stickerHeight: 216 });\r\n };\r\n\r\n onHideSticker = () => {\r\n this.setState({ stickerHeight: 0 });\r\n };\r\n\r\n onSelectSticker = (stickerId) => {\r\n this.handleOnSend(`${stickerPrefix}${stickerId}`, 1, true);\r\n this.op.hide();\r\n };\r\n\r\n inputMessage() {\r\n console.log(stickerDefaultList);\r\n return (\r\n <>\r\n
    \r\n this.onBasicUpload(e)}\r\n auto\r\n chooseLabel=\"ภาพ\"\r\n />\r\n this.op.toggle(e)}\r\n aria-haspopup\r\n style={{ width: '30%'}}\r\n aria-controls=\"overlay_panel\"\r\n className=\"select-product-button\"\r\n />\r\n\r\n (this.op = el)}\r\n showCloseIcon\r\n id=\"overlay_panel\"\r\n style={{ width: \"450px\" }}\r\n className=\"overlaypanel-demo\"\r\n >\r\n {stickerDefaultList.map((item, index) => (\r\n this.onSelectSticker(item.id)}\r\n />\r\n ))}\r\n \r\n\r\n this.handleInputText(e)}\r\n onKeyPress={(e) => this.onPressEnterSend(e)}\r\n />\r\n\r\n this.handleOnSend(this.state.message, 1)}\r\n />\r\n
    \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const showChatMassage = this.chatMessages();\r\n const inputMessage = this.inputMessage();\r\n const header = (\r\n
    \r\n {this.props.header}\r\n {this.props.isAmAdmin && (\r\n this.onViewScreenClick(this.props.receiverUserName)}\r\n icon=\"pi pi-user\"\r\n label=\"หน้ามุมมองสมาชิก\"\r\n style={{ float: \"right\", margin: \"0\" }}\r\n />\r\n )}\r\n
    \r\n );\r\n let dialogUserScreenFooter = (\r\n
    \r\n this.getToken()}\r\n />\r\n this.setState({ displayUserScreenDialog: false })}\r\n className=\"p-button-warning\"\r\n />\r\n
    \r\n );\r\n return (\r\n \r\n
    \r\n {/* ROW2 */}\r\n
    {showChatMassage}
    \r\n
    {inputMessage}
    \r\n
    \r\n\r\n this.setState({ displayUserScreenDialog: false })}\r\n >\r\n {this.state.receiverUserName && (\r\n
    \r\n {/*
    */}\r\n
    \r\n ต้องการไปที่หน้าจอสมาชิก ?\r\n
    \r\n {this.state.getTokenfail && (\r\n \r\n เกิดข้อผิดพลาด\r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n }\r\n}\r\n","import axios from 'axios'\r\nimport { API_ROOT } from '../../constants/api'\r\nimport {\r\n\r\n} from '../../service/actionType'\r\nimport { map, without, orderBy} from 'lodash'\r\n\r\nexport const getChatMessageByRoom = (roomId, pageSize, timeStamp) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetByRoomId/${roomId}/${pageSize}/${timeStamp}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const loadMoreChatMessage = (roomId, pageSize, timeStamp) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetByRoomId/${roomId}/${pageSize}/${timeStamp}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const sendChatImage = (image, roomId, handleResult) =>{\r\n console.log(image)\r\n const formData = new FormData()\r\n const file = image;\r\n formData.append('file', file)\r\n formData.append('room_id', roomId)\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/chatmessage/PostImage`,\r\n data: formData,\r\n headers: {'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return handleResult(true, res.data)\r\n })\r\n .catch(function (error) {\r\n return handleResult(false);\r\n });\r\n}\r\n\r\n\r\n\r\nexport const addNewChatMessage = message => {\r\n return message\r\n}\r\n\r\nexport const getImageChatMessage = (roomId, message) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetImage/${roomId}/${message}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n console.log(res)\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const updateReadAll = roomId => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/ReadAll/${roomId}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n return error\r\n })\r\n}\r\n\r\nexport const getBadgeAdmin = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnread/admin`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then(res => {\r\n return res\r\n })\r\n .catch(error => {\r\n return error\r\n })\r\n}\r\n\r\nexport const updateUsersAll = (chatList, roomId, type, ws) => dispatch => {\r\n if(chatList) {\r\n var chatListOfId = map(chatList, function(o) {\r\n if (o.last_chat.room_id == roomId) return o;\r\n })\r\n var chatListById = without(chatListOfId, undefined)[0]\r\n var chatListNew = without(chatList, chatListById)\r\n if(chatList.length > 0) {\r\n if(type == 0) {\r\n chatListById.last_chat.count_unread = 0\r\n }\r\n if(type == 1) {\r\n chatListById.last_chat.count_unread += 1\r\n chatListById.last_chat.message_time = ws.send_datetime\r\n }\r\n }\r\n chatListNew.unshift(chatListById)\r\n return orderBy(chatListNew, 'last_chat.message_time', 'desc')\r\n }\r\n}\r\n\r\nexport const getToken = (username) => {\r\n console.log(\"USERNAME : \" + username)\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/gettoken/${username}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n var token = localStorage.getItem('access-token');\r\n\r\n localStorage.setItem('second-token', token);\r\n localStorage.setItem('access-token', res.data);\r\n\r\n return true;\r\n }).catch((error) => {\r\n console.log(error)\r\n return false;\r\n })\r\n}","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\n\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WastegenChatView extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"WastegenDashboard :componentDidMount\")\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n chat(){\r\n if(this.props.location.state){\r\n return (\r\n \r\n );\r\n }else\r\n return (

    ไม่พบข้อมูล

    )\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenChatView)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux'\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { getAdminUid, getBadgeAdmin } from '../../service/ChatService'\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { WASTE_TYPE } from '../../constants/mappingValue'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nclass WastegenChatAdmin extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ],\r\n showProgress: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"WastegenDashboard :componentDidMount\")\r\n getAdminUid().then(res => {\r\n console.log(res)\r\n this.setState({ adminInfo: res})\r\n })\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n chat(){\r\n if(this.props.userInfo && this.state.adminInfo){\r\n const currentUserInfo = this.props.userInfo.user_wasteTypes.find(\r\n item => item.wasteType === 1 ,\r\n )\r\n console.log(this.props)\r\n let roomId = `${currentUserInfo.uid}-${currentUserInfo.wasteType}-admin`\r\n console.log(roomId)\r\n console.log(this.state.adminInfo.uid)\r\n return (\r\n this.updateAdminBadge(e)}\r\n adminBadge={this.props.chatSingleBadge.admin}\r\n />\r\n );\r\n }else\r\n return this.showProgressSpinner()\r\n }\r\n updateAdminBadge(e){\r\n this.props.ChatServiceProps.updateReadAll(e.roomId,e.type,e.badges)\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat,\r\n chatSingleBadge: state.chatSingleBadge,\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenChatAdmin)","\r\n\r\nimport React, { useState } from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\n\r\n\r\nexport const ChatWastegenWhitU2View = ({ valueDd, listDd, onChangeDd, valueMessage, onChangeMessage, onSubmit, classNameRequired,\r\n valueMemberName, onChangeMemberName, onAddMember, customChipRemove, valueChips, valueProvince, provinceList, onChangedProvinceDb,\r\n valueDistrict, districtList, onChangedDistrictDb }) => {\r\n const handleEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n return onsubmit\r\n }\r\n }\r\n const showChatMassage = (\r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
      \r\n
    • \r\n \"Contact\r\n \"ยินดีให้บริการครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"ค่ะ ขอบคุณมากๆค่ะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"login เข้าสู่ระบบ ไปที่หน้า profile เลื่อนลงมาข้างล่างสุด จะเห็นข้อความเปลี่ยนรหัสผ่าน ให้เช็คถูก แล้วทำตามขั้นตอนได้เลยครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"จะเปลี่ยนรหัสผ่านได้ยังไงคะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"สวัสดีครับ จะสอบถามเรื่องอะไรครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"สวัสดีค่ะ มีเรื่องจะสอบถามหน่อยค่ะ\"\r\n
    • \r\n \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n \r\n )\r\n const header = (\r\n
    แชทกับผู้ส่ง
    \r\n )\r\n\r\n return (\r\n \r\n
    \r\n {/* ROW2 */}\r\n
    \r\n {showChatMassage}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\n\r\nimport { getBalance, getWastegenDashLastOrder, getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableGoodnessView } from '../data-table/DatatableGoodnessView';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatWastegenWhitU2View } from '../message/ChatWastegenWhitU2View';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WastegenChatWithU2 extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'ขวดพลาสติกใส', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ขวดแก้ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'อลูมิเนียม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กระดาษ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กล่องนม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ],\r\n selectedChat:'',\r\n }\r\n\r\n this.onClickRefresh = this.onClickRefresh.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WastegenDashboard :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e) => {\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n userAnnounce,\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n const citySelectItems = [\r\n { label: 'นาย อิศยา กาบนันทา', value: '1' },\r\n { label: 'eissaya U1', value: '2' },\r\n { label: 'usertran eisya', value: '3' },\r\n { label: 'ร้านมารวย', value: '4' },\r\n { label: 'นาย ประทีบ จันทรา', value: '5' },\r\n { label: 'นาย ประเทือง จันทรา', value: '6'},\r\n { label: 'นาย ประหยัด จันทรา', value: '7'},\r\n { label: 'นาย ประทุ จันทรา', value: '8'},\r\n { label: 'นาย ประปา จันทรา', value: '9'},\r\n { label: 'นาย ประวัติ จันทรา', value: '10'},\r\n { label: 'นาย ประจบ จันทรา', value: '11'},\r\n { label: 'นาย ประแจง จันทรา', value: '12'},\r\n { label: 'นาย ประนอม จันทรา', value: '13'},\r\n { label: 'นาย ประวรรณ จันทรา', value: '14'},\r\n ];\r\n\r\n \r\n const showChatTable = (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ selectedChat: e.value })}\r\n itemTemplate={this.carTemplate}\r\n style={{ width: '100%' }}\r\n listStyle={{ maxHeight: '450px' }} />\r\n
    \r\n )\r\n\r\n const chatWastegen = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastegen}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder: state.getWastegenDashLastOrder,\r\n getWastegenDashProduct: state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenChatWithU2)","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Redirect } from 'react-router';\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport { autoCompleteWastetran, autoCompleteProduct } from '../../service/autocomplete.service'\r\nimport { PrintDialogView } from '../dialog/PrintDialogView';\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass WastegenOrderList extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"WastegenOrderList :constructor\")\r\n super(props);\r\n this.state = {\r\n classNameRequired: {},\r\n showDialog: false,\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n orderNameList: null,\r\n statusValue: 1000,\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'แชทกับทีมขนส่ง', body: this.actionTemplate },\r\n { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการ', sortable: true },\r\n { field: 'col4', header: 'นัดรับเริ่ม', sortable: true },\r\n { field: 'col5', header: 'นัดรับสิ้นสุด', sortable: true },\r\n { field: 'col6', header: 'นัดส่ง', sortable: true },\r\n { field: 'col7', header: 'ปริมาณเก็บ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col8', header: 'ราคาประเมิน (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col9', header: 'ปริมาณรับซื้อ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col10', header: 'ราคารับซื้อ (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col11', header: 'ทีมขนส่ง', sortable: true },\r\n { field: 'col12', header: 'สถานะ', sortable: true },\r\n ],\r\n pageNumber: 0,\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSuggestorderNames = this.onSuggestorderNames.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WastegenOrderList :componentDidMount\")\r\n let criteria = {order_status: this.state.statusValue};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenOrderList :componentWillReceiveProps\")\r\n if (nextProps.autoCompleteProduct && !nextProps.autoCompleteProduct.isLoading && !nextProps.autoCompleteProduct.isFailed) {\r\n if (nextProps.autoCompleteProduct.data) {\r\n this.setState({ orderNameList: nextProps.autoCompleteProduct.data })\r\n }\r\n }\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenOrderList :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenOrderList :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(orderAutoComplete(nextState.order_id));\r\n }\r\n if (nextState.order_name != this.state.order_name) {\r\n nextProps.dispatch(autoCompleteProduct(nextState.order_name));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteWastetran(nextState.collector_name));\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenOrderList :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let search = true;\r\n let criteria = {};\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n if (this.state.orderNameList instanceof Array) {\r\n var tmpCode = this.state.orderNameList.filter((rs) => {\r\n return rs.product_name.indexOf(this.state.order_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.product_code = tmpCode[0].product_code\r\n }\r\n }\r\n }\r\n if (this.state.statusValue || this.state.statusValue == 0) {\r\n criteria.order_status = this.state.statusValue\r\n }\r\n if (this.state.pickupDate) {\r\n var date = new Date(this.state.pickupDate.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_start = date.toISOString();\r\n if (!this.state.pickupDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.pickupDateTo) {\r\n var date = new Date(this.state.pickupDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_end = date.toISOString();\r\n if (!this.state.pickupDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDate) {\r\n var date = new Date(this.state.appointmentDate.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_start = date.toISOString()\r\n if (!this.state.appointmentDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDateTo) {\r\n var date = new Date(this.state.appointmentDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_end = date.toISOString()\r\n if (!this.state.appointmentDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.collector_name) {\r\n var tmpCode = this.props.autoCompleteWastetran.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.collector_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user2_search_name = tmpCode[0].uid\r\n }\r\n }\r\n console.log(criteria)\r\n if (search) {\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n } else {\r\n this.showWarn(\"ไม่สามารถค้นหา กรุณาตรวจสอบ\");\r\n }\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n this.setState({ order_name: null });\r\n this.setState({ statusValue: 1000 });\r\n this.setState({ pickupDate: null });\r\n this.setState({ pickupDateTo: null });\r\n this.setState({ appointmentDate: null });\r\n this.setState({ appointmentDateTo: null });\r\n this.setState({ collector_name: null });\r\n\r\n let criteria = {order_status: 1000};\r\n this.props.dispatch(orderSearch(\"wastegen\", criteria));\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.orderAutoComplete\r\n && this.props.orderAutoComplete.data\r\n && !this.props.orderAutoComplete.isLoading\r\n ) {\r\n // let results = this.props.orderAutoComplete.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.orderAutoComplete.data });\r\n }\r\n }\r\n onSuggestorderNames = (e) => {\r\n\r\n if (this.props.autoCompleteProduct\r\n && this.props.autoCompleteProduct.data\r\n && !this.props.autoCompleteProduct.isLoading\r\n ) {\r\n // this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data });\r\n\r\n this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data.suggest });\r\n }\r\n\r\n }\r\n onSuggestCollectionNames = (e) => {\r\n\r\n if (this.props.autoCompleteWastetran\r\n && this.props.autoCompleteWastetran.data\r\n && !this.props.autoCompleteWastetran.isLoading\r\n ) {\r\n\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteWastetran.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData.col99);\r\n return (rowData.col11 === 'รอทีมขนส่ง' && \r\n
    \r\n window.open('/#/report-u1?order_code='+rowData.col2, \"_blank\")}\r\n onClick={()=>this.openChat('tran',rowData.col99)}\r\n style={{ marginRight: '.5em' }}>\r\n
    );\r\n }\r\n\r\n openChat = (type,rowData) => {\r\n if(type === 'tran'){\r\n this.setState({redirectToChatU2: true});\r\n this.setState({orderData: rowData});\r\n }\r\n }\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n handleOnChat = (otherWasteType, path, userWasteType) => {\r\n console.log(this.state.orderData)\r\n let roomType = ''\r\n let senderId = ''\r\n let receiverId = ''\r\n let senderNumberType = ''\r\n let receiverImage = ''\r\n let header = ''\r\n if (userWasteType === 'wastegen' && otherWasteType === 'wastetran') {\r\n roomType = 'pickup'\r\n senderId = this.state.orderData.u1_uid\r\n receiverId = this.state.orderData.u2_uid\r\n receiverImage = this.state.orderData.u2_img\r\n senderNumberType = '1'\r\n header = 'แชทกับทีมขนส่ง'\r\n } else if (userWasteType === 'wastetran' && otherWasteType === 'wastegen') {\r\n roomType = 'pickup'\r\n senderId = this.state.orderData.u2_uid\r\n receiverId = this.state.orderData.u1_uid\r\n receiverImage = this.state.orderData.u1_img\r\n senderNumberType = '2'\r\n header = 'แชทกับผู้รักษ์โลก'\r\n } else if (userWasteType === 'wastetran' && otherWasteType === 'wastepro') {\r\n roomType = 'delivery'\r\n senderId = this.state.orderData.u2_uid\r\n receiverId = this.state.orderData.u3_uid\r\n receiverImage = this.state.orderData.u3_img\r\n senderNumberType = '2'\r\n header = 'แชทกับศูนย์จัดการฯซีซาเล้ง'\r\n } else if (userWasteType === 'wastepro' && otherWasteType === 'wastetran') {\r\n roomType = 'delivery'\r\n senderId = this.state.orderData.u3_uid\r\n receiverId = this.state.orderData.u2_uid\r\n receiverImage = this.state.orderData.u2_img\r\n senderNumberType = '3'\r\n header = 'แชทกับทีมขนส่ง'\r\n }\r\n const roomId = `${this.state.orderData.order_code}-${roomType}`\r\n return \r\n }\r\n\r\n render() {\r\n console.log(\"WastegenOrderList :render\")\r\n if (this.state.redirectToChatU2) {\r\n return this.handleOnChat(\r\n \"wastetran\", //other type name\r\n \"/wastegen/chat\", // path\r\n \"wastegen\" //sender type name\r\n );\r\n }\r\n\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.pickup_start_date),\r\n \"col5\": dateFormat(entity.pickup_end_date),\r\n \"col6\": dateFormat(entity.delivery_date),\r\n \"col7\": entityDetail.pickup_quantity_kk,\r\n \"col8\": entityDetail.estimate_price_per_unit,\r\n \"col9\": entityDetail.delivery_quantity_kk,\r\n \"col10\": entityDetail.price_per_unit,\r\n \"col11\": entity.u2_fullname,\r\n \"col12\": entity.order_status_name,\r\n \"col99\": entity\r\n }\r\n data.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    รายการขาย

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n this.setState({ showDialog: false })}\r\n showDialog={this.state.showDialog}\r\n />\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderAutoComplete: state.orderAutoComplete,\r\n orderSearch: state.orderSearch,\r\n autoCompleteProduct: state.autoCompleteProduct,\r\n autoCompleteWastetran: state.autoCompleteWastetran\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastegenOrderList)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\n\r\nimport { addCommaAndDotFromNumberOrStr } from '../../utils/utilFunctions'\r\nimport { Message } from 'primereact/message';\r\n\r\nclass DonateHeaderView extends Component {\r\n\r\n static defaultProps = {\r\n input_amount:null,\r\n input_amount_required:{\r\n valid:true,\r\n className:'',\r\n message:''\r\n },\r\n bank_withdraw_code:null,\r\n bank_withdraw_code_required:{\r\n valid:true,\r\n className:'',\r\n message:''\r\n },\r\n withdrawAmount: 0,\r\n unApproveAmount: 0,\r\n title: \"ยอดที่บริจาคได้\",\r\n onChangeInputText: null,\r\n onClickNotiMoney: null,\r\n }\r\n\r\n static propTypes = {\r\n input_amount:PropTypes.number,\r\n input_amount_required:PropTypes.func,\r\n bank_withdraw_code:PropTypes.number,\r\n bank_withdraw_code_required:PropTypes.func,\r\n withdrawAmount: PropTypes.number,\r\n unApproveAmount: PropTypes.number,\r\n title: PropTypes.string,\r\n\r\n onChangeInputText: PropTypes.func,\r\n onClickNotiMoney: PropTypes.func,\r\n }\r\n\r\n //> Event\r\n handlePositiveNumber = (e) => {\r\n const {maxLength,value} = e.target\r\n let numVal = Number(value).toFixed(0);\r\n console.log(\"maxLength \",maxLength,\" ,value.length \",numVal.length)\r\n if(maxLength && maxLength>0){\r\n if(maxLength<=numVal.length){\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n const characterCode = e.key\r\n if (characterCode === 'Backspace') return\r\n\r\n const characterNumber = characterCode=='.'?0:Number(characterCode).toFixed(0)\r\n console.info(characterNumber)\r\n if (characterNumber >= 0 && characterNumber <= 9) {\r\n if (e.currentTarget.value && e.currentTarget.value.length) {\r\n return\r\n } else if (characterNumber === 0) {\r\n // e.preventDefault()\r\n }\r\n } else {\r\n e.preventDefault()\r\n }\r\n }\r\n onChangeInputText = (e) => {\r\n this.props.onChangeInputText(e);\r\n }\r\n onClickNotiMoney = (e) => {\r\n this.props.onClickNotiMoney(e)\r\n }\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastetran = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastepro = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const {\r\n mode,\r\n classNameRequired\r\n } = this.props\r\n\r\n console.log(\"DonateHeaderView :render\", classNameRequired)\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {this.props.title}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n {/*
    \r\n ยอดเงินเบิกที่ยังไม่อนุมัติ บาท\r\n
    */}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {!this.props.input_amount_required.valid&&\r\n \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {!this.props.bank_withdraw_code_required.valid&&\r\n \r\n }\r\n
    \r\n \r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n {renderMode}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps)(DonateHeaderView)\r\n","import React, { Component } from \"react\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { connect } from \"react-redux\";\r\nimport { Button } from \"primereact/button\";\r\nimport DonateHeaderView from \"../donate/DonateHeaderView\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { Validators } from \"../../utils\";\r\n\r\nimport {\r\n getBalance,\r\n getWithdrawHistory,\r\n saveWithdrawal,\r\n getWastegenDonate,\r\n wastegenTransferDonate,\r\n} from \"../../service/wastegen.service\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\nclass WastegenDonate extends Component {\r\n constructor(props) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :constructor\");\r\n super(props);\r\n this.state = {\r\n //save\r\n isSave: false,\r\n //Validate require\r\n isValidateError: false,\r\n classNameRequired: {},\r\n\r\n //DonateHeaderView\r\n withdrawAmount: 0,\r\n unApproveAmount: 0,\r\n input_amount: null,\r\n input_amount_required: {\r\n valid: true,\r\n className: \"\",\r\n message: \"\",\r\n },\r\n bank_withdraw_code: null,\r\n bank_withdraw_code_required: {\r\n valid: true,\r\n className: \"\",\r\n message: \"\",\r\n },\r\n data: [],\r\n visible: true,\r\n displayConfirmation: false,\r\n titleDialog: \"\",\r\n };\r\n\r\n this.validateRequired = {};\r\n\r\n //Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //Event : withdraw\r\n this.onClickNotiMoney = this.onClickNotiMoney.bind(this);\r\n\r\n this.showDialogDonate = this.showDialogDonate.bind(this);\r\n this.onHide = this.onHide.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentDidMount\");\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n this.props.dispatch(getWastegenDonate());\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentWillReceiveProps\");\r\n if (this.state.isSave) {\r\n if (!nextProps.wastegenWithdraw.isLoading) {\r\n if (!nextProps.wastegenWithdraw.isFailed) {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n this.props.dispatch(getWastegenDonate());\r\n this.setState({ isSave: false });\r\n this._validateRequired(\"bank_withdraw_code_required\", true);\r\n this.setState({ input_amount: \"\" });\r\n this.setState({ bank_withdraw_code: \"\" });\r\n }\r\n if (nextProps.wastegenWithdraw.isFailed) {\r\n this.showError(nextProps.wastegenWithdraw.data);\r\n this._validateRequired(\r\n \"bank_withdraw_code_required\",\r\n false,\r\n nextProps.wastegenWithdraw.data\r\n );\r\n this.setState({ isSave: false });\r\n }\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :shouldComponentUpdate\");\r\n return true;\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastegenWithdrawCtrl :componentWillUpdate\");\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\r\n \"ExampleWastegenWithdrawCtrl :componentDidUpdate\",\r\n this.state,\r\n \" ,\",\r\n prevState\r\n );\r\n\r\n if(this.props.wastegenTransfer.data == 'รหัสถอนเงินไม่ถูกต้อง' && !this.props.wastegenTransfer.isLoading){\r\n this.showWarn('รหัสถอนเงินไม่ถูกต้อง')\r\n this.props.dispatch({ type: 'WASTEGEN_TRANSFER_DONATE_REQUEST', payload: true })\r\n }\r\n\r\n if(this.props.wastegenTransfer.data == 'เกิดข้อผิดพลาด ไม่สามารถถอดเงินได้' && !this.props.wastegenTransfer.isLoading){\r\n this.showWarn('เกิดข้อผิดพลาด ไม่สามารถถอดเงินได้')\r\n this.props.dispatch({ type: 'WASTETRAN_TRANSFER_DONATE_REQUEST', payload: true })\r\n }\r\n \r\n if(this.props.wastegenTransfer.data === true && !this.props.wastegenTransfer.isLoading){\r\n this.showSuccess()\r\n this.props.dispatch({ type: 'WASTEGEN_TRANSFER_DONATE_REQUEST', payload: true })\r\n }\r\n\r\n if (prevProps.wastegenBalance.data != this.props.wastegenBalance.data) {\r\n if (\r\n this.props.wastegenBalance.data &&\r\n this.props.wastegenBalance.data.outstanding_balance_thb\r\n ) {\r\n this.setState({\r\n withdrawAmount: this.props.wastegenBalance.data.outstanding_balance_thb.toFixed(\r\n 2\r\n ),\r\n });\r\n this.setState({\r\n unApproveAmount: this.props.wastegenBalance.data.withdraw_balance_thb.toFixed(\r\n 2\r\n ),\r\n });\r\n }\r\n console.log(`print state ${this.state}`);\r\n }\r\n }\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key];\r\n this.setState({ [key]: val });\r\n }\r\n }\r\n };\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n };\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target;\r\n this.setState({ [name]: value });\r\n if (required) {\r\n let classNamed = [name] + \"_required\";\r\n if ([name] == \"input_amount\") {\r\n if (Number(value) > Number(this.state.withdrawAmount)) {\r\n this._validateRequired(\r\n classNamed,\r\n false,\r\n \"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\"\r\n );\r\n } else {\r\n this._validateRequired(classNamed, true);\r\n }\r\n if (Validators.isEmpty(this.state.bank_withdraw_code)) {\r\n this._validateRequired(\r\n \"bank_withdraw_code_required\",\r\n false,\r\n \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\"\r\n );\r\n } else {\r\n this._validateRequired(\"bank_withdraw_code_required\", true);\r\n }\r\n }\r\n if ([name] == \"bank_withdraw_code\") {\r\n if (Validators.isEmpty(value)) {\r\n this._validateRequired(\r\n classNamed,\r\n false,\r\n \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\"\r\n );\r\n } else {\r\n this._validateRequired(classNamed, true);\r\n }\r\n }\r\n }\r\n };\r\n onClickNotiMoney = (e) => {\r\n const { input_amount, withdrawAmount, bank_withdraw_code } = this.state;\r\n if (\r\n parseFloat(input_amount) &&\r\n parseFloat(input_amount) > 0 &&\r\n Validators.isNotEmpty(this.state.bank_withdraw_code)\r\n ) {\r\n if (parseFloat(input_amount) > parseFloat(withdrawAmount)) {\r\n this.showWarn(\"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\");\r\n this._classNameRequiredIsError(\"input_amount_required\", true);\r\n } else {\r\n this.setState({ isSave: true });\r\n this.onHide(\"displayConfirmation\");\r\n\r\n var donateData = {\r\n waste_uid: this.props.userInfo.uid,\r\n withdrawal_thb: parseFloat(input_amount),\r\n bank_withdraw_code: this.state.bank_withdraw_code,\r\n wasteType: 1,\r\n org_uid: this.state.orgSelection,\r\n };\r\n\r\n console.log(donateData);\r\n\r\n this.props.dispatch(wastegenTransferDonate(donateData))\r\n }\r\n } else {\r\n this.showWarn(\"ไม่สามารถทำรายการได้ กรุณาตรวจสอบ\");\r\n if (Validators.isEmpty(this.state.input_amount)) {\r\n this._validateRequired(\r\n \"input_amount_required\",\r\n false,\r\n \"กรุณาระบุยอดเงินที่ต้องการถอน\"\r\n );\r\n }\r\n if (Validators.isEmpty(this.state.bank_withdraw_code)) {\r\n this._validateRequired(\r\n \"bank_withdraw_code_required\",\r\n false,\r\n \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n if (nextState.input_amount) {\r\n let classNamed = \"input_amount_required\";\r\n if (Number(nextState.input_amount) > Number(this.state.withdrawAmount)) {\r\n this._validateRequired(\r\n classNamed,\r\n false,\r\n \"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\"\r\n );\r\n } else {\r\n this._validateRequired(classNamed, true);\r\n }\r\n }\r\n };\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n };\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState((pv) => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired,\r\n [classNamed]: \"p-error\",\r\n },\r\n }));\r\n } else {\r\n this.setState((pv) => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired,\r\n [classNamed]: null,\r\n },\r\n }));\r\n }\r\n }\r\n };\r\n _validateRequired = (className, valid, message) => {\r\n message = message || \"\";\r\n this.setState({\r\n [className]: {\r\n valid: valid,\r\n className: valid ? \"\" : \"p-error\",\r\n message: message,\r\n },\r\n });\r\n };\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showError = (message) => {\r\n this.growl.show({\r\n severity: \"error\",\r\n summary: \"คำเตือน\",\r\n detail: message ? message : \"เกิดข้อผิดพลาด\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"คำเตือน\",\r\n detail: message\r\n ? message\r\n : \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\",\r\n });\r\n };\r\n\r\n showDialogDonate(name, e) {\r\n let state = {\r\n [`${name}`]: true,\r\n };\r\n\r\n if (e) {\r\n state = {\r\n ...state,\r\n e,\r\n };\r\n }\r\n this.setState({ orgSelection: e.uid });\r\n this.setState(state);\r\n }\r\n\r\n onHide(name) {\r\n this.setState({\r\n [`${name}`]: false,\r\n });\r\n }\r\n\r\n renderFooter = (name) => {\r\n return
    ;\r\n };\r\n\r\n onopenContectDetail(e) {\r\n console.log(e);\r\n this.onHide(\"displayConfirmation\");\r\n this.setState({\r\n contactDetailBodyDialog: true,\r\n orgSelected: Object.assign({}, e),\r\n });\r\n }\r\n onopenAddressDetail(e) {\r\n console.log(e);\r\n this.onHide(\"displayConfirmation\");\r\n this.setState({\r\n addressDetailBodyDialog: true,\r\n orgSelected: Object.assign({}, e),\r\n });\r\n }\r\n\r\n openContectDetail(rowData, column) {\r\n return (\r\n
    \r\n this.onopenContectDetail(column.rowData)}\r\n icon=\"fa fa-address-book\"\r\n label=\"\"\r\n className=\"p-button-outlined\"\r\n />\r\n
    \r\n );\r\n }\r\n openAddressDetail(rowData, column) {\r\n return (\r\n
    \r\n this.onopenAddressDetail(column.rowData)}\r\n icon=\"fa fa-map-marker\"\r\n label=\"\"\r\n className=\"p-button\"\r\n />\r\n
    \r\n );\r\n }\r\n openDonateDialog(rowData, column) {\r\n return (\r\n
    \r\n this.showDialogDonate('displayConfirmation',rowData)}\r\n label=\"บริจาค\"\r\n />\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastegenWithdrawCtrl :render\", this.state);\r\n let itemOrg = [];\r\n if (this.props.wastegenDonate && !this.props.wastegenDonate.isLoading) {\r\n if (!this.props.wastegenDonate.isFailed) {\r\n for (let key in this.props.wastegenDonate.data) {\r\n let entity = this.props.wastegenDonate.data[key];\r\n let tmpData = {\r\n org_name: entity.org_name,\r\n bank_account_name: entity.bank_account_name,\r\n bank_account_no: entity.bank_account_no,\r\n bank_name: entity.bank_name,\r\n contract_detail: \"\",\r\n addr_current_detail: \"\",\r\n uid: entity.uid,\r\n telephone_no1: entity.telephone_no1,\r\n telephone_no2: entity.telephone_no2,\r\n email: entity.email,\r\n addr_current_province_name: entity.addr_current_province_name,\r\n add_current_district_name: entity.add_current_district_name,\r\n addr_current_subdistrict_name: entity.addr_current_subdistrict_name,\r\n addr_current_detail: entity.addr_current_detail,\r\n };\r\n itemOrg.push(tmpData);\r\n }\r\n }\r\n }\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n

    บริจาค

    \r\n
    \r\n
    \r\n \r\n \r\n this.onClick(\"displayConfirmation\", e)\r\n }\r\n dataKey=\"id\"\r\n responsive={true}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n this.onClick(\"displayConfirmation\", e)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n this.onHide(\"displayConfirmation\")}\r\n >\r\n
    \r\n \r\n
    \r\n \r\n\r\n this.setState({ contactDetailBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.orgSelected && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.telephone_no1}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.telephone_no2}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.email}\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n this.setState({ addressDetailBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.orgSelected && (\r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.location_name}\r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.addr_current_province_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.add_current_district_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.addr_current_subdistrict_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.addr_current_detail}\r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder: state.getWastegenDashLastOrder,\r\n getWastegenDashProduct: state.getWastegenDashProduct,\r\n wastegenBalance: state.wastegenBalance,\r\n wastegenWithdraw: state.wastegenWithdraw,\r\n wastegenWithdrawHistory: state.wastegenWithdrawHistory,\r\n wastegenDonate: state.wastegenDonate,\r\n wastegenTransfer: state.wastegenTransfer,\r\n userInfo: state.userInfo.data,\r\n});\r\nexport default connect(mapStateToProps)(WastegenDonate);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Button } from \"primereact/button\";\r\nimport { InputText } from \"primereact/components/inputtext/InputText\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport moment from 'moment'\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { getWastegenDonateHistory } from \"../../service/wastegen.service\";\r\n\r\nclass WastegenDonateHistory extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.dispatch(getWastegenDonateHistory());\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showError = (message) => {\r\n this.growl.show({\r\n severity: \"error\",\r\n summary: \"คำเตือน\",\r\n detail: message ? message : \"เกิดข้อผิดพลาด\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"คำเตือน\",\r\n detail: message\r\n ? message\r\n : \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\",\r\n });\r\n };\r\n\r\n showSearchPanel() {\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let showSearchPanel = this.showSearchPanel();\r\n let itemHistory = [];\r\n if (\r\n this.props.wastegenDonateHistory &&\r\n !this.props.wastegenDonateHistory.isLoading\r\n ) {\r\n if (!this.props.wastegenDonateHistory.isFailed) {\r\n for (let key in this.props.wastegenDonateHistory.data) {\r\n let entity = this.props.wastegenDonateHistory.data[key];\r\n let tmpData = {\r\n gid: entity.gid,\r\n waste_type: entity.wasteType,\r\n waste_uid: entity.waste_uid,\r\n waste_name: entity.waste_name,\r\n bank_name: entity.bank_name,\r\n bank_code: entity.bank_code,\r\n bank_account_no: entity.bank_account_no,\r\n bank_account_name: entity.bank_account_name,\r\n bank_promptpay: entity.bank_promptpay,\r\n donate_thb: entity.donate_thb,\r\n transaction_img: entity.transaction_img,\r\n approver_date: entity.approver_date,\r\n requested_date: moment(entity.requested_date).format(\"DD/MM/YYYY\"),\r\n approver_uid: entity.approver_uid,\r\n };\r\n itemHistory.push(tmpData);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n {/* {showSearchPanel} */}\r\n

    ประวัติการบริจาค

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    )}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenDonateHistory: state.wastegenDonateHistory,\r\n});\r\n\r\nexport default connect(mapStateToProps)(WastegenDonateHistory);\r\n","import axios from 'axios'\r\nimport { API_ROOT } from '../../constants/api'\r\nimport {\r\n\r\n} from '../../service/actionType'\r\n\r\nexport const getBadgeAdmin = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnread/admin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {})\r\n}\r\n\r\nexport const getBadgePickup = room_id => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const getBadgeDelivery = room_id => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const wastegenRegisWastetran = () => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastegen/register/wastetran`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then((res) => {\r\n return res\r\n }).catch((error) => {\r\n return error\r\n })\r\n}\r\n\r\n\r\n \r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport classNames from 'classnames';\r\nimport { AppTopbar } from './../AppTopbar';\r\nimport { AppFooter } from './../AppFooter';\r\nimport { AppMenu } from './../AppMenu';\r\nimport { Route } from 'react-router-dom';\r\nimport { Dashboard } from '../demo/Dashboard';\r\nimport { ScrollPanel } from 'primereact/components/scrollpanel/ScrollPanel';\r\nimport 'primereact/resources/primereact.min.css';\r\n// import 'fullcalendar/dist/fullcalendar.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\nimport style from './style.css';\r\n\r\n\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as ChatService from '../../service/ChatService'\r\nimport { addNewChatMessage } from '../../service/ChatService'\r\nimport { get } from 'https';\r\nimport { AppInlineProfile } from '../AppInlineProfile';\r\nimport { WastegenProfile } from './WastegenProfile';\r\nimport { WastegenWithdraw } from './WastegenWithdraw';\r\nimport { WastgenReportsBuying } from './WastgenReportsBuying';\r\nimport { WastegenReportsAmount } from './WastegenReportsAmount';\r\nimport { WastgenInlineProfile, WastegenInlineProfile } from './WastegenInlineProfile';\r\nimport PropsRoute from '../../PropsRoute';\r\nimport ExampleChangePasswordCtrl from './ExampleChangePasswordCtrl';\r\nimport ExampleWastegenProfileCtrl from './ExampleWastegenProfileCtrl';\r\nimport ExampleWastegenChangePassword from './ExampleWastegenChangePassword';\r\nimport ExampleWastegenWithdrawCtrl from './ExampleWastegenWithdrawCtrl';\r\nimport ExampleWastegenReportBuyingCtrl from './ExampleWastegenReportBuyingCtrl';\r\nimport ExampleWastegenReportAmountCtrl from './ExampleWastegenReportAmountCtrl';\r\nimport WastegenDashboard from './WastegenDashboard';\r\nimport WastegenGoodness from './WastegenGoodness';\r\nimport WastegenCertificate from './WastegenCertificate';\r\nimport WastegenChatMassage from './WastegenChatMassage';\r\nimport WastegenContact from './WastegenContact';\r\nimport ExampleWastegenChangePin from './ExampleWastegenChangePin';\r\nimport WastegenChatView from './WastegenChatView';\r\nimport WastegenChatAdmin from './WastegenChatAdmin';\r\nimport WastegenChatWithU2 from './WastegenChatWithU2';\r\nimport WastegenNewsDetail from './WastegenNewsDetail';\r\nimport WastegenOrderList from './WastegenOrderList';\r\nimport {\r\n connectWebsocket,\r\n implementWebsocket,\r\n closeWebsocket,\r\n navigateToAdminChatScene,\r\n navigateToUserChatScene,\r\n sendMessage\r\n } from '../../utils/chat'\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nimport WastegenDonate from './WastegenDonate';\r\nimport WastegenDonateHistory from './WastegenDonateHistory';\r\nimport { getBadgeAdmin } from './service'\r\nimport {Dialog} from 'primereact/dialog';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport * as ServiceAPI from './service';\r\n\r\nclass WastegenContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n componentDidMount() {\r\n const { locationServiceProps, masterServiceProps, userServiceProps, ChatServiceProps } = this.props\r\n locationServiceProps.getProvice();\r\n userServiceProps.getUserInfo();\r\n masterServiceProps.getBanks()\r\n ChatServiceProps.getBadgeAdmin();\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenContainer :componentWillReceiveProps\")\r\n if (\r\n nextProps.userInfo\r\n && !nextProps.locationMaster.isFetching\r\n && this.tickerLoad\r\n ) {\r\n if (nextProps.userInfo.addr_current_province_code) {\r\n this.props.locationServiceProps.getDistrict(nextProps.userInfo.addr_current_province_code);\r\n }\r\n if (nextProps.userInfo.addr_current_district_code) {\r\n this.props.locationServiceProps.getSubDistrict(nextProps.userInfo.addr_current_district_code);\r\n }\r\n if(nextProps.userInfo){\r\n const currentUserInfo = nextProps.userInfo.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE['wastegen'],\r\n )\r\n console.log(currentUserInfo)\r\n if(currentUserInfo.profileStatusCode != 99) this.setState({userNotCompleteDialog: true})\r\n }\r\n this.tickerLoad = false;\r\n if (nextProps.userInfo){\r\n this.manageChatWebsocket(nextProps.userInfo,'wastegen')\r\n }else {\r\n closeWebsocket()\r\n }\r\n }\r\n if(!nextProps.chatSingleBadge.isLoading){\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(nextProps.userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n \r\n }\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.tickerLoad = true;\r\n this.state = {\r\n layoutMode: 'static',\r\n profileMode: 'inline',\r\n layoutCompact: true,\r\n overlayMenuActive: false,\r\n staticMenuDesktopInactive: false,\r\n staticMenuMobileActive: false,\r\n rotateMenuButton: false,\r\n topbarMenuActive: false,\r\n activeTopbarItem: null,\r\n darkMenu: false,\r\n menuActive: false,\r\n theme: 'green',\r\n layout: 'green',\r\n version: 'v3',\r\n displayDialog: false,\r\n userNotCompleteDialog: false\r\n };\r\n\r\n this.onDocumentClick = this.onDocumentClick.bind(this);\r\n this.onMenuClick = this.onMenuClick.bind(this);\r\n this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\r\n this.onTopbarMenuButtonClick = this.onTopbarMenuButtonClick.bind(this);\r\n this.onTopbarItemClick = this.onTopbarItemClick.bind(this);\r\n this.onMenuItemClick = this.onMenuItemClick.bind(this);\r\n this.onRootMenuItemClick = this.onRootMenuItemClick.bind(this);\r\n this.createMenu();\r\n }\r\n\r\n manageChatWebsocket = (userInfo, userWasteType) => {\r\n const currentUserInfo = userInfo.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE[userWasteType],\r\n )\r\n const senderId = currentUserInfo.uid\r\n const senderType = currentUserInfo.wasteType\r\n const onMessage = (message, currentRouteName) => {\r\n addNewChatMessage(message)\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n // if (currentRouteName === 'ChatScene') {\r\n // addNewChatMessage(message)\r\n // } else {\r\n // console.log('fadeInMessageBanner(message)')\r\n // //fadeInMessageBanner(message)\r\n // }\r\n }\r\n connectWebsocket(senderId, senderType)\r\n implementWebsocket(onMessage)\r\n }\r\n \r\n onMenuClick(event) {\r\n this.menuClick = true;\r\n }\r\n\r\n onMenuButtonClick(event) {\r\n this.menuClick = true;\r\n this.setState(({\r\n rotateMenuButton: !this.state.rotateMenuButton,\r\n topbarMenuActive: false\r\n }));\r\n\r\n if (this.state.layoutMode === 'overlay') {\r\n this.setState({\r\n overlayMenuActive: !this.state.overlayMenuActive\r\n });\r\n }\r\n else {\r\n if (this.isDesktop())\r\n this.setState({ staticMenuDesktopInactive: !this.state.staticMenuDesktopInactive });\r\n else\r\n this.setState({ staticMenuMobileActive: !this.state.staticMenuMobileActive });\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarMenuButtonClick(event) {\r\n this.topbarItemClick = true;\r\n this.setState({ topbarMenuActive: !this.state.topbarMenuActive });\r\n this.hideOverlayMenu();\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarItemClick(event) {\r\n this.topbarItemClick = true;\r\n\r\n if (this.state.activeTopbarItem === event.item)\r\n this.setState({ activeTopbarItem: null });\r\n else\r\n this.setState({ activeTopbarItem: event.item });\r\n\r\n event.originalEvent.preventDefault();\r\n }\r\n\r\n onMenuItemClick(event) {\r\n if (!event.item.items) {\r\n this.hideOverlayMenu();\r\n }\r\n if (!event.item.items && this.isHorizontal()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n }\r\n\r\n onRootMenuItemClick(event) {\r\n this.setState({\r\n menuActive: !this.state.menuActive\r\n });\r\n }\r\n\r\n onDocumentClick(event) {\r\n if (!this.topbarItemClick) {\r\n this.setState({\r\n activeTopbarItem: null,\r\n topbarMenuActive: false\r\n });\r\n }\r\n\r\n if (!this.menuClick) {\r\n if (this.isHorizontal() || this.isSlim()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n\r\n this.hideOverlayMenu();\r\n }\r\n\r\n if (!this.rightPanelClick) {\r\n this.setState({\r\n rightPanelActive: false\r\n })\r\n }\r\n\r\n this.topbarItemClick = false;\r\n this.menuClick = false;\r\n this.rightPanelClick = false;\r\n }\r\n\r\n hideOverlayMenu() {\r\n this.setState({\r\n rotateMenuButton: false,\r\n overlayMenuActive: false,\r\n staticMenuMobileActive: false\r\n })\r\n }\r\n\r\n isTablet() {\r\n let width = window.innerWidth;\r\n return width <= 1024 && width > 640;\r\n }\r\n\r\n isDesktop() {\r\n return window.innerWidth > 1024;\r\n }\r\n\r\n isMobile() {\r\n return window.innerWidth <= 640;\r\n }\r\n\r\n isOverlay() {\r\n return this.state.layoutMode === 'overlay';\r\n }\r\n\r\n isHorizontal() {\r\n return this.state.layoutMode === 'horizontal';\r\n }\r\n\r\n isSlim() {\r\n return this.state.layoutMode === 'slim';\r\n }\r\n\r\n changeTheme(theme) {\r\n this.setState({ theme: theme });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('theme-css', theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('theme-css', theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeLayout(layout, special) {\r\n this.setState({ layout: layout });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', layout, 'layout');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', layout + '-v4', 'layout');\r\n }\r\n\r\n if (special) {\r\n this.setState({\r\n darkMenu: true\r\n })\r\n }\r\n }\r\n\r\n changeVersion(version) {\r\n this.setState({ version: version });\r\n if (version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout, 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout + '-v4', 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeStyleSheetUrl(id, value, prefix) {\r\n let element = document.getElementById(id);\r\n let urlTokens = element.getAttribute('href').split('/');\r\n urlTokens[urlTokens.length - 1] = prefix + '-' + value + '.css';\r\n let newURL = urlTokens.join('/');\r\n element.setAttribute('href', newURL);\r\n }\r\n\r\n createMenu(userInfo,badges) {\r\n if (userInfo) {\r\n this.menu = [\r\n { label: 'Dashboard', icon: 'fa fa-fw fa-home', to: '/wastegen' },\r\n { label: 'แชทกับแอดมิน', icon: 'fa fa-comments', to: '/wastegen/admin-chat', badge: badges || null },\r\n //{ label: 'ChatWhitU2', icon: 'fa fa-comments', to: '/wastegen/chat' },\r\n { label: 'แจ้งถอนเงิน', icon: 'fa fa-fw fa-gg', to: '/wastegen/withdraw' },\r\n { label: 'บริจาค', icon: 'fa fa-fw fa-money', to: '/wastegen/donate' },\r\n { label: 'ประวัติการบริจาค', icon: 'fa fa-fw fa-history', to: '/wastegen/donate-history' },\r\n //{ label: 'ค่าความดี', icon: 'fa fa-star-half-o', to: '/wastegen/Goodness' },\r\n { label: 'รายการขาย', icon: 'fa fa-fw fa-circle', to: '/wastegen/order-list' },\r\n { label: 'รายงานการขาย', icon: 'fa fa-fw fa-credit-card', to: '/wastegen/reports-buying' },\r\n { label: 'ใบราคา', icon: 'fa fa-fw fa-credit-card', to: '/wastegen/reports-amount' },\r\n { label: 'ใบรับรอง/เหรียญ', icon: 'fa fa-fw fa-certificate', to: '/wastegen/certificate' },\r\n \r\n //{ label: 'ข้อมูลการติดต่อ C3Leng', icon: 'fa fa-address-card-o', to: '/wastegen/wastegen-contact' },\r\n //{ label: 'ใบรับรอง/เหรียญ', icon: 'fa fa-trophy', to: '/wastegen/certificate' },\r\n\r\n // {\r\n // label: 'Settings', icon: 'fa fa-fw fa-bars',\r\n // items: [\r\n // { label: 'Static Menu', icon: 'fa fa-fw fa-bars', command: () => this.setState({ layoutMode: 'static' }) },\r\n // { label: 'Inline Profile', icon: 'fa fa-sun-o fa-fw', command: () => this.setState({ profileMode: 'inline' }) },\r\n // { label: 'Top Profile', icon: 'fa fa-moon-o fa-fw', command: () => this.setState({ profileMode: 'top' }) },\r\n // { label: 'Light Menu', icon: 'fa fa-sun-o fa-fw', command: () => this.setState({ darkMenu: false }) },\r\n // { label: 'Dark Menu', icon: 'fa fa-moon-o fa-fw', command: () => this.setState({ darkMenu: true }) }\r\n // ]\r\n // }\r\n ];\r\n }\r\n }\r\n\r\n redirectProfile = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastegen/profile';\r\n event.preventDefault();\r\n this.setState({userNotCompleteDialog: false})\r\n }\r\n redirectRegisTran = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n ServiceAPI.wastegenRegisWastetran().then(res => {\r\n if(res.status == 200){\r\n localStorage.setItem('user-type', 'wastetran');\r\n window.location = '#/wastetran/profile';\r\n event.preventDefault();\r\n }\r\n this.setState({displayDialog: false})\r\n })\r\n \r\n }\r\n onRegisTranClick = (event) => {\r\n this.setState({displayDialog: true})\r\n }\r\n changePasswordU1 = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastegen/change-password';\r\n event.preventDefault();\r\n }\r\n changePinU1 = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastegen/change-pin';\r\n event.preventDefault();\r\n }\r\n\r\n render() {\r\n const {\r\n\r\n province,\r\n locationServiceProps,\r\n userServiceProps,\r\n userInfo\r\n\r\n } = this.props\r\n\r\n let layoutClassName = classNames('layout-wrapper', {\r\n 'menu-layout-static': this.state.layoutMode !== 'overlay',\r\n 'menu-layout-overlay': this.state.layoutMode === 'overlay',\r\n 'layout-menu-overlay-active': this.state.overlayMenuActive,\r\n 'menu-layout-slim': this.state.layoutMode === 'slim',\r\n 'menu-layout-horizontal': this.state.layoutMode === 'horizontal',\r\n 'layout-menu-static-inactive': this.state.staticMenuDesktopInactive,\r\n 'layout-menu-static-active': this.state.staticMenuMobileActive\r\n });\r\n\r\n let menuClassName = classNames('layout-menu-container', { 'layout-menu-dark': this.state.darkMenu });\r\n\r\n let dialogFooter =
    \r\n
    ;\r\n\r\n let userNotCompleteFooter =
    \r\n
    ;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n this.layoutMenuScroller = el} style={{ height: '100%' }}>\r\n
    \r\n {(this.state.profileMode === 'inline' && this.state.layoutMode !== 'horizontal') && }\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n this.setState({displayDialog: false})}>\r\n ต้องการสลับเป็นทีมขนส่งซีซาเล้งทันที\r\n \r\n\r\n this.setState({userNotCompleteDialog: false})}>\r\n ท่านต้องระบุตำแหน่งที่อยู่ในแผนที่ และป้อนข้อมูลบัญชีธนาคารก่อน ถึงจะเริ่มทำการซื้อขายได้\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n locationMaster: state.location,\r\n province: state.location.province,\r\n district: state.location.district,\r\n subDistrict: state.location.subDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWastegenProfile: state.updateWastegenProfile,\r\n changePassword: state.changePassword,\r\n\r\n banks: state.master.banks,\r\n getFileWastegen: state.getFileWastegen,\r\n chatSingleBadge: state.chatSingleBadge,\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n ChatServiceProps: bindActionCreators(ChatService, dispatch),\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WastegenContainer)\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\n\r\n\r\n\r\n\r\nexport class WastetranNotiWithdraw extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n\r\n\r\n status: '0',\r\n status2: '0',\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '0' },\r\n { label: 'รอนัดหมาย', value: '1' },\r\n { label: 'รอทีมขนส่ง', value: '2' },\r\n { label: 'รอส่งสินค้า', value: '3' },\r\n { label: 'ปิด Order', value: '4' },\r\n { label: 'ยกเลิก', value: '5' },\r\n { label: 'ผิดนัด', value: '6' },\r\n ],\r\n\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n };\r\n\r\n }\r\n\r\n \r\n render() {\r\n \r\n\r\n \r\n\r\n return (\r\n\r\n\r\n //
    \r\n //

    แจ้งถอนเงิน

    \r\n //
    \r\n //
    \r\n //
    \r\n // จะใช้งานได้ภายในเดือน มกราคม 2563\r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n ยอดเงินค้างเบิก\r\n
    \r\n
    10,000 บาท
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n scrollable={true} \r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Chips } from 'primereact/chips';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport { Panel } from 'primereact/panel';\r\nimport { FileView } from '../../features/widget/FileView';\r\nimport { API_ROOT } from '../../constants/api'\r\n\r\nimport * as Validators from '../../utils/validators'\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\nimport { SecureUtils } from '../../utils';\r\n\r\n\r\n\r\nexport class WastetranProfile extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n isRendered: true,\r\n isImgIdCard: true,\r\n isImgRegis: true,\r\n isImgPerson: true,\r\n isImgVehicle: true,\r\n isLoadChip: true,\r\n isLoading: true,\r\n isUpdate: false,\r\n isLoadDist: false,\r\n isLoadSubDist: false,\r\n checkedSameAddress: false,\r\n selectedProv: null,\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n selectedCompanyType: null,\r\n locationRecycle: [\r\n { inputId: 1, value: \"บ้านในโครงการจัดสรร\" },\r\n { inputId: 2, value: \"คอนโดมีเนียม / อพาร์ทเม้นท์\" },\r\n { inputId: 3, value: \"ร้านค้า / ร้านอาหาร\" },\r\n { inputId: 4, value: \"อื่นๆ\" },\r\n { inputId: 5, value: \"บ้านพักอาศัยทั่วไป\" },\r\n { inputId: 6, value: \"อาคารสำนักงาน / โรงงาน\" },\r\n { inputId: 7, value: \"สถานศึกษา / สถานที่ราชการ\" }\r\n ],\r\n dummyDropdownBank: [\r\n { name: 'กสิกรไทย', code: '1' },\r\n { name: 'นครหลวงไทย', code: '2' },\r\n { name: 'กรุงเทพ', code: '3' },\r\n { name: 'ไทยพาณิทย์', code: '4' },\r\n ],\r\n selectedBank: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n selectedPersonPrefix: null,\r\n dummyTypeCars: [\r\n { inputId: 1, value: \"มอเตอร์ไซค์\" },\r\n { inputId: 2, value: \"ซาเล้ง\" },\r\n { inputId: 3, value: \"รถกระบะและบรรทุก 4 ล้อ\" },\r\n { inputId: 4, value: \"รถบรรทุก 6 ล้อ\" },\r\n { inputId: 5, value: \"รถบรรทุก 10 ล้อ\" },\r\n { inputId: 6, value: \"รถพ่วง\" },\r\n ],\r\n selectedTypeCar: null,\r\n\r\n isUseCardAdress: null,\r\n useCardAddress: false,\r\n\r\n provinceChipSelected: null, chipDistrict: [],\r\n\r\n selectedCurrentProv: null, selectedCurrentDistrict: null, selectedCurrentSubDistrict: null,\r\n\r\n selectedCardProv: null, selectedCardDistrict: null, selectedCardSubDistrict: null,\r\n\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n acceptPic: '.jpg,.jpeg,.png,.JPG,.JPEG,.PNG',\r\n\r\n imgIdCard: null,\r\n imgRegis: null,\r\n imgPerson: null,\r\n imgVehicle: null,\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n password: null,\r\n confirmPassword: null,\r\n\r\n }\r\n //fileImgIden: null, fileImgRegis: null, fileImgPerson: null,fileImgVehicle:null\r\n this.onFileVehicleChanged = this.onFileVehicleChanged.bind(this);\r\n this.onFileIDCardChanged = this.onFileIDCardChanged.bind(this);\r\n this.onFileRegisChanged = this.onFileRegisChanged.bind(this);\r\n this.onFilePersonChanged = this.onFilePersonChanged.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { userServiceProps } = this.props\r\n userServiceProps.getUserInfo();\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastetranProfile :componentWillReceiveProps\")\r\n if (\r\n this.state.isLoading\r\n && !nextProps.userInfoMaster.isLoading\r\n && !nextProps.updateWastetranProfile.isLoading\r\n && !nextProps.getFileWastetran.isLoading\r\n ) {\r\n if (nextProps.userInfo) {\r\n if (this.state.isUpdate) {\r\n if (nextProps.updateWastetranProfile.data) {\r\n this.initial(nextProps.updateWastetranProfile.data)\r\n this.setState({ isUpdate: false })\r\n if (nextProps.updateWastetranProfile.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\");\r\n this.setState({ isLoading: false })\r\n } else {\r\n this.prepareWasteTypes(nextProps.updateWastetranProfile.data);\r\n this.setUid(nextProps.updateWastetranProfile.data);\r\n this.setAddrCardUseCurrent(nextProps.updateWastetranProfile.data);\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\");\r\n this.requrestImage(nextProps)\r\n }\r\n }\r\n } else {\r\n this.initial(nextProps.userInfo)\r\n this.prepareWasteTypes(nextProps.userInfo);\r\n this.setUid(nextProps.userInfo);\r\n this.setAddrCardUseCurrent(nextProps.userInfo);\r\n this.requrestImage(nextProps)\r\n }\r\n }\r\n }\r\n this.validateRequire();\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastetranProfile :shouldComponentUpdate\")\r\n return true;\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastetranProfile :componentWillUpdate\")\r\n this.renderImage(nextProps);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastetranProfile :componentDidUpdate\")\r\n\r\n this.initialSelected();\r\n }\r\n\r\n // === Custom === \r\n customChip = (item) => {\r\n //console.log(\"item chip \", item)\r\n return (\r\n
    \r\n อำเภอ/เขต{item.districtName} จังหวัด{item.provinceName} \r\n \r\n
    \r\n );\r\n }\r\n\r\n customChipRemove = (e) => {\r\n const { chipDistrict } = this.state\r\n\r\n chipDistrict.map((valueChip, index) => {\r\n if (valueChip == e.value[0]) {\r\n chipDistrict.splice(index, 1);\r\n }\r\n })\r\n }\r\n\r\n // ========= PREPARE =========\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isLoading: false })\r\n }\r\n }\r\n\r\n initialSelected = () => {\r\n const {\r\n //> Service Location\r\n locationServiceProps,\r\n\r\n //> Current Location\r\n province,\r\n district,\r\n subDistrict,\r\n\r\n //> Card Location\r\n cardProvince,\r\n cardDistrict,\r\n cardSubDistrict,\r\n\r\n locationMaster,\r\n //> Chip\r\n chipProvince,\r\n chipDistrict,\r\n\r\n banks,\r\n\r\n getFileWastetran,\r\n fileServiceProps\r\n\r\n } = this.props\r\n\r\n //person_prefix_code default :: check dropdown\r\n if (!this.state.selectedPersonPrefix && this.state.person_prefix_code) {\r\n for (let key in this.state.personPrefixs) {\r\n let val = this.state.personPrefixs[key]\r\n if (this.state.person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n //person_prefix_code default :: check dropdown\r\n if (!this.state.selectedCompanyType && this.state.org_type) {\r\n for (let key in this.state.companyTypes) {\r\n let val = this.state.companyTypes[key]\r\n if (this.state.org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n //bank_code default :: check dropdown\r\n if (!this.state.selectedBank && this.state.bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (this.state.bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n\r\n }\r\n }\r\n }\r\n //Current province default :: check dropdown\r\n if (!this.state.selectedCurrentProv && this.state.addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (this.state.addr_current_province_code == val.provinceCode) {\r\n this.setState({ selectedCurrentProv: val })\r\n locationServiceProps.getDistrict(val.provinceCode)\r\n }\r\n }\r\n }\r\n //Current District default :: check dropdown\r\n if (!this.state.selectedCurrentDistrict && this.state.addr_current_district_code) {\r\n for (let key in district) {\r\n let val = district[key]\r\n if (this.state.addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedCurrentDistrict: val })\r\n locationServiceProps.getSubDistrict(val.districtCode)\r\n }\r\n }\r\n }\r\n //Current Sub District default :: check dropdown\r\n if (!this.state.selectedCurrentSubDistrict && this.state.addr_current_subdistrict_code) {\r\n for (let key in subDistrict) {\r\n let val = subDistrict[key]\r\n if (this.state.addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n\r\n //province default :: check dropdown\r\n if (!this.state.selectedCardProv && this.state.addr_card_province_code) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (this.state.addr_card_province_code == val.provinceCode) {\r\n this.setState({ selectedCardProv: val })\r\n locationServiceProps.getCardDistrict(val.provinceCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!this.state.selectedCardDistrict && this.state.addr_card_district_code) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (this.state.addr_card_district_code == val.districtCode) {\r\n this.setState({ selectedCardDistrict: val })\r\n locationServiceProps.getCardSubDistrict(val.districtCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!this.state.selectedCardSubDistrict && this.state.addr_card_subdistrict_code) {\r\n for (let key in cardSubDistrict) {\r\n let val = cardSubDistrict[key]\r\n //console.log(\"this.state.addr_card_subdistrict_code \", this.state.addr_card_subdistrict_code, \" \", val)\r\n if (this.state.addr_card_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedCardSubDistrict: val })\r\n }\r\n }\r\n }\r\n\r\n //#chip default :: check dropdown\r\n if (!this.state.provinceChipSelected\r\n && Validators.isNotEmpty(this.state.areaList)\r\n ) {\r\n\r\n if (this.state.areaList.length > 0) {\r\n let chkPov = false;\r\n for (let key in this.state.areaList) {\r\n const valArea = this.state.areaList[key]\r\n //>province\r\n for (let keyProv in province) {\r\n let provVal = province[keyProv]\r\n if (valArea.provinceCode == provVal.provinceCode) {\r\n if (!chkPov) {\r\n chkPov = true;\r\n locationServiceProps.getChipDistrict(valArea.provinceCode)\r\n this.setState({ provinceChipSelected: provVal })\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n //#chip District default :: check dropdown\r\n if (this.state.chipDistrict.length == 0 && this.state.isLoadChip) {\r\n\r\n if (!locationMaster.isFetching) {\r\n if (this.state.areaList) {\r\n if (this.state.areaList.length > 0) {\r\n for (let key in this.state.areaList) {\r\n const valArea = this.state.areaList[key]\r\n for (let keyDist in chipDistrict) {\r\n let valDist = chipDistrict[keyDist]\r\n if (valArea.districtCode == valDist.districtCode) {\r\n this.state.chipDistrict.push(valDist)\r\n this.setState({ isLoadChip: false })\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (this.state.areaList.length == 0) {\r\n this.setState({ isLoadChip: false })\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n //>duplicate Address duplicate current check\r\n if (!this.state.isUseCardAdress && this.state.addr_card_use_current) {\r\n // useCardAddress\r\n if (this.state.addr_card_use_current == 1) {\r\n this.state.useCardAddress = true;\r\n this.state.isUseCardAdress = true;\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n requrestImage = (nextProps) => {\r\n //> Init img\r\n // imgIdCard:{},\r\n if (this.state.isImgIdCard && this.state.img_iden_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n nextProps.fileServiceProps.getFileWastetranIden(this.state.img_iden_name)\r\n }\r\n }\r\n // imgRegis:{},\r\n if (this.state.isImgRegis && this.state.img_regis_org_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n nextProps.fileServiceProps.getFileWastetranRegis(this.state.img_regis_org_name)\r\n }\r\n }\r\n // imgPerson:{},\r\n if (this.state.isImgPerson && this.state.img_person_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n nextProps.fileServiceProps.getFileWastetranPerson(this.state.img_person_name)\r\n }\r\n }\r\n // imgVehicle:{}\r\n if (this.state.isImgVehicle && this.state.vehicle_img_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n nextProps.fileServiceProps.getFileWastetranVehicle(this.state.vehicle_img_name)\r\n }\r\n }\r\n }\r\n\r\n renderImage = (nextProps) => {\r\n\r\n //> Init img\r\n // imgIdCard:{},\r\n if (this.state.isImgIdCard && this.state.img_iden_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n if (!nextProps.getFileWastetran.isLoading && this.state.isImgIdCard) {\r\n\r\n this.setState({ fileImgIden: nextProps.getFileWastetran.fileImgIden })\r\n this.setState({ isImgIdCard: false })\r\n }\r\n }\r\n }\r\n // imgRegis:{},\r\n if (this.state.isImgRegis && this.state.img_regis_org_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n if (!nextProps.getFileWastetran.isLoading && this.state.isImgRegis) {\r\n\r\n this.setState({ imgRegis: nextProps.getFileWastetran.fileImgRegis })\r\n this.setState({ isImgRegis: false })\r\n }\r\n\r\n }\r\n }\r\n // imgPerson:{},\r\n if (this.state.isImgPerson && this.state.img_person_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n if (!nextProps.getFileWastetran.isLoading && this.state.isImgPerson) {\r\n\r\n this.setState({ imgPerson: nextProps.getFileWastetran.fileImgPerson })\r\n this.setState({ isImgPerson: false })\r\n }\r\n }\r\n }\r\n // imgVehicle:{}\r\n if (this.state.isImgVehicle && this.state.vehicle_img_name) {\r\n if (!nextProps.getFileWastetran.isLoading) {\r\n if (!nextProps.getFileWastetran.isLoading && this.state.isImgVehicle) {\r\n\r\n this.setState({ imgVehicle: nextProps.getFileWastetran.fileImgVehicle })\r\n this.setState({ isImgVehicle: false })\r\n }\r\n }\r\n }\r\n }\r\n\r\n prepareWasteTypes(userInfo) {\r\n\r\n if (userInfo && userInfo.wasteTypeList) {\r\n let showPassCheck = [...this.state.wasteTypesSelected];\r\n\r\n for (let key in userInfo.wasteTypeList) {\r\n let v = userInfo.wasteTypeList[key] - 1;\r\n let cc = this.state.wasteTypes;\r\n showPassCheck.push(this.state.wasteTypes[v]);\r\n\r\n }\r\n\r\n this.setState({ wasteTypesSelected: showPassCheck });\r\n\r\n var intChecked = [];\r\n for (let index = 0; index < showPassCheck.length; index++) {\r\n intChecked.push(showPassCheck[index].value);\r\n\r\n }\r\n\r\n this.setState({ wasteTypeListString: JSON.stringify(intChecked) });\r\n //console.log(JSON.stringify(intChecked));\r\n }\r\n }\r\n\r\n setAddrCardUseCurrent(userInfo) {\r\n if (userInfo && userInfo.addr_card_use_current && userInfo.addr_card_use_current === 1) {\r\n this.setState({ useCurrentAddress: true })\r\n }\r\n }\r\n\r\n setUid(userInfo) {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n\r\n // ========= Event Chip=========\r\n onProvinceChipChanged = (e) => {\r\n const { locationServiceProps } = this.props\r\n\r\n this.setState({ provinceChipSelected: e.value })\r\n\r\n locationServiceProps.getChipDistrict(e.value.provinceCode)\r\n\r\n }\r\n\r\n onDistrictChipChanged = (e) => {\r\n this.setState({ districtSelected: e.value });\r\n let chk = false;\r\n this.state.chipDistrict.map((value) => {\r\n if (value.districtName == e.value.districtName) {\r\n chk = true\r\n }\r\n })\r\n if (chk == true) {\r\n this.showError(\"มีอำเภอซ้ำ กรุณาเลือกใหม่อีกครั้ง\");\r\n } else {\r\n this.state.chipDistrict.push(e.value);\r\n }\r\n }\r\n\r\n // ========= Event =========\r\n onChangeInputText = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n\r\n this.validateRequire();\r\n }\r\n\r\n onChangeProv = (e) => {\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedDistrict: null })\r\n this.setState({ selectedSubDistrict: null })\r\n\r\n locationServiceProps.getDistrict(value.provinceCode);\r\n }\r\n\r\n onChangeDistrict = (e) => {\r\n\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedSubDistrict: null })\r\n\r\n locationServiceProps.getSubDistrict(value.districtCode);\r\n }\r\n\r\n onChangeSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n\r\n onCheckTypeCar = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedTypeCar: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n\r\n onDuplicate = (e) => {\r\n const { checked } = e\r\n this.setState({ useCardAddress: checked })\r\n }\r\n\r\n //> ========= #Dropdown Manage Location =========\r\n onChangeCurrentProv = (e) => {\r\n const { locationServiceProps, locationMaster } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n if (!locationMaster.isFetching) {\r\n locationServiceProps.getDistrict(value.provinceCode);\r\n }\r\n\r\n }\r\n\r\n onChangeCurrentDistrict = (e) => {\r\n\r\n const { locationServiceProps, locationMaster } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedCurrentDistrict: value })\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n\r\n locationServiceProps.getSubDistrict(value.districtCode);\r\n\r\n }\r\n\r\n onChangeCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedCurrentSubDistrict: value })\r\n //> Set all\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n\r\n }\r\n\r\n onChangeCardProv = (e) => {\r\n const { locationServiceProps, locationMaster } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedCardProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n if (!locationMaster.isFetching) {\r\n locationServiceProps.getCardDistrict(value.provinceCode);\r\n }\r\n\r\n }\r\n\r\n onChangeCardDistrict = (e) => {\r\n\r\n const { locationServiceProps, locationMaster } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedCardDistrict: value })\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n\r\n if (!locationMaster.isFetching) {\r\n locationServiceProps.getCardSubDistrict(value.districtCode);\r\n }\r\n\r\n }\r\n\r\n onChangeCardSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedCardSubDistrict: value })\r\n //> Set all\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n\r\n\r\n }\r\n\r\n // ======== File Event ========\r\n onFileIDCardChanged = (e) => {\r\n this.setState({ fileImgIden: e.files[0] });\r\n\r\n // var file = e.target.files[0];\r\n // var reader = new FileReader();\r\n // reader.readAsDataURL(file);\r\n\r\n // reader.onloadend = function (e) {\r\n // this.setState({\r\n // imgIdCard: [reader.result]\r\n // })\r\n // }.bind(this);\r\n\r\n }\r\n onFileRegisChanged = (e) => {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n\r\n // var file = e.target.files[0];\r\n // var reader = new FileReader();\r\n // reader.readAsDataURL(file);\r\n\r\n // reader.onloadend = function (e) {\r\n // this.setState({\r\n // imgRegis: [reader.result]\r\n // })\r\n // }.bind(this);\r\n }\r\n onFilePersonChanged = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n\r\n // var file = e.target.files[0];\r\n // var reader = new FileReader();\r\n // reader.readAsDataURL(file);\r\n\r\n // reader.onloadend = function (e) {\r\n // this.setState({\r\n // imgPerson: [reader.result]\r\n // })\r\n // }.bind(this);\r\n }\r\n onFileVehicleChanged = (e) => {\r\n this.setState({ fileImgVehicle: e.files[0] });\r\n\r\n // var file = e.target.files[0];\r\n // var reader = new FileReader();\r\n // reader.readAsDataURL(file);\r\n\r\n // reader.onloadend = function (e) {\r\n // this.setState({\r\n // imgVehicle: [reader.result]\r\n // })\r\n // }.bind(this);\r\n }\r\n\r\n // ======== Validate data =========\r\n validateRequire = () => {\r\n this.setState({ isValidateError: false })\r\n this._validateLogic(this.state.telephone_no1)\r\n //this._validateLogic(this.state.person_idcard)\r\n if (this.state.person_type == '1') {\r\n this._validateLogic(this.state.person_prefix_code)\r\n this._validateLogic(this.state.person_first_name)\r\n this._validateLogic(this.state.person_last_name)\r\n } else {\r\n this._validateLogic(this.state.org_type)\r\n this._validateLogic(this.state.org_name)\r\n }\r\n console.log(this.state.isValidateError)\r\n //Password\r\n if (this.state.isChangePassword) {\r\n console.log(\"old \", this.state.oldPassword, \" pass \", this.state.password, \" confirm \", this.state.confirmPassword)\r\n this._validateLogic(this.state.oldPassword);\r\n this._validateLogic(this.state.password);\r\n this._validateLogic(this.state.confirmPassword);\r\n }\r\n\r\n //Area\r\n if (this.state.chipDistrict.length <= 0) {\r\n this.setState({ isValidateError: true })\r\n }\r\n\r\n //Password\r\n if (this.state.isChangePassword) {\r\n console.log(\"old \", this.state.oldPassword, \" pass \", this.state.password, \" confirm \", this.state.confirmPassword)\r\n this._validateLogic(this.state.oldPassword);\r\n this._validateLogic(this.state.password);\r\n this._validateLogic(this.state.confirmPassword);\r\n }\r\n\r\n }\r\n\r\n _validateLogic = (value) => {\r\n console.log(value)\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n // ======== SAVE =========\r\n onSubmit = (e) => {\r\n\r\n const { userServiceProps } = this.props\r\n\r\n //> validate before submit\r\n\r\n //> store data\r\n const formData = new FormData();\r\n const { userInfo } = this.props\r\n //\r\n for (let key in userInfo) {\r\n let valState = this.state[key]\r\n if (typeof valState == 'object') {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.append([key], JSON.stringify(valState))\r\n }\r\n } else {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.set([key], valState || '')\r\n }\r\n }\r\n }\r\n\r\n //Custom field other overide that\r\n let areListString = this.state.chipDistrict\r\n formData.set('areaListString', JSON.stringify(areListString))\r\n formData.set(\"addr_card_use_current\", this.state.useCardAddress ? 1 : 0)\r\n\r\n //>custom File\r\n if (this.state.fileImgIden) {\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n }\r\n if (this.state.fileImgRegis) {\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n }\r\n if (this.state.fileImgPerson) {\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n if (this.state.fileImgVehicle) {\r\n formData.append('FileImgVehicle', this.state.fileImgVehicle);\r\n }\r\n this.validateRequire();\r\n\r\n console.log(\"print state save \", this.state)\r\n if (this.state.isValidateError) {\r\n this.showWarn(\"กรุณากรอกข้อมูลที่เครื่องหมาย *\");\r\n } else {\r\n\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.password,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n userServiceProps.changePassword(JSON.parse(JSON.stringify(jsPass)))\r\n }\r\n\r\n //console.log(this.state)\r\n userServiceProps.updateWastetranProfile(formData)\r\n\r\n this.setState({ isUpdate: true })\r\n this.setState({ isLoading: true })\r\n this.setState({ isImgRegis: true, })\r\n this.setState({ isImgIdCard: true, })\r\n this.setState({ isImgPerson: true, })\r\n this.setState({ isImgVehicle: true, })\r\n this.setState({ isLoadChip: true, })\r\n this.setState({ isLoading: true, })\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'สถานะ', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n // === PASSWORD ===\r\n onOldPasswordChanged = (password) => {\r\n console.log(password)\r\n this.setState({ errorMessageOldPassword: null });\r\n\r\n if (Validators.isNotEmpty(password)) {\r\n if (password == SecureUtils.getItem('user').password) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n } else {\r\n this.setState({ errorMessageOldPassword: \"รหัสผ่านไม่ตรงกัน\" });\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isValidateError: true })\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n\r\n onPasswordChanged = (password) => {\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ password: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n onConfirmPasswordChanged = (cfpassword) => {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.password, \" cfpass \", cfpassword)\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n setPasswordVisible = (e) => {\r\n\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n render() {\r\n console.log(\"render\")\r\n const {\r\n locationMaster,\r\n userInfoMaster,\r\n userInfo,\r\n province,\r\n district,\r\n subDistrict,\r\n updateWastetranProfile,\r\n locationServiceProps,\r\n userServiceProps,\r\n\r\n cardProvince,\r\n cardDistrict,\r\n cardSubDistrict,\r\n\r\n chipProvince,\r\n chipDistrict,\r\n\r\n banks,\r\n\r\n getFileWastetran\r\n } = this.props\r\n\r\n const { isValidateError } = this.state\r\n\r\n //Validate class error require\r\n const classNameRequired = isValidateError == true ? \"p-error\" : \"\";\r\n\r\n\r\n let contentUser = (\r\n
    Loading...
    \r\n )\r\n let contentPicture = (\r\n
    Loading...
    \r\n )\r\n let contentContact = (\r\n
    Loading...
    \r\n )\r\n let contentLocation = (\r\n
    Loading...
    \r\n )\r\n let contentAddress = (\r\n
    Loading...
    \r\n )\r\n let contentBank = (\r\n
    Loading...
    \r\n )\r\n let contentDriver = (\r\n
    Loading...
    \r\n )\r\n let contentLogin = (\r\n
    Loading...
    \r\n )\r\n //console.log(this.state)\r\n //> Transform props to state\r\n\r\n\r\n\r\n if (!userInfoMaster.isLoading\r\n && !updateWastetranProfile.isLoading\r\n && !getFileWastetran.isLoading\r\n && !locationMaster.isFetching) {\r\n\r\n //> Transform Dropdown to Object selected\r\n // this.renderImage();\r\n\r\n const personType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const legalType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n );\r\n\r\n //> ข้อมูลสมาชิก\r\n contentUser = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n {this.state.person_type == '1' && personType}\r\n {this.state.person_type == '2' && legalType}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n //> รูปถ่าย\r\n contentPicture = (\r\n
    \r\n\r\n
    \r\n \r\n \r\n this.onFileIDCardChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*,application/pdf\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n this.onFileRegisChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*,application/pdf\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n this.onFilePersonChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*,application/pdf\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n
    \r\n );\r\n\r\n //> ที่อยู่ตามบัตรประชาชน/ ที่อยู่บริษัทกรณีเป็นนิติบุคคล\r\n contentContact = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n //> ต้องการเก็บขยะรีไซเคิลในพื้นที่ใด\r\n contentLocation = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n //> ที่อยู่ปัจจุบัน\r\n contentAddress = (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n //> รายละเอียดบัญชีธนาคาร\r\n contentBank = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n //> ข้อมูลยานพาหนะ\r\n contentDriver = (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n {this.state.imgVehicle &&\r\n
    \r\n \"imgVehicle\"\r\n
    \r\n }\r\n\r\n
    \r\n \r\n \r\n this.onFileVehicleChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n );\r\n\r\n //> ข้อมูล Login\r\n contentLogin = (\r\n
    \r\n this.growl = el} />\r\n
    \r\n \r\n
    \r\n
    \r\n this.onOldPasswordChanged(e.target.value)}\r\n >\r\n \r\n {this.state.errorMessageOldPassword} \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onPasswordChanged(e.target.value)}>\r\n \r\n {this.state.isChangePassword &&\r\n {this.state.errorMessagePassword} \r\n }\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onConfirmPasswordChanged(e.target.value)}\r\n >\r\n \r\n\r\n {this.state.isChangePassword &&\r\n {this.state.errorMessageConfirmPassword} \r\n }\r\n
    \r\n\r\n
    \r\n\r\n this.setPasswordVisible(e)}\r\n />\r\n\r\n\r\n
    \r\n\r\n
    \r\n );\r\n }\r\n\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

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

    ข้อมูลสมาชิก

    \r\n {contentUser}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    ที่อยู่ตามบัตรประชาชน/ ที่อยู่บริษัทกรณีเป็นนิติบุคคล

    \r\n {contentContact}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    ที่อยู่ปัจจุบัน

    \r\n {contentAddress}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    ข้อมูลยานพาหนะ

    \r\n {contentDriver}\r\n
    \r\n
    \r\n\r\n {
    \r\n
    \r\n

    เปลี่ยนรหัสผ่าน this.setState({ isShowChangePassword: e.checked })}\r\n />

    \r\n {this.state.isShowChangePassword && contentLogin}\r\n
    \r\n
    }\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    รูปถ่าย

    \r\n {contentPicture}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    ต้องการเก็บขยะรีไซเคิลในพื้นที่ใด

    \r\n {contentLocation}\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    รายละเอียดบัญชีธนาคาร

    \r\n {contentBank}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n }\r\n}","import React from 'react';\r\nconst _ = require(\"lodash\");\r\nconst { compose, withProps, lifecycle } = require(\"recompose\");\r\nconst {\r\n withScriptjs,\r\n withGoogleMap,\r\n GoogleMap,\r\n Marker,\r\n} = require(\"react-google-maps\");\r\nconst { SearchBox } = require(\"react-google-maps/lib/components/places/SearchBox\");\r\n\r\nexport const MapWithASearchBoxAndMarkers = compose(\r\n withProps({\r\n googleMapURL: \"https://maps.googleapis.com/maps/api/js?key=AIzaSyA4jjZnsw8iYo3eDeZROTP-S63t1wfPYyo&v=3&libraries=geometry,drawing,places\",\r\n loadingElement:
    ,\r\n containerElement:
    ,\r\n mapElement:
    ,\r\n \r\n }),\r\n lifecycle({\r\n componentWillMount() {\r\n const refs = {}\r\n \r\n this.setState({\r\n bounds: null, \r\n center: { lat: 13.7734283, lng: 100.57383099999993 },\r\n \r\n onBoundsChanged: _.debounce(\r\n () => {\r\n \r\n \r\n let { onBoundsChange ,center} = this.props\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: center\r\n })\r\n console.log(\"props\"+ JSON.stringify(center));\r\n if (onBoundsChange) {\r\n onBoundsChange(refs.map)\r\n }\r\n },\r\n 100,\r\n { maxWait: 500 }\r\n ),\r\n onMapMounted: ref => {\r\n refs.map = ref;\r\n console.log(ref);\r\n },\r\n /*onBoundsChanged: () => {\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: refs.map.getCenter(),\r\n })\r\n },*/\r\n onSearchBoxMounted: ref => {\r\n refs.searchBox = ref;\r\n },\r\n\r\n \r\n onPlacesChanged: () => {\r\n const places = refs.searchBox.getPlaces();\r\n const bounds = new window.google.maps.LatLngBounds();\r\n \r\n places.forEach(place => {\r\n if (place.geometry.viewport) {\r\n bounds.union(place.geometry.viewport)\r\n } else {\r\n bounds.extend(place.geometry.location)\r\n }\r\n \r\n });\r\n \r\n \r\n const nextMarkers = places.map(place => ({\r\n position: place.geometry.location,\r\n }));\r\n const nextCenter = _.get(nextMarkers, '0.position', this.state.center);\r\n console.log(nextCenter.toJSON());\r\n this.setState({\r\n center: nextCenter,\r\n \r\n marker: nextCenter.toJSON()\r\n });\r\n //this.setState({marker: nextCenter[0]});\r\n // refs.map.fitBounds(bounds);\r\n \r\n },\r\n })\r\n },\r\n }),\r\n withScriptjs,\r\n withGoogleMap,\r\n)(props =>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n {props.markers.map((marker, index) =>\r\n \r\n )}\r\n \r\n\r\n \r\n);\r\n\r\n","import axios from 'axios'\r\nimport { API_ROOT } from '../../constants/api'\r\nimport {\r\n\r\n} from '../../service/actionType'\r\n\r\nexport const autoComplateOrderID = (code) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/order/autocomplete/${code}`,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const searchOrder = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/order/search`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getOrderDetail = (code) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastetran/order/getbycode/${code}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const updateOrder = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/order/update`,\r\n data: formData,\r\n headers: {'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const updateWorkingStatus = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/profile/updateworkingstatus`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getBadgeAdmin = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnread/admin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {})\r\n}\r\n\r\nexport const getBadgePickup = room_id => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const getBadgeDelivery = room_id => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const wastetranRegisWastegen = () => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/register/wastegen`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n })\r\n .then((res) => {\r\n return res\r\n }).catch((error) => {\r\n return error\r\n })\r\n}\r\n\r\n \r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\n\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WastetranChatWithU1 extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"WastegenDashboard :componentDidMount\")\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n chat(){\r\n if(this.props.location.state){\r\n return (\r\n \r\n );\r\n }else\r\n return (

    เกิดข้อผิดพลาด ไม่พบข้อมูล

    )\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranChatWithU1)","import React, { Component } from 'react';\r\nimport { Redirect } from 'react-router';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport {Avatar} from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers'\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport PropsRoute from '../../PropsRoute';\r\nimport * as ServerAPI from './service';\r\nimport * as MasterService from '../../service/MasterService'\r\nimport WastetranChatWithU1 from './WastetranChatWithU1';\r\n\r\n class WastetranManageOrder extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n brandSuggestions: null,\r\n mapGenMarker:{},\r\n mapGenMarkers:[],\r\n mapGenZoom:11,\r\n mapGenCenter: {lat: 13.7734283, lng: 100.57383099999993},\r\n brands: ['1111', '2222', '3333', '4444', '5555', '6666', '7777', '8888', '9999'],\r\n showAddMoreProduct: false,\r\n orderDetail: [],\r\n wasteTypeSelected: '',\r\n productSelected: '',\r\n amountSelected: '',\r\n orderID: '',\r\n status: 1000,\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 1000 },\r\n // { label: 'รอนัดหมาย', value: 1 },\r\n { label: 'รอทีมขนส่ง', value: 2 },\r\n { label: 'รอส่งสินค้า', value: 3 },\r\n // { label: 'รอปิด Order', value: 4 },\r\n // { label: 'ยกเลิก', value: 99 },\r\n // { label: 'ผิดนัด', value: 999 },\r\n ],\r\n date1: null,\r\n date2: null,\r\n orderCode: null,\r\n reportSearchOrders: [],\r\n showReportPanel: true,\r\n showProgress: false,\r\n };\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.showAddProduct = this.showAddProduct.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onOrderIDChanged = this.onOrderIDChanged.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onFileWasteChanged = this.onFileWasteChanged.bind(this);\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchOrder = this.searchOrder.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onOrderSelected = this.onOrderSelected.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.clearAllDataInput = this.clearAllDataInput.bind(this);\r\n this.quantityEditor = this.quantityEditor.bind(this);\r\n this.memoEditor = this.memoEditor.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n \r\n }\r\n\r\n \r\n\r\n //>Life Cycle : Initial Render\r\n componentDidMount() {\r\n const { masterServiceProps} = this.props\r\n masterServiceProps.getProductType();\r\n console.log(\"componentDidMount\")\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) { \r\n console.log(\"shouldComponentUpdate\")\r\n return true \r\n }\r\n componentWillUpdate(nextProps, nextState) { \r\n console.log(\"componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) { \r\n console.log(\"componentDidUpdate\")\r\n\r\n }\r\n\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n console.log(event);\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if(code.trim()!=\"\"){\r\n this.setState({ orderID: code });\r\n if (code.length >= 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n }else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n\r\n onDate1Change(e){\r\n //console.log(e.value.toISOString())\r\n if(this.state.date2 != null){\r\n if(e.value <= this.state.date2){\r\n this.setState({ date1: e.value })\r\n }\r\n }else \r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e){\r\n if(this.state.date1 <= e.value){\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n\r\n searchOrder(){\r\n this.setState({ showProgress: true})\r\n var reportSearchList = {}\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n order_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if(this.state.date1 != null){\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7*60*60000);\r\n searchModel.pickup_date_start = date1.toISOString();\r\n }\r\n if(this.state.date2 != null){\r\n //Bankok Time zone (+7hrs)\r\n var date2 = new Date(this.state.date2.getTime() + 7*60*60000);\r\n searchModel.pickup_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchOrder(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if(res.length>0){\r\n this.setState({reportSearchOrders: res})\r\n this.setState({ showProgress: false})\r\n }else\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false})\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n clearSearchInput(){\r\n this.setState({orderID: ''});\r\n this.setState({date1: null});\r\n this.setState({date2: null});\r\n this.setState({status: 1000});\r\n this.setState({orderCode: null});\r\n var reportSearchList = {}\r\n //this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({reportSearchOrders: []});\r\n this.setState({ showProgress: false})\r\n //this.clearAllDataInput();\r\n }\r\n onOrderSelected(e){\r\n\r\n console.log(e.value);\r\n this.setState({orderSelection: e.value})\r\n\r\n this.setState({orderCode: e.value.order_code})\r\n this.getOrder(e.value.order_code) //get 1 order from table for update\r\n }\r\n getOrder(code){\r\n this.setState({showProgress: true});\r\n this.setState({ showReportPanel: false})\r\n ServerAPI.getOrderDetail(code).then((obj) => {\r\n console.log(obj);\r\n var newList = obj.orderDetail\r\n if(obj.order_status == 2)\r\n newList.forEach((item,index) => {\r\n let _newList = {\r\n ...item,\r\n pickup_quantity_kk: item.quantity_kk\r\n }\r\n newList[index] = _newList\r\n });\r\n this.setState({ orderDetail: newList}) //ตาราง รายการสินค้า\r\n this.setState({ orderData: obj})\r\n this.setState({ orderStatus: obj.order_status})\r\n\r\n this.setState({ genID: obj.u1_id})\r\n this.setState({ genName: obj.u1_fullname})\r\n this.setState({ genPhone: obj.u1_telephone1})\r\n this.setState({ genAddress: obj.u1_address})\r\n this.setState({ genImg: obj.u1_img})\r\n\r\n this.setState({ tranID: obj.u2_id})\r\n this.setState({ tranName: obj.u2_fulname})\r\n\r\n this.setState({ proID: obj.u3_id})\r\n this.setState({ proName: obj.u3_fullname})\r\n this.setState({ proPhone: obj.u3_telephone1})\r\n this.setState({ proAddress: obj.u3_address})\r\n this.setState({ proImg: obj.u3_img})\r\n\r\n\r\n const markers = [];\r\n markers.push({ lat: obj.u1_lat, lng: obj.u1_lng });\r\n this.setState({ mapGenMarkers: markers })\r\n\r\n var proMarder = { lat: obj.u3_lat, lng: obj.u3_lng };\r\n this.setState({ mapGenMarker: proMarder })\r\n\r\n var center = { lat: obj.u1_lat, lng: obj.u1_lng };\r\n this.setState({ mapGenCenter: center })\r\n if (this.state.mapGenZoom == 11) {\r\n this.setState({ mapGenZoom: 12 });\r\n } else {\r\n this.setState({ mapGenZoom: 11 });\r\n }\r\n\r\n this.setState({ showProgress: false });\r\n this.setState({ showReportPanel: true})\r\n }).catch((error) => {\r\n })\r\n\r\n }\r\n\r\n\r\n onFileWasteChanged(e) {\r\n console.log(e)\r\n //this.setState({ fileImgIden: e.target.files[0] });\r\n var list = [];\r\n for (let index = 0; index < e.files.length; index++) {\r\n const file = e.files[index];\r\n list.push(file);\r\n }\r\n this.setState({ fileImgWaste: list });\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps,product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n showWastegen(){\r\n const genPersonName = (\r\n
    \r\n {this.state.genName}
    \r\n {this.state.genAddress}
    เบอร์ติดต่อ : {this.state.genPhone}
    \r\n
    \r\n );\r\n return genPersonName;\r\n }\r\n showWastepro(){\r\n const proPersonName = (\r\n
    \r\n {this.state.proName}
    \r\n {this.state.proAddress}
    เบอร์ติดต่อ : {this.state.proPhone}
    \r\n
    \r\n );\r\n\r\n return proPersonName;\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n //edit table handle\r\n onEditorQuantityChange(props, value) {\r\n if(value== \"\"){// null set to 0\r\n value = '0';\r\n }else{\r\n var regex = /^[0-9]*(\\.[0-9]{0,2})?$/;\r\n if (!regex.test(value)) { // set 2 decimal if more decimal\r\n if(value % 1 !== 0){\r\n value = parseFloat(value).toFixed(2)\r\n }\r\n }\r\n if(value.indexOf('.') < 1){//no 0 leading\r\n value = parseFloat(value)\r\n } \r\n }\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({orderDetail: updatedCars});\r\n }\r\n onEditorTextChange(props, value) {\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({orderDetail: updatedCars});\r\n }\r\n inputQuantityEditor(props, field) {\r\n return this.onEditorQuantityChange(props, e.target.value)} />;\r\n }\r\n inputTextEditor(props, field) {\r\n return this.onEditorTextChange(props, e.target.value)} />;\r\n }\r\n quantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'pickup_quantity_kk');\r\n }\r\n memoEditor(props) {\r\n return this.inputTextEditor(props, 'pickup_remark');\r\n }\r\n\r\n addDataToTable(){\r\n var isNotinput = (this.state.wasteTypeSelected == '' || \r\n this.state.productSelected == '' || \r\n this.state.amountSelected == '' \r\n );\r\n\r\n if(isNotinput){\r\n this.showWarn();\r\n }else{\r\n var OrderDetailList = {\r\n gid: this.state.gid|0,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n // wasteType: this.state.wasteTypeSelected.product_type_name,\r\n // amount: parseFloat(this.state.amountSelected).toFixed(2),\r\n // appraisedPrice: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n // salePrice: parseFloat(this.state.salePriceSelected).toFixed(2), \r\n\r\n pickup_quantity_kk: parseFloat(this.state.amountSelected).toFixed(2),\r\n // estimate_price_per_unit: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n // price_per_unit: parseFloat(this.state.salePriceSelected).toFixed(2),\r\n pickup_remark: this.state.memo,\r\n }\r\n this.state.orderDetail.push(OrderDetailList)\r\n\r\n this.setState({wasteTypeSelected: ''})\r\n this.setState({productSelected: ''})\r\n this.setState({amountSelected: ''})\r\n this.setState({memo: ''})\r\n console.log(this.state.orderDetail)\r\n this.showSuccess();\r\n }\r\n }\r\n toFormatDateTime(dateTime){\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n to_requested_start_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_start_date);\r\n }\r\n to_requested_end_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_end_date);\r\n }\r\n\r\n showSearchPanel() {\r\n const searchResult = this.showSearchResult();\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ status: e.value }) }}\r\n >\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {searchResult}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n showSearchResult() {\r\n if (this.state.reportSearchOrders.length == 0 || !this.state.showReportPanel) {\r\n return (
    );\r\n } else\r\n return (\r\n
    \r\n
    \r\n \r\n this.onOrderSelected(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n openChat = (type) => {\r\n if(type === 'gen'){\r\n this.setState({redirectToChatU1: true});\r\n }\r\n if(type === 'pro'){\r\n this.setState({redirectToChatU3: true});\r\n }\r\n \r\n }\r\n\r\n transportInfoContent(){\r\n const wastegenDetail = this.showWastegen();\r\n const wasteproDetail = this.showWastepro();\r\n\r\n const transportInfo = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n return transportInfo;\r\n }\r\n\r\n orderDetailContent(){\r\n const orderDetail = (\r\n
    \r\n \r\n this.setState({ dataTableSelection1: event.value })}>\r\n \r\n \r\n \r\n \r\n {/* {this.state.tableErrorMessage} */}\r\n \r\n
    \r\n );\r\n return orderDetail;\r\n }\r\n\r\n addProductContent(){\r\n const {\r\n productType,\r\n product,\r\n } = this.props\r\n const addProduct = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n this.setState({amountSelected: e.target.value})} />\r\n
    \r\n
    \r\n \r\n this.setState({memo: e.target.value})} />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n return addProduct;\r\n }\r\n\r\n showAddProduct(){\r\n if(this.state.showAddMoreProduct){\r\n this.setState({showAddMoreProduct: false})\r\n }else{\r\n this.setState({showAddMoreProduct: true})\r\n }\r\n }\r\n\r\n showOrderDetail() {\r\n const { \r\n provinces, \r\n productType,\r\n product,\r\n } = this.props;\r\n\r\n const contentTransportInfo = this.transportInfoContent();\r\n const contentOrderDetail = this.orderDetailContent();\r\n const contentAddProduct = this.addProductContent();\r\n\r\n if(this.state.orderCode==null){\r\n return (
    );\r\n }else\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {contentTransportInfo}\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    รายละเอียดสินค้า

    \r\n {contentOrderDetail}\r\n \r\n {contentAddProduct}\r\n \r\n
    \r\n this.onFileWasteChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={true}\r\n accept=\"image/*\"\r\n maxFileSize={10000000} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n \r\n\r\n onSubmit(){\r\n var productList = this.state.orderDetail;\r\n console.log(productList)\r\n var sum = 0;\r\n for (let i = 0; i < productList.length; i++) {\r\n const pickup_quantity_kk = Number(productList[i].pickup_quantity_kk);\r\n sum += pickup_quantity_kk;\r\n }\r\n console.log(sum)\r\n var inputAll = !(this.state.orderCode == '' || this.state.orderDetail == '' );\r\n if (!inputAll) {\r\n this.showWarn();\r\n } else {\r\n if(sum!=0)\r\n this.updateOrder();\r\n else this.showWarn(\"กรุณาติดต่อผู้ดูแลระบบ เพื่อขอยกเลิกรายการ\");\r\n console.log(this.state.orderDetail)\r\n }\r\n }\r\n updateOrder() {\r\n const formData = new FormData();\r\n if (this.state.fileImgWaste != null)\r\n for (let index = 0; index < this.state.fileImgWaste.length; index++) {\r\n const file = this.state.fileImgWaste[index];\r\n formData.append('ProductImages', file);\r\n }\r\n \r\n formData.set('OrderDetailListString', JSON.stringify(this.state.orderDetail) || null);\r\n formData.set('order_code', this.state.orderCode || 0);\r\n \r\n\r\n ServerAPI.updateOrder(formData).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n this.searchOrder();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n clearAllDataInput() {\r\n this.setState({orderCode:null});\r\n this.setState({ brand: '' });\r\n this.setState({ wasteTypeSelected: '' });\r\n this.setState({ productSelected: '' });\r\n this.setState({ amountSelected: '' });\r\n this.setState({ memo: ''});\r\n var OrderDetailList = {}\r\n this.state.orderDetail.push(OrderDetailList)\r\n this.setState({ orderDetail: [] });\r\n this.setState({ genName: '' });\r\n this.setState({ genPhone: '' });\r\n this.setState({ genAddress: '' });\r\n this.setState({ genImg: '' });\r\n this.setState({ proName: '' });\r\n this.setState({ proImg: '' });\r\n this.setState({ proAddress: '' });\r\n this.setState({ proPhone: '' });\r\n this.setState({ mapGenMarker: null });\r\n var markers = {}\r\n this.state.mapGenMarkers.push(markers)\r\n this.setState({ mapGenMarkers: [] });\r\n this.setState({ mapProMarker: {} });\r\n this.setState({ mapProMarkers: [] });\r\n this.setState({ mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapProCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapGenZoom: 11 });\r\n this.setState({ mapProZoom: 11 });\r\n this.setState({ fileImgWaste: '' });\r\n\r\n }\r\n\r\n handleOnChat = (otherWasteType, path, userWasteType) => {\r\n console.log(this.state.orderData)\r\n let roomType = ''\r\n let senderId = ''\r\n let receiverId = ''\r\n let senderNumberType = ''\r\n let receiverImage = ''\r\n let header = ''\r\n if (userWasteType === 'wastegen' && otherWasteType === 'wastetran') {\r\n roomType = 'pickup'\r\n senderId = this.state.orderData.u1_uid\r\n receiverId = this.state.orderData.u2_uid\r\n receiverImage = this.state.orderData.u2_img\r\n senderNumberType = '1'\r\n header = 'แชทกับทีมขนส่ง'\r\n } else if (userWasteType === 'wastetran' && otherWasteType === 'wastegen') {\r\n roomType = 'pickup'\r\n senderId = this.state.orderData.u2_uid\r\n receiverId = this.state.orderData.u1_uid\r\n receiverImage = this.state.orderData.u1_img\r\n senderNumberType = '2'\r\n header = 'แชทกับผู้รักษ์โลก'\r\n } else if (userWasteType === 'wastetran' && otherWasteType === 'wastepro') {\r\n roomType = 'delivery'\r\n senderId = this.state.orderData.u2_uid\r\n receiverId = this.state.orderData.u3_uid\r\n receiverImage = this.state.orderData.u3_img\r\n senderNumberType = '2'\r\n header = 'แชทกับศูนย์จัดการฯซีซาเล้ง'\r\n } else if (userWasteType === 'wastepro' && otherWasteType === 'wastetran') {\r\n roomType = 'delivery'\r\n senderId = this.state.orderData.u3_uid\r\n receiverId = this.state.orderData.u2_uid\r\n receiverImage = this.state.orderData.u2_img\r\n senderNumberType = '3'\r\n header = 'แชทกับทีมขนส่ง'\r\n }\r\n const roomId = `${this.state.orderCode}-${roomType}`\r\n return \r\n }\r\n\r\n\r\n render() {\r\n\r\n const searchPanel = this.showSearchPanel();\r\n const showProgress = this.showProgressSpinner();\r\n const orderDetail = this.showOrderDetail();\r\n\r\n if (this.state.redirectToChatU1) {\r\n return this.handleOnChat(\r\n \"wastegen\", //other type name\r\n \"/wastetran/chat\", // path\r\n \"wastetran\" //sender type name\r\n );\r\n }\r\n if (this.state.redirectToChatU3) {\r\n return this.handleOnChat(\r\n \"wastepro\", //other type name\r\n \"/wastetran/chat\", // path\r\n \"wastetran\" //sender type name\r\n );\r\n }\r\n\r\n return (\r\n\r\n
    \r\n this.growl = el} />\r\n

    แจ้งรับขยะรีไซเคิล

    \r\n
    \r\n {/* DETAIL */}\r\n {searchPanel}\r\n {showProgress}\r\n {orderDetail}\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WastetranManageOrder)\r\n\r\n","import React, { Component } from 'react';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { Button } from 'primereact/button';\r\nimport classNames from 'classnames';\r\n\r\n\r\nclass CEFileUpload extends Component {\r\n static defaultProps = {\r\n\r\n required:false,\r\n value: [],\r\n id:'', \r\n className: null, \r\n style: null,\r\n mode: 'basic',\r\n chooseLabel: 'เลือกไฟล์',\r\n cancelLabel: 'ยกเลิก',\r\n multiple:true,\r\n accept:\"image/*\",\r\n maxFileSize:10000000,\r\n onSelect: () => { },\r\n onDelete: () => { }\r\n \r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = { value: []}\r\n \r\n this.changed = this.changed.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n //this.showCtrl = this.showCtrl.bind(this);\r\n //regexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n \r\n }\r\n componentDidMount() {\r\n if(this.props.value)\r\n this.setState({value: this.props.value})\r\n }\r\n componentWillReceiveProps(e) { \r\n \r\n \r\n }\r\n \r\n changed = (e) =>{\r\n console.log(\"CEFileUpload->changed\");\r\n console.log(e);\r\n \r\n this.props.onSelect(e);\r\n \r\n }\r\n itemTemplate(item, layout) {\r\n console.log(\"CEFileUpload->itemTemplate\");\r\n console.log(item)\r\n if (layout === 'list') {\r\n return (\r\n
    \r\n
    {item.name}
    \r\n
    \r\n );\r\n }\r\n \r\n }\r\n onClickDeleteItem(index){\r\n this.props.onDelete(index);\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n showCtrl(){\r\n \r\n const {value, onSelect,id, className, style,onChange,mode,chooseLabel,cancelLabel,multiple,accept,maxFileSize} = this.props;\r\n \r\n\r\n return
    \r\n \r\n { value && \r\n \r\n \r\n \r\n }\r\n
    \r\n\r\n }\r\n render(){\r\n const bodyContent = this.showCtrl();\r\n \r\n return (\r\n bodyContent\r\n )\r\n }\r\n}\r\n\r\nexport default CEFileUpload","import React, { Component } from 'react';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { Button } from 'primereact/button';\r\nimport classNames from 'classnames';\r\nimport { API_ROOT } from '../../constants/api';\r\n\r\nclass CEFileUploadWithImg extends Component {\r\n static defaultProps = {\r\n\r\n required:false,\r\n value: [],\r\n id:'', \r\n className: null, \r\n style: null,\r\n mode: 'basic',\r\n chooseLabel: 'เลือกไฟล์',\r\n cancelLabel: 'ยกเลิก',\r\n multiple:true,\r\n accept:\"image/*\",\r\n maxFileSize:10000000,\r\n onSelect: () => { },\r\n onDelete: () => { },\r\n onSelectCover: () => { }\r\n \r\n }\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = { \r\n value: [],\r\n selectedCover: null,\r\n }\r\n\r\n this.changed = this.changed.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.showCtrl = this.showCtrl.bind(this);\r\n //regexp = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n \r\n }\r\n componentDidMount() {\r\n if(this.props.value)\r\n this.setState({value: this.props.value})\r\n }\r\n componentWillReceiveProps(e) { \r\n \r\n \r\n }\r\n \r\n changed = (e) =>{\r\n console.log(\"CEFileUploadWithImg->changed\");\r\n console.log(e);\r\n \r\n this.props.onSelect(e);\r\n \r\n }\r\n itemTemplate(item, layout) {\r\n console.log(\"CEFileUploadWithImg->itemTemplate\");\r\n console.log(item)\r\n if (layout === 'list') {\r\n return (\r\n
    \r\n
    {item.name}
    \r\n
    \r\n );\r\n }\r\n \r\n }\r\n onClickDeleteItem(index){\r\n this.props.onDelete(index);\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n brandTemplate(rowData, column) {\r\n // console.log(rowData)\r\n if(rowData.imageName){\r\n var src = `${API_ROOT}/user/news/getfile/${rowData.imageName}`;\r\n }else{\r\n var src = rowData.objectURL;\r\n }\r\n \r\n return ;\r\n }\r\n onSelectedCover(e){\r\n if(e.value != null){\r\n this.setState({selectedCover: e.value})\r\n this.props.onSelectCover(e);\r\n }\r\n }\r\n showCtrl(){\r\n \r\n const {value, onSelect,id, className, style,onChange,mode,chooseLabel,cancelLabel,multiple,accept,maxFileSize,masterImageIndex} = this.props;\r\n \r\n var selectedTable = this.state.selectedCover;\r\n if(value.length != 0)\r\n value.forEach((obj,index) => {\r\n if(index == masterImageIndex){\r\n selectedTable = obj;\r\n }\r\n });\r\n\r\n return
    \r\n \r\n \r\n { value && \r\n this.setState({selectedCover: e.value})} \r\n onSelectionChange={e => this.onSelectedCover(e)}\r\n emptyMessage={(\r\n
    \r\n
    \r\n )}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n }\r\n
    \r\n\r\n }\r\n render(){\r\n const bodyContent = this.showCtrl();\r\n \r\n return (\r\n
    \r\n {/*
    */}\r\n {bodyContent}\r\n {/*
    */}\r\n {/*
    \r\n {this.state.selectedCover ?

    หน้าปกข่าว

    : null}\r\n {this.state.selectedCover ? : null}\r\n
    */}\r\n
    \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default CEFileUploadWithImg","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport {Avatar} from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers'\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Validators} from '../../utils'\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\nimport {CEFileUpload} from '../../features/widget';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {InputSwitch} from 'primereact/inputswitch';\r\nimport {RadioButton} from 'primereact/radiobutton';\r\nimport {Card} from 'primereact/card';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { UserAPI } from '../../service/user.service'\r\n class WastetranManageAccept extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n acceptTimeList: [],\r\n distanceLabel: '',\r\n timeList: [\r\n {id: 0, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 1, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 2, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 3, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 4, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 5, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 6, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n ],\r\n isNotValid: false,\r\n isNotValidUpdate: false,\r\n showProgress: false,\r\n acceptJob: true,\r\n acceptCode: 0,\r\n daySelected: [],\r\n week: [\r\n { id: 'cb1', label: 'อาทิตย์', value: 1 },\r\n { id: 'cb2', label: 'จันทร์', value: 2 },\r\n { id: 'cb3', label: 'อังคาร', value: 3 },\r\n { id: 'cb4', label: 'พุธ', value: 4 },\r\n { id: 'cb5', label: 'พฤหัสบดี', value: 5 },\r\n { id: 'cb6', label: 'ศุกร์', value: 6 },\r\n { id: 'cb7', label: 'เสาร์', value: 7 }\r\n ],\r\n blankWeek: [\r\n { id: 'cb1', label: 'อาทิตย์', value: 1 },\r\n { id: 'cb2', label: 'จันทร์', value: 2 },\r\n { id: 'cb3', label: 'อังคาร', value: 3 },\r\n { id: 'cb4', label: 'พุธ', value: 4 },\r\n { id: 'cb5', label: 'พฤหัสบดี', value: 5 },\r\n { id: 'cb6', label: 'ศุกร์', value: 6 },\r\n { id: 'cb7', label: 'เสาร์', value: 7 }\r\n ],\r\n showSettingPanel: false,\r\n isInitial: true,\r\n wasteWorkStatus: [],\r\n startTimeList: [],\r\n endTimeList: [],\r\n };\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onUpdateValidation = this.onUpdateValidation.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.startTimeInputPanel = this.startTimeInputPanel.bind(this);\r\n this.endTimeInputPanel = this.endTimeInputPanel.bind(this);\r\n this.onStartTimeChange = this.onStartTimeChange.bind(this);\r\n this.onEndTimeChange = this.onEndTimeChange.bind(this);\r\n }\r\n componentDidMount() {\r\n const { userServiceProps} = this.props\r\n userServiceProps.getUserInfo()\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.userInfo != this.props.userInfo) {\r\n if (nextProps.userInfo && this.state.isInitial){\r\n this.initial(nextProps.userInfo)\r\n // this.initialSelected(this.state)\r\n }\r\n }\r\n \r\n }\r\n initial = (nextProps) => {\r\n\r\n console.log(nextProps)\r\n const res = nextProps.wasteWorkStatus\r\n\r\n if(res.is_active){\r\n this.setState({ acceptCode: 1})\r\n }else{\r\n this.setState({ acceptCode: 2})\r\n }\r\n\r\n var dayChecked = []\r\n var dayCheckedString = []\r\n if(res.is_sunday){\r\n dayChecked.push(this.state.week[0])\r\n dayCheckedString.push(1)\r\n }\r\n if(res.is_monday){\r\n dayChecked.push(this.state.week[1])\r\n dayCheckedString.push(2)\r\n }\r\n if(res.is_tuesday){\r\n dayChecked.push(this.state.week[2])\r\n dayCheckedString.push(3)\r\n }\r\n if(res.is_wednesday){\r\n dayChecked.push(this.state.week[3])\r\n dayCheckedString.push(4)\r\n }\r\n if(res.is_thursday){\r\n dayChecked.push(this.state.week[4])\r\n dayCheckedString.push(5)\r\n }\r\n if(res.is_friday){\r\n dayChecked.push(this.state.week[5])\r\n dayCheckedString.push(6)\r\n }\r\n if(res.is_saturday){\r\n dayChecked.push(this.state.week[6])\r\n dayCheckedString.push(7)\r\n }\r\n\r\n var startTimeList = []\r\n startTimeList.push(res.sunday_start_time)\r\n startTimeList.push(res.monday_start_time)\r\n startTimeList.push(res.tuesday_start_time)\r\n startTimeList.push(res.wednesday_start_time)\r\n startTimeList.push(res.thursday_start_time)\r\n startTimeList.push(res.friday_start_time)\r\n startTimeList.push(res.saturday_start_time)\r\n\r\n var endTimeList = []\r\n endTimeList.push(res.sunday_end_time)\r\n endTimeList.push(res.monday_end_time)\r\n endTimeList.push(res.tuesday_end_time)\r\n endTimeList.push(res.wednesday_end_time)\r\n endTimeList.push(res.thursday_end_time)\r\n endTimeList.push(res.friday_end_time)\r\n endTimeList.push(res.saturday_end_time)\r\n\r\n this.setState({ \r\n wasteWorkStatus: res,\r\n gid: res.gid,\r\n uid: res.user_uid,\r\n startTimeList: startTimeList,\r\n endTimeList: endTimeList,\r\n daySelected: dayChecked,\r\n daySelectedString: JSON.stringify(dayCheckedString),\r\n })\r\n // this.setState({ isInitial: false})\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n {/* */}\r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n if (rowData !== '') {\r\n console.log(rowData)\r\n var id = rowData.gid;\r\n // ServerAPI.removeTranspotDistanceType(id).then((res) => {\r\n // console.log(res);\r\n // if (res) {\r\n // var index = res.toString().indexOf(\"Error:\");\r\n // console.log(\"find error:\" + (index));\r\n // if (index == -1) {\r\n // this.showSuccess();\r\n // this.getTranspotDistanceType();\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false})\r\n // }\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false})\r\n // }\r\n // }).catch((error) => {\r\n // this.setState({ showProgress: false})\r\n // })\r\n }else{\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n // if (index !== -1) {\r\n // var array = this.state.distanceList;\r\n // array.splice(index, 1);\r\n // this.setState({ distanceList: array });\r\n // }\r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.distance)\r\n console.log(this.state.isNotValidUpdate)\r\n if(this.state.distance){\r\n var isNotinput = (\r\n this.state.distance.distance_name == '' ||\r\n this.state.distance.more_than_km == '' ||\r\n this.state.distance.less_than_km == '' ||\r\n this.state.isNotValidUpdate == true\r\n );\r\n \r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.distance.more_than_km)\r\n var max = parseFloat(this.state.distance.less_than_km)\r\n \r\n if(min >= max){\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n this.state.acceptTimeList.indexOf(\"\")\r\n this.state.acceptTimeList.forEach(objAcceptTimeList => {\r\n var objMin = parseFloat(objAcceptTimeList.more_than_km)\r\n var objMax = parseFloat(objAcceptTimeList.less_than_km)\r\n console.log(min+\" > \"+objMin);\r\n console.log(max+\" > \"+objMin);\r\n console.log(min+\" < \"+objMax);\r\n console.log(max+\" < \"+objMax);\r\n \r\n if(objAcceptTimeList.gid != this.state.distance.gid)\r\n if((min < objMin && max < objMin) || (min > objMax && max > objMax)){\r\n console.log(\"pass!\");\r\n }else if(objMin <= min || objMax >= max){\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n }else if(objMin >= min || objMax <= max){\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n }else console.log(\"pass2!\");\r\n }); \r\n \r\n if(notValid){\r\n this.showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var data = {\r\n gid: this.state.distance.gid,\r\n distance_name: this.state.distance.distance_name,\r\n more_than_km: parseFloat(this.state.distance.more_than_km),\r\n less_than_km: parseFloat(this.state.distance.less_than_km),\r\n }\r\n\r\n // ServerAPI.editTransportDistanceType(data).then((res) => {\r\n // console.log(res);\r\n // if (res) {\r\n // var index = res.toString().indexOf(\"Error:\");\r\n // console.log(\"find error:\" + (index));\r\n // if (index == -1) {\r\n // this.getTranspotDistanceType();\r\n // this.setState({ displayDialog:false});\r\n // this.showSuccess();\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false })\r\n // }\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false })\r\n // }\r\n // }).catch((error) => {\r\n // this.setState({ showProgress: false })\r\n // })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.distance;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateProperty(property, value) {\r\n let distance = this.state.distance;\r\n distance[property] = value;\r\n this.setState({distance: distance});\r\n }\r\n\r\n onDistanceUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n displayDialog:true,\r\n distance: Object.assign({}, e)\r\n });\r\n }\r\n onDistanceDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n distance: Object.assign({}, e)\r\n });\r\n }\r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n onUpdateValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValidUpdate: true })\r\n else this.setState({isNotValidUpdate: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n onCheckChange(e) {\r\n console.log(e);\r\n\r\n let showPassCheck = this.state.daySelected;\r\n if (e.checked) {\r\n //his.state.wasteTypesSelected.checked=true;\r\n showPassCheck.push(e.value);\r\n console.log(e)\r\n }\r\n else {\r\n\r\n var index = this.state.week.indexOf(e.value);\r\n //this.state.wasteTypes.check\r\n showPassCheck.splice(showPassCheck.indexOf(e.value), 1);\r\n }\r\n this.setState({ daySelected: showPassCheck });\r\n\r\n var intChecked = [];\r\n for (let index = 0; index < showPassCheck.length; index++) {\r\n intChecked.push(showPassCheck[index].value);\r\n\r\n }\r\n\r\n this.setState({ daySelectedString: JSON.stringify(intChecked) });\r\n console.log(JSON.stringify(intChecked));\r\n }\r\n\r\n toFormatDateTime(dateTime){\r\n return
    \r\n {dateTime}\r\n
    ; \r\n }\r\n\r\n onSubmit(){\r\n console.log(this.state.startTimeList)\r\n console.log(this.state.endTimeList)\r\n console.log(this.state.acceptCode)\r\n console.log(this.state.daySelected)\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.startTimeList == null ||\r\n this.state.endTimeList == null ||\r\n this.state.acceptCode == 0\r\n // || this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n\r\n if(this.state.acceptCode == 1 && this.state.daySelected.length == 0){\r\n this.showWarn(\"กรณีเปิดรับงาน กรุณาเลือกวันที่ต้องการรับงาน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n if(notValid){\r\n this.showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n const dayChecked = this.state.daySelectedString\r\n console.log(JSON.stringify(dayChecked))\r\n const startTime = this.state.startTimeList\r\n const endTime = this.state.endTimeList\r\n var acceptTimeList = {\r\n gid: this.state.gid,\r\n user_uid: this.state.uid,\r\n is_active: (this.state.acceptCode == 1 ? true : false),\r\n is_sunday: (dayChecked.toString().indexOf('1') != -1 ? true : false),\r\n is_monday: (dayChecked.toString().indexOf('2') != -1 ? true : false),\r\n is_tuesday: (dayChecked.toString().indexOf('3') != -1 ? true : false),\r\n is_wednesday: (dayChecked.toString().indexOf('4') != -1 ? true : false),\r\n is_thursday: (dayChecked.toString().indexOf('5') != -1 ? true : false),\r\n is_friday: (dayChecked.toString().indexOf('6') != -1 ? true : false),\r\n is_saturday: (dayChecked.toString().indexOf('7') != -1 ? true : false),\r\n sunday_start_time: startTime[0],\r\n sunday_end_time: endTime[0],\r\n monday_start_time: startTime[1],\r\n monday_end_time: endTime[1],\r\n tuesday_start_time: startTime[2],\r\n tuesday_end_time: endTime[2],\r\n wednesday_start_time: startTime[3],\r\n wednesday_end_time: endTime[3],\r\n thursday_start_time: startTime[4],\r\n thursday_end_time: endTime[4],\r\n friday_start_time: startTime[5],\r\n friday_end_time: endTime[5],\r\n saturday_start_time: startTime[6],\r\n saturday_end_time: endTime[6],\r\n \r\n }\r\n //this.state.acceptTimeList.push(acceptTimeList)\r\n console.log(acceptTimeList)\r\n // this.showSuccess();\r\n // this.setState({ showProgress: false})\r\n ServerAPI.updateWorkingStatus(acceptTimeList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.setState({ showProgress: false})\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n\r\n }\r\n console.log(this.state.acceptTimeList)\r\n }\r\n }\r\n }\r\n startTimeInputPanel = (index,disable) =>{\r\n let startTime = this.state.timeList[index].startTime\r\n if(this.state.startTimeList.length != 0){\r\n let hours = this.state.startTimeList[index].substring(0,2)\r\n let minutes = this.state.startTimeList[index].substring(3,5)\r\n let seconds = this.state.startTimeList[index].substring(6,8)\r\n startTime.setHours(hours)\r\n startTime.setMinutes(minutes)\r\n startTime.setSeconds(seconds)\r\n }\r\n \r\n return (\r\n
    \r\n \r\n this.setState({ startTime: e.value })} \r\n onChange={(e) => this.onStartTimeChange(e,index) } \r\n timeOnly={true} \r\n hourFormat=\"24\" \r\n placeholder=\"เลือกเวลา\"\r\n readOnlyInput={true}\r\n showIcon={true}\r\n icon=\"fa fa-clock-o\"\r\n disabled={disable ? true : !(this.state.daySelected.indexOf(this.state.week[index]) !== -1)}\r\n />\r\n
    \r\n );\r\n }\r\n endTimeInputPanel = (index,disable) =>{\r\n let endTime = this.state.timeList[index].endTime\r\n if(this.state.endTimeList.length != 0){\r\n let hours = this.state.endTimeList[index].substring(0,2)\r\n let minutes = this.state.endTimeList[index].substring(3,5)\r\n endTime.setHours(hours)\r\n endTime.setMinutes(minutes)\r\n }\r\n\r\n return (\r\n
    \r\n \r\n this.setState({ endTime: e.value })} \r\n onChange={(e) => this.onEndTimeChange(e,index) } \r\n timeOnly={true} \r\n hourFormat=\"24\"\r\n placeholder=\"เลือกเวลา\"\r\n readOnlyInput={true}\r\n showIcon={true}\r\n icon=\"fa fa-clock-o\"\r\n disabled={disable ? true : !(this.state.daySelected.indexOf(this.state.week[index]) !== -1)}\r\n />\r\n
    \r\n );\r\n }\r\n onStartTimeChange(e,index){\r\n const time = e.value;\r\n let timelist = this.state.timeList\r\n timelist[index].startTime = time\r\n\r\n this.setState({timeList: timelist})\r\n\r\n var setTime = e.value;\r\n let startTime = this.state.startTimeList\r\n setTime.toISOString()\r\n console.log(setTime)\r\n let start = setTime.toString().indexOf(\":\")-2\r\n let end = setTime.toString().lastIndexOf(\":\")+3\r\n\r\n setTime = setTime.toString().substring(start,end)\r\n\r\n console.log(setTime)\r\n startTime[index] = setTime\r\n\r\n this.setState({startTimeList: startTime})\r\n }\r\n onEndTimeChange(e,index){\r\n const time = e.value;\r\n let timelist = this.state.timeList\r\n timelist[index].endTime = time\r\n\r\n this.setState({timeList: timelist})\r\n\r\n var setTime = e.value;\r\n let endTime = this.state.endTimeList\r\n setTime.toISOString()\r\n console.log(setTime)\r\n let start = setTime.toString().indexOf(\":\")-2\r\n let end = setTime.toString().lastIndexOf(\":\")+3\r\n\r\n setTime = setTime.toString().substring(start,end)\r\n\r\n console.log(setTime)\r\n endTime[index] = setTime\r\n\r\n this.setState({endTimeList: endTime})\r\n }\r\n\r\n showAddDistance(){\r\n const timeInputPanel = this.state.week.map((item,index)=>\r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.daySelected.indexOf(this.state.week[index]) !== -1}>\r\n \r\n \r\n
    \r\n {this.startTimeInputPanel(index)}\r\n {this.endTimeInputPanel(index)}\r\n
    \r\n );\r\n\r\n const disableTimeInputPanel = this.state.blankWeek.map((item,index)=>\r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.daySelected.indexOf(this.state.week[index]) !== -1}\r\n disabled={true}>\r\n \r\n \r\n
    \r\n {this.startTimeInputPanel(index,true)}\r\n {this.endTimeInputPanel(index,true)}\r\n
    \r\n );\r\n\r\n const newDistance = (\r\n
    \r\n \r\n \r\n
    \r\n {this.state.acceptCode == 1 && timeInputPanel}\r\n {this.state.acceptCode == 2 && disableTimeInputPanel}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n \r\n
    \r\n }\r\n \r\n
    \r\n );\r\n return newDistance;\r\n }\r\n\r\n showDistanceTable(){\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const distanceTable = (\r\n
    \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.distance &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.distance.distance_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.distance.more_than_km}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.distance.less_than_km}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.distance &&\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('distance_name', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('more_than_km', e.target.value)}}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('less_than_km', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return distanceTable;\r\n }\r\n\r\n acceptJobStastus(){\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ acceptCode: e.value })}\r\n checked={this.state.acceptCode === 1} />\r\n \r\n \r\n this.setState({ acceptCode: e.value })}\r\n checked={this.state.acceptCode === 2} />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n \r\n\r\n render() {\r\n const acceptJobStastusPanel = this.acceptJobStastus();\r\n const addDistancePanel = this.showAddDistance();\r\n const distanceTablePanel = this.showDistanceTable();\r\n const showProgress = this.showProgressSpinner();\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าการรับงาน

    \r\n
    \r\n {acceptJobStastusPanel}\r\n {addDistancePanel}\r\n {showProgress}\r\n {/* {distanceTablePanel} */}\r\n\r\n
    \r\n }\r\n \r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n \r\n productType: state.master.productType,\r\n product: state.master.product,\r\n userInfo: state.userInfo.data,\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n userServiceProps: bindActionCreators(UserService,dispatch),\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WastetranManageAccept)\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\n\r\n\r\n\r\n\r\nexport class WastetranReportBuying extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n\r\n\r\n status: '0',\r\n status2: '0',\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '0' },\r\n { label: 'รอนัดหมาย', value: '1' },\r\n { label: 'รอทีมขนส่ง', value: '2' },\r\n { label: 'รอส่งสินค้า', value: '3' },\r\n { label: 'ปิด Order', value: '4' },\r\n { label: 'ยกเลิก', value: '5' },\r\n { label: 'ผิดนัด', value: '6' },\r\n ],\r\n\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n };\r\n\r\n }\r\n\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n\r\n render() {\r\n var header =
    \r\n
    ;\r\n\r\n\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n\r\n\r\n\r\n
    \r\n

    รายงานการขาย

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // { this.setState({ status2: e.value }) }}\r\n // />\r\n //
    \r\n //
    \r\n //
    \r\n\r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date1: e.value })} />\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date2: e.value })} />\r\n //
    \r\n //
    \r\n //
    \r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date3: e.value })} />\r\n //
    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // this.setState({ date4: e.value })} />\r\n //
    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n\r\n\r\n //
    \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n // \r\n // this.setState({ dataTableSelection: event.value })}\r\n // scrollable={true} rowsPerPageOptions={[5, 10, 20]} footerColumnGroup={footerGroup}\r\n // >\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n //
    \r\n //
    \r\n \r\n \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { getFile } from '../../utils/utilFunctions'\r\nimport { closeWebsocket } from '../../utils/chat'\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nexport class WastetranInlineProfile extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n isLoadAvatar: false,\r\n isLoading: true,\r\n expanded: true\r\n };\r\n this.onClick = this.onClick.bind(this);\r\n this.redirectProfile = this.redirectProfile.bind(this);\r\n }\r\n\r\n // ========= Initial : props to state =========\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isLoading: false })\r\n }\r\n }\r\n\r\n onClick(event) {\r\n this.setState({ expanded: !this.state.expanded });\r\n event.preventDefault();\r\n }\r\n\r\n redirectProfile = (event) => {\r\n this.props.redirectProfile(event)\r\n }\r\n onRegisGenClick = (event) => {\r\n this.props.onRegisGenClick(event)\r\n }\r\n changePasswordU2 = (event) => {\r\n this.props.changePasswordU2(event)\r\n }\r\n changePinU2 = (event) => {\r\n this.props.changePinU2(event)\r\n }\r\n\r\n logout = () => {\r\n const { userServiceProps } = this.props\r\n userServiceProps.logout();\r\n closeWebsocket();\r\n }\r\n\r\n swapToWastegen = () => {\r\n localStorage.setItem('user-type', 'wastegen');\r\n window.location = '#/wastegen';\r\n }\r\n\r\n swapToAdmin = () => {\r\n\r\n var token=localStorage.getItem('second-token');\r\n\r\n localStorage.removeItem('second-token')\r\n\r\n localStorage.setItem('access-token', token);\r\n localStorage.setItem('user-type', 'administrator');\r\n\r\n if(this.state.fromChat){\r\n window.location = '#/administrator/chat';\r\n }else{\r\n window.location = '#/administrator/manage-members';\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n userInfo,\r\n fileServiceProps\r\n } = this.props\r\n var currentUserInfo = null\r\n if(userInfo){\r\n currentUserInfo = userInfo.is_available_register;\r\n }\r\n let fullName = \"Loading...\";\r\n let imageProfile = (\r\n \"Profile\"\r\n );\r\n\r\n if (this.state.isLoading) {\r\n if (userInfo) {\r\n this.initial(userInfo);\r\n this.setState({ isLoadAvatar: true })\r\n }\r\n if(this.props.location.search == '?from=chat'){\r\n this.setState({ fromChat: true})\r\n }\r\n }\r\n\r\n if(userInfo){\r\n if(userInfo.person_type==1){\r\n if (userInfo.person_first_name && userInfo.person_last_name) {\r\n fullName = userInfo.person_first_name + \" \" + userInfo.person_last_name\r\n }\r\n }else{\r\n fullName = userInfo.org_name\r\n }\r\n }\r\n\r\n if (this.props.userInfo) {\r\n if (!this.props.userInfo.img_person_name) {\r\n imageProfile = (\r\n \"Profile\"\r\n );\r\n } else {\r\n imageProfile = (\r\n \"Profile\"\r\n\r\n );\r\n }\r\n }\r\n\r\n const contentProfile = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n\r\n if (!localStorage.getItem('user-type')) {\r\n window.location = \"#/\"\r\n }\r\n\r\n let secondToken = localStorage.getItem('second-token');\r\n\r\n return
    \r\n {contentProfile}\r\n\r\n
      \r\n\r\n\r\n {(secondToken)?\r\n
    • \r\n \r\n \r\n กลับหน้า Admin\r\n \r\n
      \r\n
      \r\n
      กลับหน้า Admin
      \r\n
      \r\n
    • \r\n :''\r\n } \r\n\r\n {(secondToken)?'':\r\n
    • \r\n \r\n \r\n Logout\r\n \r\n
      \r\n
      \r\n
      Logout
      \r\n
      \r\n
    • \r\n }\r\n\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      Profile
      \r\n
      \r\n
    • \r\n\r\n {currentUserInfo != null && !currentUserInfo && userInfo &&\r\n
    • \r\n \r\n
      \r\n
      \r\n
      \r\n สลับเป็นผู้รักษ์โลก\r\n
      \r\n
      \r\n
    • }\r\n\r\n {currentUserInfo != null && currentUserInfo && userInfo &&\r\n
    • \r\n \r\n
      \r\n
      \r\n
      \r\n สมัครเป็นผู้รักษ์โลก\r\n
      \r\n
      \r\n
    • }\r\n\r\n {(secondToken)?'':\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      เปลี่ยนรหัสผ่าน
      \r\n
      \r\n
    • \r\n }\r\n {(secondToken)?'':\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      เปลี่ยนรหัสแจ้งถอนเงิน
      \r\n
      \r\n
    • \r\n }\r\n
    \r\n
    \r\n }\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport {InputText} from 'primereact/inputtext';\r\nimport {RadioButton} from 'primereact/radiobutton';\r\n\r\n\r\nclass DrivenInfoView extends Component {\r\n\r\n state = {\r\n\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n //console.log(\"DrivenInfoView :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"DrivenInfoView :componentWillReceiveProps\")\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"DrivenInfoView :shouldComponentUpdate\")\r\n return true\r\n }\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n //console.log(\"DrivenInfoView :componentWillUpdate\")\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"DrivenInfoView :componentDidUpdate\")\r\n\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n this.props.onChangeInputText(e);\r\n }\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastetran = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastepro = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n //console.log(\"DrivenInfoView :render\")\r\n const {\r\n mode\r\n } = this.props\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(DrivenInfoView)\r\n","import React, { Component } from \"react\";\r\nimport { connect } from 'react-redux';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport {Chips} from 'primereact/chips';\r\nimport { Button } from 'primereact/button';\r\n\r\nexport class AddU3View extends Component {\r\n\r\n componentDidMount() {\r\n //console.log(\"AddU3View :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"AddU3View :shouldComponentUpdate\")\r\n return true;\r\n }\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n //console.log(\"AddU3View :componentWillUpdate\")\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"AddU3View :componentDidUpdate\")\r\n }\r\n\r\n render() {\r\n const {suggestions,listSuggestions,valueU3} = this.props\r\n let chipValue = valueU3\r\n if(chipValue.length == 0){\r\n chipValue = [{full_name: \"ต้องการส่งทั้งหมด\",}]\r\n }\r\n return (\r\n
    \r\n
    \r\n this.props.onUsernameChanged(e.target.value)}\r\n itemTemplate={this.props.itemTemplateAutoComplete}\r\n placeholder=\"ระบุร้านขายของเก่า\"\r\n />\r\n
    \r\n {/*
    \r\n this.props.onAddU3()}\r\n />\r\n
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(AddU3View)","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport {Dropdown} from 'primereact/dropdown'\r\nimport {Chips} from 'primereact/chips'\r\nimport { Validators } from '../../utils';\r\nimport { Message } from 'primereact/message';\r\n\r\nclass LocationRecycleView extends Component {\r\n\r\n state = {\r\n\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n console.log(\"LocationRecycleView :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"LocationRecycleView :componentWillReceiveProps\")\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"LocationRecycleView :shouldComponentUpdate\")\r\n return true\r\n }\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"LocationRecycleView :componentWillUpdate\")\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"LocationRecycleView :componentDidUpdate\")\r\n\r\n }\r\n\r\n //> Event\r\n onChangeProvinceChip = (e) => {\r\n this.props.onChangeProvinceChip(e);\r\n }\r\n onChangeDistrictChip = (e) =>{\r\n this.props.onChangeDistrictChip(e);\r\n }\r\n itemTemplate = (item)=>{\r\n return this.props.itemTemplate(item);\r\n }\r\n onRemove = (e) =>{\r\n this.props.onRemove(e);\r\n }\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastetran = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastepro = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n console.log(\"LocationRecycleView :render\")\r\n const {\r\n mode\r\n } = this.props\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n {Validators.isEmpty(this.props.selectedChipDistrict)&&\r\n \r\n }\r\n
    \r\n {renderMode}\r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(LocationRecycleView)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getDistrict, getSubDistrict, getCardDistrict, getCardSubDistrict, getChipDistrict, getArrChipDistrict } from '../../service/LocationService';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport ImageInfoView from '../profile/ImageInfoView';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport DrivenInfoView from '../profile/DrivenInfoView';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport AddU3View from '../profile/AddU3View'\r\nimport LocationRecycleView from '../profile/LocationRecycleView';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { getUserInfo, updateWastetranProfile, changePassword } from '../../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\nimport { deleteWasteTranFile } from '../../service/file.service';\r\nimport { wastetranChangePin } from '../../service/wastetran.service'\r\nimport * as ServerAPI from '../register/service'\r\n\r\nimport { ChangePinView } from '../changepin/ChangePinView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\n\r\n\r\n\r\nclass ExampleWastetranProfileCtrl extends Component {\r\n\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranProfileCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n //> page control\r\n isInitial: true,\r\n isUpdate: false,\r\n\r\n isValidateError: false,\r\n mode: 'wastetran',\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n listFileDelete: [],\r\n errMobileMsg:null,\r\n isErrorPhone:false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Change Pin\r\n modePin: 2,\r\n isShowChangePin: false,\r\n isChangePin: false,\r\n isSubmitPin: false,\r\n inputPin: null,\r\n passwordPin: null,\r\n isValidBankWithDrawCode: true,\r\n isValidPasswordPin: true,\r\n isPassPinVisible: false,\r\n //> Address card user current\r\n checkCardAddress: null,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n //> Address Card info\r\n selectedAdrCardProv: null,\r\n selectedAdrCardDistrict: null,\r\n selectedAdrCardSubDistrict: null,\r\n //> Chip\r\n isInitialLoadChip: true,\r\n provinceChipSelected: null,\r\n districtChipSelected: null,\r\n selectedChipDistrict: [],\r\n //> PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n newPassword: null,\r\n confirmPassword: null,\r\n disableNewPass: true,\r\n\r\n //u3\r\n listSuggestions: null,\r\n suggestions:\"\",\r\n valueU3:[]\r\n }\r\n\r\n this.onUsernameU3Changed = this.onUsernameU3Changed.bind(this);\r\n this.onSelectAutoCompleteSearchName = this.onSelectAutoCompleteSearchName.bind(this);\r\n this.onAddU3 = this.onAddU3.bind(this);\r\n this.suggestBrands = this.suggestBrands.bind(this);\r\n this.onChangeChips = this.onChangeChips.bind(this);\r\n this.itemTemplateChipU3 = this.itemTemplateChipU3.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranProfileCtrl :componentDidMount\")\r\n this.props.dispatch(getUserInfo());\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"nextProps.userInfoModel : \",nextProps.userInfoModel);\r\n console.log(\"ExampleWastetranProfileCtrl :componentWillReceiveProps\")\r\n if (\r\n nextProps.userInfoModel\r\n && !nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n && !nextProps.locationLoad.isFetching\r\n && !nextProps.getArrChipDistrict.isLoading\r\n ) {\r\n\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n this.initialSelected(this.state)\r\n }\r\n\r\n }\r\n }\r\n //> Status submit\r\n if (this.state.isSubmitPin && this.state.isChangePin && !nextProps.wastetranChangePin.isLoading) {\r\n if (nextProps.wastetranChangePin.isFailed) {\r\n this.showError(\"ไม่สามารถเปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน กรุณาตรวจสอบรหัสผ่าน\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n } else {\r\n this.showSuccess(\"เปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน สำเร็จ\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n this.setState({ inputPin: null })\r\n this.setState({ passwordPin: null })\r\n this.setState({isShowChangePin:false})\r\n this.props.dispatch(getUserInfo());\r\n this.setState({ isInitial: true })\r\n }\r\n }\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n this.saveWastetran()\r\n if (!nextProps.updateWastetranProfileLoad.isLoading) {\r\n if (!nextProps.updateWastetranProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.updateWastetranProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranProfileCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranProfileCtrl :componentWillUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranProfileCtrl :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n if (this.state.person_type != prevState.person_type) {\r\n this.validateRequire(this.state)\r\n }\r\n }\r\n\r\n saveWastetran = () => {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n\r\n const formData = new FormData();\r\n for (let key in this.props.userInfoModel) {\r\n let valState = this.state[key]\r\n if (typeof valState == 'object') {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.append([key], JSON.stringify(valState))\r\n }\r\n } else {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.set([key], valState || '')\r\n }\r\n }\r\n }\r\n\r\n let u3ListString = []\r\n this.state.valueU3.forEach(item =>{\r\n if(item.uid === null){\r\n u3ListString.push({u3_uid : item.u3_uid})\r\n }else{\r\n u3ListString.push({u3_uid : item.uid})\r\n }\r\n })\r\n\r\n //Custom field other overide that\r\n let areListString = this.state.selectedChipDistrict\r\n formData.set('areaListString', JSON.stringify(areListString))\r\n formData.set(\"addr_card_use_current\", this.state.checkCardAddress ? 1 : 0)\r\n formData.set('u3ListString', JSON.stringify(u3ListString))\r\n this.setState({valueU3:[]})\r\n\r\n\r\n //>custom File\r\n const fLimit = 1000000;\r\n if (this.state.fileImgIden && this.state.fileImgIden.size <= fLimit) {\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n }\r\n if (this.state.fileImgRegis && this.state.fileImgRegis.size <= fLimit) {\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n }\r\n if (this.state.fileImgPerson && this.state.fileImgPerson.size <= fLimit) {\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n if (this.state.fileImgVehicle && this.state.fileImgVehicle.size <= fLimit) {\r\n formData.append('FileImgVehicle', this.state.fileImgVehicle);\r\n }\r\n\r\n //Delete file in list action\r\n this.state.listFileDelete.map(fileName => {\r\n fileName = fileName || \"\"\r\n let fileType = null;\r\n let spFname = fileName.split(\"-\")\r\n if (spFname.length > 0) {\r\n fileType = spFname[0]\r\n }\r\n this.props.dispatch(deleteWasteTranFile(fileType, fileName))\r\n })\r\n this.props.dispatch(updateWastetranProfile(formData));\r\n\r\n }\r\n\r\n //> Submit\r\n onSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n await this.validateRequire(this.state);\r\n\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n this.saveWastetran()\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n }\r\n\r\n setUid = (userInfo) => {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n this.setUid(nextProps)\r\n //> pin\r\n if (Validators.isNotEmpty(nextProps.bank_withdraw_code)) {\r\n this.setState({\r\n modePin: 1\r\n })\r\n } else {\r\n this.setState({\r\n modePin: 2\r\n })\r\n }\r\n //>chipselect\r\n if (this.state.isInitialLoadChip == true\r\n && this.state.selectedChipDistrict.length == 0\r\n && nextProps.areaList\r\n && nextProps.areaList.length > 0\r\n ) {\r\n for (let key in nextProps.areaList) {\r\n let entity = nextProps.areaList[key];\r\n this.state.selectedChipDistrict.push(entity);\r\n }\r\n this.setState({ isInitialLoadChip: false })\r\n }\r\n\r\n //set valueU3\r\n if(nextProps.u3List){\r\n for (let key in nextProps.u3List) {\r\n let entity = nextProps.u3List[key];\r\n this.state.valueU3.push(entity);\r\n }\r\n }\r\n }\r\n } \r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n //> adrees card info\r\n if (nextProps.cardProvinceModel && nextProps.cardProvinceModel.length > 0) {\r\n this.setState({ cardProvince: nextProps.cardProvinceModel })\r\n }\r\n if (nextProps.cardDistrictModel && nextProps.cardDistrictModel.length > 0) {\r\n this.setState({ cardDistrict: nextProps.cardDistrictModel })\r\n }\r\n if (nextProps.cardSubDistrictModel && nextProps.cardSubDistrictModel.length > 0) {\r\n this.setState({ cardSubDistrict: nextProps.cardSubDistrictModel })\r\n }\r\n //> chip\r\n if (nextProps.chipProvinceModel && nextProps.chipProvinceModel.length > 0) {\r\n this.setState({ chipProvince: nextProps.chipProvinceModel })\r\n }\r\n if (nextProps.chipDistrictModel && nextProps.chipDistrictModel.length > 0) {\r\n this.setState({ chipDistrict: nextProps.chipDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n\r\n //Adress Card info : province\r\n selectedAdrCardProv,\r\n addr_card_province_code,\r\n cardProvince,\r\n //Address user current\r\n checkCardAddress,\r\n addr_card_use_current,\r\n //Adress current info : district\r\n selectedAdrCardDistrict,\r\n addr_card_district_code,\r\n cardDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCardSubDistrict,\r\n addr_card_subdistrict_code,\r\n cardSubDistrict,\r\n //Chip\r\n isInitialLoadChip,\r\n chipProvince,\r\n areaList,\r\n provinceChipSelected,\r\n selectedChipDistrict,\r\n } = nextState\r\n\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress use current\r\n if (checkCardAddress == null && addr_card_use_current) {\r\n if (addr_card_use_current == 1) {\r\n this.setState({ checkCardAddress: true })\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> Adress card info\r\n if (!selectedAdrCardProv && addr_card_province_code) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (addr_card_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCardProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardDistrict && addr_card_district_code) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (addr_card_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCardDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardSubDistrict && addr_card_subdistrict_code) {\r\n for (let key in cardSubDistrict) {\r\n let val = cardSubDistrict[key]\r\n if (addr_card_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCardSubDistrict: val })\r\n }\r\n }\r\n }\r\n //>chip\r\n // if (!provinceChipSelected && chipProvince) {\r\n // for (let key in areaList) {\r\n // let entity = areaList[key];\r\n // let provinceCode = entity.provinceCode;\r\n // if (provinceCode) {\r\n // for (let i in chipProvince) {\r\n // let p = chipProvince[i]\r\n // if (provinceCode == p.provinceCode) {\r\n // this.setState({ provinceChipSelected: p })\r\n // }\r\n // }\r\n // break\r\n // }\r\n // }\r\n // }\r\n\r\n // if (isInitialLoadChip == true\r\n // && selectedChipDistrict.length == 0\r\n // && areaList\r\n // && !this.props.getArrChipDistrict.isLoading\r\n // && !this.props.getArrChipDistrict.isFailed\r\n // && this.props.getArrChipDistrict.data\r\n // ) {\r\n // for (let key in areaList) {\r\n // let entity = areaList[key];\r\n // let distCode = entity.districtCode;\r\n\r\n // if (\r\n // distCode\r\n // ) {\r\n // for (let i in this.props.getArrChipDistrict.data) {\r\n // let item = this.props.getArrChipDistrict.data[i]\r\n // const ans = item.districtCode\r\n\r\n // if (distCode == ans) {\r\n // this.state.selectedChipDistrict.push(item);\r\n // this.setState({ isInitialLoadChip: false })\r\n // break;\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n }\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n // if (state.checkCardAddress) {\r\n // this._validateAddressInfo(2)\r\n // } else {\r\n // this._validateAddressInfo(1)\r\n // this._validateAddressInfo(2)\r\n // }\r\n //location area recycle\r\n if (Validators.isEmpty(state.selectedChipDistrict)) {\r\n this._classNameRequired(true)\r\n } \r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Check required\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n }\r\n //> Image View\r\n onSelectFileImgIden = (e) => {\r\n this.setState({ fileImgIden: e.files[0] });\r\n }\r\n onRefreshIden = (e) => {\r\n this.setState({ img_iden_name: this.props.userInfoModel.img_iden_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_iden_name)\r\n })\r\n }\r\n onDeleteIden = (e) => {\r\n this.state.listFileDelete.push(this.state.img_iden_name)\r\n this.setState({ img_iden_name: null })\r\n this.setState({ fileImgIden: null });\r\n }\r\n onSelectFileImgRegis = (e) => {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n }\r\n onRefreshRegis = (e) => {\r\n this.setState({ img_regis_org_name: this.props.userInfoModel.img_regis_org_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_regis_org_name)\r\n })\r\n }\r\n onDeleteRegis = (e) => {\r\n this.state.listFileDelete.push(this.state.img_regis_org_name)\r\n this.setState({ img_regis_org_name: null })\r\n this.setState({ fileImgRegis: null });\r\n }\r\n onSelectFileImgPerson = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onRefreshPerson = (e) => {\r\n this.setState({ img_person_name: this.props.userInfoModel.img_person_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_person_name)\r\n })\r\n }\r\n onDeletePerson = (e) => {\r\n this.state.listFileDelete.push(this.state.img_person_name)\r\n this.setState({ img_person_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n onSelectFileImgVehicle = (e) => {\r\n this.setState({ fileImgVehicle: e.files[0] });\r\n }\r\n onRefreshVehicle = (e) => {\r\n this.setState({ vehicle_img_name: this.props.userInfoModel.vehicle_img_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.vehicle_img_name)\r\n })\r\n }\r\n onDeleteVehicle = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name)\r\n this.setState({ vehicle_img_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n //> Event Location Recycle\r\n onChangeProvinceChip = (e) => {\r\n this.setState({ provinceChipSelected: e.value })\r\n this.props.dispatch(getChipDistrict(e.value.provinceCode))\r\n }\r\n onChangeDistrictChip = (e) => {\r\n this.setState({ districtChipSelected: e.value });\r\n let chk = false;\r\n this.state.selectedChipDistrict.map((value) => {\r\n if (value.districtName == e.value.districtName) {\r\n chk = true\r\n }\r\n })\r\n if (chk == true) {\r\n this.showError(\"มีอำเภอซ้ำ กรุณาเลือกใหม่อีกครั้ง\");\r\n } else {\r\n this.state.selectedChipDistrict.push(e.value);\r\n }\r\n }\r\n itemTemplate = (item) => {\r\n return (\r\n
    \r\n {item.districtName} {item.provinceName}\r\n \r\n
    \r\n );\r\n }\r\n itemTemplateChipU3 = (item) => {\r\n return (\r\n
    \r\n {item.full_name}\r\n \r\n
    \r\n );\r\n }\r\n\r\n itemTemplateAutoComplete(item) {\r\n return (\r\n
    \r\n {item.full_name}\r\n
    \r\n );\r\n }\r\n onRemove = (e) => {\r\n \r\n if(e.value[0].hasOwnProperty(\"provinceCode\")){\r\n this.setState({\r\n selectedChipDistrict: this.state.selectedChipDistrict.filter(item => item.districtCode != e.value[0].districtCode)\r\n })\r\n }else{\r\n this.setState({\r\n valueU3: this.state.valueU3.filter(item => item.full_name != e.value[0].full_name)\r\n })\r\n\r\n }\r\n \r\n }\r\n\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event Address\r\n onDuplicate = (e) => {\r\n const { checked } = e\r\n this.setState({ checkCardAddress: checked })\r\n }\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n onChangeAdrCardProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCardDistrict: null })\r\n this.setState({ addr_card_district_code: null })\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCardDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCardSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardSubDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n //>Change pin\r\n onClickShow = (e) => {\r\n this.setState({ isShowChangePin: e.checked })\r\n }\r\n onChangePin = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ isChangePin: true })\r\n this.setState({ [name]: value })\r\n\r\n //validate input pin number\r\n if (name == 'inputPin') {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidBankWithDrawCode: false })\r\n } else {\r\n this.setState({ isValidBankWithDrawCode: true })\r\n }\r\n }\r\n this.validatePassword(this.state.passwordPin)\r\n }\r\n onChangePinPassword = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n //Validate required\r\n if (Validators.isNotEmpty(value)) {\r\n this.validatePassword(value)\r\n }\r\n }\r\n validatePassword = async (password) => {\r\n //Validate required\r\n if (password != SecureUtils.getItem(\"user\").password) {\r\n this.setState({ isValidPasswordPin: false })\r\n } else {\r\n this.setState({ isValidPasswordPin: true })\r\n }\r\n }\r\n onClickVisible = (e) => {\r\n this.setState((pv) => ({ isPassPinVisible: !pv.isPassPinVisible }))\r\n }\r\n onSubmitChangePin = async (e) => {\r\n //Validate required\r\n await this.validatePassword(this.state.passwordPin)\r\n if (this.state.isChangePin && this.state.isValidPasswordPin) {\r\n var jsDataPin = {\r\n password: this.state.passwordPin,\r\n bank_withdraw_code: this.state.inputPin\r\n };\r\n this.props.dispatch(wastetranChangePin(jsDataPin))\r\n this.setState({ isSubmitPin: true })\r\n } else {\r\n if (!this.state.isValidPasswordPin) {\r\n this.showWarn(\"กรุณาระบุรหัสผ่านให้ถูกต้อง\")\r\n }\r\n\r\n if (Validators.isEmpty(this.state.inputPin)) {\r\n this.showWarn(\"กรุณาระบุข้อมูล PIN ให้ถูกต้อง\")\r\n this.setState({ isValidBankWithDrawCode: false })\r\n }\r\n }\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n onSelectAutoCompleteSearchName(item) {\r\n // this.setState({ suggestions: item.value.search_name });\r\n\r\n this.state.suggestions = item.value.full_name\r\n\r\n this.onAddU3()\r\n }\r\n\r\n suggestBrands(event) {\r\n console.log(event);\r\n }\r\n\r\n onUsernameU3Changed(search_name) {\r\n if(typeof( search_name)!=\"object\")\r\n if(search_name.trim()!=\"\"){\r\n this.setState({ suggestions: search_name });\r\n if (search_name.length >= 1) {\r\n ServerAPI.searchMemberName(search_name).then((res) => {\r\n this.setState({listSuggestions:res})\r\n }).catch((error) => {\r\n\r\n })\r\n }\r\n }else this.setState({ suggestions: search_name });\r\n }\r\n\r\n onAddU3(){\r\n const {suggestions,valueU3,listSuggestions} = this.state\r\n if(suggestions != \"\"){\r\n let indexSugges = listSuggestions.findIndex(item => {\r\n return item.full_name == suggestions\r\n })\r\n\r\n if(valueU3.length > 0){\r\n let findExist = valueU3.findIndex(item =>{\r\n return item.full_name == suggestions\r\n })\r\n if(findExist == -1){\r\n this.state.valueU3.push(listSuggestions[indexSugges])\r\n }else{\r\n this.showWarn(\"ข้อมูลซ้ำ กรุณาป้อนใหม่อีกครั้ง\")\r\n }\r\n }else{\r\n this.state.valueU3.push(listSuggestions[indexSugges])\r\n }\r\n this.setState({suggestions:''})\r\n }\r\n\r\n }\r\n\r\n onChangeChips(e){\r\n this.setState({ valueU3: e.value })\r\n\r\n }\r\n\r\n\r\n render() {\r\n console.log(this.state.selectedCompanyType)\r\n console.log(\"ExampleWastetranProfileCtrl :render\", this.state)\r\n const { userInfoModel } = this.props\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n {\r\n \r\n }\r\n \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n {\r\n \r\n }\r\n
    \r\n\r\n \r\n {\r\n \r\n }\r\n {userInfoModel &&\r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n {userInfoModel &&\r\n \r\n }\r\n {(userInfoModel && this.state.person_type == 2 )&&\r\n \r\n }\r\n {userInfoModel &&\r\n \r\n }\r\n \r\n \r\n\r\n \r\n {\r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {\r\n \r\n }\r\n \r\n \r\n
    \r\n \r\n {/* {\r\n \r\n } */}\r\n\r\n {/*
    \r\n

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

    \r\n {this.state.isShowChangePassword == true &&\r\n }\r\n\r\n
    */}\r\n
    \r\n\r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n {this.props.updateWastetranProfileLoad.isLoading &&\r\n \r\n }\r\n {!this.props.updateWastetranProfileLoad.isLoading &&\r\n \r\n }\r\n
    \r\n }\r\n\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n cardProvinceModel: state.location.cardProvince,\r\n cardDistrictModel: state.location.cardDistrict,\r\n cardSubDistrictModel: state.location.cardSubDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n chipProvinceModel: state.location.chipProvince,\r\n chipDistrictModel: state.location.chipDistrict,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWastetranProfileLoad: state.updateWastetranProfile,\r\n getArrChipDistrict: state.getArrChipDistrict,\r\n wastetranChangePin: state.wastetranChangePin\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranProfileCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getDistrict, getSubDistrict, getCardDistrict, getCardSubDistrict, getChipDistrict, getArrChipDistrict } from '../../service/LocationService';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport ImageInfoView from '../profile/ImageInfoView';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport DrivenInfoView from '../profile/DrivenInfoView';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport LocationRecycleView from '../profile/LocationRecycleView';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { getUserInfo, updateWastetranProfile, changePassword } from '../../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\nimport { deleteWasteTranFile } from '../../service/file.service';\r\nimport { wastetranChangePin } from '../../service/wastetran.service'\r\nimport * as ServerAPI from '../register/service'\r\n\r\nimport { ChangePinView } from '../changepin/ChangePinView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\n\r\nclass ExampleWastetranChangePassword extends Component {\r\n\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranChangePassword :constructor\")\r\n super(props);\r\n this.state = {\r\n //> page control\r\n isInitial: true,\r\n isUpdate: false,\r\n\r\n isValidateError: false,\r\n mode: 'wastetran',\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n listFileDelete: [],\r\n errMobileMsg:null,\r\n isErrorPhone:false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Change Pin\r\n modePin: 2,\r\n isShowChangePin: false,\r\n isChangePin: false,\r\n isSubmitPin: false,\r\n inputPin: null,\r\n passwordPin: null,\r\n isValidBankWithDrawCode: true,\r\n isValidPasswordPin: true,\r\n isPassPinVisible: false,\r\n //> Address card user current\r\n checkCardAddress: null,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n //> Address Card info\r\n selectedAdrCardProv: null,\r\n selectedAdrCardDistrict: null,\r\n selectedAdrCardSubDistrict: null,\r\n //> Chip\r\n isInitialLoadChip: true,\r\n provinceChipSelected: null,\r\n districtChipSelected: null,\r\n selectedChipDistrict: [],\r\n //> PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: '',\r\n disableNewPass: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranChangePassword :componentDidMount\")\r\n this.props.dispatch(getUserInfo());\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastetranChangePassword :componentWillReceiveProps\")\r\n if (\r\n nextProps.userInfoModel\r\n && !nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n && !nextProps.locationLoad.isFetching\r\n && !nextProps.getArrChipDistrict.isLoading\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n this.initialSelected(this.state)\r\n }\r\n\r\n }\r\n }\r\n //> Status submit\r\n if (this.state.isSubmitPin && this.state.isChangePin && !nextProps.wastetranChangePin.isLoading) {\r\n if (nextProps.wastetranChangePin.isFailed) {\r\n this.showError(\"ไม่สามารถเปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน กรุณาตรวจสอบรหัสผ่าน\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n } else {\r\n this.showSuccess(\"เปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน สำเร็จ\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n this.setState({ inputPin: null })\r\n this.setState({ passwordPin: null })\r\n this.setState({isShowChangePin:false})\r\n this.props.dispatch(getUserInfo());\r\n this.setState({ isInitial: true })\r\n }\r\n }\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n this.saveWastetran()\r\n if (!nextProps.updateWastetranProfileLoad.isLoading) {\r\n if (!nextProps.updateWastetranProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.updateWastetranProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranChangePassword :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranChangePassword :componentWillUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranChangePassword :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n if (this.state.person_type != prevState.person_type) {\r\n this.validateRequire(this.state)\r\n }\r\n }\r\n\r\n saveWastetran = () => {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n\r\n const formData = new FormData();\r\n for (let key in this.props.userInfoModel) {\r\n let valState = this.state[key]\r\n if (typeof valState == 'object') {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.append([key], JSON.stringify(valState))\r\n }\r\n } else {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.set([key], valState || '')\r\n }\r\n }\r\n }\r\n\r\n //Custom field other overide that\r\n let areListString = this.state.selectedChipDistrict\r\n formData.set('areaListString', JSON.stringify(areListString))\r\n formData.set(\"addr_card_use_current\", this.state.checkCardAddress ? 1 : 0)\r\n\r\n //>custom File\r\n const fLimit = 1000000;\r\n if (this.state.fileImgIden && this.state.fileImgIden.size <= fLimit) {\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n }\r\n if (this.state.fileImgRegis && this.state.fileImgRegis.size <= fLimit) {\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n }\r\n if (this.state.fileImgPerson && this.state.fileImgPerson.size <= fLimit) {\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n if (this.state.fileImgVehicle && this.state.fileImgVehicle.size <= fLimit) {\r\n formData.append('FileImgVehicle', this.state.fileImgVehicle);\r\n }\r\n\r\n //Delete file in list action\r\n this.state.listFileDelete.map(fileName => {\r\n fileName = fileName || \"\"\r\n let fileType = null;\r\n let spFname = fileName.split(\"-\")\r\n if (spFname.length > 0) {\r\n fileType = spFname[0]\r\n }\r\n this.props.dispatch(deleteWasteTranFile(fileType, fileName))\r\n })\r\n this.props.dispatch(updateWastetranProfile(formData));\r\n\r\n }\r\n\r\n //> Submit\r\n onSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n await this.validateRequire(this.state);\r\n\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n var isNotinput = (\r\n this.state.oldPassword == '' ||\r\n this.state.newPassword == '' ||\r\n this.state.confirmPassword==''\r\n );\r\n if (isNotinput) {\r\n this.showWarn();\r\n }else{\r\n console.log(this.state.oldPassword)\r\n console.log( this.state.newPassword)\r\n console.log(this.state.confirmPassword)\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n this.saveWastetran()\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n }\r\n }\r\n\r\n setUid = (userInfo) => {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n this.setUid(nextProps)\r\n //> pin\r\n if (Validators.isNotEmpty(nextProps.bank_withdraw_code)) {\r\n this.setState({\r\n modePin: 1\r\n })\r\n } else {\r\n this.setState({\r\n modePin: 2\r\n })\r\n }\r\n //>chipselect\r\n if (this.state.isInitialLoadChip == true\r\n && this.state.selectedChipDistrict.length == 0\r\n && nextProps.areaList\r\n && nextProps.areaList.length > 0\r\n ) {\r\n for (let key in nextProps.areaList) {\r\n let entity = nextProps.areaList[key];\r\n this.state.selectedChipDistrict.push(entity);\r\n }\r\n this.setState({ isInitialLoadChip: false })\r\n }\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n //> adrees card info\r\n if (nextProps.cardProvinceModel && nextProps.cardProvinceModel.length > 0) {\r\n this.setState({ cardProvince: nextProps.cardProvinceModel })\r\n }\r\n if (nextProps.cardDistrictModel && nextProps.cardDistrictModel.length > 0) {\r\n this.setState({ cardDistrict: nextProps.cardDistrictModel })\r\n }\r\n if (nextProps.cardSubDistrictModel && nextProps.cardSubDistrictModel.length > 0) {\r\n this.setState({ cardSubDistrict: nextProps.cardSubDistrictModel })\r\n }\r\n //> chip\r\n if (nextProps.chipProvinceModel && nextProps.chipProvinceModel.length > 0) {\r\n this.setState({ chipProvince: nextProps.chipProvinceModel })\r\n }\r\n if (nextProps.chipDistrictModel && nextProps.chipDistrictModel.length > 0) {\r\n this.setState({ chipDistrict: nextProps.chipDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n\r\n //Adress Card info : province\r\n selectedAdrCardProv,\r\n addr_card_province_code,\r\n cardProvince,\r\n //Address user current\r\n checkCardAddress,\r\n addr_card_use_current,\r\n //Adress current info : district\r\n selectedAdrCardDistrict,\r\n addr_card_district_code,\r\n cardDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCardSubDistrict,\r\n addr_card_subdistrict_code,\r\n cardSubDistrict,\r\n //Chip\r\n isInitialLoadChip,\r\n chipProvince,\r\n areaList,\r\n provinceChipSelected,\r\n selectedChipDistrict,\r\n } = nextState\r\n\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress use current\r\n if (checkCardAddress == null && addr_card_use_current) {\r\n if (addr_card_use_current == 1) {\r\n this.setState({ checkCardAddress: true })\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> Adress card info\r\n if (!selectedAdrCardProv && addr_card_province_code) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (addr_card_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCardProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardDistrict && addr_card_district_code) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (addr_card_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCardDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardSubDistrict && addr_card_subdistrict_code) {\r\n for (let key in cardSubDistrict) {\r\n let val = cardSubDistrict[key]\r\n if (addr_card_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCardSubDistrict: val })\r\n }\r\n }\r\n }\r\n //>chip\r\n // if (!provinceChipSelected && chipProvince) {\r\n // for (let key in areaList) {\r\n // let entity = areaList[key];\r\n // let provinceCode = entity.provinceCode;\r\n // if (provinceCode) {\r\n // for (let i in chipProvince) {\r\n // let p = chipProvince[i]\r\n // if (provinceCode == p.provinceCode) {\r\n // this.setState({ provinceChipSelected: p })\r\n // }\r\n // }\r\n // break\r\n // }\r\n // }\r\n // }\r\n\r\n // if (isInitialLoadChip == true\r\n // && selectedChipDistrict.length == 0\r\n // && areaList\r\n // && !this.props.getArrChipDistrict.isLoading\r\n // && !this.props.getArrChipDistrict.isFailed\r\n // && this.props.getArrChipDistrict.data\r\n // ) {\r\n // for (let key in areaList) {\r\n // let entity = areaList[key];\r\n // let distCode = entity.districtCode;\r\n\r\n // if (\r\n // distCode\r\n // ) {\r\n // for (let i in this.props.getArrChipDistrict.data) {\r\n // let item = this.props.getArrChipDistrict.data[i]\r\n // const ans = item.districtCode\r\n\r\n // if (distCode == ans) {\r\n // this.state.selectedChipDistrict.push(item);\r\n // this.setState({ isInitialLoadChip: false })\r\n // break;\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n }\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n // if (state.checkCardAddress) {\r\n // this._validateAddressInfo(2)\r\n // } else {\r\n // this._validateAddressInfo(1)\r\n // this._validateAddressInfo(2)\r\n // }\r\n //location area recycle\r\n if (Validators.isEmpty(state.selectedChipDistrict)) {\r\n //this._classNameRequired(true)\r\n } \r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Check required\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n }\r\n //> Image View\r\n onSelectFileImgIden = (e) => {\r\n this.setState({ fileImgIden: e.files[0] });\r\n }\r\n onRefreshIden = (e) => {\r\n this.setState({ img_iden_name: this.props.userInfoModel.img_iden_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_iden_name)\r\n })\r\n }\r\n onDeleteIden = (e) => {\r\n this.state.listFileDelete.push(this.state.img_iden_name)\r\n this.setState({ img_iden_name: null })\r\n this.setState({ fileImgIden: null });\r\n }\r\n onSelectFileImgRegis = (e) => {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n }\r\n onRefreshRegis = (e) => {\r\n this.setState({ img_regis_org_name: this.props.userInfoModel.img_regis_org_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_regis_org_name)\r\n })\r\n }\r\n onDeleteRegis = (e) => {\r\n this.state.listFileDelete.push(this.state.img_regis_org_name)\r\n this.setState({ img_regis_org_name: null })\r\n this.setState({ fileImgRegis: null });\r\n }\r\n onSelectFileImgPerson = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onRefreshPerson = (e) => {\r\n this.setState({ img_person_name: this.props.userInfoModel.img_person_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_person_name)\r\n })\r\n }\r\n onDeletePerson = (e) => {\r\n this.state.listFileDelete.push(this.state.img_person_name)\r\n this.setState({ img_person_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n onSelectFileImgVehicle = (e) => {\r\n this.setState({ fileImgVehicle: e.files[0] });\r\n }\r\n onRefreshVehicle = (e) => {\r\n this.setState({ vehicle_img_name: this.props.userInfoModel.vehicle_img_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.vehicle_img_name)\r\n })\r\n }\r\n onDeleteVehicle = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name)\r\n this.setState({ vehicle_img_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n //> Event Location Recycle\r\n onChangeProvinceChip = (e) => {\r\n this.setState({ provinceChipSelected: e.value })\r\n this.props.dispatch(getChipDistrict(e.value.provinceCode))\r\n }\r\n onChangeDistrictChip = (e) => {\r\n this.setState({ districtChipSelected: e.value });\r\n let chk = false;\r\n this.state.selectedChipDistrict.map((value) => {\r\n if (value.districtName == e.value.districtName) {\r\n chk = true\r\n }\r\n })\r\n if (chk == true) {\r\n this.showError(\"มีอำเภอซ้ำ กรุณาเลือกใหม่อีกครั้ง\");\r\n } else {\r\n this.state.selectedChipDistrict.push(e.value);\r\n }\r\n }\r\n itemTemplate = (item) => {\r\n return (\r\n
    \r\n {item.districtName} {item.provinceName}\r\n \r\n
    \r\n );\r\n }\r\n onRemove = (e) => {\r\n this.setState({\r\n selectedChipDistrict: this.state.selectedChipDistrict.filter(item => item.districtCode != e.value[0].districtCode)\r\n })\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event Address\r\n onDuplicate = (e) => {\r\n const { checked } = e\r\n this.setState({ checkCardAddress: checked })\r\n }\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n onChangeAdrCardProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCardDistrict: null })\r\n this.setState({ addr_card_district_code: null })\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCardDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCardSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardSubDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n //>Change pin\r\n onClickShow = (e) => {\r\n this.setState({ isShowChangePin: e.checked })\r\n }\r\n onChangePin = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ isChangePin: true })\r\n this.setState({ [name]: value })\r\n\r\n //validate input pin number\r\n if (name == 'inputPin') {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidBankWithDrawCode: false })\r\n } else {\r\n this.setState({ isValidBankWithDrawCode: true })\r\n }\r\n }\r\n this.validatePassword(this.state.passwordPin)\r\n }\r\n onChangePinPassword = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n //Validate required\r\n if (Validators.isNotEmpty(value)) {\r\n this.validatePassword(value)\r\n }\r\n }\r\n validatePassword = async (password) => {\r\n //Validate required\r\n if (password != SecureUtils.getItem(\"user\").password) {\r\n this.setState({ isValidPasswordPin: false })\r\n } else {\r\n this.setState({ isValidPasswordPin: true })\r\n }\r\n }\r\n onClickVisible = (e) => {\r\n this.setState((pv) => ({ isPassPinVisible: !pv.isPassPinVisible }))\r\n }\r\n onSubmitChangePin = async (e) => {\r\n //Validate required\r\n await this.validatePassword(this.state.passwordPin)\r\n if (this.state.isChangePin && this.state.isValidPasswordPin) {\r\n var jsDataPin = {\r\n password: this.state.passwordPin,\r\n bank_withdraw_code: this.state.inputPin\r\n };\r\n this.props.dispatch(wastetranChangePin(jsDataPin))\r\n this.setState({ isSubmitPin: true })\r\n } else {\r\n if (!this.state.isValidPasswordPin) {\r\n this.showWarn(\"กรุณาระบุรหัสผ่านให้ถูกต้อง\")\r\n }\r\n\r\n if (Validators.isEmpty(this.state.inputPin)) {\r\n this.showWarn(\"กรุณาระบุข้อมูล PIN ให้ถูกต้อง\")\r\n this.setState({ isValidBankWithDrawCode: false })\r\n }\r\n }\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(this.state.selectedCompanyType)\r\n console.log(\"ExampleWastetranChangePassword :render\", this.state)\r\n const { userInfoModel } = this.props\r\n return (\r\n
    \r\n this.growl = el} />\r\n
    \r\n
    \r\n
    \r\n

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

    \r\n {/* {this.state.isShowChangePassword == true && */}\r\n \r\n {/* } */}\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n {this.props.updateWastetranProfileLoad.isLoading &&\r\n \r\n }\r\n {!this.props.updateWastetranProfileLoad.isLoading &&\r\n \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n cardProvinceModel: state.location.cardProvince,\r\n cardDistrictModel: state.location.cardDistrict,\r\n cardSubDistrictModel: state.location.cardSubDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n chipProvinceModel: state.location.chipProvince,\r\n chipDistrictModel: state.location.chipDistrict,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWastetranProfileLoad: state.updateWastetranProfile,\r\n getArrChipDistrict: state.getArrChipDistrict,\r\n wastetranChangePin: state.wastetranChangePin\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranChangePassword)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nimport { getDistrict, getSubDistrict, getCardDistrict, getCardSubDistrict, getChipDistrict } from '../../service/LocationService';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport { getUserInfo, updateWastetranProfile, changePassword } from '../../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\nimport { deleteWasteTranFile } from '../../service/file.service';\r\nimport { wastetranChangePin } from '../../service/wastetran.service'\r\nimport * as ServerAPI from '../register/service'\r\n\r\nimport { ChangePinView } from '../changepin/ChangePinView';\r\nimport { CEInputText, CECalendar, CEDropdown, CEPassword } from '../../features/input';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport * as UserService from '../../service/wastetran.service';\r\n\r\nclass ExampleWastetranChangePin extends Component {\r\n\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranChangePin :constructor\")\r\n super(props);\r\n this.state = {\r\n //> page control\r\n isInitial: true,\r\n isUpdate: false,\r\n\r\n isValidateError: false,\r\n mode: 'wastetran',\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n listFileDelete: [],\r\n errMobileMsg:null,\r\n isErrorPhone:false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Change Pin\r\n modePin: 2,\r\n isShowChangePin: false,\r\n isChangePin: false,\r\n isSubmitPin: false,\r\n inputPin: null,\r\n passwordPin: null,\r\n isValidBankWithDrawCode: true,\r\n isValidPasswordPin: true,\r\n isPassPinVisible: false,\r\n //> Address card user current\r\n checkCardAddress: null,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n //> Address Card info\r\n selectedAdrCardProv: null,\r\n selectedAdrCardDistrict: null,\r\n selectedAdrCardSubDistrict: null,\r\n //> Chip\r\n isInitialLoadChip: true,\r\n provinceChipSelected: null,\r\n districtChipSelected: null,\r\n selectedChipDistrict: [],\r\n //> PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n newPassword: null,\r\n confirmPassword: null,\r\n disableNewPass: true,\r\n\r\n // Otp\r\n\t\t\tmobile_no: '',\r\n\t\t\totpRef: '',\r\n\t\t\totpCode: '',\r\n\t\t\totpVerify: null,\r\n\t\t\totpShow: false,\r\n\t\t\totpTimeOut: 0,\r\n\t\t\totpButtonDisable: false,\r\n\t\t\totpTypeInput: false,\r\n otpDisabled: false,\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranChangePin :componentDidMount\")\r\n this.props.dispatch(getUserInfo());\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastetranChangePin :componentWillReceiveProps\")\r\n if (\r\n nextProps.userInfoModel\r\n && !nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n && !nextProps.locationLoad.isFetching\r\n && !nextProps.getArrChipDistrict.isLoading\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n this.initialSelected(this.state)\r\n }\r\n\r\n }\r\n }\r\n //> Status submit\r\n if (this.state.isSubmitPin && this.state.isChangePin && !nextProps.wastetranChangePin.isLoading) {\r\n if (nextProps.wastetranChangePin.isFailed) {\r\n this.showError(\"ไม่สามารถเปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน กรุณาตรวจสอบรหัสผ่าน\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n } else {\r\n this.showSuccess(\"เปลี่ยนรหัสเลขใช้สำหรับแจ้งถอนเงิน สำเร็จ\")\r\n this.setState({ isChangePin: false })\r\n this.setState({ isSubmitPin: false })\r\n this.setState({ inputPin: null })\r\n this.setState({ passwordPin: null })\r\n this.setState({isShowChangePin:false})\r\n this.props.dispatch(getUserInfo());\r\n this.setState({ isInitial: true })\r\n }\r\n }\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n this.saveWastetran()\r\n if (!nextProps.updateWastetranProfileLoad.isLoading) {\r\n if (!nextProps.updateWastetranProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.updateWastetranProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranChangePin :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranChangePin :componentWillUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranChangePin :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n if (this.state.person_type != prevState.person_type) {\r\n this.validateRequire(this.state)\r\n }\r\n }\r\n\r\n saveWastetran = () => {\r\n //remove pin out of process\r\n delete this.state['bank_withdraw_code']\r\n\r\n const formData = new FormData();\r\n for (let key in this.props.userInfoModel) {\r\n let valState = this.state[key]\r\n if (typeof valState == 'object') {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.append([key], JSON.stringify(valState))\r\n }\r\n } else {\r\n if (Validators.isNotEmpty(valState)) {\r\n formData.set([key], valState || '')\r\n }\r\n }\r\n }\r\n\r\n //Custom field other overide that\r\n let areListString = this.state.selectedChipDistrict\r\n formData.set('areaListString', JSON.stringify(areListString))\r\n formData.set(\"addr_card_use_current\", this.state.checkCardAddress ? 1 : 0)\r\n\r\n //>custom File\r\n const fLimit = 1000000;\r\n if (this.state.fileImgIden && this.state.fileImgIden.size <= fLimit) {\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n }\r\n if (this.state.fileImgRegis && this.state.fileImgRegis.size <= fLimit) {\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n }\r\n if (this.state.fileImgPerson && this.state.fileImgPerson.size <= fLimit) {\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n if (this.state.fileImgVehicle && this.state.fileImgVehicle.size <= fLimit) {\r\n formData.append('FileImgVehicle', this.state.fileImgVehicle);\r\n }\r\n\r\n //Delete file in list action\r\n this.state.listFileDelete.map(fileName => {\r\n fileName = fileName || \"\"\r\n let fileType = null;\r\n let spFname = fileName.split(\"-\")\r\n if (spFname.length > 0) {\r\n fileType = spFname[0]\r\n }\r\n this.props.dispatch(deleteWasteTranFile(fileType, fileName))\r\n })\r\n this.props.dispatch(updateWastetranProfile(formData));\r\n\r\n }\r\n\r\n //> Submit\r\n onSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n await this.validateRequire(this.state);\r\n\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n this.saveWastetran()\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n }\r\n\r\n setUid = (userInfo) => {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n this.setUid(nextProps)\r\n //> pin\r\n if (Validators.isNotEmpty(nextProps.bank_withdraw_code)) {\r\n this.setState({\r\n modePin: 1\r\n })\r\n } else {\r\n this.setState({\r\n modePin: 2\r\n })\r\n }\r\n //>chipselect\r\n if (this.state.isInitialLoadChip == true\r\n && this.state.selectedChipDistrict.length == 0\r\n && nextProps.areaList\r\n && nextProps.areaList.length > 0\r\n ) {\r\n for (let key in nextProps.areaList) {\r\n let entity = nextProps.areaList[key];\r\n this.state.selectedChipDistrict.push(entity);\r\n }\r\n this.setState({ isInitialLoadChip: false })\r\n }\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n //> adrees card info\r\n if (nextProps.cardProvinceModel && nextProps.cardProvinceModel.length > 0) {\r\n this.setState({ cardProvince: nextProps.cardProvinceModel })\r\n }\r\n if (nextProps.cardDistrictModel && nextProps.cardDistrictModel.length > 0) {\r\n this.setState({ cardDistrict: nextProps.cardDistrictModel })\r\n }\r\n if (nextProps.cardSubDistrictModel && nextProps.cardSubDistrictModel.length > 0) {\r\n this.setState({ cardSubDistrict: nextProps.cardSubDistrictModel })\r\n }\r\n //> chip\r\n if (nextProps.chipProvinceModel && nextProps.chipProvinceModel.length > 0) {\r\n this.setState({ chipProvince: nextProps.chipProvinceModel })\r\n }\r\n if (nextProps.chipDistrictModel && nextProps.chipDistrictModel.length > 0) {\r\n this.setState({ chipDistrict: nextProps.chipDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n\r\n //Adress Card info : province\r\n selectedAdrCardProv,\r\n addr_card_province_code,\r\n cardProvince,\r\n //Address user current\r\n checkCardAddress,\r\n addr_card_use_current,\r\n //Adress current info : district\r\n selectedAdrCardDistrict,\r\n addr_card_district_code,\r\n cardDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCardSubDistrict,\r\n addr_card_subdistrict_code,\r\n cardSubDistrict,\r\n //Chip\r\n isInitialLoadChip,\r\n chipProvince,\r\n areaList,\r\n provinceChipSelected,\r\n selectedChipDistrict,\r\n } = nextState\r\n\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress use current\r\n if (checkCardAddress == null && addr_card_use_current) {\r\n if (addr_card_use_current == 1) {\r\n this.setState({ checkCardAddress: true })\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> Adress card info\r\n if (!selectedAdrCardProv && addr_card_province_code) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (addr_card_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCardProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardDistrict && addr_card_district_code) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (addr_card_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCardDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardSubDistrict && addr_card_subdistrict_code) {\r\n for (let key in cardSubDistrict) {\r\n let val = cardSubDistrict[key]\r\n if (addr_card_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCardSubDistrict: val })\r\n }\r\n }\r\n }\r\n //>chip\r\n // if (!provinceChipSelected && chipProvince) {\r\n // for (let key in areaList) {\r\n // let entity = areaList[key];\r\n // let provinceCode = entity.provinceCode;\r\n // if (provinceCode) {\r\n // for (let i in chipProvince) {\r\n // let p = chipProvince[i]\r\n // if (provinceCode == p.provinceCode) {\r\n // this.setState({ provinceChipSelected: p })\r\n // }\r\n // }\r\n // break\r\n // }\r\n // }\r\n // }\r\n\r\n // if (isInitialLoadChip == true\r\n // && selectedChipDistrict.length == 0\r\n // && areaList\r\n // && !this.props.getArrChipDistrict.isLoading\r\n // && !this.props.getArrChipDistrict.isFailed\r\n // && this.props.getArrChipDistrict.data\r\n // ) {\r\n // for (let key in areaList) {\r\n // let entity = areaList[key];\r\n // let distCode = entity.districtCode;\r\n\r\n // if (\r\n // distCode\r\n // ) {\r\n // for (let i in this.props.getArrChipDistrict.data) {\r\n // let item = this.props.getArrChipDistrict.data[i]\r\n // const ans = item.districtCode\r\n\r\n // if (distCode == ans) {\r\n // this.state.selectedChipDistrict.push(item);\r\n // this.setState({ isInitialLoadChip: false })\r\n // break;\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n // }\r\n\r\n }\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n // if (state.checkCardAddress) {\r\n // this._validateAddressInfo(2)\r\n // } else {\r\n // this._validateAddressInfo(1)\r\n // this._validateAddressInfo(2)\r\n // }\r\n //location area recycle\r\n if (Validators.isEmpty(state.selectedChipDistrict)) {\r\n this._classNameRequired(true)\r\n } \r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Check required\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n }\r\n //> Image View\r\n onSelectFileImgIden = (e) => {\r\n this.setState({ fileImgIden: e.files[0] });\r\n }\r\n onRefreshIden = (e) => {\r\n this.setState({ img_iden_name: this.props.userInfoModel.img_iden_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_iden_name)\r\n })\r\n }\r\n onDeleteIden = (e) => {\r\n this.state.listFileDelete.push(this.state.img_iden_name)\r\n this.setState({ img_iden_name: null })\r\n this.setState({ fileImgIden: null });\r\n }\r\n onSelectFileImgRegis = (e) => {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n }\r\n onRefreshRegis = (e) => {\r\n this.setState({ img_regis_org_name: this.props.userInfoModel.img_regis_org_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_regis_org_name)\r\n })\r\n }\r\n onDeleteRegis = (e) => {\r\n this.state.listFileDelete.push(this.state.img_regis_org_name)\r\n this.setState({ img_regis_org_name: null })\r\n this.setState({ fileImgRegis: null });\r\n }\r\n onSelectFileImgPerson = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onRefreshPerson = (e) => {\r\n this.setState({ img_person_name: this.props.userInfoModel.img_person_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_person_name)\r\n })\r\n }\r\n onDeletePerson = (e) => {\r\n this.state.listFileDelete.push(this.state.img_person_name)\r\n this.setState({ img_person_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n onSelectFileImgVehicle = (e) => {\r\n this.setState({ fileImgVehicle: e.files[0] });\r\n }\r\n onRefreshVehicle = (e) => {\r\n this.setState({ vehicle_img_name: this.props.userInfoModel.vehicle_img_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.vehicle_img_name)\r\n })\r\n }\r\n onDeleteVehicle = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name)\r\n this.setState({ vehicle_img_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n //> Event Location Recycle\r\n onChangeProvinceChip = (e) => {\r\n this.setState({ provinceChipSelected: e.value })\r\n this.props.dispatch(getChipDistrict(e.value.provinceCode))\r\n }\r\n onChangeDistrictChip = (e) => {\r\n this.setState({ districtChipSelected: e.value });\r\n let chk = false;\r\n this.state.selectedChipDistrict.map((value) => {\r\n if (value.districtName == e.value.districtName) {\r\n chk = true\r\n }\r\n })\r\n if (chk == true) {\r\n this.showError(\"มีอำเภอซ้ำ กรุณาเลือกใหม่อีกครั้ง\");\r\n } else {\r\n this.state.selectedChipDistrict.push(e.value);\r\n }\r\n }\r\n itemTemplate = (item) => {\r\n return (\r\n
    \r\n {item.districtName} {item.provinceName}\r\n \r\n
    \r\n );\r\n }\r\n onRemove = (e) => {\r\n this.setState({\r\n selectedChipDistrict: this.state.selectedChipDistrict.filter(item => item.districtCode != e.value[0].districtCode)\r\n })\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event Address\r\n onDuplicate = (e) => {\r\n const { checked } = e\r\n this.setState({ checkCardAddress: checked })\r\n }\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n onChangeAdrCardProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCardDistrict: null })\r\n this.setState({ addr_card_district_code: null })\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCardDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCardSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardSubDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n //>Change pin\r\n onClickShow = (e) => {\r\n this.setState({ isShowChangePin: e.checked })\r\n }\r\n onChangePin = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ isChangePin: true })\r\n this.setState({ [name]: value })\r\n\r\n //validate input pin number\r\n if (name == 'inputPin') {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidBankWithDrawCode: false })\r\n } else {\r\n this.setState({ isValidBankWithDrawCode: true })\r\n }\r\n }\r\n this.validatePassword(this.state.passwordPin)\r\n }\r\n onChangePinPassword = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n //Validate required\r\n if (Validators.isNotEmpty(value)) {\r\n this.validatePassword(value)\r\n }\r\n }\r\n validatePassword = async (password) => {\r\n //Validate required\r\n if (password != SecureUtils.getItem(\"user\").password) {\r\n this.setState({ isValidPasswordPin: false })\r\n } else {\r\n this.setState({ isValidPasswordPin: true })\r\n }\r\n }\r\n onClickVisible = (e) => {\r\n this.setState((pv) => ({ isPassPinVisible: !pv.isPassPinVisible }))\r\n }\r\n onSubmitChangePin = async (e) => {\r\n //Validate required\r\n await this.validatePassword(this.state.passwordPin)\r\n if (this.state.isChangePin && this.state.isValidPasswordPin) {\r\n var jsDataPin = {\r\n password: this.state.passwordPin,\r\n bank_withdraw_code: this.state.inputPin\r\n };\r\n this.props.dispatch(wastetranChangePin(jsDataPin))\r\n this.setState({ isSubmitPin: true })\r\n } else {\r\n if (!this.state.isValidPasswordPin) {\r\n this.showWarn(\"กรุณาระบุรหัสผ่านให้ถูกต้อง\")\r\n }\r\n\r\n if (Validators.isEmpty(this.state.inputPin)) {\r\n this.showWarn(\"กรุณาระบุข้อมูล PIN ให้ถูกต้อง\")\r\n this.setState({ isValidBankWithDrawCode: false })\r\n }\r\n }\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n onPressOtp() {\r\n\t\t// this.setState({ otpTimeOut: 60, otpButtonDisable: true, otpCode: '', errorMessageOtp: '', otpVerify: null, otpButtonDisable: false })\r\n\t\t// this.setState({ mobile_no: this.state.telephoneNumber1, otpRef: 'XXXXXX', otpShow: true });\r\n\t\tthis.setState({ otpTimeOut: 60, otpButtonDisable: true, otpCode: '', errorMessageOtp: '', otpVerify: null })\r\n\t\tsetInterval(() => {\r\n\t\t\tthis.setState((prevState) => ({ otpTimeOut: prevState.otpTimeOut - 1 }))\r\n\t\t\tif (this.state.otpTimeOut == 0) {\r\n\t\t\t\tthis.setState({ otpButtonDisable: false })\r\n\t\t\t}\r\n\t\t}, 1000)\r\n\t\tif (this.state.otpRef == '') {\r\n\t\t\tthis.onOtpSendPin()\r\n\t\t} else {\r\n\t\t\tthis.onOtpResendPin()\r\n\t\t}\r\n\t}\r\n\r\n\r\n //> OTP\r\n\tonOtpSendPin() {\r\n\t\tUserService.otpResetPinSend(this.state.telephone_no1).then((res) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.mobile_no.length > 0) {\r\n\t\t\t\tthis.setState({ mobile_no: res.mobile_no, otpRef: res.otp_ref, otpShow: true });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ mobile_no: '', otpRef: '', otpShow: false });\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"เครือข่ายขัดข้อง\" });\r\n\t\t})\r\n\t}\r\n\r\n\tonOtpResendPin() {\r\n\t\tUserService.otpResetPinResend(this.state.telephone_no1).then((res) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.mobile_no.length > 0) {\r\n\t\t\t\tthis.setState({ mobile_no: res.mobile_no, otpRef: res.otp_ref, otpShow: true });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ mobile_no: '', otpRef: '', otpShow: false });\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"เครือข่ายขัดข้อง\" });\r\n\t\t})\r\n }\r\n\r\n onOtpVerify(value) {\r\n // let otpCode = value\r\n // this.setState({ otpCode: otpCode })\r\n // this.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n \r\n let otpCode = value\r\n this.setState({ otpCode: otpCode })\r\n let mobile_no = this.state.telephone_no1\r\n let otp_ref = this.state.otpRef\r\n if (otpCode.length == 6 ) {\r\n UserService.otpVerifyChangePin(mobile_no, parseInt(otpCode), otp_ref).then((res) => {\r\n console.log(res);\r\n if (res == true) {\r\n this.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n } else {\r\n this.setState({ errorMessageOtp: res.response.data, otpVerify: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errorMessageOtp: error, otpVerify: false });\r\n })\r\n } else {\r\n this.setState({ errorMessageOtp: \"รหัสยืนยันไม่ถูกต้อง\", otpVerify: false });\r\n }\r\n }\r\n\r\n render() {\r\n console.log(this.state.selectedCompanyType)\r\n console.log(\"ExampleWastetranChangePin :render\", this.state)\r\n const { userInfoModel } = this.props\r\n return (\r\n
    \r\n this.growl = el} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n {/* onClickShow(e)} /> */}\r\n

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n this.onTelephoneNumber1Changed(e.target.value, v)}\r\n isvalid={(valid) => this.setState({ isvalid_telephoneNumber1: valid })}\r\n //disabled={this.state.otpDisabled || this.state.otpButtonDisable}\r\n />\r\n {/* {this.state.errorMessageTelephoneNumber1} */}\r\n\r\n
    \r\n {/* {!this.state.telephoneNumber1 == '' && this.state.errorMessageTelephoneNumber1 == '' && !this.state.otpDisabled && */}\r\n
    \r\n 0 && this.state.otpButtonDisable && 'ขอ OTP ' + this.state.otpTimeOut + ' วินาที') ||\r\n (this.state.otpTimeOut == 0 && !this.state.otpButtonDisable && 'ขอ OTP เพื่อเปลี่ยนรหัสถอนเงิน') ||\r\n (this.state.otpRef !== '' && !this.state.otpButtonDisable && 'ขอ OTP อีกครั้ง')}\r\n style={{ width: '100%' }}\r\n disabled={this.state.otpButtonDisable}\r\n onClick={this.onPressOtp.bind(this)}\r\n >\r\n\r\n \r\n
    \r\n {/* } */}\r\n {this.state.otpShow &&\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.onOtpVerify(e.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t//isvalid={(valid) => console.log(valid)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t } \r\n\r\n
    \r\n
    \r\n\r\n {this.state.otpVerify &&\r\n \r\n }\r\n\r\n
    \r\n\r\n\r\n
    \r\n {this.props.updateWastetranProfileLoad.isLoading &&\r\n \r\n }\r\n {/* {!this.props.updateWastegenProfileLoad.isLoading &&\r\n \r\n } */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n //
    \r\n // this.growl = el} />\r\n //
    \r\n //
    \r\n // {\r\n // \r\n // }\r\n //
    \r\n\r\n //
    \r\n // {this.props.updateWastetranProfileLoad.isLoading &&\r\n // \r\n // }\r\n // {!this.props.updateWastetranProfileLoad.isLoading &&\r\n // \r\n // }\r\n //
    \r\n\r\n //
    \r\n //
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n cardProvinceModel: state.location.cardProvince,\r\n cardDistrictModel: state.location.cardDistrict,\r\n cardSubDistrictModel: state.location.cardSubDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n chipProvinceModel: state.location.chipProvince,\r\n chipDistrictModel: state.location.chipDistrict,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWastetranProfileLoad: state.updateWastetranProfile,\r\n getArrChipDistrict: state.getArrChipDistrict,\r\n wastetranChangePin: state.wastetranChangePin\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranChangePin)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport WithDrawHeaderView from '../withdraw/WithDrawHeaderView';\r\nimport { Panel } from 'primereact/panel';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { getBalance ,getWithdrawHistory, saveWithdrawal } from '../../service/wastetran.service'\r\n\r\nimport {dateFormat} from '../../utils/utilFunctions'\r\n\r\nclass ExampleWastetranNotiWithdrawCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n //save\r\n isSave:false,\r\n //Validate require\r\n isValidateError: false,\r\n classNameRequired: {},\r\n\r\n //WithDrawHeaderView\r\n withdrawAmount: 0,\r\n unApproveAmount:0,\r\n input_amount: null,\r\n input_amount_required: {\r\n valid: true,\r\n className: '',\r\n message: ''\r\n },\r\n bank_withdraw_code: null,\r\n bank_withdraw_code_required: {\r\n valid: true,\r\n className: '',\r\n message: ''\r\n },\r\n //DynamicDataTableView\r\n model: [\r\n { field: 'col1', header: 'วันที่แจ้ง', sortable: true },\r\n { field: 'col2', header: 'วันที่โอน', sortable: true },\r\n { field: 'col3', header: 'จำนวนเงิน (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col4', header: 'ชื่อบัญชี', sortable: true },\r\n { field: 'col5', header: 'เลขที่บัญชี', sortable: true },\r\n { field: 'col6', header: 'ธนาคาร', sortable: true },\r\n { field: 'col7', header: 'สถานะ', sortable: true },\r\n ],\r\n data: [\r\n\r\n ]\r\n }\r\n\r\n this.validateRequired = {};\r\n\r\n //Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //Event : withdraw\r\n this.onClickNotiMoney = this.onClickNotiMoney.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :componentWillReceiveProps\")\r\n if (this.state.isSave) {\r\n if (!nextProps.wastetranWithdraw.isLoading) {\r\n if (!nextProps.wastetranWithdraw.isFailed) {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n this.setState({ isSave: false })\r\n this.showSuccess();\r\n this._validateRequired('bank_withdraw_code_required', true)\r\n this.setState({ input_amount: '' })\r\n this.setState({ bank_withdraw_code: '' })\r\n }\r\n if (nextProps.wastetranWithdraw.isFailed) {\r\n this.showError(nextProps.wastetranWithdraw.data);\r\n this._validateRequired('bank_withdraw_code_required', false, nextProps.wastetranWithdraw.data)\r\n this.setState({ isSave: false })\r\n }\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :componentWillUpdate\")\r\n \r\n \r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :componentDidUpdate\", this.state, \" ,\", prevState)\r\n\r\n\r\n if (prevProps.wastetranBalance.data != this.props.wastetranBalance.data) {\r\n if(this.props.wastetranBalance.data && this.props.wastetranBalance.data.outstanding_balance_thb){\r\n this.setState({ withdrawAmount: (this.props.wastetranBalance.data.outstanding_balance_thb).toFixed(2) })\r\n this.setState({ unApproveAmount: (this.props.wastetranBalance.data.withdraw_balance_thb).toFixed(2) })\r\n }\r\n console.log(`print state ${this.state}`)\r\n }\r\n }\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if ([name] == \"input_amount\") {\r\n if (Number(value) > Number(this.state.withdrawAmount)) {\r\n this._validateRequired(classNamed, false, \"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\")\r\n } else {\r\n this._validateRequired(classNamed, true)\r\n }\r\n if (Validators.isEmpty(this.state.bank_withdraw_code)) {\r\n this._validateRequired('bank_withdraw_code_required', false, \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\")\r\n } else {\r\n this._validateRequired('bank_withdraw_code_required', true)\r\n }\r\n }\r\n if ([name] == \"bank_withdraw_code\") {\r\n if (Validators.isEmpty(value)) {\r\n this._validateRequired(classNamed, false, \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\")\r\n } else {\r\n this._validateRequired(classNamed, true)\r\n }\r\n }\r\n }\r\n }\r\n onClickNotiMoney = (e) => {\r\n const { input_amount, withdrawAmount ,bank_withdraw_code } = this.state;\r\n console.log(input_amount, \",\", withdrawAmount)\r\n if (parseFloat(input_amount) && parseFloat(input_amount) > 0 && Validators.isNotEmpty(this.state.bank_withdraw_code)) {\r\n if (parseFloat(input_amount) > parseFloat(withdrawAmount)) {\r\n this.showWarn(\"ยอดทั้งหมดที่ถอนได้ ไม่เพียงพอ\")\r\n this._classNameRequiredIsError(\"input_amount_required\", true)\r\n } else {\r\n this.props.dispatch(saveWithdrawal(input_amount,bank_withdraw_code))\r\n this.setState({isSave:true})\r\n // this.setState(pv => ({\r\n // withdrawAmount: (pv.withdrawAmount - input_amount).toFixed(2)\r\n // }))\r\n }\r\n } else {\r\n this.showWarn(\"ไม่สามารถทำรายการได้ กรุณาตรวจสอบ\")\r\n if(Validators.isEmpty(this.state.input_amount)){\r\n this._validateRequired('input_amount_required',false,'กรุณาระบุยอดเงินที่ต้องการถอน')\r\n }\r\n if(Validators.isEmpty(this.state.bank_withdraw_code)){\r\n this._validateRequired('bank_withdraw_code_required',false,'กรุณาระบุรหัสสำหรับแจ้งถอนเงิน')\r\n }\r\n }\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n if (nextState.input_amount) {\r\n this._validateLogic(\"input_amount_required\", nextState.input_amount);\r\n }\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error p-col-12\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-col-12\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n _validateRequired = (className, valid, message) => {\r\n message = message || ''\r\n this.setState({\r\n [className]: {\r\n valid: valid,\r\n className: valid ? '' : 'p-error',\r\n message: message\r\n }\r\n })\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastetranNotiWithdrawCtrl :render\", this.state)\r\n\r\n let dataHistory = [];\r\n if (this.props.wastetranWithdrawHistory && !this.props.wastetranWithdrawHistory.isLoading) {\r\n if (!this.props.wastetranWithdrawHistory.isFailed) {\r\n for(let key in this.props.wastetranWithdrawHistory.data){\r\n let entity = this.props.wastetranWithdrawHistory.data[key];\r\n console.log(`entity ${entity}`)\r\n let tmpData = {\r\n \"col1\": dateFormat(entity.requested_date),\r\n \"col2\": dateFormat(entity.approver_date),\r\n \"col3\": entity.withdrawal_thb,\r\n \"col4\": entity.bank_account_name,\r\n \"col5\": entity.bank_account_no,\r\n \"col6\": entity.bank_name,\r\n \"col7\": entity.approver_uid === entity.waste_uid ? 'บริจาคแล้ว' : entity.approver_uid?'โอนแล้ว':'ต้องการถอน'\r\n }\r\n dataHistory.push(tmpData);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    แจ้งถอนเงิน

    \r\n
    \r\n {/* DETAIL */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n wastetranWithdraw:state.wastetranWithdraw,\r\n wastetranWithdrawHistory:state.wastetranWithdrawHistory\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranNotiWithdrawCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport {\r\n autoCompleteProduct,\r\n autoCompleteWastegen,\r\n autoCompleteWastepro\r\n} from '../../service/autocomplete.service'\r\nimport { PrintDialogView } from '../dialog/PrintDialogView';\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass ExampleWastetranReportBuyingCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n showDialog: false,\r\n classNameRequired: {},\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n orderNameList: null,\r\n shop_name: null,\r\n shopNameSuggestions: null,\r\n statusValue: 1000,\r\n //statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'พิมพ์ใบสรุป', body: this.actionTemplate },\r\n { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการ', sortable: true },\r\n { field: 'col4', header: 'นัดรับเริ่ม', sortable: true },\r\n { field: 'col5', header: 'นัดรับสิ้นสุด', sortable: true },\r\n { field: 'col6', header: 'นัดส่ง', sortable: true },\r\n { field: 'col7', header: 'ปริมาณเก็บ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col8', header: 'ปริมาณส่ง (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col9', header: 'ค่าขนส่ง (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col10', header: 'ผู้ขาย', sortable: true },\r\n { field: 'col11', header: 'ศูนย์จัดการฯ', sortable: true },\r\n { field: 'col12', header: 'สถานะ', sortable: true },\r\n ],\r\n pageNumber: 0\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSuggestorderNames = this.onSuggestorderNames.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n this.onSuggestShopNames = this.onSuggestShopNames.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :componentDidMount\")\r\n let criteria = {order_status: this.state.statusValue};\r\n\r\n this.props.dispatch(orderSearch(\"wastetran\", criteria));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :componentWillReceiveProps\")\r\n if (nextProps.autoCompleteProduct && !nextProps.autoCompleteProduct.isLoading && !nextProps.autoCompleteProduct.isFailed) {\r\n if (nextProps.autoCompleteProduct.data) {\r\n this.setState({ orderNameList: nextProps.autoCompleteProduct.data })\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(orderAutoComplete(nextState.order_id));\r\n }\r\n if (nextState.order_name != this.state.order_name) {\r\n nextProps.dispatch(autoCompleteProduct(nextState.order_name));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteWastegen(nextState.collector_name));\r\n }\r\n if (nextState.shop_name != this.state.shop_name) {\r\n nextProps.dispatch(autoCompleteWastepro(nextState.shop_name));\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :componentDidUpdate\")\r\n\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let search = true;\r\n let criteria = {};\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n console.log(this.state.orderNameList)\r\n if (this.state.orderNameList instanceof Array) {\r\n var tmpCode = this.state.orderNameList.filter((rs) => {\r\n return rs.product_name.indexOf(this.state.order_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.product_code = tmpCode[0].product_code\r\n }\r\n }\r\n\r\n }\r\n if (this.state.statusValue || this.state.statusValue == 0) {\r\n criteria.order_status = this.state.statusValue\r\n }\r\n if (this.state.pickupDate) {\r\n var date = new Date(this.state.pickupDate.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_start = date.toISOString();\r\n if (!this.state.pickupDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.pickupDateTo) {\r\n var date = new Date(this.state.pickupDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_end = date.toISOString();\r\n if (!this.state.pickupDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDate) {\r\n var date = new Date(this.state.appointmentDate.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_start = date.toISOString()\r\n if (!this.state.appointmentDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDateTo) {\r\n var date = new Date(this.state.appointmentDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_end = date.toISOString()\r\n if (!this.state.appointmentDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.collector_name) {\r\n var tmpCode = this.props.autoCompleteWastegen.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.collector_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user_search_name = tmpCode[0].uid\r\n }\r\n }\r\n if (this.state.shop_name) {\r\n var tmpCode = this.props.autoCompleteWastepro.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.shop_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user3_search_name = tmpCode[0].uid\r\n }\r\n }\r\n console.log(criteria)\r\n if (search) {\r\n this.props.dispatch(orderSearch(\"wastetran\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n } else {\r\n this.showWarn(\"ไม่สามารถค้นหา กรุณาตรวจสอบ\");\r\n }\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n this.setState({ order_name: null });\r\n this.setState({ statusValue: 1000 });\r\n this.setState({ pickupDate: null });\r\n this.setState({ pickupDateTo: null });\r\n this.setState({ appointmentDate: null });\r\n this.setState({ appointmentDateTo: null });\r\n this.setState({ collector_name: null });\r\n this.setState({ shop_name: null });\r\n\r\n let criteria = {order_status: 1000};\r\n this.props.dispatch(orderSearch(\"wastetran\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.orderAutoComplete\r\n && this.props.orderAutoComplete.data\r\n && !this.props.orderAutoComplete.isLoading\r\n ) {\r\n // let results = this.props.orderAutoComplete.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.orderAutoComplete.data });\r\n }\r\n }\r\n onSuggestorderNames = (e) => {\r\n\r\n if (this.props.autoCompleteProduct\r\n && this.props.autoCompleteProduct.data\r\n && !this.props.autoCompleteProduct.isLoading\r\n ) {\r\n // this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data });\r\n\r\n this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data.suggest });\r\n }\r\n\r\n }\r\n onSuggestCollectionNames = (e) => {\r\n\r\n if (this.props.autoCompleteWastegen\r\n && this.props.autoCompleteWastegen.data\r\n && !this.props.autoCompleteWastegen.isLoading\r\n ) {\r\n\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteWastegen.data.suggest });\r\n }\r\n }\r\n onSuggestShopNames = (e) => {\r\n if (this.props.autoCompleteWastepro\r\n && this.props.autoCompleteWastepro.data\r\n && !this.props.autoCompleteWastepro.isLoading\r\n ) {\r\n this.setState({ shopNameSuggestions: this.props.autoCompleteWastepro.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { value, name } = e.target\r\n this.setState({ [name]: value })\r\n console.log(e.target)\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData)\r\n return
    \r\n window.open('/#/report-u2?order_code='+rowData.col2, \"_blank\")}\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :render\")\r\n console.log(`first : ${this.state.pageNumber}`)\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.pickup_start_date),\r\n \"col5\": dateFormat(entity.pickup_end_date),\r\n \"col6\": dateFormat(entity.delivery_date),\r\n \"col7\": entityDetail.pickup_quantity_kk,\r\n \"col8\": entityDetail.estimate_price_per_unit,\r\n \"col9\": entity.delivery_cost,\r\n \"col10\": entity.u1_fullname,\r\n \"col11\": entity.u3_fullname,\r\n \"col12\": entity.order_status_name\r\n }\r\n data.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    รายงานการขาย

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n this.setState({ showDialog: false })}\r\n showDialog={this.state.showDialog}\r\n />\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderAutoComplete: state.orderAutoComplete,\r\n orderSearch: state.orderSearch,\r\n autoCompleteProduct: state.autoCompleteProduct,\r\n autoCompleteWastegen: state.autoCompleteWastegen,\r\n autoCompleteWastepro: state.autoCompleteWastepro\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranReportBuyingCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport {\r\n autoCompleteProduct,\r\n autoCompleteWastegen,\r\n autoCompleteWastepro\r\n} from '../../service/autocomplete.service'\r\nimport { PrintDialogView } from '../dialog/PrintDialogView';\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass ExampleWastetranReportAmountCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranReportAmountCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n showDialog: false,\r\n classNameRequired: {},\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n orderNameList: null,\r\n shop_name: null,\r\n shopNameSuggestions: null,\r\n statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'พิมพ์ใบสรุป', body: this.actionTemplate },\r\n { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการ', sortable: true },\r\n { field: 'col4', header: 'นัดรับ', sortable: true },\r\n { field: 'col5', header: 'นัดส่ง', sortable: true },\r\n { field: 'col6', header: 'ปริมาณเก็บ (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col7', header: 'ปริมาณส่ง (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col8', header: 'ค่าขนส่ง (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col9', header: 'ผู้ขาย', sortable: true },\r\n { field: 'col10', header: 'ศูนย์จัดการฯ', sortable: true },\r\n { field: 'col11', header: 'สถานะ', sortable: true },\r\n ],\r\n pageNumber: 0\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSuggestorderNames = this.onSuggestorderNames.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n this.onSuggestShopNames = this.onSuggestShopNames.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranReportAmountCtrl :componentDidMount\")\r\n let criteria = {};\r\n\r\n this.props.dispatch(orderSearch(\"wastetran\", criteria));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastetranReportAmountCtrl :componentWillReceiveProps\")\r\n if (nextProps.autoCompleteProduct && !nextProps.autoCompleteProduct.isLoading && !nextProps.autoCompleteProduct.isFailed) {\r\n if (nextProps.autoCompleteProduct.data) {\r\n this.setState({ orderNameList: nextProps.autoCompleteProduct.data })\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranReportAmountCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranReportAmountCtrl :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(orderAutoComplete(nextState.order_id));\r\n }\r\n if (nextState.order_name != this.state.order_name) {\r\n nextProps.dispatch(autoCompleteProduct(nextState.order_name));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteWastegen(nextState.collector_name));\r\n }\r\n if (nextState.shop_name != this.state.shop_name) {\r\n nextProps.dispatch(autoCompleteWastepro(nextState.shop_name));\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranReportAmountCtrl :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let search = true;\r\n let criteria = {};\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n if (this.state.orderNameList instanceof Array) {\r\n var tmpCode = this.state.orderNameList.filter((rs) => {\r\n return rs.product_name.indexOf(this.state.order_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.product_code = tmpCode[0].product_code\r\n }\r\n }\r\n }\r\n if (this.state.statusValue && this.state.statusValue.value) {\r\n criteria.order_status = this.state.statusValue.value\r\n }\r\n if (this.state.pickupDate) {\r\n var date = new Date(this.state.pickupDate.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_start = date.toISOString();\r\n if (!this.state.pickupDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.pickupDateTo) {\r\n var date = new Date(this.state.pickupDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_end = date.toISOString();\r\n if (!this.state.pickupDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDate) {\r\n var date = new Date(this.state.appointmentDate.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_start = date.toISOString()\r\n if (!this.state.appointmentDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.appointmentDateTo) {\r\n var date = new Date(this.state.appointmentDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.delivery_date_end = date.toISOString()\r\n if (!this.state.appointmentDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.collector_name) {\r\n var tmpCode = this.props.autoCompleteWastegen.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.collector_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user_search_name = tmpCode[0].uid\r\n }\r\n }\r\n if (this.state.shop_name) {\r\n var tmpCode = this.props.autoCompleteWastepro.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.shop_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user3_search_name = tmpCode[0].uid\r\n }\r\n }\r\n console.log(criteria)\r\n if (search) {\r\n this.props.dispatch(orderSearch(\"wastetran\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n } else {\r\n this.showWarn(\"ไม่สามารถค้นหา กรุณาตรวจสอบ\");\r\n }\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n this.setState({ order_name: null });\r\n this.setState({ statusValue: null });\r\n this.setState({ pickupDate: null });\r\n this.setState({ pickupDateTo: null });\r\n this.setState({ appointmentDate: null });\r\n this.setState({ appointmentDateTo: null });\r\n this.setState({ collector_name: null });\r\n this.setState({ shop_name: null });\r\n\r\n let criteria = {};\r\n this.props.dispatch(orderSearch(\"wastetran\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.orderAutoComplete\r\n && this.props.orderAutoComplete.data\r\n && !this.props.orderAutoComplete.isLoading\r\n ) {\r\n // let results = this.props.orderAutoComplete.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.orderAutoComplete.data });\r\n }\r\n }\r\n onSuggestorderNames = (e) => {\r\n\r\n if (this.props.autoCompleteProduct\r\n && this.props.autoCompleteProduct.data\r\n && !this.props.autoCompleteProduct.isLoading\r\n ) {\r\n // this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data });\r\n\r\n this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data.suggest });\r\n }\r\n\r\n }\r\n onSuggestCollectionNames = (e) => {\r\n\r\n if (this.props.autoCompleteWastegen\r\n && this.props.autoCompleteWastegen.data\r\n && !this.props.autoCompleteWastegen.isLoading\r\n ) {\r\n\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteWastegen.data.suggest });\r\n }\r\n }\r\n onSuggestShopNames = (e) => {\r\n if (this.props.autoCompleteWastepro\r\n && this.props.autoCompleteWastepro.data\r\n && !this.props.autoCompleteWastepro.isLoading\r\n ) {\r\n this.setState({ shopNameSuggestions: this.props.autoCompleteWastepro.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { value, name } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n return
    \r\n window.open('/#/report-u2?order_code='+rowData.col2, \"_blank\")}\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastetranReportBuyingCtrl :render\")\r\n console.log(`first : ${this.state.pageNumber}`)\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.pickup_date),\r\n \"col5\": dateFormat(entity.delivery_date),\r\n \"col6\": entityDetail.pickup_quantity_kk,\r\n \"col7\": entityDetail.estimate_price_per_unit,\r\n \"col8\": entity.delivery_cost,\r\n \"col9\": entity.u1_fullname,\r\n \"col10\": entity.u3_fullname,\r\n \"col11\": entity.order_status_name\r\n }\r\n data.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    ใบราคา

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n this.setState({ showDialog: false })}\r\n showDialog={this.state.showDialog}\r\n />\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderAutoComplete: state.orderAutoComplete,\r\n orderSearch: state.orderSearch,\r\n autoCompleteProduct: state.autoCompleteProduct,\r\n autoCompleteWastegen: state.autoCompleteWastegen,\r\n autoCompleteWastepro: state.autoCompleteWastepro\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranReportAmountCtrl)\r\n","import React, { Component } from 'react';\r\nimport PropsTyps from 'prop-types'\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Button } from 'primereact/button';\r\n\r\nexport class WastetranOrderDetails extends Component {\r\n static defaultProps = {\r\n data:[],\r\n\r\n orderEditor:null,\r\n quantityEditor:null,\r\n remarkEditor:null\r\n }\r\n\r\n static propTypes = {\r\n data:PropsTyps.array,\r\n\r\n orderEditor:PropsTyps.func,\r\n quantityEditor:PropsTyps.func,\r\n remarkEditor:PropsTyps.func\r\n }\r\n \r\n //EVENT Edit\r\n orderEditor=(e)=>this.props.orderEditor(e);\r\n quantityEditor=(e)=>this.props.quantityEditor(e);\r\n remarkEditor=(e)=>this.props.remarkEditor(e);\r\n\r\n render() {\r\n\r\n const {\r\n data\r\n } = this.props\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport {FileUpload} from 'primereact/fileupload';\r\nimport { Button } from 'primereact/button';\r\n\r\nexport class WastetranMoreItems extends Component {\r\n state = {\r\n activeIndex: 0\r\n }\r\n\r\n render() {\r\n\r\n let contentDetail = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n\r\n let contentlist = (\r\n
    \r\n this.setState({ activeIndex: e.index })}>\r\n \r\n
    \r\n {contentDetail}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n return (\r\n
    \r\n
    \r\n {contentlist}\r\n
    \r\n
    \r\n )\r\n }\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport PropTypes from 'prop-types';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\n\r\n\r\nclass TransportsView extends Component {\r\n\r\n static defaultProps = {\r\n orderIdSuggestions: null,\r\n\r\n //Event\r\n onMarkerMoved: null,\r\n onMarkerMovedU3:null\r\n }\r\n\r\n static propTypes = {\r\n orderIdSuggestions: PropTypes.array,\r\n\r\n //Event\r\n onMarkerMoved: PropTypes.func,\r\n onMarkerMovedU3:PropTypes.func\r\n }\r\n\r\n //>Initial \r\n componentDidMount() {\r\n console.log(\"TransportsView :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"TransportsView :componentWillReceiveProps\")\r\n }\r\n\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"TransportsView :shouldComponentUpdate\")\r\n return true\r\n }\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"TransportsView :componentWillUpdate\")\r\n\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"TransportsView :componentDidUpdate\")\r\n\r\n }\r\n\r\n //> Event\r\n onMarkerMoved = (e) => {\r\n this.props.onMarkerMoved(e);\r\n }\r\n onMarkerMovedU3 = (e)=>this.props.onMarkerMovedU3(e);\r\n\r\n //> Mode render\r\n renderWastegen = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n renderWastetran = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ผู้รักษ์โลก\r\n \r\n
    \r\n
    \r\n
    \r\n \"Profile\"\r\n
    \r\n\r\n
    \r\n
    \r\n {this.props.u1_fullname}\r\n {this.props.u1_address}\r\n
    \r\n \r\n
    \r\n แผนที่\r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n ศูนย์จัดการฯซีซาเล้ง\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \"Profile\"\r\n
    \r\n\r\n
    \r\n
    \r\n {this.props.u3_fullname}\r\n {this.props.u3_address}\r\n
    \r\n\r\n
    \r\n แผนที่\r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n )\r\n }\r\n renderWastepro = () => {\r\n return (\r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n console.log(\"TransportsView :render\")\r\n const {\r\n mode\r\n } = this.props\r\n\r\n let renderMode;\r\n\r\n switch (mode) {\r\n case 'wastegen':\r\n renderMode = this.renderWastegen()\r\n break;\r\n case 'wastetran':\r\n renderMode = this.renderWastetran()\r\n break;\r\n case 'wastepro':\r\n renderMode = this.renderWastepro()\r\n break;\r\n\r\n default:\r\n renderMode = (
    )\r\n break;\r\n }\r\n\r\n return (\r\n
    \r\n {renderMode}\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(TransportsView)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { WastetranOrderDetails } from '../wastetran-noti-recycle/WastetranOrderDetails';\r\nimport { WastetranMoreItems } from '../wastetran-noti-recycle/WastetranMoreItems';\r\nimport TransportsView from '../transport/TransportsView';\r\nimport { AccordionTab, Accordion } from 'primereact/accordion';\r\n\r\nimport { Validators } from '../../utils'\r\n\r\nimport { wastetranAutoOrder, wastetranOrderSearchNoti } from '../../service/wastetran.service'\r\n\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { InputText } from 'primereact/inputtext';\r\n\r\nclass ExampleWastetranNotiRecycleCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n isSearch: false,\r\n //TransportView\r\n orderIdSuggestions: null,\r\n order_id: null,\r\n //Map\r\n mapZoom: 11,\r\n //Datatable noti\r\n dataReceive: []\r\n }\r\n\r\n //Search\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :componentDidMount\")\r\n let criteria = { user_wasteTypes: 2 };\r\n this.props.dispatch(wastetranOrderSearchNoti(criteria));\r\n this.setState({ isSearch: true })\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(wastetranAutoOrder(nextState.order_id));\r\n }\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :componentDidUpdate\")\r\n if (prevState.isSearch) {\r\n this.state.dataReceive = [];\r\n if (this.props.wastetranOrderSearchNoti && !this.props.wastetranOrderSearchNoti.isLoading) {\r\n if (!this.props.wastetranOrderSearchNoti.isFailed) {\r\n if (this.props.wastetranOrderSearchNoti.data && this.props.wastetranOrderSearchNoti.data.length > 0) {\r\n let entity = this.props.wastetranOrderSearchNoti.data[this.props.wastetranOrderSearchNoti.data.length - 1];\r\n\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"order\": entityDetail.product_name,\r\n \"quantity\": entityDetail.pickup_quantity_kk,\r\n \"remark\": entityDetail.pickup_remark,\r\n }\r\n this.state.dataReceive.push(tmpData);\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n this.setState({ isSearch: false })\r\n }\r\n\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> EVENT\r\n onChangeAutocomplete = (e) => {\r\n const { value, name } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n onClickSearch = (e) => {\r\n let criteria = { user_wasteTypes: 2 };\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n this.props.dispatch(wastetranOrderSearchNoti(criteria));\r\n this.setState({ isSearch: true })\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n let criteria = { user_wasteTypes: 2 };\r\n this.props.dispatch(wastetranOrderSearchNoti(criteria));\r\n this.setState({ isSearch: true })\r\n }\r\n //>Handle\r\n onSuggestorderIds = (e) => {\r\n if (this.props.wastetranAutoOrder\r\n && this.props.wastetranAutoOrder.data\r\n && !this.props.wastetranAutoOrder.isLoading\r\n ) {\r\n this.setState({ orderIdSuggestions: this.props.wastetranAutoOrder.data });\r\n }\r\n }\r\n\r\n /* Cell Editing */\r\n onEditorValueChange = (props, value) => {\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({ dataReceive: updatedCars });\r\n }\r\n\r\n inputTextEditor = (props, field) => {\r\n return this.onEditorValueChange(props, e.target.value)} />;\r\n }\r\n\r\n orderEditor = (props) => {\r\n console.log(props)\r\n return this.inputTextEditor(props, 'order');\r\n }\r\n quantityEditor = (props) => {\r\n return this.inputTextEditor(props, 'quantity');\r\n }\r\n remarkEditor = (props) => {\r\n return this.inputTextEditor(props, 'remark');\r\n }\r\n\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastetranNotiRecycleCtrl :render\")\r\n let contentFindOrder = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )\r\n\r\n\r\n\r\n let data = (\r\n \r\n )\r\n\r\n if ((this.props.wastetranOrderSearchNoti\r\n && this.props.wastetranOrderSearchNoti.data\r\n && this.props.wastetranOrderSearchNoti.data.length > 0\r\n )) {\r\n let entity = this.props.wastetranOrderSearchNoti.data[this.props.wastetranOrderSearchNoti.data.length - 1];\r\n let gmapU1 = {\r\n marker: { lat: entity.u1_lat, lng: entity.u1_lng },\r\n mapCenter: { lat: entity.u1_lat, lng: entity.u1_lng },\r\n mapZoom: this.state.mapZoom\r\n };\r\n let gmapU3 = {\r\n marker: { lat: entity.u3_lat, lng: entity.u3_lng },\r\n mapCenter: { lat: entity.u3_lat, lng: entity.u3_lng },\r\n mapZoom: this.state.mapZoom\r\n };\r\n let urlU1 = \"assets/avatar/user.png\";\r\n if (Validators.isNotEmpty(entity.u1_img)) {\r\n urlU1 = `${API_ROOT}/wastetran/getfile/${entity.u1_img}`;\r\n }\r\n let urlU3 = \"assets/avatar/user.png\";\r\n if (Validators.isNotEmpty(entity.u3_img)) {\r\n urlU3 = `${API_ROOT}/wastetran/getfile/${entity.u3_img}`;\r\n }\r\n data = (\r\n \r\n )\r\n }\r\n let contentTransportInfo = (\r\n \r\n \r\n {data}\r\n \r\n \r\n )\r\n\r\n let contentOderDetail = (\r\n \r\n )\r\n\r\n let contentMoreItems = (\r\n \r\n )\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    แจ้งรับขยะรีไซเคิล

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

    รับขยะรีไซเคิล

    \r\n {contentFindOrder}\r\n {contentTransportInfo}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    รายละเอียดสินค้า

    \r\n {contentOderDetail}\r\n {contentMoreItems}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranAutoOrder: state.wastetranAutoOrder,\r\n wastetranOrderSearchNoti: state.wastetranOrderSearchNoti\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWastetranNotiRecycleCtrl)\r\n","import React, { Component } from 'react';\r\nimport { Galleria } from 'primereact/galleria';\r\nimport { connect } from 'react-redux';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as ServerAPI from '../../components/administrator/service';\r\nimport * as qs from 'query-string'\r\nimport { Button } from 'primereact/button';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\n\r\n\r\nexport class WastetranNewsDetail extends Component {\r\n\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n images1: null,\r\n activeIndex: 2,\r\n list_news: null,\r\n showProgress: false,\r\n images: [\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3' },\r\n { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3' },\r\n { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3' },\r\n { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1' },\r\n ]\r\n };\r\n\r\n this.itemTemplate = this.itemTemplate.bind(this);\r\n this.previewTemplate = this.previewTemplate.bind(this);\r\n this.onItemChange = this.onItemChange.bind(this)\r\n\r\n\r\n this.responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n console.log(this.props);\r\n this.setState({ showProgress: true })\r\n\r\n if (this.props.location) {\r\n if (this.props.location.search) {\r\n let newsCode = qs.parse(this.props.location.search);\r\n this.setState({ newsgid: newsCode.newsCode });\r\n console.log(newsCode.newsCode);\r\n ServerAPI.getNewsByCode(newsCode.newsCode).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log('sucsress');\r\n this.setState(\r\n {\r\n list_news: res[0],\r\n activeIndex: res[0].defaultImageIndex,\r\n showProgress: false\r\n }\r\n )\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }\r\n\r\n\r\n onOpenFiles(e) {\r\n console.log(e)\r\n\r\n var imgList = [];\r\n e.newsImageDetails.forEach((item, index) => {\r\n let array = {\r\n url: `${API_ROOT}/user/news/getfile/${item.imageName}`,\r\n name: item.name,\r\n gid: item.gid,\r\n index: index,\r\n }\r\n imgList.push(array)\r\n console.log(imgList)\r\n this.setState({ fileImgList: imgList });\r\n })\r\n }\r\n\r\n onItemChange(event) {\r\n this.setState({ activeIndex: event.index });\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.alt}\r\n
    \r\n );\r\n\r\n }\r\n\r\n previewTemplate(item) {\r\n console.log(item);\r\n return {item.alt}\r\n }\r\n\r\n toFormatDateTime(dateTime){\r\n return
    \r\n \r\n {dateTime}\r\n \r\n \r\n \r\n {dateTime}\r\n
    ; \r\n }\r\n to_create_date(rowData, column){\r\n return this.toFormatDateTime(rowData.createdDate);\r\n }\r\n\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n\r\n render() {\r\n\r\n console.log(this.state.list_news);\r\n if (this.state.list_news == null) {\r\n console.log(this.state.list_news);\r\n if (this.state.showProgress == true) {\r\n return
    \r\n {this.showProgressSpinner()}\r\n
    \r\n } else {\r\n return
    \r\n เกิดข้อผิดพลาด\r\n \r\n
    ย้อนกลับ
    \r\n
    \r\n
    \r\n }\r\n\r\n }\r\n return (\r\n
    \r\n {/*

    ข่าวสาร

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.list_news.newsTitle}\r\n \r\n\r\n

    \r\n
    \r\n
    \r\n \r\n C3leng News\r\n \r\n
    \r\n \r\n \r\n {this.toFormatDateTime(this.state.list_news.updateDate)}\r\n \r\n\r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n    {this.state.list_news.newsDetail}\r\n \r\n

    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder: state.getWastegenDashLastOrder,\r\n getWastegenDashProduct: state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranNewsDetail)","import React from 'react'\r\nimport { Panel } from 'primereact/panel'\r\nimport { Message } from 'primereact/message'\r\nimport { ScrollPanel } from 'primereact/scrollpanel';\r\nimport { Card } from 'primereact/card';\r\nimport { Button } from 'primereact/button';\r\nimport { Galleria } from 'primereact/galleria';\r\nimport { Document, Page, Text, View, StyleSheet, } from '@react-pdf/renderer';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Route, Link } from 'react-router-dom'\r\nimport {WastetranNewsDetail} from '../wastetran/WastetranNewsDetail'\r\n\r\nimport { dateFormat, plusDate, convertDateMonthNumberToWord } from '../../utils/utilFunctions'\r\n\r\nexport const WasteTranNewView = ({ newsDataList }) => {\r\n const data = newsDataList || []\r\n let wastetrannews = [];\r\n data.forEach(element => {\r\n if(element.isWasteTran){\r\n wastetrannews.push(element);\r\n }\r\n \r\n });\r\n //console.log(data);\r\n // const images = [\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 1' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 2' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 3' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 4' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 5' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 6' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 7' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 8' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 9' },\r\n // ]\r\n\r\n\r\n const responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n\r\n const itemTemplate = (item) => {\r\n return (\r\n
    \r\n {item.alt}\r\n
    \r\n );\r\n }\r\n\r\n const onClickToNews = () => {\r\n // this.props.history.push(\"#/wastegen/news-detail\");\r\n\r\n }\r\n\r\n\r\n \r\n\r\n const previewTemplate = (item) => {\r\n if (item.isWasteTran)\r\n return (
    \r\n {item.alt}\r\n \r\n {item.newsTitle}\r\n \r\n \r\n {item.newsDetail}\r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n const styles = StyleSheet.create({\r\n\r\n container: {\r\n position: 'relative',\r\n //width: '50%'\r\n },\r\n image: {\r\n display: 'block',\r\n width: '100%',\r\n height: 'auto',\r\n \r\n },\r\n overlay: {\r\n position: 'absolute',\r\n bottom: '0',\r\n left: '0',\r\n right: '0',\r\n backgroundColor: '#0000007e',\r\n //opacity:'70%',\r\n overflow: 'hidden',\r\n width: '100%',\r\n height: '0',\r\n transition: '.5s ease',\r\n height: '20%'\r\n },\r\n\r\n textheader: {\r\n color: '#a1db89',\r\n fontSize: '20px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '85%',\r\n left: '44%',\r\n width: '80%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n },\r\n textdetail: {\r\n color: 'white',\r\n fontSize: '15px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '94%',\r\n left: '44%',\r\n width: '80%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n },\r\n text2: {\r\n color: '#a1db89',\r\n fontSize: '15px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '94%',\r\n left: '140%',\r\n width: '100%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n textDecoration: 'underline'\r\n },\r\n });\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {/* {data.length == 0 && */}\r\n
    \r\n {/* เริ่มให้บริการ 1 มีนาคม 2563 เป็นต้นไป */}\r\n\r\n
    \r\n\r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n {/* */}\r\n {/* \r\n หัวข่าว\r\n */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* } */}\r\n {/* {data.length > 0 &&\r\n
  • \r\n {data[data.length-1].messages}\r\n
  • \r\n } */}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\n\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport * as ServerAPI from '../../components/administrator/service';\r\nimport {WasteTranNewView} from '../waste-news/WasteTranNewView'\r\n\r\nclass WastetranDashboard extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n this.getNewsList = this.getNewsList.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getNewsList();\r\n console.log(\"WastegenDashboard :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastetranDashProduct())\r\n this.props.dispatch(getWastetranDashOrderStat())\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n getNewsList(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAllNews().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n var list = [];\r\n \r\n res.forEach((obj,index) => {\r\n let userType = []\r\n let wastegen = '';\r\n let wastetran = '';\r\n let wastepro = '';\r\n let userTypeLabel = '';\r\n let newFileObj = []\r\n if(obj.isWasteGen){\r\n let type = {name: 'ผู้รักษ์โลก', code: '1'}\r\n userType.push(type)\r\n wastegen = 'ผู้รักษ์โลก'\r\n }\r\n if(obj.isWasteTran){\r\n let type = {name: 'ทีมขนส่งซีซาเล้ง', code: '2'}\r\n userType.push(type)\r\n wastetran = 'ทีมขนส่งซีซาเล้ง'\r\n }\r\n if(obj.isWastePro){\r\n let type = {name: 'ศูนย์จัดการฯซีซาเล้ง', code: '3'}\r\n userType.push(type)\r\n wastepro = 'ศูนย์จัดการฯซีซาเล้ง'\r\n }\r\n\r\n if(wastegen && wastetran && wastepro){\r\n userTypeLabel = 'ทุกกลุ่ม'\r\n }else{\r\n userTypeLabel = wastegen+\"\\n\"+wastetran+\"\\n\"+wastepro\r\n }\r\n\r\n obj.newsImageDetails.forEach(item => {\r\n let newValiable = {\r\n defaultImage: item.defaultImage,\r\n gid: item.gid,\r\n name: item.imageName,\r\n imageName: item.imageName,\r\n isDeleted: item.isDeleted,\r\n }\r\n newFileObj.push(newValiable)\r\n });\r\n\r\n let arr = {\r\n gid: obj.gid,\r\n newsCode: obj.newsCode,\r\n newsTitle: obj.newsTitle,\r\n updateDate: obj.updateDate,\r\n createdDate: obj.createdDate,\r\n newsDetail: obj.newsDetail,\r\n\r\n defaultImageIndex: obj.defaultImageIndex,\r\n defaultImageName: obj.defaultImageName,\r\n newsImageDetails: newFileObj,\r\n\r\n userType: userType,\r\n userTypeLabel: userTypeLabel,\r\n isWasteGen: obj.isWasteGen,\r\n isWasteTran: obj.isWasteTran,\r\n isWastePro: obj.isWastePro,\r\n }\r\n list.push(arr)\r\n\r\n });\r\n console.log(list)\r\n this.setState({ newsDataList: list })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }\r\n\r\n render() {\r\n const {\r\n wastetranBalance,\r\n userAnnounce,\r\n getWastetranDashProduct,\r\n getWastetranDashOrderStat\r\n } = this.props\r\n\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n\r\n //Overview\r\n let summaryBalance = 0;\r\n let successBalance = 0;\r\n let noSuccessBalance = 0;\r\n let donateSummary = 0;\r\n if (\r\n !wastetranBalance.isLoading\r\n && wastetranBalance.data\r\n && !wastetranBalance.isFailed\r\n ) {\r\n summaryBalance = (wastetranBalance.data.income_summary_thb).toFixed(2);\r\n successBalance = wastetranBalance.data.withdraw_summary_thb.toFixed(2);\r\n noSuccessBalance = Math.abs(wastetranBalance.data.withdraw_balance_thb.toFixed(2));\r\n donateSummary = wastetranBalance.data.donate_summary_thb.toFixed(2);\r\n }\r\n const contentOverview = (\r\n \r\n );\r\n\r\n //> ความสำเร็จของคุณ\r\n let dataList = []\r\n if (!getWastetranDashProduct.isLoading && !getWastetranDashProduct.isFailed) {\r\n if (getWastetranDashProduct.data && getWastetranDashProduct.data.length > 0) {\r\n for (let key in getWastetranDashProduct.data) {\r\n let entity = getWastetranDashProduct.data[key]\r\n let prepareData = {\r\n order: entity.product_type_name,\r\n quantity: entity.quantity_kk \r\n };\r\n dataList.push(prepareData);\r\n }\r\n }\r\n }\r\n const contentSuccessDataTable = (\r\n \r\n );\r\n\r\n //> สถิติการรับงาน\r\n let waitDate = null;\r\n let waitOrder = null;\r\n let waitSendDate = null;\r\n let waitSendOrder = null;\r\n let overDueDate = null;\r\n let overDueOrder = null;\r\n let closeDate = null;\r\n let closeOrder = null;\r\n let cancelDate = null;\r\n let cancelOrder = null;\r\n if (!getWastetranDashOrderStat.isLoading && !getWastetranDashOrderStat.isFailed) {\r\n if (getWastetranDashOrderStat.data && getWastetranDashOrderStat.data.length > 0) {\r\n getWastetranDashOrderStat.data.map((value) => {\r\n switch (getStatus(value.order_status).value) {\r\n case 2:\r\n waitDate=value.last_update_date\r\n waitOrder=value.stat_count\r\n break;\r\n case 3:\r\n waitSendDate=value.last_update_date\r\n waitSendOrder=value.stat_count\r\n break;\r\n case 5:\r\n overDueDate = value.last_update_date\r\n overDueOrder = value.stat_count\r\n case 88:\r\n closeDate=value.last_update_date\r\n closeOrder=value.stat_count\r\n break;\r\n case 99:\r\n cancelDate=value.last_update_date\r\n cancelOrder=value.stat_count\r\n break;\r\n }\r\n })\r\n\r\n }\r\n }\r\n const contentStatisticOrders = (\r\n \r\n );\r\n\r\n //> กรณีไม่พบคำสั่งสถิติการรับงาน\r\n const notFoundcontentStatisticOrders = (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n \r\n {contentNews}\r\n

    Dashboard

    \r\n
    \r\n
    \r\n
    \r\n {contentOverview}\r\n
    \r\n {contentSuccessDataTable}\r\n
    \r\n
    \r\n {contentStatisticOrders}\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranDashboard)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux'\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { getAdminUid, getBadgeAdmin } from '../../service/ChatService'\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { WASTE_TYPE } from '../../constants/mappingValue'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as serviceAPI from './service'\r\nclass WastetranChatAdmin extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ],\r\n showProgress: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"WastegenDashboard :componentDidMount\")\r\n getAdminUid().then(res => {\r\n console.log(res)\r\n this.setState({ adminInfo: res})\r\n })\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n chat(){\r\n if(this.props.userInfo && this.state.adminInfo){\r\n const currentUserInfo = this.props.userInfo.user_wasteTypes.find(\r\n item => item.wasteType === 2 ,\r\n )\r\n let roomId = `${currentUserInfo.uid}-${currentUserInfo.wasteType}-admin`\r\n console.log(roomId)\r\n console.log(this.state.adminInfo.uid)\r\n return (\r\n this.updateAdminBadge(e)}\r\n adminBadge={this.props.chatSingleBadge.admin}\r\n />\r\n );\r\n }else\r\n return this.showProgressSpinner()\r\n }\r\n updateAdminBadge(e){\r\n this.props.ChatServiceProps.updateReadAll(e.roomId,e.type,e.badges)\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat,\r\n chatSingleBadge: state.chatSingleBadge,\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranChatAdmin)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\n\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WastetranChatView extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"WastegenDashboard :componentDidMount\")\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n chat(){\r\n if(this.props.location.state){\r\n return (\r\n \r\n );\r\n }else\r\n return (

    ไม่พบข้อมูล

    )\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranChatView)","\r\n\r\nimport React, { useState } from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\n\r\n\r\nexport const ChatWastetranWhitU3View = ({ valueDd, listDd, onChangeDd, valueMessage, onChangeMessage, onSubmit, classNameRequired,\r\n valueMemberName, onChangeMemberName, onAddMember, customChipRemove, valueChips, valueProvince, provinceList, onChangedProvinceDb,\r\n valueDistrict, districtList, onChangedDistrictDb }) => {\r\n const handleEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n return onsubmit\r\n }\r\n }\r\n const showChatMassage = (\r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
      \r\n
    • \r\n \"Contact\r\n \"ยินดีให้บริการครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"ค่ะ ขอบคุณมากๆค่ะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"login เข้าสู่ระบบ ไปที่หน้า profile เลื่อนลงมาข้างล่างสุด จะเห็นข้อความเปลี่ยนรหัสผ่าน ให้เช็คถูก แล้วทำตามขั้นตอนได้เลยครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"จะเปลี่ยนรหัสผ่านได้ยังไงคะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"สวัสดีครับ จะสอบถามเรื่องอะไรครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"สวัสดีค่ะ มีเรื่องจะสอบถามหน่อยค่ะ\"\r\n
    • \r\n \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n \r\n )\r\n const header = (\r\n
    แชทศูนย์จัดการฯซีซาเล้ง
    \r\n )\r\n\r\n return (\r\n \r\n
    \r\n {/* ROW2 */}\r\n
    \r\n {showChatMassage}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\n\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatWastetranWhitU3View } from '../message/ChatWastetranWhitU3View';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WastetranChatWithU3 extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WastegenDashboard :componentDidMount\")\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastetranDashProduct())\r\n this.props.dispatch(getWastetranDashOrderStat())\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n render() {\r\n const {\r\n userAnnounce,\r\n } = this.props\r\n\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n\r\n const citySelectItems = [\r\n { label: 'นาย อิศยา กาบนันทา', value: '1' },\r\n { label: 'eissaya U1', value: '2' },\r\n { label: 'usertran eisya', value: '3' },\r\n { label: 'ร้านมารวย', value: '4' },\r\n { label: 'นาย ประทีบ จันทรา', value: '5' },\r\n { label: 'นาย ประเทือง จันทรา', value: '6'},\r\n { label: 'นาย ประหยัด จันทรา', value: '7'},\r\n { label: 'นาย ประทุ จันทรา', value: '8'},\r\n { label: 'นาย ประปา จันทรา', value: '9'},\r\n { label: 'นาย ประวัติ จันทรา', value: '10'},\r\n { label: 'นาย ประจบ จันทรา', value: '11'},\r\n { label: 'นาย ประแจง จันทรา', value: '12'},\r\n { label: 'นาย ประนอม จันทรา', value: '13'},\r\n { label: 'นาย ประวรรณ จันทรา', value: '14'},\r\n ];\r\n const showChatTable = (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ selectedCar: e.value })}\r\n itemTemplate={this.carTemplate}\r\n style={{ width: '100%' }}\r\n listStyle={{ maxHeight: '450px' }} />\r\n\r\n
    \r\n )\r\n\r\n const chatWastetran = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranChatWithU3)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\nimport { getBalance,getWastegenDashLastOrder,getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport {Panel} from 'primereact/panel';\r\n\r\n\r\nclass WastetranContact extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'ขวดพลาสติกใส', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ขวดแก้ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'อลูมิเนียม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กระดาษ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กล่องนม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n\r\n this.onClickRefresh=this.onClickRefresh.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e)=>{\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n wastegenBalance,\r\n userAnnounce,\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n
    \r\n
    \r\n ติดต่อเรา\r\n
    \r\n
    \r\n
    \r\n แจ้งรับขยะรีไซเคิล\r\n
    \r\n
    \r\n สอบถามรายละเอียด โทร. 021151482\r\n
    \r\n
    \r\n C3leng by GGT\r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n

    ข้อมูลการติดต่อ C3Leng

    \r\n {contentNews}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAnnounce: state.userAnnounce,\r\n getWasteproDashPayment: state.getWasteproDashPayment,\r\n getWasteproDashProduct: state.getWasteproDashProduct,\r\n getWasteproDashSummary: state.getWasteproDashSummary,\r\n getWasteproDashOrderStat:state.getWasteproDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WastetranContact)","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Button } from \"primereact/button\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { Validators } from \"../../utils\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport DonateHeaderView from \"../donate/DonateHeaderView\";\r\n\r\nimport {\r\n getBalance,\r\n getWithdrawHistory,\r\n getWastetranDonate,\r\n wastetranTransferDonate,\r\n} from \"../../service/wastetran.service\";\r\n\r\nclass WastetranDonate extends Component {\r\n constructor(props) {\r\n console.log(\"WastetranDonate :constructor\");\r\n super(props);\r\n this.state = {\r\n //save\r\n isSave: false,\r\n //Validate require\r\n isValidateError: false,\r\n classNameRequired: {},\r\n\r\n //WithDrawHeaderView\r\n withdrawAmount: 0,\r\n unApproveAmount: 0,\r\n input_amount: null,\r\n input_amount_required: {\r\n valid: true,\r\n className: \"\",\r\n message: \"\",\r\n },\r\n bank_withdraw_code: null,\r\n bank_withdraw_code_required: {\r\n valid: true,\r\n className: \"\",\r\n message: \"\",\r\n },\r\n //DynamicDataTableView\r\n model: [\r\n { field: \"col1\", header: \"วันที่แจ้ง\", sortable: true },\r\n { field: \"col2\", header: \"วันที่โอน\", sortable: true },\r\n {\r\n field: \"col3\",\r\n header: \"จำนวนเงิน (บาท)\",\r\n sortable: true,\r\n style: { textAlign: \"right\" },\r\n },\r\n { field: \"col4\", header: \"ชื่อบัญชี\", sortable: true },\r\n { field: \"col5\", header: \"เลขที่บัญชี\", sortable: true },\r\n { field: \"col6\", header: \"ธนาคาร\", sortable: true },\r\n { field: \"col7\", header: \"สถานะ\", sortable: true },\r\n ],\r\n data: [],\r\n visible: true,\r\n displayConfirmation: false,\r\n titleDialog: \"\",\r\n };\r\n\r\n this.validateRequired = {};\r\n\r\n //Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //Event : withdraw\r\n this.onClickNotiMoney = this.onClickNotiMoney.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WastetranDonate :componentDidMount\");\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n this.props.dispatch(getWastetranDonate());\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastetranDonate :componentWillReceiveProps\");\r\n if (this.state.isSave) {\r\n if (!nextProps.wastetranWithdraw.isLoading) {\r\n if (!nextProps.wastetranWithdraw.isFailed) {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(getWithdrawHistory());\r\n this.props.dispatch(getWastetranDonate());\r\n this.setState({ isSave: false });\r\n this._validateRequired(\"bank_withdraw_code_required\", true);\r\n this.setState({ input_amount: \"\" });\r\n this.setState({ bank_withdraw_code: \"\" });\r\n }\r\n if (nextProps.wastetranWithdraw.isFailed) {\r\n this.showError(nextProps.wastetranWithdraw.data);\r\n this._validateRequired(\r\n \"bank_withdraw_code_required\",\r\n false,\r\n nextProps.wastetranWithdraw.data\r\n );\r\n this.setState({ isSave: false });\r\n }\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastetranDonate :shouldComponentUpdate\");\r\n return true;\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastetranDonate :componentWillUpdate\");\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\r\n \"WastetranDonate :componentDidUpdate\",\r\n this.state,\r\n \" ,\",\r\n prevState\r\n );\r\n\r\n if (prevProps.wastetranBalance.data != this.props.wastetranBalance.data) {\r\n if (\r\n this.props.wastetranBalance.data &&\r\n this.props.wastetranBalance.data.outstanding_balance_thb\r\n ) {\r\n this.setState({\r\n withdrawAmount: this.props.wastetranBalance.data.outstanding_balance_thb.toFixed(\r\n 2\r\n ),\r\n });\r\n this.setState({\r\n unApproveAmount: this.props.wastetranBalance.data.withdraw_balance_thb.toFixed(\r\n 2\r\n ),\r\n });\r\n }\r\n console.log(`print state ${this.state}`);\r\n }\r\n\r\n if(this.props.wastetranTransfer.data == 'รหัสถอนเงินไม่ถูกต้อง' && !this.props.wastetranTransfer.isLoading){\r\n this.showWarn('รหัสถอนเงินไม่ถูกต้อง')\r\n this.props.dispatch({ type: 'WASTETRAN_TRANSFER_DONATE_REQUEST', payload: true })\r\n }\r\n \r\n if(this.props.wastetranTransfer.data == 'เกิดข้อผิดพลาด ไม่สามารถถอดเงินได้' && !this.props.wastetranTransfer.isLoading){\r\n this.showWarn('เกิดข้อผิดพลาด ไม่สามารถถอดเงินได้')\r\n this.props.dispatch({ type: 'WASTETRAN_TRANSFER_DONATE_REQUEST', payload: true })\r\n }\r\n \r\n if(this.props.wastetranTransfer.data === true && !this.props.wastetranTransfer.isLoading){\r\n this.showSuccess()\r\n this.props.dispatch({ type: 'WASTETRAN_TRANSFER_DONATE_REQUEST', payload: true })\r\n }\r\n }\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key];\r\n this.setState({ [key]: val });\r\n }\r\n }\r\n };\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n };\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target;\r\n this.setState({ [name]: value });\r\n if (required) {\r\n let classNamed = [name] + \"_required\";\r\n if ([name] == \"input_amount\") {\r\n if (Number(value) > Number(this.state.withdrawAmount)) {\r\n this._validateRequired(\r\n classNamed,\r\n false,\r\n \"ยอดทั้งหมดที่ถอนได้ไม่พอสำหรับแจ้งถอน\"\r\n );\r\n } else {\r\n this._validateRequired(classNamed, true);\r\n }\r\n if (Validators.isEmpty(this.state.bank_withdraw_code)) {\r\n this._validateRequired(\r\n \"bank_withdraw_code_required\",\r\n false,\r\n \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\"\r\n );\r\n } else {\r\n this._validateRequired(\"bank_withdraw_code_required\", true);\r\n }\r\n }\r\n if ([name] == \"bank_withdraw_code\") {\r\n if (Validators.isEmpty(value)) {\r\n this._validateRequired(\r\n classNamed,\r\n false,\r\n \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\"\r\n );\r\n } else {\r\n this._validateRequired(classNamed, true);\r\n }\r\n }\r\n }\r\n };\r\n onClickNotiMoney = (e) => {\r\n const { input_amount, withdrawAmount, bank_withdraw_code } = this.state;\r\n console.log(input_amount, \",\", withdrawAmount);\r\n if (\r\n parseFloat(input_amount) &&\r\n parseFloat(input_amount) > 0 &&\r\n Validators.isNotEmpty(this.state.bank_withdraw_code)\r\n ) {\r\n if (parseFloat(input_amount) > parseFloat(withdrawAmount)) {\r\n this.showWarn(\"ยอดทั้งหมดที่ถอนได้ ไม่เพียงพอ\");\r\n this._classNameRequiredIsError(\"input_amount_required\", true);\r\n } else {\r\n this.setState({ isSave: true });\r\n this.onHide(\"displayConfirmation\");\r\n\r\n console.log(this.props.userInfo);\r\n var donateData = {\r\n waste_uid: this.props.userInfo.user_wasteTypes[0].uid,\r\n withdrawal_thb: parseFloat(input_amount),\r\n bank_withdraw_code: this.state.bank_withdraw_code,\r\n wasteType: 2,\r\n org_uid: this.state.orgSelection.uid,\r\n };\r\n\r\n console.log(donateData);\r\n\r\n this.props.dispatch(wastetranTransferDonate(donateData));\r\n }\r\n } else {\r\n this.showWarn(\"ไม่สามารถทำรายการได้ กรุณาตรวจสอบ\");\r\n if (Validators.isEmpty(this.state.input_amount)) {\r\n this._validateRequired(\r\n \"input_amount_required\",\r\n false,\r\n \"กรุณาระบุยอดเงินที่ต้องการถอน\"\r\n );\r\n }\r\n if (Validators.isEmpty(this.state.bank_withdraw_code)) {\r\n this._validateRequired(\r\n \"bank_withdraw_code_required\",\r\n false,\r\n \"กรุณาระบุรหัสสำหรับแจ้งถอนเงิน\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n if (nextState.input_amount) {\r\n this._validateLogic(\"input_amount_required\", nextState.input_amount);\r\n }\r\n };\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n };\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState((pv) => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired,\r\n [classNamed]: \"p-error p-col-12\",\r\n },\r\n }));\r\n } else {\r\n this.setState((pv) => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired,\r\n [classNamed]: \"p-col-12\",\r\n },\r\n }));\r\n }\r\n }\r\n };\r\n _validateRequired = (className, valid, message) => {\r\n message = message || \"\";\r\n this.setState({\r\n [className]: {\r\n valid: valid,\r\n className: valid ? \"\" : \"p-error\",\r\n message: message,\r\n },\r\n });\r\n };\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showError = (message) => {\r\n this.growl.show({\r\n severity: \"error\",\r\n summary: \"คำเตือน\",\r\n detail: message ? message : \"เกิดข้อผิดพลาด\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"คำเตือน\",\r\n detail: message\r\n ? message\r\n : \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\",\r\n });\r\n };\r\n\r\n showDialogDonate(name, e) {\r\n let state = {\r\n [`${name}`]: true,\r\n };\r\n\r\n if (e) {\r\n state = {\r\n ...state,\r\n e,\r\n };\r\n }\r\n this.setState({ orgSelection: e });\r\n this.setState(state);\r\n }\r\n\r\n onHide(name) {\r\n this.setState({\r\n [`${name}`]: false,\r\n });\r\n }\r\n\r\n renderFooter = (name) => {\r\n return
    ;\r\n };\r\n\r\n onopenContectDetail(e) {\r\n console.log(e);\r\n this.onHide(\"displayConfirmation\");\r\n this.setState({\r\n contactDetailBodyDialog: true,\r\n orgSelected: Object.assign({}, e),\r\n });\r\n }\r\n onopenAddressDetail(e) {\r\n console.log(e);\r\n this.onHide(\"displayConfirmation\");\r\n this.setState({\r\n addressDetailBodyDialog: true,\r\n orgSelected: Object.assign({}, e),\r\n });\r\n }\r\n\r\n openContectDetail(rowData, column) {\r\n return (\r\n
    \r\n this.onopenContectDetail(column.rowData)}\r\n icon=\"fa fa-address-book\"\r\n label=\"\"\r\n className=\"p-button-outlined\"\r\n />\r\n
    \r\n );\r\n }\r\n openAddressDetail(rowData, column) {\r\n return (\r\n
    \r\n this.onopenAddressDetail(column.rowData)}\r\n icon=\"fa fa-map-marker\"\r\n label=\"\"\r\n className=\"p-button\"\r\n />\r\n
    \r\n );\r\n }\r\n openDonateDialog(rowData, column) {\r\n return (\r\n
    \r\n this.showDialogDonate(\"displayConfirmation\", rowData)}\r\n label=\"บริจาค\"\r\n />\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWastegenWithdrawCtrl :render\", this.state);\r\n\r\n let itemOrg = [];\r\n if (this.props.wastetranDonate && !this.props.wastetranDonate.isLoading) {\r\n if (!this.props.wastetranDonate.isFailed) {\r\n for (let key in this.props.wastetranDonate.data) {\r\n let entity = this.props.wastetranDonate.data[key];\r\n let tmpData = {\r\n org_name: entity.org_name,\r\n bank_account_name: entity.bank_account_name,\r\n bank_account_no: entity.bank_account_no,\r\n bank_name: entity.bank_name,\r\n contract_detail: \"\",\r\n addr_current_detail: \"\",\r\n uid: entity.uid,\r\n telephone_no1: entity.telephone_no1,\r\n telephone_no2: entity.telephone_no2,\r\n email: entity.email,\r\n addr_current_province_name: entity.addr_current_province_name,\r\n add_current_district_name: entity.add_current_district_name,\r\n addr_current_subdistrict_name: entity.addr_current_subdistrict_name,\r\n addr_current_detail: entity.addr_current_detail,\r\n };\r\n itemOrg.push(tmpData);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n

    บริจาค

    \r\n
    \r\n
    \r\n \r\n \r\n this.onClick(\"displayConfirmation\", e)\r\n }\r\n dataKey=\"id\"\r\n responsive={true}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.onHide(\"displayConfirmation\")}\r\n >\r\n
    \r\n \r\n
    \r\n \r\n\r\n this.setState({ contactDetailBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.orgSelected && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.telephone_no1}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.telephone_no2}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.email}\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n this.setState({ addressDetailBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.orgSelected && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.addr_current_province_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.add_current_district_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.addr_current_subdistrict_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.orgSelected.addr_current_detail}\r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n wastetranWithdraw: state.wastetranWithdraw,\r\n wastetranWithdrawHistory: state.wastetranWithdrawHistory,\r\n wastetranDonate: state.wastetranDonate,\r\n userInfo: state.userInfo.data,\r\n wastetranTransfer: state.wastetranTransfer\r\n});\r\n\r\nexport default connect(mapStateToProps)(WastetranDonate);\r\n","import React, { Component } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { Button } from \"primereact/button\";\r\nimport { InputText } from \"primereact/components/inputtext/InputText\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport moment from \"moment\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { getWasteTranDonateHistory } from \"../../service/wastetran.service\";\r\n\r\nclass WastetranDonateHistory extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.dispatch(getWasteTranDonateHistory());\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showError = (message) => {\r\n this.growl.show({\r\n severity: \"error\",\r\n summary: \"คำเตือน\",\r\n detail: message ? message : \"เกิดข้อผิดพลาด\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"คำเตือน\",\r\n detail: message\r\n ? message\r\n : \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\",\r\n });\r\n };\r\n\r\n showSearchPanel() {\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n let showSearchPanel = this.showSearchPanel();\r\n let itemHistory = [];\r\n if (\r\n this.props.wastetranDonateHistory &&\r\n !this.props.wastetranDonateHistory.isLoading\r\n ) {\r\n if (!this.props.wastetranDonateHistory.isFailed) {\r\n for (let key in this.props.wastetranDonateHistory.data) {\r\n let entity = this.props.wastetranDonateHistory.data[key];\r\n let tmpData = {\r\n gid: entity.gid,\r\n org_name:entity.org_name,\r\n waste_type: entity.wasteType,\r\n waste_uid: entity.waste_uid,\r\n waste_name: entity.waste_name,\r\n bank_name: entity.bank_name,\r\n bank_code: entity.bank_code,\r\n bank_account_no: entity.bank_account_no,\r\n bank_account_name: entity.bank_account_name,\r\n bank_promptpay: entity.bank_promptpay,\r\n donate_thb: entity.donate_thb,\r\n transaction_img: entity.transaction_img,\r\n approver_date: entity.approver_date,\r\n requested_date: moment(entity.requested_date).format(\"DD/MM/YYYY\"),\r\n approver_uid: entity.approver_uid,\r\n };\r\n itemHistory.push(tmpData);\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n {/* {showSearchPanel} */}\r\n

    ประวัติการบริจาค

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    )}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranDonateHistory: state.wastetranDonateHistory,\r\n});\r\n\r\nexport default connect(mapStateToProps)(WastetranDonateHistory);\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport classNames from 'classnames';\r\nimport { AppTopbar } from './../AppTopbar';\r\nimport { AppMenu } from './../AppMenu';\r\nimport { ScrollPanel } from 'primereact/components/scrollpanel/ScrollPanel';\r\nimport 'primereact/resources/primereact.min.css';\r\n// import 'fullcalendar/dist/fullcalendar.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\nimport style from './style.css';\r\n\r\n\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as ChatService from '../../service/ChatService'\r\nimport { addNewChatMessage } from '../../service/ChatService'\r\n\r\nimport { WastetranNotiWithdraw } from './WastetranNotiWithdraw';\r\nimport { WastetranProfile } from './WastetranProfile';\r\nimport WastetranManageOrder from './WastetranManageOrder';\r\nimport WastetranManageAccept from './WastetranManageAccept';\r\nimport { WastetranReportBuying } from './WastetranReportBuying';\r\nimport { WastetranInlineProfile } from './WastetranInlineProfile';\r\nimport PropsRoute from '../../PropsRoute';\r\nimport ExampleWastetranProfileCtrl from './ExampleWastetranProfileCtrl';\r\nimport ExampleWastetranChangePassword from './ExampleWastetranChangePassword';\r\nimport ExampleWastetranChangePin from './ExampleWastetranChangePin';\r\nimport ExampleWastetranNotiWithdrawCtrl from './ExampleWastetranNotiWithdrawCtrl';\r\nimport ExampleWastetranReportBuyingCtrl from './ExampleWastetranReportBuyingCtrl';\r\nimport ExampleWastetranReportAmountCtrl from './ExampleWastetranReportAmountCtrl';\r\nimport ExampleWastetranNotiRecycleCtrl from './ExampleWastetranNotiRecycleCtrl';\r\nimport WastetranDashboard from './WastetranDashboard';\r\nimport WastetranChatAdmin from './WastetranChatAdmin';\r\nimport WastetranChatView from './WastetranChatView';\r\nimport WastetranChatWithU1 from './WastetranChatWithU1';\r\nimport WastetranChatWithU3 from './WastetranChatWithU3';\r\nimport WastetranContact from './WastetranContact';\r\nimport WastetranNewsDetail from './WastetranNewsDetail';\r\nimport {\r\n connectWebsocket,\r\n implementWebsocket,\r\n closeWebsocket,\r\n navigateToAdminChatScene,\r\n navigateToUserChatScene,\r\n sendMessage,\r\n } from '../../utils/chat'\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nimport WastetranDonate from './WastetranDonate';\r\nimport WastetranDonateHistory from './WastetranDonateHistory';\r\nimport { getBadgeAdmin } from './service'\r\nimport {Dialog} from 'primereact/dialog';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport * as ServiceAPI from './service';\r\nimport { get } from 'lodash'\r\n\r\nclass WastetranContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n componentDidMount() {\r\n const { locationServiceProps, userServiceProps, masterServiceProps, ChatServiceProps } = this.props\r\n\r\n locationServiceProps.getProvice();\r\n userServiceProps.getUserInfo();\r\n locationServiceProps.getCardProvice();\r\n locationServiceProps.getChipProvice();\r\n masterServiceProps.getBanks();\r\n ChatServiceProps.getBadgeAdmin();\r\n\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenContainer :componentWillReceiveProps\")\r\n if (\r\n nextProps.userInfo\r\n && !nextProps.locationMaster.isFetching\r\n && this.tickerLoad\r\n && !nextProps.getArrChipDistrict.isLoading\r\n ) {\r\n if (nextProps.userInfo.addr_current_province_code) {\r\n nextProps.locationServiceProps.getDistrict(nextProps.userInfo.addr_current_province_code);\r\n }\r\n if (nextProps.userInfo.addr_current_district_code) {\r\n nextProps.locationServiceProps.getSubDistrict(nextProps.userInfo.addr_current_district_code);\r\n }\r\n if (nextProps.userInfo.addr_card_province_code) {\r\n nextProps.locationServiceProps.getCardDistrict(nextProps.userInfo.addr_card_province_code);\r\n }\r\n if (nextProps.userInfo.addr_card_district_code) {\r\n nextProps.locationServiceProps.getCardSubDistrict(nextProps.userInfo.addr_card_district_code);\r\n }\r\n if(nextProps.userInfo){\r\n const currentUserInfo = nextProps.userInfo.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE['wastetran'],\r\n )\r\n console.log(currentUserInfo)\r\n if(currentUserInfo.profileStatusCode != 99) this.setState({userNotCompleteDialog: true})\r\n }\r\n\r\n if (nextProps.userInfo){\r\n this.manageChatWebsocket(nextProps.userInfo,'wastetran')\r\n }else {\r\n closeWebsocket()\r\n }\r\n //chip\r\n // if(nextProps.userInfo.areaList){\r\n // if(nextProps.userInfo.areaList.length>0){\r\n // let provCode;\r\n // for(let key in nextProps.userInfo.areaList){\r\n // let entity = nextProps.userInfo.areaList[key];\r\n // let provinceCode = entity.provinceCode;\r\n // if(provinceCode){\r\n // provCode=provinceCode\r\n // }\r\n // }\r\n // if(provCode){\r\n // nextProps.locationServiceProps.getChipDistrict(provCode);\r\n // }\r\n // }\r\n // }\r\n // let arrProv = []\r\n // if (nextProps.userInfo.areaList) {\r\n // if (nextProps.userInfo.areaList.length > 0) {\r\n // let provCode;\r\n // for (let key in nextProps.userInfo.areaList) {\r\n // let entity = nextProps.userInfo.areaList[key];\r\n // let distCode = entity.distCode;\r\n // let provinceCode = entity.provinceCode;\r\n // let tmpObj = { districtCode: distCode, provinceCode: provinceCode }\r\n // let chkPvCode = arrProv.filter((rs) => {\r\n // return rs.provinceCode == provinceCode\r\n // })\r\n // if (chkPvCode.length == 0) {\r\n // arrProv.push(tmpObj);\r\n // }\r\n // }\r\n \r\n // nextProps.locationServiceProps.getArrChipDistrict(arrProv);\r\n \r\n // }\r\n // }\r\n\r\n\r\n this.tickerLoad = false;\r\n \r\n }\r\n if(!nextProps.chatSingleBadge.isLoading){\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(nextProps.userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n \r\n }\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.tickerLoad = true;\r\n this.state = {\r\n layoutMode: 'static',\r\n profileMode: 'inline',\r\n layoutCompact: true,\r\n overlayMenuActive: false,\r\n staticMenuDesktopInactive: false,\r\n staticMenuMobileActive: false,\r\n rotateMenuButton: false,\r\n topbarMenuActive: false,\r\n activeTopbarItem: null,\r\n darkMenu: false,\r\n menuActive: false,\r\n theme: 'green',\r\n layout: 'green',\r\n version: 'v3',\r\n displayDialog: false,\r\n userNotCompleteDialog: false,\r\n };\r\n\r\n this.onDocumentClick = this.onDocumentClick.bind(this);\r\n this.onMenuClick = this.onMenuClick.bind(this);\r\n this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\r\n this.onTopbarMenuButtonClick = this.onTopbarMenuButtonClick.bind(this);\r\n this.onTopbarItemClick = this.onTopbarItemClick.bind(this);\r\n this.onMenuItemClick = this.onMenuItemClick.bind(this);\r\n this.onRootMenuItemClick = this.onRootMenuItemClick.bind(this);\r\n this.createMenu();\r\n }\r\n\r\n manageChatWebsocket = (userInfo, userWasteType) => {\r\n const currentUserInfo = userInfo.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE[userWasteType],\r\n )\r\n const senderId = currentUserInfo.uid\r\n const senderType = currentUserInfo.wasteType\r\n\r\n const onMessage = (message, currentRouteName) => {\r\n addNewChatMessage(message)\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n // if (currentRouteName === 'ChatScene') {\r\n // addNewChatMessage(message)\r\n // } else {\r\n // console.log('fadeInMessageBanner(message)')\r\n // //fadeInMessageBanner(message)\r\n // }\r\n }\r\n connectWebsocket(senderId, senderType)\r\n implementWebsocket(onMessage)\r\n }\r\n\r\n onMenuClick(event) {\r\n this.menuClick = true;\r\n }\r\n\r\n onMenuButtonClick(event) {\r\n this.menuClick = true;\r\n this.setState(({\r\n rotateMenuButton: !this.state.rotateMenuButton,\r\n topbarMenuActive: false\r\n }));\r\n\r\n if (this.state.layoutMode === 'overlay') {\r\n this.setState({\r\n overlayMenuActive: !this.state.overlayMenuActive\r\n });\r\n }\r\n else {\r\n if (this.isDesktop())\r\n this.setState({ staticMenuDesktopInactive: !this.state.staticMenuDesktopInactive });\r\n else\r\n this.setState({ staticMenuMobileActive: !this.state.staticMenuMobileActive });\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarMenuButtonClick(event) {\r\n this.topbarItemClick = true;\r\n this.setState({ topbarMenuActive: !this.state.topbarMenuActive });\r\n this.hideOverlayMenu();\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarItemClick(event) {\r\n this.topbarItemClick = true;\r\n\r\n if (this.state.activeTopbarItem === event.item)\r\n this.setState({ activeTopbarItem: null });\r\n else\r\n this.setState({ activeTopbarItem: event.item });\r\n\r\n event.originalEvent.preventDefault();\r\n }\r\n\r\n onMenuItemClick(event) {\r\n if (get(event, 'item.href', null))\r\n {\r\n window.open(get(event, 'item.href', null))\r\n }\r\n if (!event.item.items) {\r\n this.hideOverlayMenu();\r\n }\r\n if (!event.item.items && this.isHorizontal()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n }\r\n\r\n onRootMenuItemClick(event) {\r\n this.setState({\r\n menuActive: !this.state.menuActive\r\n });\r\n }\r\n\r\n onDocumentClick(event) {\r\n if (!this.topbarItemClick) {\r\n this.setState({\r\n activeTopbarItem: null,\r\n topbarMenuActive: false\r\n });\r\n }\r\n\r\n if (!this.menuClick) {\r\n if (this.isHorizontal() || this.isSlim()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n\r\n this.hideOverlayMenu();\r\n }\r\n\r\n if (!this.rightPanelClick) {\r\n this.setState({\r\n rightPanelActive: false\r\n })\r\n }\r\n\r\n this.topbarItemClick = false;\r\n this.menuClick = false;\r\n this.rightPanelClick = false;\r\n }\r\n\r\n hideOverlayMenu() {\r\n this.setState({\r\n rotateMenuButton: false,\r\n overlayMenuActive: false,\r\n staticMenuMobileActive: false\r\n })\r\n }\r\n\r\n isTablet() {\r\n let width = window.innerWidth;\r\n return width <= 1024 && width > 640;\r\n }\r\n\r\n isDesktop() {\r\n return window.innerWidth > 1024;\r\n }\r\n\r\n isMobile() {\r\n return window.innerWidth <= 640;\r\n }\r\n\r\n isOverlay() {\r\n return this.state.layoutMode === 'overlay';\r\n }\r\n\r\n isHorizontal() {\r\n return this.state.layoutMode === 'horizontal';\r\n }\r\n\r\n isSlim() {\r\n return this.state.layoutMode === 'slim';\r\n }\r\n\r\n changeTheme(theme) {\r\n this.setState({ theme: theme });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('theme-css', theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('theme-css', theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeLayout(layout, special) {\r\n this.setState({ layout: layout });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', layout, 'layout');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', layout + '-v4', 'layout');\r\n }\r\n\r\n if (special) {\r\n this.setState({\r\n darkMenu: true\r\n })\r\n }\r\n }\r\n\r\n changeVersion(version) {\r\n this.setState({ version: version });\r\n if (version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout, 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout + '-v4', 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeStyleSheetUrl(id, value, prefix) {\r\n let element = document.getElementById(id);\r\n let urlTokens = element.getAttribute('href').split('/');\r\n urlTokens[urlTokens.length - 1] = prefix + '-' + value + '.css';\r\n let newURL = urlTokens.join('/');\r\n element.setAttribute('href', newURL);\r\n }\r\n\r\n createMenu(userInfo,badges) {\r\n if (userInfo) {\r\n this.menu = [\r\n { label: 'Dashboard', icon: 'fa fa-fw fa-home', to: '/wastetran' },\r\n { label: 'แชทกับแอดมิน', icon: 'fa fa-comments', to: '/Wastetran/admin-chat', badge: badges || null },\r\n //{ label: 'chat with U1', icon: 'fa fa-comments', to: '/Wastetran/chat-wastegen' },\r\n //{ label: 'chat with U3', icon: 'fa fa-comments', to: '/Wastetran/chat-wastepro' },\r\n { label: 'แจ้งรับขยะรีไซเคิล', icon: 'fa fa-fw fa-circle', to: '/wastetran/manage-orders' },\r\n { label: 'แจ้งถอนเงิน', icon: 'fa fa-fw fa-gg', to: '/wastetran/noti-withdraw' },\r\n { label: 'บริจาค', icon: 'fa fa-fw fa-money', to: '/wastetran/donate' },\r\n { label: 'ประวัติการบริจาค', icon: 'fa fa-fw fa-history', to: '/wastetran/donate-history' },\r\n { label: 'รายงานการขาย', icon: 'fa fa-fw fa-credit-card', to: '/wastetran/report-buying' },\r\n //{ label: 'ข้อมูลการติดต่อ C3Leng', icon: 'fa fa-address-card-o', to: '/wastetran/wastetran-contact' },\r\n { label: 'ตั้งค่าการรับงาน', icon: 'fa fa-fw fa-cog', to: '/wastetran/manage-accept' },\r\n { label: 'ตารางค่าขนส่ง', icon: 'fa fa-fw fa-cog', href: 'https://c3leng.com/assets/shipping/shipping_price.pdf' },\r\n \r\n //{ label: 'ใบราคา', icon: 'fa fa-fw fa-credit-card', to: '/wastetran/reports-amount' },\r\n\r\n // {\r\n // label: 'Settings', icon: 'fa fa-fw fa-bars',\r\n // items: [\r\n // { label: 'Static Menu', icon: 'fa fa-fw fa-bars', command: () => this.setState({ layoutMode: 'static' }) },\r\n // { label: 'Inline Profile', icon: 'fa fa-sun-o fa-fw', command: () => this.setState({ profileMode: 'inline' }) },\r\n // { label: 'Top Profile', icon: 'fa fa-moon-o fa-fw', command: () => this.setState({ profileMode: 'top' }) },\r\n // { label: 'Light Menu', icon: 'fa fa-sun-o fa-fw', command: () => this.setState({ darkMenu: false }) },\r\n // { label: 'Dark Menu', icon: 'fa fa-moon-o fa-fw', command: () => this.setState({ darkMenu: true }) }\r\n // ]\r\n // }\r\n ];\r\n }\r\n }\r\n\r\n redirectProfile = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastetran/profile';\r\n event.preventDefault();\r\n this.setState({userNotCompleteDialog: false})\r\n }\r\n redirectRegisGen = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n ServiceAPI.wastetranRegisWastegen().then(res => {\r\n if(res.status == 200){\r\n localStorage.setItem('user-type', 'wastegen');\r\n window.location = '#/wastegen/profile';\r\n event.preventDefault();\r\n }\r\n this.setState({displayDialog: false})\r\n })\r\n \r\n }\r\n onRegisGenClick = (event) => {\r\n this.setState({displayDialog: true})\r\n }\r\n changePasswordU2 = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastetran/change-password';\r\n event.preventDefault();\r\n }\r\n changePinU2 = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastetran/change-pin';\r\n event.preventDefault();\r\n }\r\n\r\n render() {\r\n const {\r\n\r\n province,\r\n userServiceProps,\r\n userInfo\r\n } = this.props\r\n\r\n let layoutClassName = classNames('layout-wrapper', {\r\n 'menu-layout-static': this.state.layoutMode !== 'overlay',\r\n 'menu-layout-overlay': this.state.layoutMode === 'overlay',\r\n 'layout-menu-overlay-active': this.state.overlayMenuActive,\r\n 'menu-layout-slim': this.state.layoutMode === 'slim',\r\n 'menu-layout-horizontal': this.state.layoutMode === 'horizontal',\r\n 'layout-menu-static-inactive': this.state.staticMenuDesktopInactive,\r\n 'layout-menu-static-active': this.state.staticMenuMobileActive\r\n });\r\n let menuClassName = classNames('layout-menu-container', { 'layout-menu-dark': this.state.darkMenu });\r\n\r\n let dialogFooter =
    \r\n
    ;\r\n let userNotCompleteFooter =
    \r\n
    ;\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n this.layoutMenuScroller = el} style={{ height: '100%' }}>\r\n
    \r\n {(this.state.profileMode === 'inline' && this.state.layoutMode !== 'horizontal') &&\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n this.setState({displayDialog: false})}>\r\n ต้องการสมัครเป็นผู้รักษ์โลกทันที\r\n \r\n\r\n this.setState({userNotCompleteDialog: false})}>\r\n ข้อมูลโปรไฟล์ไม่ครบถ้วน แก้ไขข้อมูลเพื่อรับงาน\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n locationMaster: state.location,\r\n province: state.location.province,\r\n district: state.location.district,\r\n subDistrict: state.location.subDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWastetranProfile: state.updateWastetranProfile,\r\n\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n\r\n chipProvince: state.location.chipProvince,\r\n chipDistrict: state.location.chipDistrict,\r\n getArrChipDistrict: state.getArrChipDistrict,\r\n\r\n banks: state.master.banks,\r\n\r\n changePassword: state.changePassword,\r\n chatSingleBadge: state.chatSingleBadge,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n ChatServiceProps: bindActionCreators(ChatService, dispatch),\r\n})\r\n\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WastetranContainer)\r\n\r\n","import axios from 'axios'\r\nimport { API_ROOT } from '../../constants/api'\r\nimport {\r\n\r\n} from '../../service/actionType'\r\n\r\nimport {\r\n RPT_APLC_WG,RPT_APLC_WP,RPT_APLC_WT,DHB_USER\r\n} from '../../service/actionType'\r\n\r\nexport const autoComplateOrderID = (code) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/order/autocomplete/${code}`,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const searchOrder = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/order/search`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getOrderDetail = (code) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/order/getbycode/${code}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const updateOrder = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/order/update`,\r\n data: formData,\r\n headers: {'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const searchInvoice = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/invoice/search`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\n\r\n\r\n//service copy form admin\r\n\r\nexport const Addsalepricebyu3 = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/salepricebyu3/add`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const editSalepricebyu3 = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/salepricebyu3/edit`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data = 'success';\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getsalepricebyu3 = () =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/salepricebyu3/getall`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const removesalepricebyu3 = (id) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/salepricebyu3/delete/${id}`,\r\n headers: { \r\n 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n }).then((res) => {\r\n return res.data = 'success';\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const searchSalePriceByU3 = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/salepricebyu3/search`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\nexport const searchwastepro = (search_name) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/autocomplete/wastepro/${search_name}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n} \r\n\r\nexport const getDashboardUsers = () => (dispatch) => {\r\n dispatch({ type: DHB_USER.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/dashboard/users`,\r\n }).then((res) => {\r\n dispatch({ type: DHB_USER.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: DHB_USER.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const updateWorkingStatus = (formData) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/profile/updateworkingstatus`,\r\n data: formData,\r\n headers: {'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(function (res) {\r\n return res.data;\r\n })\r\n .catch(function (error) {\r\n return error;\r\n });\r\n}\r\n\r\nexport const getBadgeAdmin = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnread/admin`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {})\r\n}\r\n\r\nexport const getBadgePickup = room_id => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\nexport const getBadgeDelivery = room_id => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/chatmessage/GetUnreadByRoomId/${room_id}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n })\r\n}\r\n\r\n\r\nexport const wasteproGetNewOrderByCode = (code) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/order/getneworderbycode/${code}`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n return error\r\n })\r\n}\r\n\r\nexport const wasteproAcceptOrRejectOrder = (\r\n data,\r\n isAccepted,\r\n) => {\r\n const newData = {\r\n ...data,\r\n isAccepted,\r\n }\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/order/acceptorrejectorder`,\r\n data: newData,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n })\r\n .then(res => {\r\n return res.data;\r\n })\r\n .catch(error => {\r\n return error\r\n })\r\n}\r\n\r\n\r\n \r\n","import React, { Component } from 'react';\r\n\r\nexport class WasteproCreateOrder extends Component {\r\n render(){\r\n return (\r\n
    \r\n

    สร้าง Order

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport {Avatar} from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport {ColumnGroup} from 'primereact/columngroup';\r\nimport {Row} from 'primereact/row';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers'\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { Redirect } from 'react-router';\r\nimport * as ServerAPI from './service';\r\nimport * as MasterService from '../../service/MasterService'\r\n\r\n\r\n class WasteproManageOrder extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n orderStatus:1000,\r\n brandSuggestions: null,\r\n mapGenMarker:{},\r\n mapGenMarkers:[],\r\n mapGenZoom:11,\r\n mapGenCenter: {lat: 13.7734283, lng: 100.57383099999993},\r\n brands: ['1111', '2222', '3333', '4444', '5555', '6666', '7777', '8888', '9999'],\r\n showAddMoreProduct: false,\r\n orderDetail: [],\r\n orderReportDetail: [],\r\n wasteTypeSelected: '',\r\n productSelected: '',\r\n amountSelected: '',\r\n orderID: '',\r\n status: 1000,\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 1000 },\r\n // { label: 'รอร้านค้ายืนยัน', value: 0 },\r\n // { label: 'รอนัดหมาย', value: 1 },\r\n // { label: 'รอทีมขนส่ง', value: 2 },\r\n { label: 'รอส่งสินค้า', value: 3 },\r\n { label: 'รอปิด Order', value: 4 },\r\n // { label: 'ยกเลิก', value: 99 },\r\n // { label: 'ผิดนัด', value: 999 },\r\n ],\r\n date1: null,\r\n date2: null,\r\n orderCode: null,\r\n reportSearchOrders: [],\r\n showReportPanel: true, \r\n showProgress: false,\r\n statusTemplate: '',\r\n };\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.showAddProduct = this.showAddProduct.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onOrderIDChanged = this.onOrderIDChanged.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onFileWasteChanged = this.onFileWasteChanged.bind(this);\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchOrder = this.searchOrder.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onOrderSelected = this.onOrderSelected.bind(this);\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.SelectOrderAccept = this.SelectOrderAccept.bind(this);\r\n this.SelectOrderNoAccept = this.SelectOrderNoAccept.bind(this);\r\n this.clearAllDataInput = this.clearAllDataInput.bind(this);\r\n this.quantityEditor = this.quantityEditor.bind(this);\r\n this.memoEditor = this.memoEditor.bind(this)\r\n this.statusTemplate = this.statusTemplate.bind(this)\r\n this.deliveryDateTemplate = this.deliveryDateTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n \r\n }\r\n\r\n \r\n\r\n //>Life Cycle : Initial Render\r\n componentDidMount() {\r\n const { masterServiceProps} = this.props\r\n masterServiceProps.getProductType();\r\n console.log(\"componentDidMount\")\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) { \r\n //console.log(\"shouldComponentUpdate\")\r\n return true \r\n }\r\n componentWillUpdate(nextProps, nextState) { \r\n //console.log(\"componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) { \r\n //console.log(\"componentDidUpdate\")\r\n\r\n }\r\n\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n console.log(event);\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if(code.trim()!=\"\"){\r\n this.setState({ orderID: code });\r\n if (code.length >= 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n }else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n\r\n onDate1Change(e){\r\n //console.log(e.value.toISOString())\r\n if(this.state.date2 != null){\r\n if(e.value <= this.state.date2){\r\n this.setState({ date1: e.value })\r\n }\r\n }else \r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e){\r\n if(this.state.date1 <= e.value){\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n\r\n searchOrder(){\r\n this.setState({ showProgress: true})\r\n var reportSearchList = {}\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n order_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if(this.state.date1 != null){\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7*60*60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if(this.state.date2 != null){\r\n //Bankok Time zone (+7hrs)\r\n var date2 = new Date(this.state.date2.getTime() + 7*60*60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchOrder(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if(res.length>0){\r\n this.setState({reportSearchOrders: res})\r\n this.setState({ showProgress: false})\r\n }else{\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false})\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n clearSearchInput(){\r\n this.setState({orderID: ''});\r\n this.setState({date1: null});\r\n this.setState({date2: null});\r\n this.setState({status: 1000});\r\n this.setState({orderCode: null});\r\n var reportSearchList = {}\r\n //this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({reportSearchOrders: []});\r\n\r\n //this.clearAllDataInput();\r\n }\r\n onOrderSelected(e){\r\n \r\n console.log(e.value);\r\n this.setState({orderSelection: e.value})\r\n\r\n this.setState({orderCode: e.value.order_code})\r\n this.getOrder(e.value.order_code) //get 1 order from table for update\r\n }\r\n getOrder(code){\r\n this.setState({showProgress: true});\r\n this.setState({ showReportPanel: false})\r\n ServerAPI.getOrderDetail(code).then((obj) => {\r\n console.log(obj);\r\n this.setState({ orderData: obj})\r\n this.setState({ orderStatus: obj.order_status})\r\n\r\n var newList = obj.orderDetail\r\n if(obj.order_status == 3)\r\n newList.forEach((item,index) => {\r\n let _newList = {\r\n ...item,\r\n delivery_quantity_kk: item.pickup_quantity_kk\r\n }\r\n newList[index] = _newList\r\n });\r\n this.setState({ orderDetail: newList}) //ตาราง รายการสินค้า\r\n this.setState({ orderReportDetail: obj.orderDetail}) //ตาราง รายงานการขาย\r\n this.setState({ statusTemplate: obj.order_status_name})\r\n this.setState({ deliveryDate: obj.delivery_date})\r\n\r\n this.setState({ genID: obj.u1_id})\r\n this.setState({ genName: obj.u1_fullname})\r\n this.setState({ genPhone: obj.u1_telephone1})\r\n this.setState({ genAddress: obj.u1_address})\r\n\r\n this.setState({ tranID: obj.u2_id})\r\n this.setState({ tranName: obj.u2_fullname})\r\n this.setState({ tranPhone: obj.u2_telephone1})\r\n this.setState({ tranAddress: obj.u2_address})\r\n this.setState({ tranImg: obj.u2_img})\r\n\r\n this.setState({ proID: obj.u3_id})\r\n this.setState({ proName: obj.u3_fullname})\r\n this.setState({ proPhone: obj.u3_telephone1})\r\n this.setState({ proAddress: obj.u3_address})\r\n\r\n\r\n const markers = [];\r\n markers.push({ lat: obj.u1_lat, lng: obj.u1_lng });\r\n this.setState({ mapGenMarkers: markers })\r\n\r\n var proMarder = { lat: obj.u3_lat, lng: obj.u3_lng };\r\n this.setState({ mapGenMarker: proMarder })\r\n\r\n var center = { lat: obj.u1_lat, lng: obj.u1_lng };\r\n this.setState({ mapGenCenter: center })\r\n if (this.state.mapGenZoom == 11) {\r\n this.setState({ mapGenZoom: 12 });\r\n } else {\r\n this.setState({ mapGenZoom: 11 });\r\n }\r\n \r\n if( obj.order_status != 0){\r\n this.setState({ showProgress: false });\r\n this.setState({ showReportPanel: true})\r\n }else{\r\n ServerAPI.wasteproGetNewOrderByCode(code).then((res) => {\r\n this.setState({ NewOrderData: res})\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ showProgress: false });\r\n this.setState({ showReportPanel: true})\r\n } else {\r\n this.showWarn();\r\n }\r\n \r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n }).catch((error) => {\r\n })\r\n \r\n }\r\n\r\n\r\n onFileWasteChanged(e) {\r\n console.log(e)\r\n //this.setState({ fileImgIden: e.target.files[0] });\r\n var list = [];\r\n for (let index = 0; index < e.files.length; index++) {\r\n const file = e.files[index];\r\n list.push(file);\r\n }\r\n this.setState({ fileImgWaste: list });\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps,product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n showWastegen(){\r\n const tranPersonName = (\r\n
    \r\n {this.state.genName}
    \r\n {this.state.genAddress}
    เบอร์ติดต่อ : {this.state.genPhone}
    \r\n
    \r\n );\r\n return tranPersonName;\r\n }\r\n showWastetran(){\r\n const tranPersonName = (\r\n
    \r\n {this.state.tranName}
    \r\n {this.state.tranAddress}
    เบอร์ติดต่อ : {this.state.tranPhone}
    \r\n
    \r\n );\r\n\r\n return tranPersonName;\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n //edit table handle\r\n onEditorQuantityChange(props, value) {\r\n if(value== \"\"){// null set to 0\r\n value = '0';\r\n }else{\r\n var regex = /^[0-9]*(\\.[0-9]{0,2})?$/;\r\n if (!regex.test(value)) { // set 2 decimal if more decimal\r\n if(value % 1 !== 0){\r\n value = parseFloat(value).toFixed(2)\r\n }\r\n }\r\n if(value.indexOf('.') < 1){//no 0 leading\r\n value = parseFloat(value)\r\n } \r\n }\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({orderDetail: updatedCars});\r\n }\r\n onEditorTextChange(props, value) {\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({orderDetail: updatedCars});\r\n }\r\n inputQuantityEditor(props, field) {\r\n return this.onEditorQuantityChange(props, e.target.value)}/>;\r\n }\r\n inputTextEditor(props, field) {\r\n return this.onEditorTextChange(props, e.target.value)} />;\r\n }\r\n quantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'delivery_quantity_kk');\r\n }\r\n memoEditor(props) {\r\n return this.inputTextEditor(props, 'delivery_remark');\r\n }\r\n\r\n addDataToTable(){\r\n var isNotinput = (this.state.wasteTypeSelected == '' || \r\n this.state.productSelected == '' || \r\n this.state.amountSelected == '' \r\n );\r\n\r\n if(isNotinput){\r\n this.showWarn();\r\n }else{\r\n var OrderDetailList = {\r\n gid: this.state.gid|0,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n // wasteType: this.state.wasteTypeSelected.product_type_name,\r\n // amount: parseFloat(this.state.amountSelected).toFixed(2),\r\n // appraisedPrice: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n // salePrice: parseFloat(this.state.salePriceSelected).toFixed(2), \r\n price_per_unit: 0,\r\n delivery_quantity_kk: parseFloat(this.state.amountSelected).toFixed(2),\r\n delivery_price_per_unit: parseFloat(this.state.appraisedPriceSelected).toFixed(2)|0,\r\n delivery_sale_price: parseFloat(this.state.salePriceSelected).toFixed(2)|0, \r\n delivery_remark: this.state.memo,\r\n\r\n }\r\n this.state.orderDetail.push(OrderDetailList)\r\n\r\n this.setState({wasteTypeSelected: ''})\r\n this.setState({productSelected: ''})\r\n this.setState({amountSelected: ''})\r\n this.setState({memo: ''})\r\n\r\n console.log(this.state.orderReportDetail)\r\n console.log(this.state.orderDetail)\r\n console.log(OrderDetailList)\r\n this.showSuccess();\r\n }\r\n }\r\n\r\n deliveryDateTemplate(rowData, column) {\r\n const dateTime = this.state.deliveryDate;\r\n return
    \r\n {this.toFormatDateTime(dateTime)}\r\n
    ;\r\n }\r\n statusTemplate(rowData, column) {\r\n return
    \r\n {this.state.statusTemplate}\r\n
    ;\r\n }\r\n salePrice(rowData, column){\r\n let price = (rowData.pickup_quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n toFormatDateTime(dateTime){\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n to_requested_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n\r\n showSearchPanel() {\r\n const searchResult = this.showSearchResult();\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ status: e.value }) }}\r\n >\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {searchResult}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n showSearchResult() {\r\n if (this.state.reportSearchOrders.length == 0 || !this.state.showReportPanel) {\r\n return (
    );\r\n } else\r\n return (\r\n
    \r\n
    \r\n \r\n this.onOrderSelected(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n openChat = (type) => {\r\n if(type === 'tran'){\r\n this.setState({redirectToChatU2: true});\r\n }\r\n \r\n }\r\n\r\n transportInfoContent(){\r\n const wastegenDetail = this.showWastegen();\r\n const wastetranDetail = this.showWastetran();\r\n\r\n const transportInfo = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {wastetranDetail}\r\n \r\n
    \r\n\r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n );\r\n return transportInfo;\r\n }\r\n\r\n reportBuyingContent(){\r\n let sum =0;\r\n if(this.state.orderReportDetail.length>0) {\r\n this.state.orderReportDetail.map( function(a){ \r\n \r\n let a_sale_price = a.price_per_unit * a.pickup_quantity_kk;\r\n \r\n sum += a_sale_price;\r\n\r\n \r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n ;\r\n const reportBuying = (\r\n
    \r\n this.setState({ dataTableSelection1: event.value })}\r\n footerColumnGroup={footerGroup}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n return reportBuying\r\n }\r\n reportNewBuyingContent(){\r\n let sum =0;\r\n if(this.state.orderReportDetail.length>0) {\r\n this.state.orderReportDetail.map( function(a){ \r\n \r\n let a_sale_price = a.price_per_unit * a.quantity_kk;\r\n \r\n sum += a_sale_price;\r\n\r\n \r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n ;\r\n const reportBuying = (\r\n
    \r\n this.setState({ dataTableSelection1: event.value })}\r\n footerColumnGroup={footerGroup}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n )\r\n return reportBuying\r\n }\r\n\r\n orderDetailContent(){\r\n const orderDetail = (\r\n
    \r\n \r\n this.setState({ dataTableSelection2: event.value })}\r\n editable={true}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n return orderDetail;\r\n }\r\n actionTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.delivery_quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n salePriceTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n\r\n addProductContent(){\r\n const {\r\n productType,\r\n product,\r\n } = this.props\r\n const addProduct = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n this.setState({amountSelected: e.target.value})} />\r\n
    \r\n
    \r\n \r\n this.setState({memo: e.target.value})} />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n return addProduct;\r\n }\r\n\r\n showAddProduct(){\r\n if(this.state.showAddMoreProduct){\r\n this.setState({showAddMoreProduct: false})\r\n }else{\r\n this.setState({showAddMoreProduct: true})\r\n }\r\n }\r\n\r\n showOrderDetail() {\r\n const { \r\n provinces, \r\n productType,\r\n product,\r\n } = this.props;\r\n \r\n const contentTransportInfo = this.transportInfoContent();\r\n const contentReportBuying = this.reportBuyingContent();\r\n const reportNewBuyingContent = this.reportNewBuyingContent();\r\n const contentOrderDetail = this.orderDetailContent();\r\n const contentAddProduct = this.addProductContent();\r\n \r\n\r\n if(this.state.orderCode==null){\r\n return (
    );\r\n }else\r\n return (\r\n
    \r\n {this.state.orderStatus !== 0 &&\r\n
    \r\n
    \r\n {console.log('เช็ค order status ',this.state.orderStatus)}\r\n \r\n \r\n {contentTransportInfo}\r\n \r\n \r\n {contentReportBuying}\r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n\r\n {this.state.orderStatus == 0 &&\r\n
    \r\n
    \r\n {console.log('เช็ค order status ',this.state.orderStatus)}\r\n Order Id : {this.state.orderCode}\r\n
    \r\n \r\n \r\n {reportNewBuyingContent}\r\n \r\n \r\n
    \r\n
    \r\n }\r\n \r\n \r\n {this.state.orderStatus !== 0 &&\r\n
    \r\n
    \r\n

    รายละเอียดสินค้า

    \r\n {contentOrderDetail}\r\n \r\n {contentAddProduct}\r\n \r\n
    \r\n this.onFileWasteChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={true}\r\n accept=\"image/*\"\r\n maxFileSize={10000000} />\r\n
    \r\n
    \r\n
    \r\n }\r\n \r\n {this.state.orderStatus !== 0 &&\r\n
    \r\n \r\n
    \r\n }\r\n \r\n {this.state.orderStatus == 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n \r\n\r\n onSubmit(){\r\n var productList = this.state.orderDetail;\r\n console.log(productList)\r\n var sum = 0;\r\n for (let i = 0; i < productList.length; i++) {\r\n const delivery_quantity_kk = Number(productList[i].delivery_quantity_kk);\r\n sum += delivery_quantity_kk;\r\n }\r\n console.log(sum)\r\n var inputAll = !(this.state.orderCode == '' || this.state.orderDetail == '');\r\n if (!inputAll) {\r\n this.showWarn();\r\n } else {\r\n if(sum!=0)\r\n this.updateOrder();\r\n else this.showWarn(\"กรุณาติดต่อผู้ดูแลระบบ เพื่อขอยกเลิกรายการ\");\r\n console.log(this.state.orderReportDetail)\r\n console.log(this.state.orderDetail)\r\n }\r\n }\r\n updateOrder() {\r\n const formData = new FormData();\r\n if (this.state.fileImgWaste != null)\r\n for (let index = 0; index < this.state.fileImgWaste.length; index++) {\r\n const file = this.state.fileImgWaste[index];\r\n formData.append('ProductImages', file);\r\n }\r\n formData.set('OrderDetailListString', JSON.stringify(this.state.orderDetail) || null);\r\n formData.set('order_code', this.state.orderCode || 0);\r\n\r\n ServerAPI.updateOrder(formData).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n this.searchOrder();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n SelectOrderAccept() {\r\n ServerAPI.wasteproAcceptOrRejectOrder(this.state.NewOrderData, true).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n this.searchOrder();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n SelectOrderNoAccept() {\r\n ServerAPI.wasteproAcceptOrRejectOrder(this.state.NewOrderData, false).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n this.searchOrder();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n clearAllDataInput() {\r\n this.setState({orderCode: null});\r\n this.setState({ brand: '' });\r\n this.setState({ wasteTypeSelected: '' });\r\n this.setState({ productSelected: '' });\r\n this.setState({ amountSelected: '' });\r\n this.setState({ memo: ''});\r\n var OrderDetailList = {}\r\n this.state.orderDetail.push(OrderDetailList)\r\n this.setState({ orderDetail: [] });\r\n this.setState({ genName: '' });\r\n this.setState({ genPhone: '' });\r\n this.setState({ genAddress: '' });\r\n this.setState({ genImg: '' });\r\n this.setState({ proName: '' });\r\n this.setState({ proImg: '' });\r\n this.setState({ proAddress: '' });\r\n this.setState({ proPhone: '' });\r\n this.setState({ mapGenMarker: null });\r\n var markers = {}\r\n this.state.mapGenMarkers.push(markers)\r\n this.setState({ mapGenMarkers: [] });\r\n this.setState({ mapProMarker: {} });\r\n this.setState({ mapProMarkers: [] });\r\n this.setState({ mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapProCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapGenZoom: 11 });\r\n this.setState({ mapProZoom: 11 });\r\n this.setState({ fileImgWaste: '' });\r\n\r\n }\r\n\r\n handleOnChat = (otherWasteType, path, userWasteType) => {\r\n console.log(this.state.orderData)\r\n let roomType = ''\r\n let senderId = ''\r\n let receiverId = ''\r\n let senderNumberType = ''\r\n let receiverImage = ''\r\n let header = ''\r\n if (userWasteType === 'wastegen' && otherWasteType === 'wastetran') {\r\n roomType = 'pickup'\r\n senderId = this.state.orderData.u1_uid\r\n receiverId = this.state.orderData.u2_uid\r\n receiverImage = this.state.orderData.u2_img\r\n senderNumberType = '1'\r\n header = 'แชทกับทีมขนส่ง'\r\n } else if (userWasteType === 'wastetran' && otherWasteType === 'wastegen') {\r\n roomType = 'pickup'\r\n senderId = this.state.orderData.u2_uid\r\n receiverId = this.state.orderData.u1_uid\r\n receiverImage = this.state.orderData.u1_img\r\n senderNumberType = '2'\r\n header = 'แชทกับผู้รักษ์โลก'\r\n } else if (userWasteType === 'wastetran' && otherWasteType === 'wastepro') {\r\n roomType = 'delivery'\r\n senderId = this.state.orderData.u2_uid\r\n receiverId = this.state.orderData.u3_uid\r\n receiverImage = this.state.orderData.u3_img\r\n senderNumberType = '2'\r\n header = 'แชทกับศูนย์จัดการฯซีซาเล้ง'\r\n } else if (userWasteType === 'wastepro' && otherWasteType === 'wastetran') {\r\n roomType = 'delivery'\r\n senderId = this.state.orderData.u3_uid\r\n receiverId = this.state.orderData.u2_uid\r\n receiverImage = this.state.orderData.u2_img\r\n senderNumberType = '3'\r\n header = 'แชทกับทีมขนส่ง'\r\n }\r\n const roomId = `${this.state.orderCode}-${roomType}`\r\n return \r\n }\r\n\r\n \r\n\r\n render() {\r\n\r\n const searchPanel = this.showSearchPanel();\r\n const showProgress = this.showProgressSpinner();\r\n const orderDetail = this.showOrderDetail();\r\n\r\n if (this.state.redirectToChatU2) {\r\n return this.handleOnChat(\r\n \"wastetran\", //other type name\r\n \"/wastepro/chat\", // path\r\n \"wastepro\" //sender type name\r\n );\r\n }\r\n\r\n return (\r\n\r\n
    \r\n this.growl = el} />\r\n

    แจ้งรับขยะรีไซเคิล

    \r\n
    \r\n {/* DETAIL */}\r\n {searchPanel}\r\n {showProgress}\r\n {orderDetail}\r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WasteproManageOrder)\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport {Panel} from 'primereact/components/panel/Panel';\r\nimport {Checkbox} from 'primereact/components/checkbox/Checkbox';\r\nimport {Button} from 'primereact/components/button/Button';\r\nimport {Dropdown} from 'primereact/components/dropdown/Dropdown';\r\nimport {InputText} from 'primereact/components/inputtext/InputText';\r\nimport {InputTextarea} from 'primereact/components/inputtextarea/InputTextarea';\r\nimport {DataTable} from 'primereact/components/datatable/DataTable';\r\nimport {Column} from 'primereact/components/column/Column';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\nimport * as ServerAPI from './service';\r\nimport * as DashBoardService from './service'\r\n\r\n\r\nclass WasteproReportInvoice extends Component {\r\n\tstatic propTypes = {\r\n\r\n }\r\n \r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n status: 0,\r\n admin: 0,\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ยังไม่ได้แจ้งหนี้', value: 1 },\r\n { label: 'แจ้งหนี้แล้วรอชำระ', value: 2 },\r\n { label: 'ชำระแล้วรอตรวจสอบ', value: 3 },\r\n { label: 'ชำระหนี้แล้ว', value: 88 },\r\n ],\r\n showProgress: false,\r\n orderCode: null,\r\n orderID: null,\r\n memberUid: null,\r\n date1: null,\r\n date2: null,\r\n reportSearchInvoice: [],\r\n };\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchInvoice = this.searchInvoice.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.salePriceTemplate = this.salePriceTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n }\r\n componentDidMount() {\r\n \r\n }\r\n\r\n onDate1Change(e) { //search pickup date start\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //search pickup date end\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n searchInvoice(){\r\n //this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n //-------reset table--------\r\n // var reportSearchList = {}\r\n // this.state.reportSearchOrders.push(reportSearchList)\r\n // this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n invoice_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchInvoice(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n this.setState({ reportSearchInvoice: res })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 0});\r\n var empty = {}\r\n this.state.reportSearchInvoice.push(empty)\r\n this.setState({ reportSearchInvoice: [] });\r\n\r\n //this.clearAllDataInput();\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n salePriceTemplate(rowData, column){\r\n let price = rowData.total_price.toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n toFormatDateTime(dateTime){\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n to_requested_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData)\r\n return
    \r\n window.open('/#/invoice-u3?order_code='+rowData.order_code, \"_blank\") }\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n searchPanel(){\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n { this.setState({ status: e.value }) }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n reportInvoiceTable(){\r\n let sum_price =0;\r\n let sum_quantity =0;\r\n if(this.state.reportSearchInvoice)\r\n if(this.state.reportSearchInvoice.length>0) {\r\n this.state.reportSearchInvoice.map( function(a){\r\n let a_sale_price = a.total_price;\r\n sum_price += a_sale_price;\r\n let quantity = a.total_quantity;\r\n sum_quantity += quantity;\r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n var exportExcel =\r\n
    \r\n \r\n
    ;\r\n return (\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })} \r\n header={exportExcel} footerColumnGroup={footerGroup}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.searchPanel();\r\n const invoiceTable = this.reportInvoiceTable();\r\n const ProgressSpinner = this.showProgressSpinner();\r\n const {\r\n dhbUsers,\r\n } = this.props\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {ProgressSpinner}\r\n {invoiceTable} \r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n\tdhbUsers: state.dhbAdmin.dhbUsers\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\tdashBoardServiceProps: bindActionCreators(DashBoardService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WasteproReportInvoice)","import React, { Component } from 'react';\r\n\r\nexport class WasteproManageInvoice extends Component {\r\n render(){\r\n return (\r\n
    \r\n

    จัดการ Invoice

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nexport class WasteproManageTransfer extends Component {\r\n render() {\r\n return (\r\n
    \r\n

    จัดการรายการโอนเงิน

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nexport class WasteproReportValidateOrder extends Component {\r\n render(){\r\n return (\r\n
    \r\n

    รายงานตรวจสอบ Orders

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\n\r\nexport class WasteproReportTransfer extends Component {\r\n render() {\r\n return (\r\n
    \r\n

    สรุปเพื่อใช้เป็นข้อมูลในการโอนเงิน

    \r\n
    \r\n
    \r\n
    \r\n จะใช้งานได้ภายในเดือน มกราคม 2563\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\n\r\n\r\n\r\n\r\nexport class WasteproReportBuying extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n\r\n\r\n status: '0',\r\n status2: '0',\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '0' },\r\n { label: 'รอนัดหมาย', value: '1' },\r\n { label: 'รอทีมขนส่ง', value: '2' },\r\n { label: 'รอส่งสินค้า', value: '3' },\r\n { label: 'ปิด Order', value: '4' },\r\n { label: 'ยกเลิก', value: '5' },\r\n { label: 'ผิดนัด', value: '6' },\r\n ],\r\n\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n };\r\n\r\n }\r\n\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n\r\n render() {\r\n var header =
    \r\n
    ;\r\n\r\n\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n return (\r\n\r\n\r\n\r\n //
    \r\n //

    แจ้งถอนเงิน

    \r\n //
    \r\n //
    \r\n //
    \r\n // จะใช้งานได้ภายในเดือน มกราคม 2563\r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ status2: e.value }) }}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ date1: e.value })} />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ date2: e.value })} />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n scrollable={true} rowsPerPageOptions={[5, 10, 20]} footerColumnGroup={footerGroup}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport * as Validators from '../../utils/validators'\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport { Panel } from 'primereact/panel';\r\nimport { changePassword } from '../../service/user.service'\r\nimport { FileView } from '../../features/widget/FileView';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { SecureUtils } from '../../utils';\r\n\r\nexport class WasteproProfile extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n isValidateError: false,\r\n isLoading: true,\r\n isUpdate: false,\r\n isLoadDist: false,\r\n isLoadSubDist: false,\r\n selectedProv: null,\r\n selectedDistrict: null,\r\n selectedSubDistrict: null,\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n wasteTypesSelected: [],\r\n wasteTypes: [\r\n { label: 'ขวดแก้ว', value: 1 },\r\n { label: 'กระดาษ', value: 2 },\r\n { label: 'พลาสติก', value: 3 },\r\n { label: 'โลหะ/อโลหะ', value: 4 },\r\n { label: 'อิเล็กทรอนิกส์/เครื่องใช้ไฟฟ้า', value: 5 }\r\n ],\r\n selectedPersonPrefix: null,\r\n selectedBank: null,\r\n useCurrentAddress: false,\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n password: null,\r\n confirmPassword: null,\r\n }\r\n\r\n this.onChangeProv = this.onChangeProv.bind(this);\r\n this.prepareForm = this.prepareForm.bind(this);\r\n this.onFileIDCardChanged = this.onFileIDCardChanged.bind(this);\r\n this.onFileRegisChanged = this.onFileRegisChanged.bind(this);\r\n this.onFilePersonChanged = this.onFilePersonChanged.bind(this);\r\n this.onFileShopChanged = this.onFileShopChanged.bind(this);\r\n this.prepareWasteTypes = this.prepareWasteTypes.bind(this);\r\n this.setUid = this.setUid.bind(this);\r\n this.setAddrCardUseCurrent = this.setAddrCardUseCurrent.bind(this);\r\n this.onMarkerMoved = this.onMarkerMoved.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { userServiceProps } = this.props\r\n userServiceProps.getUserInfo();\r\n\r\n this.setState({ isLoading: true })\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenProfile :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenProfile :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenProfile :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenProfile :componentDidUpdate\")\r\n\r\n }\r\n\r\n // ========= PREPARE =========\r\n prepareForm(object) {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n\r\n this.setState({ isLoading: false })\r\n this.setState({ marker: { lat: object.latitude, lng: object.longitude } })\r\n }\r\n }\r\n\r\n setAddrCardUseCurrent(userInfo) {\r\n if (userInfo && userInfo.addr_card_use_current && userInfo.addr_card_use_current === 1) {\r\n this.setState({ useCurrentAddress: true })\r\n }\r\n }\r\n\r\n setUid(userInfo) {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n\r\n // ========= validate =========\r\n transformDropdrown = () => {\r\n\r\n const { banks, province, district, subDistrict,\r\n cardProvince, cardDistrict, cardSubDistrict,\r\n locationServiceProps, locationMaster } = this.props\r\n\r\n //person_prefix_code default :: check dropdown\r\n if (!this.state.selectedPersonPrefix && this.state.person_prefix_code) {\r\n for (let key in this.state.personPrefixs) {\r\n let val = this.state.personPrefixs[key]\r\n if (this.state.person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //person_prefix_code default :: check dropdown\r\n if (this.state.org_type) {\r\n for (let key in this.state.companyTypes) {\r\n let val = this.state.companyTypes[key]\r\n if (this.state.org_type == val.code) {\r\n this.setState({ org_type: val })\r\n }\r\n }\r\n }\r\n\r\n //bank_code default :: check dropdown\r\n if (!this.state.selectedBank && this.state.bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (this.state.bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n\r\n }\r\n }\r\n }\r\n\r\n //province default :: check dropdown\r\n if (!this.state.selectedProv && this.state.addr_card_province_code && !locationMaster.isFetching) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (this.state.addr_card_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedProv: val })\r\n locationServiceProps.getCardDistrict(val.provinceCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!this.state.selectedDistrict && this.state.addr_card_district_code && !locationMaster.isFetching) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (this.state.addr_card_district_code == val.districtCode) {\r\n //console.log(\"district \",val)\r\n this.setState({ selectedDistrict: val })\r\n locationServiceProps.getCardSubDistrict(val.districtCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!this.state.selectedSubDistrict && this.state.addr_card_subdistrict_code && !locationMaster.isFetching) {\r\n cardSubDistrict.map((val) => {\r\n if (this.state.addr_card_subdistrict_code == val.subDistrictCode) {\r\n //console.log(\"subDistrict \",val)\r\n this.setState({ selectedSubDistrict: val })\r\n }\r\n })\r\n for (let key in cardSubDistrict) {\r\n const val = cardSubDistrict[key]\r\n\r\n }\r\n }\r\n\r\n //province default :: check dropdown\r\n if (!this.state.selectedCurrentProv && this.state.addr_current_province_code && !locationMaster.isFetching) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (this.state.addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedCurrentProv: val })\r\n locationServiceProps.getDistrict(val.provinceCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!this.state.selectedCurrentDistrict && this.state.addr_current_district_code && !locationMaster.isFetching) {\r\n for (let key in district) {\r\n let val = district[key]\r\n if (this.state.addr_current_district_code == val.districtCode) {\r\n //console.log(\"district \",val)\r\n this.setState({ selectedCurrentDistrict: val })\r\n locationServiceProps.getSubDistrict(val.districtCode)\r\n }\r\n }\r\n }\r\n //District default :: check dropdown\r\n if (!this.state.selectedCurrentSubDistrict && this.state.addr_current_subdistrict_code && !locationMaster.isFetching) {\r\n subDistrict.map((val) => {\r\n if (this.state.addr_current_subdistrict_code == val.subDistrictCode) {\r\n //console.log(\"subDistrict \",val)\r\n this.setState({ selectedCurrentSubDistrict: val })\r\n }\r\n })\r\n for (let key in subDistrict) {\r\n const val = subDistrict[key]\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n // ========= Event =========\r\n\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n\r\n onFileIDCardChanged(e) {\r\n this.setState({ fileImgIden: e.files[0] });\r\n\r\n }\r\n onFileRegisChanged(e) {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n }\r\n onFilePersonChanged(e) {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onFileShopChanged(e) {\r\n this.setState({ fileImgShop: e.files[0] });\r\n }\r\n\r\n onChangeInputText = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n\r\n onChangeProv = (e) => {\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n locationServiceProps.getCardDistrict(value.provinceCode);\r\n e.preventDefault();\r\n }\r\n\r\n onChangeDistrict = (e) => {\r\n\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n locationServiceProps.getCardSubDistrict(value.districtCode);\r\n e.preventDefault();\r\n }\r\n\r\n\r\n onChangeSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedSubDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n\r\n e.preventDefault();\r\n }\r\n\r\n onChangeCurrentProv = (e) => {\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n locationServiceProps.getDistrict(value.provinceCode);\r\n e.preventDefault();\r\n }\r\n\r\n onChangeCurrentDistrict = (e) => {\r\n\r\n const { locationServiceProps } = this.props\r\n const { value } = e.target\r\n this.setState({ selectedCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n locationServiceProps.getSubDistrict(value.districtCode);\r\n e.preventDefault();\r\n }\r\n\r\n\r\n onChangeCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n\r\n e.preventDefault();\r\n }\r\n\r\n prepareWasteTypes(userInfo) {\r\n\r\n if (userInfo && userInfo.wasteTypeList) {\r\n let showPassCheck = [...this.state.wasteTypesSelected];\r\n\r\n for (let key in userInfo.wasteTypeList) {\r\n let v = userInfo.wasteTypeList[key] - 1;\r\n let cc = this.state.wasteTypes;\r\n showPassCheck.push(this.state.wasteTypes[v]);\r\n\r\n }\r\n\r\n this.setState({ wasteTypesSelected: showPassCheck });\r\n\r\n var intChecked = [];\r\n for (let index = 0; index < showPassCheck.length; index++) {\r\n intChecked.push(showPassCheck[index].value);\r\n\r\n }\r\n\r\n this.setState({ wasteTypeListString: JSON.stringify(intChecked) });\r\n console.log(JSON.stringify(intChecked));\r\n }\r\n }\r\n\r\n onCheckChange(e) {\r\n\r\n let showPassCheck = [...this.state.wasteTypesSelected];\r\n\r\n if (e.checked) {\r\n //his.state.wasteTypesSelected.checked=true;\r\n showPassCheck.push(e.value);\r\n }\r\n else {\r\n\r\n var index = this.state.wasteTypes.indexOf(e.value);\r\n // console.log( \"index: \"+index);\r\n //this.state.wasteTypes.check\r\n showPassCheck.splice(showPassCheck.indexOf(e.value), 1);\r\n }\r\n this.setState({ wasteTypesSelected: showPassCheck });\r\n\r\n var intChecked = [];\r\n for (let index = 0; index < showPassCheck.length; index++) {\r\n intChecked.push(showPassCheck[index].value);\r\n\r\n }\r\n\r\n this.setState({ wasteTypeListString: JSON.stringify(intChecked) });\r\n console.log(JSON.stringify(intChecked));\r\n }\r\n\r\n onCenterChanged = (coor) => {\r\n if(coor){\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n \r\n }\r\n \r\n }\r\n onMarkerMoved(e) {\r\n console.log(e);\r\n var coor = e.latLng.toJSON();\r\n console.log(coor);\r\n this.setState({ latitude: coor.lat });\r\n this.setState({ longitude: coor.lng });\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'สถานะ', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n // ======== Validate data =========\r\n validateRequire = () => {\r\n console.log(\"validateRequire \", this.state)\r\n this.setState({ isValidateError: false })\r\n this._validateLogic(this.state.telephone_no1)\r\n if (this.state.person_type == '1') {\r\n this._validateLogic(this.state.person_prefix_code)\r\n this._validateLogic(this.state.person_first_name)\r\n this._validateLogic(this.state.person_last_name)\r\n } else {\r\n this._validateLogic(this.state.org_type)\r\n this._validateLogic(this.state.org_name)\r\n }\r\n\r\n if (this.state.person_type == '1') {\r\n if (this.state.person_prefix_code < 1 || Validators.isEmpty(this.state.person_first_name) ||\r\n Validators.isEmpty(this.state.person_last_name)) {\r\n this.setState({ isValidateError: true })\r\n }\r\n\r\n } else if (this.state.person_type == '2') {\r\n if (this.state.org_type < 1 || Validators.isEmpty(this.state.org_name) || Validators.isEmpty(this.state.org_code)) {\r\n this.setState({ isValidateError: true })\r\n }\r\n\r\n }\r\n\r\n // if (this.state.wasteTypesSelected.length < 1) {\r\n // this.setState({ isValidateError: true })\r\n // }\r\n\r\n //Password\r\n if (this.state.isChangePassword) {\r\n console.log(\"old \", this.state.oldPassword, \" pass \", this.state.password, \" confirm \", this.state.confirmPassword)\r\n this._validateLogic(this.state.oldPassword);\r\n this._validateLogic(this.state.password);\r\n this._validateLogic(this.state.confirmPassword);\r\n }\r\n }\r\n\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n // ======== SAVE =========\r\n onSubmit = (e) => {\r\n const { userServiceProps } = this.props\r\n const formData = new FormData();\r\n\r\n console.log(\"this.state.person_type : \" + this.state.person_type);\r\n let validate = true;\r\n if (this.state.person_type == '1') {\r\n if (this.state.person_prefix_code < 1 || Validators.isEmpty(this.state.person_first_name) || Validators.isEmpty(this.state.person_last_name)) {\r\n this.showWarn()\r\n validate = false\r\n }\r\n\r\n } else if (this.state.person_type == '2') {\r\n if (this.state.org_type < 1 || Validators.isEmpty(this.state.org_name) || Validators.isEmpty(this.state.org_code)) {\r\n this.showWarn()\r\n validate = false\r\n }\r\n\r\n }\r\n\r\n // if (this.state.wasteTypesSelected.length < 1) {\r\n // this.showWarn();\r\n // validate = false\r\n // }\r\n\r\n\r\n if (validate ) {\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.password,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n userServiceProps.changePassword(JSON.parse(JSON.stringify(jsPass)))\r\n }\r\n\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n formData.append('FileImgShop', this.state.fileImgShop);\r\n formData.append('area_rai', this.state.area_rai || 0);\r\n formData.append('area_ngan', this.state.area_ngan || 0);\r\n formData.append('area_square_wah', this.state.area_square_wah || 0);\r\n formData.append('vehicle_type', this.state.vehicle_type || 0);\r\n formData.append('vehicle_no', this.state.vehicle_no);\r\n formData.append('vehicle_img_name', this.state.vehicle_img_name);\r\n formData.append('bank_account_name', this.state.bank_account_name);\r\n formData.append('bank_account_no', this.state.bank_account_no);\r\n formData.append('bank_code', this.state.bank_code);\r\n formData.append('bank_promptpay', this.state.bank_promptpay);\r\n formData.append('bank_withdraw_code', this.state.bank_withdraw_code);\r\n // formData.append('wasteTypeList', this.state.wasteTypesSelected);\r\n formData.append('wasteTypeListString', this.state.wasteTypeListString);\r\n formData.append('uid', this.state.uid);\r\n formData.append('person_type', this.state.person_type || 0);\r\n formData.append('person_prefix_code', this.state.person_prefix_code || 0);\r\n formData.append('person_first_name', this.state.person_first_name);\r\n formData.append('person_last_name', this.state.person_last_name);\r\n formData.append('person_idcard', this.state.person_idcard);\r\n formData.append('org_type', this.state.org_type || 0);\r\n formData.append('org_name', this.state.org_name);\r\n formData.append('org_code', this.state.org_code || 0);\r\n formData.append('telephone_no1', this.state.telephone_no1);\r\n formData.append('telephone_no2', this.state.telephone_no2 || '');\r\n formData.append('line_id', this.state.line_id || '');\r\n formData.append('email', this.state.email);\r\n formData.append('addr_card_province_code', (this.state.useCurrentAddress) ? this.state.addr_current_province_code : this.state.addr_card_province_code || 0);\r\n formData.append('addr_card_district_code', (this.state.useCurrentAddress) ? this.state.addr_current_district_code : this.state.addr_card_district_code || 0);\r\n formData.append('addr_card_subdistrict_code', (this.state.useCurrentAddress) ? this.state.addr_current_subdistrict_code : this.state.addr_card_subdistrict_code || 0);\r\n formData.append('addr_card_detail', (this.state.useCurrentAddress) ? this.state.addr_current_detail : this.state.addr_card_detail);\r\n formData.append('addr_current_province_code', this.state.addr_current_province_code || 0);\r\n formData.append('addr_current_district_code', this.state.addr_current_district_code || 0);\r\n formData.append('addr_current_subdistrict_code', this.state.addr_current_subdistrict_code || 0);\r\n formData.append('addr_current_detail', this.state.addr_current_detail);\r\n formData.append('latitude', this.state.latitude || 0);\r\n formData.append('longitude', this.state.longitude || 0);\r\n formData.append('img_iden_name', this.state.img_iden_name);\r\n formData.append('img_regis_org_name', this.state.img_regis_org_name);\r\n formData.append('img_person_name', this.state.img_person_name);\r\n formData.append('update_date', this.state.update_date);\r\n formData.append('update_by_uid', this.state.update_by_uid);\r\n formData.append('addr_card_use_current', (this.state.useCurrentAddress) ? 1 : 0);\r\n // userServiceProps.updateWasteproProfile(this.state)\r\n \r\n for (var pair of formData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]); \r\n }\r\n userServiceProps.updateWasteproProfile(formData)\r\n\r\n this.setState({ isUpdate: true })\r\n this.setState({ isLoading: true })\r\n this.setState({ isShowChangePassword: false })\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n }\r\n\r\n // === PASSWORD ===\r\n onOldPasswordChanged = (password) => {\r\n console.log(password)\r\n this.setState({ errorMessageOldPassword: null });\r\n\r\n if (Validators.isNotEmpty(password)) {\r\n if (password == SecureUtils.getItem('user').password) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n } else {\r\n this.setState({ errorMessageOldPassword: \"รหัสผ่านไม่ตรงกัน\" });\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isValidateError: true })\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n\r\n onPasswordChanged = (password) => {\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ password: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n onConfirmPasswordChanged = (cfpassword) => {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.password, \" cfpass \", cfpassword)\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n setPasswordVisible = (e) => {\r\n\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n // === PASSWORD ===\r\n onOldPasswordChanged = (password) => {\r\n console.log(password)\r\n this.setState({ errorMessageOldPassword: null });\r\n\r\n if (Validators.isNotEmpty(password)) {\r\n if (password == localStorage.getItem('oldpass')) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n } else {\r\n this.setState({ errorMessageOldPassword: \"รหัสผ่านไม่ตรงกัน\" });\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isValidateError: true })\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n\r\n onPasswordChanged = (password) => {\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ password: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n onConfirmPasswordChanged = (cfpassword) => {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.password, \" cfpass \", cfpassword)\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ isValidateError: true })\r\n }\r\n }\r\n\r\n setPasswordVisible = (e) => {\r\n\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n // ========= RENDER =========\r\n render() {\r\n const { locationMaster, userInfoMaster, userInfo, province, district, subDistrict, updateWasteproProfile, locationServiceProps,\r\n cardProvince, cardDistrict, cardSubDistrict, banks } = this.props\r\n\r\n const { isValidateError } = this.state\r\n //Validate class error require\r\n const classNameRequired = isValidateError == true ? \"p-error\" : \"\";\r\n\r\n if (this.state.isLoading && !userInfoMaster.isLoading && !updateWasteproProfile.isLoading) {\r\n if (this.state.isUpdate) {\r\n this.prepareForm(updateWasteproProfile.data)\r\n this.prepareWasteTypes(updateWasteproProfile.data);\r\n this.setUid(updateWasteproProfile.data);\r\n this.setAddrCardUseCurrent(updateWasteproProfile.data);\r\n this.setState({ isUpdate: false })\r\n this.showSuccess();\r\n } else {\r\n this.prepareForm(userInfo)\r\n this.prepareWasteTypes(userInfo);\r\n this.setUid(userInfo);\r\n this.setAddrCardUseCurrent(userInfo);\r\n }\r\n\r\n }\r\n\r\n //> loading all page\r\n let formInfomation = (\r\n
    Loading...
    \r\n )\r\n let contentBank = (\r\n
    Loading...
    \r\n )\r\n let contentContact = (\r\n
    Loading...
    \r\n )\r\n let contentLocation = (\r\n
    Loading...
    \r\n )\r\n let fileImg = (\r\n
    Loading...
    \r\n )\r\n let profileAddress = (\r\n
    Loading...
    \r\n )\r\n\r\n let contentLogin = (\r\n
    Loading...
    \r\n )\r\n\r\n if (!userInfoMaster.isLoading && !updateWasteproProfile.isLoading) {\r\n\r\n //> Transform Dropdown to Object selected\r\n this.transformDropdrown();\r\n // console.log(this.state)\r\n\r\n if (this.state.isLoadSubDist && subDistrict.length == 0) {\r\n let distCode = this.state.addr_current_district_code;\r\n //console.log(\"dist code ,\",distCode)\r\n this.setState({ isLoadSubDist: false })\r\n }\r\n\r\n const personType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n const legalType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n );\r\n\r\n //> ข้อมูลสมาชิก\r\n formInfomation = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n {this.state.person_type == '1' && personType}\r\n {this.state.person_type == '2' && legalType}\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.wasteTypesSelected.indexOf(this.state.wasteTypes[0]) !== -1}>\r\n \r\n \r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.wasteTypesSelected.indexOf(this.state.wasteTypes[1]) !== -1}>\r\n \r\n \r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.wasteTypesSelected.indexOf(this.state.wasteTypes[2]) !== -1}>\r\n \r\n \r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.wasteTypesSelected.indexOf(this.state.wasteTypes[3]) !== -1}>\r\n \r\n \r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.wasteTypesSelected.indexOf(this.state.wasteTypes[4]) !== -1}>\r\n \r\n \r\n
    */}\r\n
    \r\n );\r\n\r\n //> รายละเอียดบัญชีธนาคาร\r\n contentBank = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n );\r\n\r\n //> รายละเอียดที่อยู่ติดต่อ\r\n contentContact = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n\r\n //> ที่อยู่ตามบัตรประชาชน/ ที่อยู่นิติบุคคล\r\n profileAddress = (\r\n
    \r\n
    \r\n this.setState({ useCurrentAddress: e.checked })} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n\r\n fileImg = (\r\n
    \r\n
    \r\n \r\n\r\n \r\n this.onFileIDCardChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*,application/pdf\"\r\n maxFileSize={10000000} />\r\n \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n this.onFileRegisChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*,application/pdf\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.onFilePersonChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*,application/pdf\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n
    \r\n \r\n \r\n this.onFileShopChanged(e)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false}\r\n accept=\"image/*\"\r\n maxFileSize={10000000} />\r\n \r\n
    \r\n\r\n
    \r\n );\r\n\r\n //> Location google address\r\n contentLocation = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n //> ข้อมูล Login\r\n contentLogin = (\r\n
    \r\n this.growl = el} />\r\n
    \r\n \r\n
    \r\n
    \r\n this.onOldPasswordChanged(e.target.value)}\r\n >\r\n \r\n {this.state.errorMessageOldPassword} \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onPasswordChanged(e.target.value)}>\r\n \r\n {this.state.isChangePassword &&\r\n {this.state.errorMessagePassword} \r\n }\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onConfirmPasswordChanged(e.target.value)}\r\n >\r\n \r\n\r\n {this.state.isChangePassword &&\r\n {this.state.errorMessageConfirmPassword} \r\n }\r\n
    \r\n\r\n
    \r\n\r\n this.setPasswordVisible(e)}\r\n />\r\n\r\n\r\n
    \r\n\r\n
    \r\n );\r\n }//End Tax check User Info\r\n\r\n return (\r\n
    \r\n

    Profile

    \r\n this.growl = el} />\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    ข้อมูลสมาชิก

    \r\n {formInfomation}\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n

    ที่ตั้งร้าน/ที่ตั้งบริษัท

    \r\n {contentContact}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    ที่อยู่ตามบัตรประชาชน/ ที่อยู่นิติบุคคล

    \r\n {profileAddress}\r\n
    \r\n
    \r\n\r\n {
    \r\n
    \r\n

    เปลี่ยนรหัสผ่าน this.setState({ isShowChangePassword: e.checked })}\r\n />

    \r\n {this.state.isShowChangePassword && contentLogin}\r\n
    \r\n
    }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    แนบเอกสารประกอบ

    \r\n {fileImg}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Location google address

    \r\n {contentLocation}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    รายละเอียดบัญชีธนาคาร

    \r\n {contentBank}\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\n\r\n","\r\nexport default class AuthenService {\r\n accessKey = 'access-token';\r\n\r\n // กำหนดค่า access token ไว้ในความจำ browser\r\n setAuthenticated(accessToken) {\r\n localStorage.setItem(this.accessKey, accessToken);\r\n }\r\n\r\n // ดึงค่า access token ในความจำ browser ออกมา\r\n getAuthenticated() {\r\n return localStorage.getItem(this.accessKey)\r\n }\r\n\r\n // ลบค่า access token ที่อยู่ในความจำ browser\r\n clearAuthenticated() {\r\n localStorage.removeItem(this.accessKey);\r\n localStorage.removeItem('user-type');\r\n }\r\n\r\n}","import React, { Component } from 'react';\r\nimport classNames from 'classnames';\r\nimport AuthenService from '../../service/authenService';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { getFile } from '../../utils/utilFunctions'\r\nimport { closeWebsocket } from '../../utils/chat'\r\n\r\nexport class WasteproInlineProfile extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n isLoadAvatar: false,\r\n isLoading: true,\r\n expanded: true,\r\n fileImgRegis: null\r\n };\r\n this.onClick = this.onClick.bind(this);\r\n this.redirectProfile = this.redirectProfile.bind(this);\r\n }\r\n\r\n // ========= Initial : props to state =========\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isLoading: false })\r\n }\r\n }\r\n\r\n onClick(event) {\r\n this.setState({ expanded: !this.state.expanded });\r\n event.preventDefault();\r\n }\r\n\r\n redirectProfile = (event) => {\r\n this.props.redirectProfile(event)\r\n }\r\n changePasswordU3 = (event) => {\r\n this.props.changePasswordU3(event)\r\n }\r\n\r\n logout = () => {\r\n const { userServiceProps } = this.props\r\n userServiceProps.logout();\r\n closeWebsocket();\r\n }\r\n\r\n swapToAdmin = () => {\r\n\r\n var token=localStorage.getItem('second-token');\r\n\r\n localStorage.removeItem('second-token')\r\n\r\n localStorage.setItem('access-token', token);\r\n localStorage.setItem('user-type', 'administrator');\r\n\r\n if(this.state.fromChat){\r\n window.location = '#/administrator/chat';\r\n }else{\r\n window.location = '#/administrator/manage-members';\r\n }\r\n }\r\n\r\n render() {\r\n const {\r\n userInfo,\r\n fileServiceProps,\r\n getFileWastepro\r\n } = this.props\r\n\r\n let fullName = \"Loading...\";\r\n let imageProfile = (\r\n \"Profile\"\r\n );\r\n\r\n if (this.state.isLoading) {\r\n if (userInfo) {\r\n this.initial(userInfo);\r\n this.setState({ isLoadAvatar: true })\r\n }\r\n if(this.props.location.search == '?from=chat'){\r\n this.setState({ fromChat: true})\r\n }\r\n }\r\n\r\n if(userInfo){\r\n if(userInfo.person_type==1){\r\n if (userInfo.person_first_name && userInfo.person_last_name) {\r\n fullName = userInfo.person_first_name + \" \" + userInfo.person_last_name\r\n }\r\n }else{\r\n fullName = userInfo.org_name\r\n }\r\n }\r\n\r\n if (this.props.userInfo) {\r\n if (!this.props.userInfo.img_person_name) {\r\n imageProfile = (\r\n \"Profile\"\r\n );\r\n } else {\r\n imageProfile = (\r\n \"Profile\"\r\n\r\n );\r\n }\r\n }\r\n\r\n const contentProfile = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (!localStorage.getItem('user-type')) {\r\n window.location = \"#/\"\r\n }\r\n\r\n let secondToken = localStorage.getItem('second-token');\r\n\r\n return
    \r\n {contentProfile}\r\n\r\n
      \r\n\r\n {(secondToken)?\r\n
    • \r\n \r\n \r\n กลับหน้า Admin\r\n \r\n
      \r\n
      \r\n
      กลับหน้า Admin
      \r\n
      \r\n
    • \r\n :''\r\n } \r\n\r\n {(secondToken)?'':\r\n
    • \r\n \r\n
      \r\n
      \r\n
      Logout
      \r\n
      \r\n
    • \r\n }\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      Profile
      \r\n
      \r\n
    • \r\n\r\n {(secondToken)?'':\r\n
    • \r\n \r\n\r\n
      \r\n
      \r\n
      เปลี่ยนรหัสผ่าน
      \r\n
      \r\n
    • \r\n }\r\n
    \r\n
    \r\n }\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { getDistrict, getSubDistrict, getCardSubDistrict, getCardDistrict } from '../../service/LocationService';\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport ImageInfoView from '../profile/ImageInfoView';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\nimport { getUserInfo, changePassword, updateWasteproProfile } from '../../service/user.service';\r\nimport { deleteWasteproFile } from '../../service/file.service';\r\nimport * as ServerAPI from '../register/service'\r\n\r\nclass ExampleWasteproProfileCtrl extends Component {\r\n\r\n constructor(props) {\r\n //console.log(\"ExampleWasteproProfileCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n isInitial: true,\r\n isUpdate: false,\r\n isInitialSelected: true,\r\n isValidateError: false,\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n listFileDelete: [],\r\n errMobileMsg:null,\r\n isErrorPhone:false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Address card user current\r\n checkCardAddress: null,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n //> Address Card info\r\n selectedAdrCardProv: null,\r\n selectedAdrCardDistrict: null,\r\n selectedAdrCardSubDistrict: null,\r\n //wastepro order\r\n wasteTypesSelected: [],\r\n uid: null,\r\n wasteTypes: [\r\n { label: 'ขวดแก้ว', value: 1 },\r\n { label: 'กระดาษ', value: 2 },\r\n { label: 'พลาสติก', value: 3 },\r\n { label: 'โลหะ/อโลหะ', value: 4 },\r\n { label: 'อิเล็กทรอนิกส์/เครื่องใช้ไฟฟ้า', value: 5 }\r\n ],\r\n //map\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n firstCenter: {},\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: null,\r\n newPassword: null,\r\n confirmPassword: null,\r\n disableNewPass: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"ExampleWasteproProfileCtrl :componentDidMount\")\r\n this.props.dispatch(getUserInfo())\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"ExampleWasteproProfileCtrl :componentWillReceiveProps\", nextProps)\r\n if (\r\n nextProps.userInfoModel\r\n && !nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n && !nextProps.locationLoad.isFetching\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n }\r\n\r\n }\r\n }\r\n\r\n //> Status submit\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n this.saveWastePro()\r\n if (!nextProps.updateWasteproProfileLoad.isLoading) {\r\n if (!nextProps.updateWasteproProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isInitialSelected: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.updateWasteproProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isInitialSelected: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWasteproProfileCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWasteproProfileCtrl :componentWillUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ExampleWasteproProfileCtrl :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n if (this.state.person_type != prevState.person_type) {\r\n this.validateRequire(this.state)\r\n }\r\n }\r\n\r\n saveWastePro = () => {\r\n const formData = new FormData();\r\n let wasteTypeString = [];\r\n for (let key in this.state.wasteTypesSelected) {\r\n let entity = this.state.wasteTypesSelected[key]\r\n wasteTypeString.push(entity.value)\r\n }\r\n\r\n //>custom File\r\n const fLimit = 1000000;\r\n if (this.state.fileImgIden && this.state.fileImgIden.size <= fLimit) {\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n }\r\n if (this.state.fileImgRegis && this.state.fileImgRegis.size <= fLimit) {\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n }\r\n if (this.state.fileImgPerson && this.state.fileImgPerson.size <= fLimit) {\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n if (this.state.fileImgShop && this.state.fileImgShop.size <= fLimit) {\r\n formData.append('FileImgShop', this.state.fileImgShop);\r\n }\r\n\r\n formData.append('area_rai', this.state.area_rai || 0);\r\n formData.append('area_ngan', this.state.area_ngan || 0);\r\n formData.append('area_square_wah', this.state.area_square_wah || 0);\r\n formData.append('vehicle_type', this.state.vehicle_type || 0);\r\n formData.append('vehicle_no', this.state.vehicle_no);\r\n formData.append('vehicle_img_name', this.state.vehicle_img_name);\r\n formData.append('bank_account_name', this.state.bank_account_name||'');\r\n formData.append('bank_account_no', this.state.bank_account_no||'');\r\n formData.append('bank_code', this.state.bank_code);\r\n formData.append('bank_promptpay', this.state.bank_promptpay||'');\r\n formData.append('bank_withdraw_code', this.state.bank_withdraw_code);\r\n // formData.append('wasteTypeList', this.state.wasteTypesSelected);\r\n formData.append('wasteTypeListString', JSON.stringify(wasteTypeString));\r\n formData.append('uid', this.state.uid);\r\n formData.append('person_type', this.state.person_type || 0);\r\n formData.append('person_prefix_code', this.state.person_prefix_code || 0);\r\n formData.append('person_first_name', this.state.person_first_name||'');\r\n formData.append('person_last_name', this.state.person_last_name||'');\r\n formData.append('person_idcard', this.state.person_idcard);\r\n formData.append('org_type', this.state.org_type || 0);\r\n formData.append('org_name', this.state.org_name||'');\r\n formData.append('org_code', this.state.org_code || 0);\r\n formData.append('telephone_no1', this.state.telephone_no1);\r\n formData.append('telephone_no2', this.state.telephone_no2 || '');\r\n formData.append('line_id', this.state.line_id || '');\r\n formData.append('email', this.state.email||'');\r\n formData.append('addr_card_province_code', this.state.addr_card_province_code || 0);\r\n formData.append('addr_card_district_code', this.state.addr_card_district_code || 0);\r\n formData.append('addr_card_subdistrict_code', this.state.addr_card_subdistrict_code || 0);\r\n formData.append('addr_card_detail', this.state.addr_card_detail||'');\r\n formData.append('addr_current_province_code', this.state.addr_current_province_code || 0);\r\n formData.append('addr_current_district_code', this.state.addr_current_district_code || 0);\r\n formData.append('addr_current_subdistrict_code', this.state.addr_current_subdistrict_code || 0);\r\n formData.append('addr_current_detail', this.state.addr_current_detail||'');\r\n formData.append('latitude', this.state.latitude || 0);\r\n formData.append('longitude', this.state.longitude || 0);\r\n formData.append('img_iden_name', this.state.img_iden_name);\r\n formData.append('img_regis_org_name', this.state.img_regis_org_name);\r\n formData.append('img_person_name', this.state.img_person_name);\r\n formData.append('update_date', this.state.update_date);\r\n formData.append('update_by_uid', this.state.update_by_uid);\r\n formData.append('addr_card_use_current', (this.state.checkCardAddress) ? 1 : 0);\r\n\r\n //Delete file in list action\r\n this.state.listFileDelete.map(fileName => {\r\n fileName = fileName || \"\"\r\n let fileType = null;\r\n let spFname = fileName.split(\"-\")\r\n if (spFname.length > 0) {\r\n fileType = spFname[0]\r\n }\r\n this.props.dispatch(deleteWasteproFile(fileType, fileName))\r\n })\r\n this.props.dispatch(updateWasteproProfile(formData))\r\n }\r\n //> Submit\r\n onSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n await this.validateRequire(this.state);\r\n\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n this.saveWastePro()\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n }\r\n\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n this.setUid(nextProps)\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n //console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n //> adrees card info\r\n if (nextProps.cardProvinceModel && nextProps.cardProvinceModel.length > 0) {\r\n this.setState({ cardProvince: nextProps.cardProvinceModel })\r\n }\r\n if (nextProps.cardDistrictModel && nextProps.cardDistrictModel.length > 0) {\r\n this.setState({ cardDistrict: nextProps.cardDistrictModel })\r\n }\r\n if (nextProps.cardSubDistrictModel && nextProps.cardSubDistrictModel.length > 0) {\r\n this.setState({ cardSubDistrict: nextProps.cardSubDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n //console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n\r\n //Adress Card info : province\r\n selectedAdrCardProv,\r\n addr_card_province_code,\r\n cardProvince,\r\n //Address user current\r\n checkCardAddress,\r\n addr_card_use_current,\r\n isInitialSelected,\r\n //Adress current info : district\r\n selectedAdrCardDistrict,\r\n addr_card_district_code,\r\n cardDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCardSubDistrict,\r\n addr_card_subdistrict_code,\r\n cardSubDistrict,\r\n //WasteType\r\n wasteTypesSelected,\r\n wasteTypeList,\r\n wasteTypes,\r\n //Map\r\n latitude,\r\n longitude,\r\n marker\r\n } = nextState\r\n\r\n //> map\r\n if (!marker.lat && latitude && longitude) {\r\n this.setState({ marker: { lat: latitude, lng: longitude } })\r\n this.setState({ mapCenter: { lat: latitude, lng: longitude } })\r\n }\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress use current\r\n if (checkCardAddress == null && addr_card_use_current) {\r\n if (addr_card_use_current == 1) {\r\n this.setState({ checkCardAddress: true })\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> Adress card info\r\n if (!selectedAdrCardProv && addr_card_province_code) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (addr_card_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCardProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardDistrict && addr_card_district_code) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (addr_card_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCardDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardSubDistrict && addr_card_subdistrict_code) {\r\n for (let key in cardSubDistrict) {\r\n let val = cardSubDistrict[key]\r\n if (addr_card_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCardSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> WasteType\r\n if (isInitialSelected && wasteTypesSelected.length == 0 && wasteTypeList && wasteTypeList.length != 0) {\r\n for (let key in wasteTypeList) {\r\n let entity = wasteTypeList[key]\r\n if (wasteTypesSelected.indexOf(entity) == -1) {\r\n for (let inx in wasteTypes) {\r\n let result = wasteTypes[inx]\r\n if (result.value == entity) {\r\n this.state.wasteTypesSelected.push(result);\r\n this.setState({ isInitialSelected: !isInitialSelected })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n\r\n //wasteType\r\n // state.wasteTypesSelected = state.wasteTypesSelected || []\r\n // console.log('state.wasteTypesSelected ', state.wasteTypesSelected)\r\n // if (state.wasteTypesSelected && state.wasteTypesSelected.length == 0) {\r\n // this._classNameRequired(true)\r\n // }\r\n\r\n\r\n //address\r\n this._validateAddressInfo(1)\r\n // if (state.checkCardAddress) {\r\n // this._validateAddressInfo(1)\r\n // } else {\r\n // this._validateAddressInfo(1)\r\n // this._validateAddressInfo(2)\r\n // } \r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Check required\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n } \r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n }\r\n //> Image View\r\n onSelectFileImgIden = (e) => {\r\n this.setState({ fileImgIden: e.files[0] });\r\n }\r\n onRefreshIden = (e) => {\r\n this.setState({ img_iden_name: this.props.userInfoModel.img_iden_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_iden_name)\r\n })\r\n }\r\n onDeleteIden = (e) => {\r\n this.state.listFileDelete.push(this.state.img_iden_name)\r\n this.setState({ img_iden_name: null })\r\n this.setState({ fileImgIden: null });\r\n }\r\n onSelectFileImgRegis = (e) => {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n }\r\n onRefreshRegis = (e) => {\r\n this.setState({ img_regis_org_name: this.props.userInfoModel.img_regis_org_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_regis_org_name)\r\n })\r\n }\r\n onDeleteRegis = (e) => {\r\n this.state.listFileDelete.push(this.state.img_regis_org_name)\r\n this.setState({ img_regis_org_name: null })\r\n this.setState({ fileImgRegis: null });\r\n }\r\n onSelectFileImgPerson = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onRefreshPerson = (e) => {\r\n this.setState({ img_person_name: this.props.userInfoModel.img_person_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_person_name)\r\n })\r\n }\r\n onDeletePerson = (e) => {\r\n this.state.listFileDelete.push(this.state.img_person_name)\r\n this.setState({ img_person_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n onSelectFileImgShop = (e) => {\r\n this.setState({ fileImgShop: e.files[0] });\r\n }\r\n onRefreshShop = (e) => {\r\n this.setState({ vehicle_img_name: this.props.userInfoModel.vehicle_img_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.vehicle_img_name)\r\n })\r\n }\r\n onDeleteShop = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name)\r\n this.setState({ vehicle_img_name: null })\r\n this.setState({ fileImgShop: null });\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event Address\r\n onDuplicate = (e) => {\r\n const { checked } = e\r\n //console.log(\"check dup : \", e)\r\n this.setState({ checkCardAddress: checked })\r\n }\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n onChangeAdrCardProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCardDistrict: null })\r\n this.setState({ addr_card_district_code: null })\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCardDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCardSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardSubDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n //console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n //console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n //> EVENT WASTEPRO\r\n onCheckChange = (e) => {\r\n const { value, checked } = e.target\r\n debugger\r\n switch (checked) {\r\n case true:\r\n if (this.state.wasteTypesSelected.indexOf(value) == -1) {\r\n this.state.wasteTypesSelected.push(value)\r\n }\r\n break;\r\n case false:\r\n if (this.state.wasteTypesSelected.indexOf(value) > -1) {\r\n let tmpFilter = this.state.wasteTypesSelected.filter(\r\n item => item.value != value.value\r\n );\r\n // console.log(tmpFilter)\r\n this.setState({\r\n wasteTypesSelected: tmpFilter\r\n })\r\n }\r\n break;\r\n }\r\n }\r\n setUid = (userInfo) => {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n //> Event map\r\n onMarkerMoved = (e) => {\r\n //console.log(\"--onMarkerMoved\");\r\n //console.log(e.latLng);\r\n //console.log(e);\r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n }\r\n onCenterChanged = (coor) => {\r\n if (coor) {\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n //console.log(\"ExampleWasteproProfileCtrl :render\", this.state)\r\n const { userInfoModel } = this.props\r\n\r\n // const fileIden = (\r\n //
    Loading...
    \r\n // )\r\n // const fileRegis = (\r\n //
    Loading...
    \r\n // )\r\n // const filePerson = (\r\n //
    Loading...
    \r\n // )\r\n // const fileShop = (\r\n //
    Loading...
    \r\n // )\r\n\r\n // if (userInfoModel) {\r\n // fileIden = (\r\n // \r\n // )\r\n // fileRegis = (\r\n // \r\n // )\r\n // filePerson = (\r\n // \r\n // )\r\n // fileShop = (\r\n // \r\n // )\r\n // }\r\n\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n {userInfoModel &&\r\n \r\n }\r\n \r\n \r\n {\r\n \r\n }\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n {\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n {userInfoModel &&\r\n \r\n }\r\n {(userInfoModel && this.state.person_type == 2 )&&\r\n \r\n }\r\n {userInfoModel &&\r\n \r\n }\r\n {userInfoModel &&\r\n \r\n }\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* \r\n {\r\n \r\n }\r\n */}\r\n
    \r\n
    \r\n{/* \r\n
    \r\n

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

    \r\n {this.state.isShowChangePassword == true &&\r\n }\r\n\r\n
    */}\r\n\r\n
    \r\n\r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n {this.props.updateWasteproProfileLoad.isLoading &&\r\n \r\n }\r\n {!this.props.updateWasteproProfileLoad.isLoading &&\r\n \r\n }\r\n
    \r\n }\r\n
    \r\n\r\n\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n cardProvinceModel: state.location.cardProvince,\r\n cardDistrictModel: state.location.cardDistrict,\r\n cardSubDistrictModel: state.location.cardSubDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWasteproProfileLoad: state.updateWasteproProfile\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWasteproProfileCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { getDistrict, getSubDistrict, getCardSubDistrict, getCardDistrict } from '../../service/LocationService';\r\nimport { ProfileInfoView } from '../profile/ProfileInfoView';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport ImageInfoView from '../profile/ImageInfoView';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport BankInfoView from '../profile/BankInfoView';\r\nimport AddressSwapInfoView from '../profile/AddressSwapInfoView';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { InputSwitch } from 'primereact/inputswitch';\r\nimport ChangePassword from '../change-password/ChangePassword';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\nimport { getUserInfo, changePassword, updateWasteproProfile } from '../../service/user.service';\r\nimport { deleteWasteproFile } from '../../service/file.service';\r\nimport * as ServerAPI from '../register/service'\r\n\r\nclass ExampleWasteproChangePassword extends Component {\r\n\r\n constructor(props) {\r\n //console.log(\"ExampleWasteproChangePassword :constructor\")\r\n super(props);\r\n this.state = {\r\n isInitial: true,\r\n isUpdate: false,\r\n isInitialSelected: true,\r\n isValidateError: false,\r\n //> profile info\r\n selectedPersonPrefix: null,\r\n selectedCompanyType: null,\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n listFileDelete: [],\r\n errMobileMsg:null,\r\n isErrorPhone:false,\r\n //> Bank info\r\n selectedBank: null,\r\n //> Address card user current\r\n checkCardAddress: null,\r\n //> Address Current info\r\n selectedAdrCurrentProv: null,\r\n selectedAdrCurrentDistrict: null,\r\n selectedAdrCurrentSubDistrict: null,\r\n //> Address Card info\r\n selectedAdrCardProv: null,\r\n selectedAdrCardDistrict: null,\r\n selectedAdrCardSubDistrict: null,\r\n //wastepro order\r\n wasteTypesSelected: [],\r\n uid: null,\r\n wasteTypes: [\r\n { label: 'ขวดแก้ว', value: 1 },\r\n { label: 'กระดาษ', value: 2 },\r\n { label: 'พลาสติก', value: 3 },\r\n { label: 'โลหะ/อโลหะ', value: 4 },\r\n { label: 'อิเล็กทรอนิกส์/เครื่องใช้ไฟฟ้า', value: 5 }\r\n ],\r\n //map\r\n marker: {},\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n firstCenter: {},\r\n //PASSWORD\r\n isShowChangePassword: false,\r\n isChangePassword: false,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n errorMessageOldPassword: null,\r\n errorMessagePassword: null,\r\n errorMessageConfirmPassword: null,\r\n oldPassword: '',\r\n newPassword: '',\r\n confirmPassword: '',\r\n disableNewPass: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"ExampleWasteproChangePassword :componentDidMount\")\r\n this.props.dispatch(getUserInfo())\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(\"ExampleWasteproChangePassword :componentWillReceiveProps\", nextProps)\r\n if (\r\n nextProps.userInfoModel\r\n && !nextProps.userInfoLoad.isLoading\r\n && !nextProps.changePasswordLoad.isLoading\r\n && !nextProps.locationLoad.isFetching\r\n ) {\r\n this.initialDropdown(nextProps);\r\n\r\n if (this.state.isInitial) {\r\n if (\r\n nextProps.userInfoModel\r\n ) {\r\n this.initial(nextProps.userInfoModel)\r\n }\r\n\r\n }\r\n }\r\n\r\n //> Status submit\r\n if (this.state.isUpdate) {\r\n switch (this.state.isChangePassword) {\r\n case true:\r\n if (!nextProps.changePasswordLoad.isLoading) {\r\n if (nextProps.changePasswordLoad.isFailed) {\r\n this.showError(\"รหัสผ่าน :\" + nextProps.changePasswordModel)\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n this.setState({ isChangePassword: false })\r\n } else {\r\n this.saveWastePro()\r\n if (!nextProps.updateWasteproProfileLoad.isLoading) {\r\n if (!nextProps.updateWasteproProfileLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isInitialSelected: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.updateWasteproProfileLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n case false:\r\n if (!nextProps.userInfoLoad.isLoading) {\r\n if (!nextProps.userInfoLoad.isFailed) {\r\n this.props.dispatch(getUserInfo());\r\n this.showSuccess(\"บันทึกข้อมูลสำเร็จ\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: true })\r\n this.setState({ isInitialSelected: true })\r\n this.setState({ isChangePassword: false })\r\n this.setState({ isShowChangePassword: false })\r\n this.setState({ listFileDelete: [] })\r\n }\r\n\r\n if (nextProps.userInfoLoad.isFailed) {\r\n this.showError(\"บันทึกข้อมูลผิดพลาด\")\r\n this.setState({ isUpdate: false })\r\n this.setState({ isInitial: false })\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWasteproChangePassword :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n //console.log(\"ExampleWasteproChangePassword :componentWillUpdate\")\r\n if (this.state.isValidateError != nextState.isValidateError) {\r\n this.validateRequire(nextState)\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ExampleWasteproChangePassword :componentDidUpdate\")\r\n this.initialSelected(this.state)\r\n if (this.state.person_type != prevState.person_type) {\r\n this.validateRequire(this.state)\r\n }\r\n }\r\n\r\n saveWastePro = () => {\r\n const formData = new FormData();\r\n let wasteTypeString = [];\r\n for (let key in this.state.wasteTypesSelected) {\r\n let entity = this.state.wasteTypesSelected[key]\r\n wasteTypeString.push(entity.value)\r\n }\r\n\r\n //>custom File\r\n const fLimit = 1000000;\r\n if (this.state.fileImgIden && this.state.fileImgIden.size <= fLimit) {\r\n formData.append('FileImgIden', this.state.fileImgIden);\r\n }\r\n if (this.state.fileImgRegis && this.state.fileImgRegis.size <= fLimit) {\r\n formData.append('FileImgRegis', this.state.fileImgRegis);\r\n }\r\n if (this.state.fileImgPerson && this.state.fileImgPerson.size <= fLimit) {\r\n formData.append('FileImgPerson', this.state.fileImgPerson);\r\n }\r\n if (this.state.fileImgShop && this.state.fileImgShop.size <= fLimit) {\r\n formData.append('FileImgShop', this.state.fileImgShop);\r\n }\r\n\r\n formData.append('area_rai', this.state.area_rai || 0);\r\n formData.append('area_ngan', this.state.area_ngan || 0);\r\n formData.append('area_square_wah', this.state.area_square_wah || 0);\r\n formData.append('vehicle_type', this.state.vehicle_type || 0);\r\n formData.append('vehicle_no', this.state.vehicle_no);\r\n formData.append('vehicle_img_name', this.state.vehicle_img_name);\r\n formData.append('bank_account_name', this.state.bank_account_name||'');\r\n formData.append('bank_account_no', this.state.bank_account_no||'');\r\n formData.append('bank_code', this.state.bank_code);\r\n formData.append('bank_promptpay', this.state.bank_promptpay||'');\r\n formData.append('bank_withdraw_code', this.state.bank_withdraw_code);\r\n // formData.append('wasteTypeList', this.state.wasteTypesSelected);\r\n formData.append('wasteTypeListString', JSON.stringify(wasteTypeString));\r\n formData.append('uid', this.state.uid);\r\n formData.append('person_type', this.state.person_type || 0);\r\n formData.append('person_prefix_code', this.state.person_prefix_code || 0);\r\n formData.append('person_first_name', this.state.person_first_name||'');\r\n formData.append('person_last_name', this.state.person_last_name||'');\r\n formData.append('person_idcard', this.state.person_idcard);\r\n formData.append('org_type', this.state.org_type || 0);\r\n formData.append('org_name', this.state.org_name||'');\r\n formData.append('org_code', this.state.org_code || 0);\r\n formData.append('telephone_no1', this.state.telephone_no1);\r\n formData.append('telephone_no2', this.state.telephone_no2 || '');\r\n formData.append('line_id', this.state.line_id || '');\r\n formData.append('email', this.state.email||'');\r\n formData.append('addr_card_province_code', this.state.addr_card_province_code || 0);\r\n formData.append('addr_card_district_code', this.state.addr_card_district_code || 0);\r\n formData.append('addr_card_subdistrict_code', this.state.addr_card_subdistrict_code || 0);\r\n formData.append('addr_card_detail', this.state.addr_card_detail||'');\r\n formData.append('addr_current_province_code', this.state.addr_current_province_code || 0);\r\n formData.append('addr_current_district_code', this.state.addr_current_district_code || 0);\r\n formData.append('addr_current_subdistrict_code', this.state.addr_current_subdistrict_code || 0);\r\n formData.append('addr_current_detail', this.state.addr_current_detail||'');\r\n formData.append('latitude', this.state.latitude || 0);\r\n formData.append('longitude', this.state.longitude || 0);\r\n formData.append('img_iden_name', this.state.img_iden_name);\r\n formData.append('img_regis_org_name', this.state.img_regis_org_name);\r\n formData.append('img_person_name', this.state.img_person_name);\r\n formData.append('update_date', this.state.update_date);\r\n formData.append('update_by_uid', this.state.update_by_uid);\r\n formData.append('addr_card_use_current', (this.state.checkCardAddress) ? 1 : 0);\r\n\r\n //Delete file in list action\r\n this.state.listFileDelete.map(fileName => {\r\n fileName = fileName || \"\"\r\n let fileType = null;\r\n let spFname = fileName.split(\"-\")\r\n if (spFname.length > 0) {\r\n fileType = spFname[0]\r\n }\r\n this.props.dispatch(deleteWasteproFile(fileType, fileName))\r\n })\r\n this.props.dispatch(updateWasteproProfile(formData))\r\n }\r\n //> Submit\r\n onSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n await this.validateRequire(this.state);\r\n\r\n if (this.state.isValidateError) {\r\n this.showWarn();\r\n } else {\r\n var isNotinput = (\r\n this.state.oldPassword == '' ||\r\n this.state.newPassword == '' ||\r\n this.state.confirmPassword==''\r\n );\r\n if (isNotinput) {\r\n this.showWarn();\r\n }else{\r\n\r\n if (this.state.isChangePassword) {\r\n var jsPass = {\r\n username: SecureUtils.getItem('user').username,\r\n oldPassword: this.state.oldPassword,\r\n newPassword: this.state.newPassword,\r\n confirmPassword: this.state.confirmPassword,\r\n statusMessage: \"string\",\r\n }\r\n this.props.dispatch(changePassword(JSON.parse(JSON.stringify(jsPass))))\r\n } else {\r\n this.saveWastePro()\r\n this.setState({ isShowChangePassword: false })\r\n }\r\n\r\n this.setState({ isUpdate: true })\r\n }\r\n }\r\n }\r\n\r\n //> Initial function\r\n initial = (nextProps) => {\r\n if (nextProps) {\r\n for (let key in nextProps) {\r\n let val = nextProps[key]\r\n this.setState({ [key]: val })\r\n }\r\n this.setState({ isInitial: false })\r\n this.setUid(nextProps)\r\n }\r\n }\r\n //> Initial Droupdown\r\n initialDropdown = (nextProps) => {\r\n //console.log(\"Initial Droupdown \", nextProps)\r\n //> banks\r\n if (nextProps.banks && nextProps.banks.length > 0) {\r\n this.setState({ banks: nextProps.banks })\r\n }\r\n //> adrees current info\r\n if (nextProps.provinceModel && nextProps.provinceModel.length > 0) {\r\n this.setState({ province: nextProps.provinceModel })\r\n }\r\n if (nextProps.currentDistrictModel && nextProps.currentDistrictModel.length > 0) {\r\n this.setState({ currentDistrict: nextProps.currentDistrictModel })\r\n }\r\n if (nextProps.currentSubDistrictModel && nextProps.currentSubDistrictModel.length > 0) {\r\n this.setState({ currentSubDistrict: nextProps.currentSubDistrictModel })\r\n }\r\n //> adrees card info\r\n if (nextProps.cardProvinceModel && nextProps.cardProvinceModel.length > 0) {\r\n this.setState({ cardProvince: nextProps.cardProvinceModel })\r\n }\r\n if (nextProps.cardDistrictModel && nextProps.cardDistrictModel.length > 0) {\r\n this.setState({ cardDistrict: nextProps.cardDistrictModel })\r\n }\r\n if (nextProps.cardSubDistrictModel && nextProps.cardSubDistrictModel.length > 0) {\r\n this.setState({ cardSubDistrict: nextProps.cardSubDistrictModel })\r\n }\r\n }\r\n //> Initail selected\r\n initialSelected = (nextState) => {\r\n //console.log(\"Initail selected \", nextState)\r\n\r\n const {\r\n //profile info\r\n selectedPersonPrefix,\r\n person_prefix_code,\r\n personPrefixs,\r\n selectedCompanyType,\r\n org_type,\r\n companyTypes,\r\n //bank info\r\n selectedBank,\r\n bank_code,\r\n banks,\r\n //Adress current info : province\r\n selectedAdrCurrentProv,\r\n addr_current_province_code,\r\n province,\r\n //Adress current info : district\r\n selectedAdrCurrentDistrict,\r\n addr_current_district_code,\r\n currentDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCurrentSubDistrict,\r\n addr_current_subdistrict_code,\r\n currentSubDistrict,\r\n\r\n //Adress Card info : province\r\n selectedAdrCardProv,\r\n addr_card_province_code,\r\n cardProvince,\r\n //Address user current\r\n checkCardAddress,\r\n addr_card_use_current,\r\n isInitialSelected,\r\n //Adress current info : district\r\n selectedAdrCardDistrict,\r\n addr_card_district_code,\r\n cardDistrict,\r\n //Adress current info : sub district\r\n selectedAdrCardSubDistrict,\r\n addr_card_subdistrict_code,\r\n cardSubDistrict,\r\n //WasteType\r\n wasteTypesSelected,\r\n wasteTypeList,\r\n wasteTypes,\r\n //Map\r\n latitude,\r\n longitude,\r\n marker\r\n } = nextState\r\n\r\n //> map\r\n if (!marker.lat && latitude && longitude) {\r\n this.setState({ marker: { lat: latitude, lng: longitude } })\r\n this.setState({ mapCenter: { lat: latitude, lng: longitude } })\r\n }\r\n //> profile info\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n if (!selectedCompanyType && org_type) {\r\n for (let key in companyTypes) {\r\n let val = companyTypes[key]\r\n if (org_type == val.code) {\r\n this.setState({ selectedCompanyType: val })\r\n }\r\n }\r\n }\r\n\r\n if (!selectedPersonPrefix && person_prefix_code) {\r\n for (let key in personPrefixs) {\r\n let val = personPrefixs[key]\r\n if (person_prefix_code == val.code) {\r\n this.setState({ selectedPersonPrefix: val })\r\n }\r\n }\r\n }\r\n\r\n //> bank info\r\n if (!selectedBank && bank_code) {\r\n for (let key in banks) {\r\n let val = banks[key]\r\n if (bank_code == val.bank_code) {\r\n this.setState({ selectedBank: val })\r\n }\r\n }\r\n }\r\n //> Adress use current\r\n if (checkCardAddress == null && addr_card_use_current) {\r\n if (addr_card_use_current == 1) {\r\n this.setState({ checkCardAddress: true })\r\n }\r\n }\r\n //> Adress current info\r\n if (!selectedAdrCurrentProv && addr_current_province_code) {\r\n for (let key in province) {\r\n let val = province[key]\r\n if (addr_current_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCurrentProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentDistrict && addr_current_district_code) {\r\n for (let key in currentDistrict) {\r\n let val = currentDistrict[key]\r\n if (addr_current_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCurrentDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCurrentSubDistrict && addr_current_subdistrict_code) {\r\n for (let key in currentSubDistrict) {\r\n let val = currentSubDistrict[key]\r\n if (addr_current_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCurrentSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> Adress card info\r\n if (!selectedAdrCardProv && addr_card_province_code) {\r\n for (let key in cardProvince) {\r\n let val = cardProvince[key]\r\n if (addr_card_province_code == val.provinceCode) {\r\n //console.log(\"province \")\r\n this.setState({ selectedAdrCardProv: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardDistrict && addr_card_district_code) {\r\n for (let key in cardDistrict) {\r\n let val = cardDistrict[key]\r\n if (addr_card_district_code == val.districtCode) {\r\n this.setState({ selectedAdrCardDistrict: val })\r\n }\r\n }\r\n }\r\n if (!selectedAdrCardSubDistrict && addr_card_subdistrict_code) {\r\n for (let key in cardSubDistrict) {\r\n let val = cardSubDistrict[key]\r\n if (addr_card_subdistrict_code == val.subDistrictCode) {\r\n this.setState({ selectedAdrCardSubDistrict: val })\r\n }\r\n }\r\n }\r\n //> WasteType\r\n if (isInitialSelected && wasteTypesSelected.length == 0 && wasteTypeList && wasteTypeList.length != 0) {\r\n for (let key in wasteTypeList) {\r\n let entity = wasteTypeList[key]\r\n if (wasteTypesSelected.indexOf(entity) == -1) {\r\n for (let inx in wasteTypes) {\r\n let result = wasteTypes[inx]\r\n if (result.value == entity) {\r\n this.state.wasteTypesSelected.push(result);\r\n this.setState({ isInitialSelected: !isInitialSelected })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //> Validate\r\n validateRequire = async (state) => {\r\n this._classNameRequired(false)\r\n\r\n if (state.person_type == '1') {\r\n this._validateLogic(state.person_prefix_code)\r\n this._validateLogic(state.person_first_name)\r\n this._validateLogic(state.person_last_name)\r\n if (state.person_idcard) {\r\n if (Validators.isInValid(state.person_idcard, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this._validateLogic(state.org_type)\r\n this._validateLogic(state.org_name)\r\n this._validateLogic(state.org_code)\r\n if (state.org_code) {\r\n if (Validators.isInValid(state.org_code, 13)) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Password\r\n if (state.isChangePassword == true) {\r\n this._validateLogic(state.oldPassword);\r\n if (state.newPassword != state.confirmPassword) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n //Email\r\n if (state.email) {\r\n if (!Validators.isEmail(state.email)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n\r\n //Mobile number\r\n if (Validators.isInValidPhoneNumberRequired(state.telephone_no1, 10)) {\r\n this._classNameRequired(true)\r\n }\r\n\r\n //wasteType\r\n state.wasteTypesSelected = state.wasteTypesSelected || []\r\n console.log('state.wasteTypesSelected ', state.wasteTypesSelected)\r\n if (state.wasteTypesSelected && state.wasteTypesSelected.length == 0) {\r\n this._classNameRequired(true)\r\n }\r\n //address\r\n this._validateAddressInfo(1)\r\n // if (state.checkCardAddress) {\r\n // this._validateAddressInfo(1)\r\n // } else {\r\n // this._validateAddressInfo(1)\r\n // this._validateAddressInfo(2)\r\n // } \r\n //Phone\r\n if(state.isErrorPhone||!state.telephone_no1){\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _validateAddressInfo = (type) => {\r\n //>Card\r\n let chkCardProv = Validators.isEmpty(this.state.selectedAdrCardProv)\r\n let chkCardDistrict = Validators.isEmpty(this.state.selectedAdrCardDistrict)\r\n let chkCardSubDistrict = Validators.isEmpty(this.state.selectedAdrCardSubDistrict)\r\n let chkCardAddress = Validators.isEmpty(this.state.addr_card_detail)\r\n //>Current\r\n let chkCurrentProv = Validators.isEmpty(this.state.selectedAdrCurrentProv)\r\n let chkCurrentDistrict = Validators.isEmpty(this.state.selectedAdrCurrentDistrict)\r\n let chkCurrentSubDistrict = Validators.isEmpty(this.state.selectedAdrCurrentSubDistrict)\r\n let chkCurrentAddress = Validators.isEmpty(this.state.addr_current_detail)\r\n if (type == 2) {\r\n if (\r\n chkCardProv\r\n || chkCardDistrict\r\n || chkCardSubDistrict\r\n || chkCardAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n } else {\r\n if (\r\n chkCurrentProv\r\n || chkCurrentDistrict\r\n || chkCurrentSubDistrict\r\n || chkCurrentAddress\r\n ) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n }\r\n _validateLogic = (value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequired(true)\r\n }\r\n }\r\n _classNameRequired = (status) => {\r\n const classNameRequired = status == true ? \"p-error\" : \"\";\r\n this.setState({ classNameRequired: classNameRequired })\r\n this.setState({ isValidateError: status })\r\n }\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n //case check email\r\n if (name == \"email\") {\r\n if (!Validators.isEmpty(value) && !Validators.isEmail(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n }\r\n //Check required\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true })\r\n } else {\r\n this.setState({ isValidateError: false })\r\n }\r\n } \r\n //Tel mobile 1\r\n if (name == 'telephone_no1') {\r\n var telNameModel = {\r\n telephoneNumber: value\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n let tmpChkUid = res.filter((value) => {\r\n return value.userId == SecureUtils.getItem('uid')\r\n })\r\n if (res.length > 0 && tmpChkUid.length == 0) {\r\n this.setState({ errMobileMsg: \"หมายเลข \" + value + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n } else {\r\n this.setState({ errMobileMsg: null });\r\n this.setState({ isErrorPhone: false });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errMobileMsg: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ isErrorPhone: true });\r\n })\r\n }\r\n }\r\n //> Image View\r\n onSelectFileImgIden = (e) => {\r\n this.setState({ fileImgIden: e.files[0] });\r\n }\r\n onRefreshIden = (e) => {\r\n this.setState({ img_iden_name: this.props.userInfoModel.img_iden_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_iden_name)\r\n })\r\n }\r\n onDeleteIden = (e) => {\r\n this.state.listFileDelete.push(this.state.img_iden_name)\r\n this.setState({ img_iden_name: null })\r\n this.setState({ fileImgIden: null });\r\n }\r\n onSelectFileImgRegis = (e) => {\r\n this.setState({ fileImgRegis: e.files[0] });\r\n }\r\n onRefreshRegis = (e) => {\r\n this.setState({ img_regis_org_name: this.props.userInfoModel.img_regis_org_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_regis_org_name)\r\n })\r\n }\r\n onDeleteRegis = (e) => {\r\n this.state.listFileDelete.push(this.state.img_regis_org_name)\r\n this.setState({ img_regis_org_name: null })\r\n this.setState({ fileImgRegis: null });\r\n }\r\n onSelectFileImgPerson = (e) => {\r\n this.setState({ fileImgPerson: e.files[0] });\r\n }\r\n onRefreshPerson = (e) => {\r\n this.setState({ img_person_name: this.props.userInfoModel.img_person_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.img_person_name)\r\n })\r\n }\r\n onDeletePerson = (e) => {\r\n this.state.listFileDelete.push(this.state.img_person_name)\r\n this.setState({ img_person_name: null })\r\n this.setState({ fileImgPerson: null });\r\n }\r\n onSelectFileImgShop = (e) => {\r\n this.setState({ fileImgShop: e.files[0] });\r\n }\r\n onRefreshShop = (e) => {\r\n this.setState({ vehicle_img_name: this.props.userInfoModel.vehicle_img_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.props.userInfoModel.vehicle_img_name)\r\n })\r\n }\r\n onDeleteShop = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name)\r\n this.setState({ vehicle_img_name: null })\r\n this.setState({ fileImgShop: null });\r\n }\r\n //> Event Profile info\r\n onChangePersonPrefix = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedPersonPrefix: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n onChangeCompanyType = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedCompanyType: value })\r\n this.setState({ [name]: value.code })\r\n }\r\n //> Event :Bank\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ selectedBank: value })\r\n this.setState({ [name]: value.bank_code })\r\n }\r\n //> Event Address\r\n onDuplicate = (e) => {\r\n const { checked } = e\r\n //console.log(\"check dup : \", e)\r\n this.setState({ checkCardAddress: checked })\r\n }\r\n onChangeAdrCurrProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentProv: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCurrentDistrict: null })\r\n this.setState({ addr_current_district_code: null })\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCurrentDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCurrentSubDistrict: null })\r\n this.setState({ addr_current_subdistrict_code: null })\r\n\r\n this.props.dispatch(getSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCurrentSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCurrentSubDistrict: value })\r\n this.setState({ addr_current_province_code: value.provinceCode });\r\n this.setState({ addr_current_district_code: value.districtCode });\r\n this.setState({ addr_current_subdistrict_code: value.subDistrictCode });\r\n }\r\n onChangeAdrCardProv = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardProv: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ selectedAdrCardDistrict: null })\r\n this.setState({ addr_card_district_code: null })\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardDistrict(value.provinceCode));\r\n }\r\n onChangeAdrCardDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n\r\n this.setState({ selectedAdrCardSubDistrict: null })\r\n this.setState({ addr_card_subdistrict_code: null })\r\n\r\n this.props.dispatch(getCardSubDistrict(value.districtCode));\r\n }\r\n onChangeAdrCardSubDistrict = (e) => {\r\n const { value } = e.target\r\n this.setState({ selectedAdrCardSubDistrict: value })\r\n this.setState({ addr_card_province_code: value.provinceCode });\r\n this.setState({ addr_card_district_code: value.districtCode });\r\n this.setState({ addr_card_subdistrict_code: value.subDistrictCode });\r\n }\r\n //> Event change password\r\n onChangeSwitchPassword = (e) => {\r\n this.setState({ isShowChangePassword: e.checked })\r\n if (this.state.isShowChangePassword) {\r\n //console.log(\"isShow is \", this.state.isShowChangePassword)\r\n this.setState({ isChangePassword: false })\r\n }\r\n }\r\n onChangeOldPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessageOldPassword: null });\r\n if (Validators.isNotEmpty(password)) {\r\n this.setState({ errorMessageOldPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this.setState({ oldPassword: password })\r\n this.setState({ disableNewPass: false });\r\n if (\r\n this.state.newPassword != this.state.confirmPassword\r\n && !this.state.newPassword\r\n || !this.state.confirmPassword\r\n ) {\r\n this.setState({ errorMessagePassword: \"กรุณาระบุรหัสผ่าน\" });\r\n this.setState({ errorMessageConfirmPassword: \"กรุณาระบุรหัสผ่าน\" });\r\n\r\n this._classNameRequired(true)\r\n } else {\r\n this._classNameRequired(false)\r\n }\r\n } else {\r\n this.setState({ isChangePassword: false })\r\n this._classNameRequired(false);\r\n this.setState({ disableNewPass: true });\r\n\r\n }\r\n }\r\n onChangeNewPassword = (e) => {\r\n let password = e.target.value;\r\n this.setState({ errorMessagePassword: null });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n this._classNameRequired(true)\r\n } else {\r\n this.setState({ newPassword: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangeConfirmPassword = (e) => {\r\n let cfpassword = e.target.value;\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n //console.log(\"isChangePassword \", this.state.isChangePassword, \"pass \", this.state.newPassword, \" cfpass \", cfpassword)\r\n if (this.state.newPassword == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ isChangePassword: true })\r\n this._classNameRequired(false)\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n\r\n this._classNameRequired(true)\r\n }\r\n }\r\n onChangePasswordVisible = (e) => {\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n //> EVENT WASTEPRO\r\n onCheckChange = (e) => {\r\n const { value, checked } = e.target\r\n debugger\r\n switch (checked) {\r\n case true:\r\n if (this.state.wasteTypesSelected.indexOf(value) == -1) {\r\n this.state.wasteTypesSelected.push(value)\r\n }\r\n break;\r\n case false:\r\n if (this.state.wasteTypesSelected.indexOf(value) > -1) {\r\n let tmpFilter = this.state.wasteTypesSelected.filter(\r\n item => item.value != value.value\r\n );\r\n console.log(tmpFilter)\r\n this.setState({\r\n wasteTypesSelected: tmpFilter\r\n })\r\n }\r\n break;\r\n }\r\n }\r\n setUid = (userInfo) => {\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n this.setState({ uid: userInfo.user_wasteTypes[key].uid })\r\n }\r\n }\r\n }\r\n //> Event map\r\n onMarkerMoved = (e) => {\r\n //console.log(\"--onMarkerMoved\");\r\n //console.log(e.latLng);\r\n //console.log(e);\r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n }\r\n onCenterChanged = (coor) => {\r\n if (coor) {\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n\r\n }\r\n\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n //console.log(\"ExampleWasteproChangePassword :render\", this.state)\r\n const { userInfoModel } = this.props\r\n\r\n // const fileIden = (\r\n //
    Loading...
    \r\n // )\r\n // const fileRegis = (\r\n //
    Loading...
    \r\n // )\r\n // const filePerson = (\r\n //
    Loading...
    \r\n // )\r\n // const fileShop = (\r\n //
    Loading...
    \r\n // )\r\n\r\n // if (userInfoModel) {\r\n // fileIden = (\r\n // \r\n // )\r\n // fileRegis = (\r\n // \r\n // )\r\n // filePerson = (\r\n // \r\n // )\r\n // fileShop = (\r\n // \r\n // )\r\n // }\r\n\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n
    \r\n
    \r\n
    \r\n

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

    \r\n {/* {this.state.isShowChangePassword == true && */}\r\n \r\n {/* } */}\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n {this.props.updateWasteproProfileLoad.isLoading &&\r\n \r\n }\r\n {!this.props.updateWasteproProfileLoad.isLoading &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinceModel: state.location.province,\r\n currentDistrictModel: state.location.district,\r\n currentSubDistrictModel: state.location.subDistrict,\r\n cardProvinceModel: state.location.cardProvince,\r\n cardDistrictModel: state.location.cardDistrict,\r\n cardSubDistrictModel: state.location.cardSubDistrict,\r\n userInfoModel: state.userInfo.data,\r\n banksModel: state.master.banks,\r\n changePasswordModel: state.changePassword.data,\r\n\r\n locationLoad: state.location,\r\n userInfoLoad: state.userInfo,\r\n masterLoad: state.master,\r\n changePasswordLoad: state.changePassword,\r\n updateWasteproProfileLoad: state.updateWasteproProfile\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWasteproChangePassword)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderAutoComplete, orderSearch } from '../../service/order.service'\r\nimport { autoCompleteWastetran, autoCompleteProduct } from '../../service/autocomplete.service'\r\nimport { PrintDialogView } from '../dialog/PrintDialogView';\r\n\r\nimport { dateFormat } from '../../utils/utilFunctions'\r\n\r\nclass ExampleWasteproReportBuyingCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n showDialog: false,\r\n classNameRequired: {},\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n orderNameSuggestions: null,\r\n orderNameList: null,\r\n statusValue: 1000,\r\n //statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'พิมพ์ใบสรุป', body: this.actionTemplate },\r\n { field: 'col2', header: 'เลขที่', sortable: true },\r\n { field: 'col3', header: 'รายการ', sortable: true },\r\n { field: 'col4', header: 'วันที่ส่ง', sortable: true },\r\n { field: 'col5', header: 'ปริมาณส่ง (Kg)', sortable: true , className: 'p-text-right'},\r\n { field: 'col6', header: 'ราคา/หน่วย (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col7', header: 'ราคาขาย (บาท)', sortable: true , className: 'p-text-right'},\r\n { field: 'col8', header: 'ผู้ส่ง', sortable: true },\r\n { field: 'col9', header: 'สถานะ', sortable: true },\r\n ],\r\n pageNumber: 0,\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSuggestorderNames = this.onSuggestorderNames.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n this.onClickCancel = this.onClickCancel.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :componentDidMount\")\r\n let criteria = {order_status: this.state.statusValue};\r\n\r\n this.props.dispatch(orderSearch(\"wastepro\", criteria));\r\n\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :componentWillReceiveProps\")\r\n if (nextProps.autoCompleteProduct && !nextProps.autoCompleteProduct.isLoading && !nextProps.autoCompleteProduct.isFailed) {\r\n if (nextProps.autoCompleteProduct.data) {\r\n this.setState({ orderNameList: nextProps.autoCompleteProduct.data })\r\n }\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(orderAutoComplete(nextState.order_id));\r\n }\r\n if (nextState.order_name != this.state.order_name) {\r\n nextProps.dispatch(autoCompleteProduct(nextState.order_name));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteWastetran(nextState.collector_name));\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let search = true;\r\n let criteria = {};\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n\r\n if (this.state.orderNameList instanceof Array) {\r\n var tmpCode = this.state.orderNameList.filter((rs) => {\r\n return rs.product_name.indexOf(this.state.order_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.product_code = tmpCode[0].product_code\r\n }\r\n }\r\n }\r\n if (this.state.statusValue || this.state.statusValue == 0 ) {\r\n criteria.order_status = this.state.statusValue\r\n }\r\n if (this.state.pickupDate) {\r\n var date = new Date(this.state.pickupDate.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_start = date.toISOString();\r\n if (!this.state.pickupDateTo) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.pickupDateTo) {\r\n var date = new Date(this.state.pickupDateTo.getTime() + 7 * 60 * 60000);\r\n criteria.pickup_date_end = date.toISOString();\r\n if (!this.state.pickupDate) {\r\n search = false;\r\n } else {\r\n search = true;\r\n }\r\n }\r\n if (this.state.collector_name) {\r\n var tmpCode = this.props.autoCompleteWastetran.data.filter((rs) => {\r\n return rs.search_name.indexOf(this.state.collector_name) != -1\r\n })\r\n if (tmpCode[0]) {\r\n criteria.user2_search_name = tmpCode[0].uid\r\n }\r\n }\r\n console.log(criteria)\r\n if (search) {\r\n this.props.dispatch(orderSearch(\"wastepro\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n } else {\r\n this.showWarn(\"ไม่สามารถค้นหา กรุณาตรวจสอบ\");\r\n }\r\n }\r\n onClickCancel = (e) => {\r\n this.setState({ order_id: null });\r\n this.setState({ order_name: null });\r\n this.setState({ statusValue: 1000 });\r\n this.setState({ pickupDate: null });\r\n this.setState({ pickupDateTo: null });\r\n this.setState({ appointmentDate: null });\r\n this.setState({ appointmentDateTo: null });\r\n this.setState({ collector_name: null });\r\n\r\n let criteria = {order_status: 1000};\r\n this.props.dispatch(orderSearch(\"wastepro\", criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.orderAutoComplete\r\n && this.props.orderAutoComplete.data\r\n && !this.props.orderAutoComplete.isLoading\r\n ) {\r\n // let results = this.props.orderAutoComplete.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.orderAutoComplete.data });\r\n }\r\n }\r\n\r\n onSuggestorderNames = (e) => {\r\n\r\n if (this.props.autoCompleteProduct\r\n && this.props.autoCompleteProduct.data\r\n && !this.props.autoCompleteProduct.isLoading\r\n ) {\r\n // this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data });\r\n\r\n this.setState({ orderNameSuggestions: this.props.autoCompleteProduct.data.suggest });\r\n }\r\n\r\n }\r\n onSuggestCollectionNames = (e) => {\r\n\r\n if (this.props.autoCompleteWastetran\r\n && this.props.autoCompleteWastetran.data\r\n && !this.props.autoCompleteWastetran.isLoading\r\n ) {\r\n\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteWastetran.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { value, name } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n return
    \r\n window.open('/#/report-u3?order_code='+rowData.col2, \"_blank\") }\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error \"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWasteproReportBuyingCtrl :render\")\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n for (let keyDetail in entity.orderDetail) {\r\n let entityDetail = entity.orderDetail[keyDetail]\r\n if (entityDetail) {\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entityDetail.product_name,\r\n \"col4\": dateFormat(entity.delivery_date),\r\n \"col5\": entityDetail.delivery_quantity_kk,\r\n \"col6\": entityDetail.price_per_unit,\r\n \"col7\": entityDetail.delivery_quantity_kk * entityDetail.price_per_unit,\r\n \"col8\": entity.u2_fullname,\r\n \"col9\": entity.order_status_name\r\n }\r\n data.push(tmpData);\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    รายงานการรับซื้อ

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n this.setState({ showDialog: false })}\r\n showDialog={this.state.showDialog}\r\n />\r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n orderAutoComplete: state.orderAutoComplete,\r\n orderSearch: state.orderSearch,\r\n autoCompleteProduct: state.autoCompleteProduct,\r\n autoCompleteWastetran: state.autoCompleteWastetran\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWasteproReportBuyingCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\n//import { WastetranTransportInfo } from '../wastetran-noti-recycle/WastetranTransportInfo';\r\nimport { WastetranOrderDetails } from '../wastetran-noti-recycle/WastetranOrderDetails';\r\nimport { WastetranMoreItems } from '../wastetran-noti-recycle/WastetranMoreItems';\r\nimport TransportsView from '../transport/TransportsView';\r\nimport { AccordionTab, Accordion } from 'primereact/accordion';\r\n\r\nimport { Validators } from '../../utils'\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\n\r\nclass ExampleWasteproNotiRecycleCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n //TransportView\r\n orderIdSuggestions: null,\r\n\r\n //Map\r\n marker: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapZoom: 11,\r\n mapCenter: { lat: 13.7734283, lng: 100.57383099999993 }\r\n }\r\n\r\n //Event Map\r\n this.onMarkerMoved = this.onMarkerMoved.bind(this);\r\n }\r\n\r\n orderIds = ['1111', '2222', '3333', '4444', '5555', '6666', '7777', '8888', '9999'];\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :componentDidUpdate\")\r\n\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> EVENT\r\n\r\n //>Handle\r\n suggestorderIds = (event) => {\r\n let results = this.orderIds.filter((brand) => {\r\n return brand.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n\r\n this.setState({ orderIdSuggestions: results });\r\n }\r\n\r\n //> Event Map\r\n onMarkerMoved = (e) => {\r\n var coor = e.latLng.toJSON();\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleWasteproNotiRecycleCtrl :render\")\r\n let contentFindOrder = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ brand: e.value })}\r\n suggestions={this.state.orderIdSuggestions}\r\n completeMethod={this.suggestorderIds.bind(this)} />\r\n \r\n
    \r\n
    \r\n )\r\n\r\n let gmap = {\r\n marker: this.state.marker,\r\n mapCenter: this.state.mapCenter,\r\n mapZoom: this.state.mapZoom\r\n };\r\n let contentTransportInfo = (\r\n \r\n \r\n {Validators.isNotEmpty(this.state.orderIdSuggestions) &&\r\n \r\n }\r\n {Validators.isEmpty(this.state.orderIdSuggestions) &&\r\n \r\n\r\n }\r\n \r\n \r\n {Validators.isNotEmpty(this.state.orderIdSuggestions) &&\r\n \r\n }\r\n {Validators.isEmpty(this.state.orderIdSuggestions) &&\r\n \r\n\r\n }\r\n \r\n \r\n )\r\n\r\n let contentOderDetail = (\r\n \r\n )\r\n\r\n let contentMoreItems = (\r\n \r\n )\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    แจ้งรับขยะรีไซเคิล

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

    รับขยะรีไซเคิล

    \r\n {contentFindOrder}\r\n {contentTransportInfo}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    รายละเอียดสินค้า

    \r\n {contentOderDetail}\r\n {contentMoreItems}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleWasteproNotiRecycleCtrl)\r\n","import React, { Component } from 'react';\r\n\r\n\r\nexport const WasteproOverviews = ({ outstanding_balance_thb,payment_amount_thb,total_payment_amount_thb}) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินค้างชำระ\r\n
    \r\n
    {outstanding_balance_thb}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินชำระแล้ว\r\n
    \r\n
    {payment_amount_thb}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ยอดเงินทั้งหมด\r\n
    \r\n
    {total_payment_amount_thb}
    \r\n
    บาท
    \r\n
    \r\n
    \r\n
    \r\n )\r\n\r\n}","import React, { Component } from 'react';\r\n\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\n\r\nexport const DatatableWasteproDashView = ({ data, header }) => {\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}","\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\n\r\nimport {\r\n WASTEPRO_ORDER_SEARCH\r\n , WASTEPRO_DASH_PAYMENT\r\n , WASTEPRO_DASH_PRODUCT\r\n , WASTEPRO_DASH_SUMMARY_OVERDUE\r\n , WASTEPRO_DASH_SUMMARY_PAID\r\n , WASTEPRO_DASH_SUMMARY_PRODUCTS,\r\n WASTEPRO_DASH_ORDER_STAT\r\n} from './actionType'\r\n\r\n\r\nexport const wasteproOrderSearch = (criteria) => (dispatch) => {\r\n dispatch({ type: WASTEPRO_ORDER_SEARCH.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/order/search`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: JSON.stringify(criteria)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_ORDER_SEARCH.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_ORDER_SEARCH.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const getWasteproDashPayment = () => (dispatch) => {\r\n dispatch({ type: WASTEPRO_DASH_PAYMENT.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/dashboard/payment`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_DASH_PAYMENT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_DASH_PAYMENT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getWasteproDashProduct = () => (dispatch) => {\r\n dispatch({ type: WASTEPRO_DASH_PRODUCT.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/dashboard/product`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_DASH_PRODUCT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_DASH_PRODUCT.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getWasteproDashSummary = (invoice_status) => (dispatch) => {\r\n switch (invoice_status) {\r\n case 2:\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_OVERDUE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/dashboard/summary/${invoice_status}`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_OVERDUE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_OVERDUE.FAILURE, error })\r\n })\r\n break;\r\n case 88:\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_PAID.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/dashboard/summary/${invoice_status}`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_PAID.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_PAID.FAILURE, error })\r\n })\r\n break;\r\n case 0:\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_PRODUCTS.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/dashboard/summary/${invoice_status}`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_PRODUCTS.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_DASH_SUMMARY_PRODUCTS.FAILURE, error })\r\n })\r\n break;\r\n }\r\n\r\n\r\n}\r\n\r\nexport const getWasteproDashOrderStat = () => (dispatch) => {\r\n dispatch({ type: WASTEPRO_DASH_ORDER_STAT.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/wastepro/dashboard/orderstat`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: WASTEPRO_DASH_ORDER_STAT.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: WASTEPRO_DASH_ORDER_STAT.FAILURE, error })\r\n })\r\n}","import React, { Component } from 'react';\r\nimport { Galleria } from 'primereact/galleria';\r\nimport { connect } from 'react-redux';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as ServerAPI from '../../components/administrator/service';\r\nimport * as qs from 'query-string'\r\nimport { Button } from 'primereact/button';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\n\r\n\r\nexport class WasteproNewsDetail extends Component {\r\n\r\n constructor() {\r\n super();\r\n\r\n this.state = {\r\n images1: null,\r\n activeIndex: 2,\r\n list_news: null,\r\n showProgress: false,\r\n images: [\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3' },\r\n { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3' },\r\n { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145' },\r\n { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3' },\r\n { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1' },\r\n ]\r\n };\r\n\r\n this.itemTemplate = this.itemTemplate.bind(this);\r\n this.previewTemplate = this.previewTemplate.bind(this);\r\n this.onItemChange = this.onItemChange.bind(this)\r\n\r\n\r\n this.responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n }\r\n\r\n componentDidMount() {\r\n console.log(this.props);\r\n this.setState({ showProgress: true })\r\n\r\n if (this.props.location) {\r\n if (this.props.location.search) {\r\n let newsCode = qs.parse(this.props.location.search);\r\n this.setState({ newsgid: newsCode.newsCode });\r\n console.log(newsCode.newsCode);\r\n ServerAPI.getNewsByCode(newsCode.newsCode).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log('sucsress');\r\n this.setState(\r\n {\r\n list_news: res[0],\r\n activeIndex: res[0].defaultImageIndex,\r\n showProgress: false\r\n }\r\n )\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }\r\n\r\n\r\n onOpenFiles(e) {\r\n console.log(e)\r\n\r\n var imgList = [];\r\n e.newsImageDetails.forEach((item, index) => {\r\n let array = {\r\n url: `${API_ROOT}/user/news/getfile/${item.imageName}`,\r\n name: item.name,\r\n gid: item.gid,\r\n index: index,\r\n }\r\n imgList.push(array)\r\n console.log(imgList)\r\n this.setState({ fileImgList: imgList });\r\n })\r\n }\r\n\r\n onItemChange(event) {\r\n this.setState({ activeIndex: event.index });\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.alt}\r\n
    \r\n );\r\n\r\n }\r\n\r\n previewTemplate(item) {\r\n console.log(item);\r\n return {item.alt}\r\n }\r\n\r\n toFormatDateTime(dateTime){\r\n return
    \r\n \r\n {dateTime}\r\n \r\n \r\n \r\n {dateTime}\r\n
    ; \r\n }\r\n to_create_date(rowData, column){\r\n return this.toFormatDateTime(rowData.createdDate);\r\n }\r\n\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n\r\n render() {\r\n\r\n console.log(this.state.list_news);\r\n if (this.state.list_news == null) {\r\n console.log(this.state.list_news);\r\n if (this.state.showProgress == true) {\r\n return
    \r\n {this.showProgressSpinner()}\r\n
    \r\n } else {\r\n return
    \r\n เกิดข้อผิดพลาด\r\n \r\n
    ย้อนกลับ
    \r\n
    \r\n
    \r\n }\r\n\r\n }\r\n return (\r\n
    \r\n {/*

    ข่าวสาร

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.list_news.newsTitle}\r\n \r\n\r\n

    \r\n
    \r\n
    \r\n \r\n C3leng News\r\n \r\n
    \r\n \r\n \r\n {this.toFormatDateTime(this.state.list_news.updateDate)}\r\n \r\n\r\n

    \r\n \r\n

    \r\n
    \r\n

    \r\n \r\n    {this.state.list_news.newsDetail}\r\n \r\n

    \r\n
    \r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastegenBalance: state.wastegenBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastegenDashLastOrder: state.getWastegenDashLastOrder,\r\n getWastegenDashProduct: state.getWastegenDashProduct\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproNewsDetail)","import React from 'react'\r\nimport { Panel } from 'primereact/panel'\r\nimport { Message } from 'primereact/message'\r\nimport { ScrollPanel } from 'primereact/scrollpanel';\r\nimport { Card } from 'primereact/card';\r\nimport { Button } from 'primereact/button';\r\nimport { Galleria } from 'primereact/galleria';\r\nimport { Document, Page, Text, View, StyleSheet, } from '@react-pdf/renderer';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Route, Link } from 'react-router-dom'\r\nimport {WasteproNewsDetail} from '../wastepro/WasteproNewsDetail'\r\n\r\nimport { dateFormat, plusDate, convertDateMonthNumberToWord } from '../../utils/utilFunctions'\r\n\r\nexport const WasteProNewView = ({ newsDataList }) => {\r\n const data = newsDataList || []\r\n let wastepronews = [];\r\n data.forEach(element => {\r\n if(element.isWastePro){\r\n wastepronews.push(element);\r\n }\r\n \r\n });\r\n //console.log(data);\r\n // const images = [\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 1' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 2' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 3' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 4' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 5' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 6' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117237663_2757130567905276_6786226976383872435_o.jpg?_nc_cat=101&_nc_sid=8024bb&_nc_eui2=AeFfimm6COF5Rb8llRypOyR9iBDSpNwljcOIENKk3CWNw_BOwHqriQWmgTFpE2leoTUcwpiiGLijEHBVu2t-5BGD&_nc_ohc=k__BYJZ_suoAX-qafdn&_nc_ht=scontent.fbkk6-2.fna&oh=3d35dfdf12cb31c71db066f06bf6ee40&oe=5F510145', headernews: 'หัว 7' },\r\n // { url: 'https://scontent.fbkk6-2.fna.fbcdn.net/v/t1.0-9/117378877_2757130544571945_5786670707519545710_n.jpg?_nc_cat=104&_nc_sid=8024bb&_nc_eui2=AeF_HEMDuBT_D5ExLWHZMj37R_4XwAx08x1H_hfADHTzHSIbPF1kkKHVii43sAUhUFVa89Mw7bjSei5lePa_6EEj&_nc_ohc=-l3e9zdn0cMAX9wLtE-&_nc_ht=scontent.fbkk6-2.fna&oh=e5281c53ebf72010422af826308450c7&oe=5F509DA3', headernews: 'หัว 8' },\r\n // { url: 'https://i1.wp.com/marketeeronline.co/wp-content/uploads/2020/03/1..jpg?resize=1024%2C683&ssl=1', headernews: 'หัว 9' },\r\n // ]\r\n\r\n\r\n const responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n\r\n const itemTemplate = (item) => {\r\n return (\r\n
    \r\n {item.alt}\r\n
    \r\n );\r\n }\r\n\r\n const onClickToNews = () => {\r\n // this.props.history.push(\"#/wastegen/news-detail\");\r\n\r\n }\r\n\r\n\r\n \r\n\r\n const previewTemplate = (item) => {\r\n if (item.isWastePro)\r\n return (
    \r\n {item.alt}\r\n \r\n {item.newsTitle}\r\n \r\n \r\n {item.newsDetail}\r\n \r\n \r\n
    \r\n )\r\n }\r\n\r\n const styles = StyleSheet.create({\r\n\r\n container: {\r\n position: 'relative',\r\n //width: '50%'\r\n },\r\n image: {\r\n display: 'block',\r\n width: '100%',\r\n height: 'auto',\r\n \r\n },\r\n overlay: {\r\n position: 'absolute',\r\n bottom: '0',\r\n left: '0',\r\n right: '0',\r\n backgroundColor: '#0000007e',\r\n //opacity:'70%',\r\n overflow: 'hidden',\r\n width: '100%',\r\n height: '0',\r\n transition: '.5s ease',\r\n height: '20%'\r\n },\r\n\r\n textheader: {\r\n color: '#a1db89',\r\n fontSize: '20px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '85%',\r\n left: '44%',\r\n width: '80%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n },\r\n textdetail: {\r\n color: 'white',\r\n fontSize: '15px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n whiteSpace: 'nowrap',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '94%',\r\n left: '44%',\r\n width: '80%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n },\r\n text2: {\r\n color: '#a1db89',\r\n fontSize: '15px',\r\n position: 'absolute',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n zIndex: '1',\r\n top: '94%',\r\n left: '140%',\r\n width: '100%',\r\n height: 'auto',\r\n transform: 'translate(-50%, -50%)',\r\n mstransform: 'translate(-50%, -50%)',\r\n textDecoration: 'underline'\r\n },\r\n });\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {/* {data.length == 0 && */}\r\n
    \r\n {/* เริ่มให้บริการ 1 มีนาคม 2563 เป็นต้นไป */}\r\n\r\n
    \r\n\r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n

    * ท่านเป็นผู้รับผิดชอบราคาสินค้า กรุณาปรับปรุงราคาให้เป็นปัจจุบันเสมอ

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n {/* */}\r\n {/* \r\n หัวข่าว\r\n */}\r\n {/* */}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* } */}\r\n {/* {data.length > 0 &&\r\n
  • \r\n {data[data.length-1].messages}\r\n
  • \r\n } */}\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { WasteproOverviews } from '../wastepro-dashboard/WasteproOverviews';\r\nimport { DatatableWasteproDashView } from '../data-table/DatatableWasteproDashView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\n\r\nimport { userAnnounce } from '../../service/user.service';\r\nimport { addCommaAndDotFromNumberOrStr } from '../../utils/utilFunctions';\r\nimport {\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n} from '../../service/wastepro.service';\r\nimport { WasteProNewView } from '../waste-news/WasteProNewView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport * as ServerAPI from '../../components/administrator/service';\r\n\r\n\r\nclass WasteproDashboard extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n dummyData: [\r\n { order: 'ขวดแก้ว(สีชา,สีเขียว,สีขาว)', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'ขวดพลาสติกใส', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'อลูมิเนียม', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'กระดาษ', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'กล่องนม', amount: 0, unit: '0 kg', price: 0 },\r\n ]\r\n }\r\n this.getNewsList = this.getNewsList.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.getNewsList();\r\n console.log(\"WasteproDashboard :componentDidMount\")\r\n this.props.dispatch(userAnnounce())\r\n this.props.dispatch(getWasteproDashPayment());\r\n\r\n // this.props.dispatch(getWasteproDashProduct());\r\n this.props.dispatch(getWasteproDashOrderStat());\r\n\r\n this.props.dispatch(getWasteproDashSummary(2));\r\n this.props.dispatch(getWasteproDashSummary(88));\r\n this.props.dispatch(getWasteproDashSummary(0));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WasteproDashboard :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WasteproDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WasteproDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WasteproDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n getNewsList(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAllNews().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n var list = [];\r\n \r\n res.forEach((obj,index) => {\r\n let userType = []\r\n let wastegen = '';\r\n let wastetran = '';\r\n let wastepro = '';\r\n let userTypeLabel = '';\r\n let newFileObj = []\r\n if(obj.isWasteGen){\r\n let type = {name: 'ผู้รักษ์โลก', code: '1'}\r\n userType.push(type)\r\n wastegen = 'ผู้รักษ์โลก'\r\n }\r\n if(obj.isWasteTran){\r\n let type = {name: 'ทีมขนส่งซีซาเล้ง', code: '2'}\r\n userType.push(type)\r\n wastetran = 'ทีมขนส่งซีซาเล้ง'\r\n }\r\n if(obj.isWastePro){\r\n let type = {name: 'ศูนย์จัดการฯซีซาเล้ง', code: '3'}\r\n userType.push(type)\r\n wastepro = 'ศูนย์จัดการฯซีซาเล้ง'\r\n }\r\n\r\n if(wastegen && wastetran && wastepro){\r\n userTypeLabel = 'ทุกกลุ่ม'\r\n }else{\r\n userTypeLabel = wastegen+\"\\n\"+wastetran+\"\\n\"+wastepro\r\n }\r\n\r\n obj.newsImageDetails.forEach(item => {\r\n let newValiable = {\r\n defaultImage: item.defaultImage,\r\n gid: item.gid,\r\n name: item.imageName,\r\n imageName: item.imageName,\r\n isDeleted: item.isDeleted,\r\n }\r\n newFileObj.push(newValiable)\r\n });\r\n\r\n let arr = {\r\n gid: obj.gid,\r\n newsCode: obj.newsCode,\r\n newsTitle: obj.newsTitle,\r\n updateDate: obj.updateDate,\r\n createdDate: obj.createdDate,\r\n newsDetail: obj.newsDetail,\r\n\r\n defaultImageIndex: obj.defaultImageIndex,\r\n defaultImageName: obj.defaultImageName,\r\n newsImageDetails: newFileObj,\r\n\r\n userType: userType,\r\n userTypeLabel: userTypeLabel,\r\n isWasteGen: obj.isWasteGen,\r\n isWasteTran: obj.isWasteTran,\r\n isWastePro: obj.isWastePro,\r\n }\r\n list.push(arr)\r\n\r\n });\r\n console.log(list)\r\n this.setState({ newsDataList: list })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }\r\n\r\n render() {\r\n const {\r\n userAnnounce,\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n } = this.props\r\n\r\n //>ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n\r\n //>Overview\r\n let outstanding_balance_thb = 0.00;\r\n let payment_amount_thb = 0.00;\r\n let total_payment_amount_thb = 0.00;\r\n if (!getWasteproDashSummary.isLoading && !getWasteproDashSummary.isFailed) {\r\n if (getWasteproDashPayment.data) {\r\n outstanding_balance_thb = getWasteproDashPayment.data.outstanding_balance_thb\r\n payment_amount_thb = getWasteproDashPayment.data.payment_amount_thb\r\n total_payment_amount_thb = getWasteproDashPayment.data.total_payment_amount_thb\r\n }\r\n }\r\n const contentOverview = (\r\n \r\n );\r\n\r\n //>Overdue\r\n let dataListOverdue = []\r\n if (!getWasteproDashSummary.isLoading && !getWasteproDashSummary.isFailed) {\r\n if (getWasteproDashSummary.dataOverdue && getWasteproDashSummary.dataOverdue.length > 0) {\r\n for (let key in getWasteproDashSummary.dataOverdue) {\r\n let entity = getWasteproDashSummary.dataOverdue[key]\r\n let prepareData = {\r\n order: entity.product_name,\r\n amount: addCommaAndDotFromNumberOrStr(entity.price_cost),\r\n unit: entity.delivery_quantity_kk ,\r\n price: addCommaAndDotFromNumberOrStr(entity.price_per_unit_avg)\r\n }\r\n dataListOverdue.push(prepareData);\r\n }\r\n }\r\n }\r\n const contentOverdue = (\r\n \r\n )\r\n\r\n //>Paid\r\n let dataListPaid = []\r\n if (!getWasteproDashSummary.isLoading && !getWasteproDashSummary.isFailed) {\r\n if (getWasteproDashSummary.dataPaid && getWasteproDashSummary.dataPaid.length > 0) {\r\n for (let key in getWasteproDashSummary.dataPaid) {\r\n let entity = getWasteproDashSummary.dataPaid[key]\r\n let prepareData = {\r\n order: entity.product_name,\r\n amount: addCommaAndDotFromNumberOrStr(entity.price_cost),\r\n unit: entity.delivery_quantity_kk ,\r\n price: addCommaAndDotFromNumberOrStr(entity.price_per_unit_avg)\r\n }\r\n dataListPaid.push(prepareData);\r\n }\r\n }\r\n }\r\n const contentPaid = (\r\n \r\n )\r\n\r\n //>Products\r\n let dataListProducts = []\r\n if (!getWasteproDashSummary.isLoading && !getWasteproDashSummary.isFailed) {\r\n if (getWasteproDashSummary.dataProducts && getWasteproDashSummary.dataProducts.length > 0) {\r\n for (let key in getWasteproDashSummary.dataProducts) {\r\n let entity = getWasteproDashSummary.dataProducts[key]\r\n let prepareData = {\r\n order: entity.product_name,\r\n amount: addCommaAndDotFromNumberOrStr(entity.price_cost),\r\n unit: entity.delivery_quantity_kk,\r\n price: addCommaAndDotFromNumberOrStr(entity.price_per_unit_avg)\r\n }\r\n dataListProducts.push(prepareData);\r\n }\r\n }\r\n }\r\n const contentProducts = (\r\n \r\n )\r\n\r\n //>statistic order\r\n let dataList = []\r\n if (!getWasteproDashProduct.isLoading && !getWasteproDashProduct.isFailed) {\r\n if (getWasteproDashProduct.data && getWasteproDashProduct.data.length > 0) {\r\n for (let key in getWasteproDashProduct.data) {\r\n let entity = getWasteproDashProduct.data[key]\r\n let prepareData = {\r\n order: entity.product_type_name,\r\n quantity: entity.quantity_kk \r\n };\r\n dataList.push(prepareData);\r\n }\r\n }\r\n }\r\n console.log(dataList)\r\n let textHeader = (\r\n \r\n \r\n สถิติการรับซื้อ\r\n \r\n )\r\n const contentStatisticOrders = (\r\n \r\n )\r\n //> สถิติการรับงาน\r\n let waitDate = null;\r\n let waitOrder = null;\r\n let waitSendDate = null;\r\n let waitSendOrder = null;\r\n let closeDate = null;\r\n let closeOrder = null;\r\n let cancelDate = null;\r\n let cancelOrder = null;\r\n if (!getWasteproDashOrderStat.isLoading && !getWasteproDashOrderStat.isFailed) {\r\n if (getWasteproDashOrderStat.data && getWasteproDashOrderStat.data.length > 0) {\r\n getWasteproDashOrderStat.data.map((value) => {\r\n switch (getStatus(value.order_status).value) {\r\n case 2:\r\n waitDate=value.last_update_date\r\n waitOrder=value.stat_count\r\n break;\r\n case 3:\r\n waitSendDate=value.last_update_date\r\n waitSendOrder=value.stat_count\r\n break;\r\n case 88:\r\n closeDate=value.last_update_date\r\n closeOrder=value.stat_count\r\n break;\r\n case 99:\r\n cancelDate=value.last_update_date\r\n cancelOrder=value.stat_count\r\n break;\r\n }\r\n })\r\n \r\n }\r\n }\r\n const contentStatisticOrdersMain = (\r\n \r\n );\r\n\r\n\r\n\r\n return (\r\n
    \r\n \r\n {contentNews}\r\n

    Dashboard

    \r\n
    \r\n
    \r\n
    \r\n {contentOverview}\r\n
    \r\n {contentOverdue}\r\n
    \r\n {contentPaid}\r\n
    \r\n {contentProducts}\r\n
    \r\n
    \r\n {/* {contentStatisticOrders} */}\r\n {contentStatisticOrdersMain}\r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAnnounce: state.userAnnounce,\r\n getWasteproDashPayment: state.getWasteproDashPayment,\r\n getWasteproDashProduct: state.getWasteproDashProduct,\r\n getWasteproDashSummary: state.getWasteproDashSummary,\r\n getWasteproDashOrderStat:state.getWasteproDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproDashboard)","import React from 'react';\r\nconst _ = require(\"lodash\");\r\nconst { compose, withProps, lifecycle } = require(\"recompose\");\r\nconst {\r\n withScriptjs,\r\n withGoogleMap,\r\n GoogleMap,\r\n Marker,\r\n} = require(\"react-google-maps\");\r\nconst { SearchBox } = require(\"react-google-maps/lib/components/places/SearchBox\");\r\n\r\nexport const MapMarkers = compose(\r\n withProps({\r\n googleMapURL: \"https://maps.googleapis.com/maps/api/js?key=AIzaSyA4jjZnsw8iYo3eDeZROTP-S63t1wfPYyo&v=3&libraries=geometry,drawing,places\",\r\n loadingElement:
    ,\r\n containerElement:
    ,\r\n mapElement:
    ,\r\n \r\n }),\r\n lifecycle({\r\n componentWillMount() {\r\n const refs = {}\r\n \r\n this.setState({\r\n bounds: null, \r\n center: { lat: 13.7734283, lng: 100.57383099999993 },\r\n \r\n onBoundsChanged: _.debounce(\r\n () => {\r\n \r\n \r\n let { onBoundsChange ,center} = this.props\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: center\r\n })\r\n console.log(\"props\"+ JSON.stringify(center));\r\n if (onBoundsChange) {\r\n onBoundsChange(refs.map)\r\n }\r\n },\r\n 100,\r\n { maxWait: 500 }\r\n ),\r\n onMapMounted: ref => {\r\n refs.map = ref;\r\n console.log(ref);\r\n },\r\n /*onBoundsChanged: () => {\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: refs.map.getCenter(),\r\n })\r\n },*/\r\n \r\n })\r\n },\r\n }),\r\n withScriptjs,\r\n withGoogleMap,\r\n)(props =>\r\n \r\n \r\n \r\n\r\n \r\n {props.markers.map((marker, index) =>\r\n \r\n )}\r\n \r\n\r\n \r\n);\r\n\r\n","import React, { Component } from \"react\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Panel } from \"primereact/components/panel/Panel\";\r\nimport { Checkbox } from \"primereact/components/checkbox/Checkbox\";\r\nimport { Button } from \"primereact/components/button/Button\";\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { InputText } from \"primereact/components/inputtext/InputText\";\r\nimport { InputTextarea } from \"primereact/components/inputtextarea/InputTextarea\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { FullCalendar } from \"primereact/fullcalendar\";\r\nimport { Card } from \"primereact/card\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MapWithASearchBox } from \"../../features/map/MapWithASearchBox\";\r\nimport { MapMarkers } from \"../../features/map/MapMarkers\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Avatar } from \"../../features/widget/Avatar\";\r\nimport { API_ROOT } from \"../../constants/api\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport * as ServerAPI from \"./service\";\r\nimport * as LocationService from \"../../service/LocationService\";\r\nimport * as UserService from \"../../service/user.service\";\r\nimport * as MasterService from \"../../service/MasterService\";\r\nimport * as FileService from \"../../service/file.service\";\r\nimport * as DashBoardService from \"./service\";\r\nimport { isEmpty } from \"../../utils/validators\";\r\nimport { CEInputText, CECalendar, CEDropdown } from \"../../features/input\";\r\nimport { CEFileUpload } from \"../../features/widget\";\r\nimport { Dialog } from \"primereact/dialog\";\r\n\r\nclass WasteproManageProductPrice extends Component {\r\n static propTypes = {};\r\n constructor() {\r\n super();\r\n this.state = {\r\n addressDetail: \"\",\r\n priceList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: \"\",\r\n searchProductType: \"\",\r\n searchProduct: \"\",\r\n productSelected: \"\",\r\n priceSelected1: \"\",\r\n\r\n memberStore1: [\r\n { label: \"เลือกประเภทสินค้า\", value: 0 },\r\n { label: \"กระดาษ\", value: 1 },\r\n { label: \"พลาสติก\", value: 2 },\r\n { label: \"ประเภทที่ 2\", value: 3 },\r\n ],\r\n memberStore3: 0,\r\n memberStore4: [\r\n { label: \"เลือกสินค้า\", value: 0 },\r\n { label: \"กระดาษขาวดำ\", value: 1 },\r\n { label: \"กระดาษจับจั๊ว\", value: 2 },\r\n { label: \"กระดาษกล่องลัง\", value: 3 },\r\n ],\r\n\r\n testData: [\r\n {\r\n nameStore: \"ร้านมารวย\",\r\n product_type: \"กระดาษ\",\r\n product: \"กระดาษขาว\",\r\n buy_per_kk: \"10\",\r\n },\r\n {\r\n nameStore: \"ร้านมาจน\",\r\n product_type: \"พลาสติก\",\r\n product: \"ขวดน้ำพลาสติก\",\r\n buy_per_kk: \" 8\",\r\n },\r\n ],\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getsalepricebyu3 = this.getsalepricebyu3.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.getsalepricebyu3ForValid = this.getsalepricebyu3ForValid.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n this.updateStatus = this.updateStatus.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getsalepricebyu3();\r\n this.getsalepricebyu3ForValid();\r\n const {\r\n dashBoardServiceProps,\r\n locationServiceProps,\r\n masterServiceProps,\r\n } = this.props;\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return Progress;\r\n } else return
    ;\r\n }\r\n searchProductList() {\r\n this.setState({ showProgress: true });\r\n var search = {\r\n u3_uid: this.state.memberUid1 || \"\",\r\n product_code: this.state.searchProductCode || \"\",\r\n product_type_code: this.state.searchProductTypeCode || \"\",\r\n };\r\n\r\n ServerAPI.searchSalePriceByU3(search)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ priceList: res });\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false });\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n getsalepricebyu3() {\r\n this.setState({ showProgress: true });\r\n ServerAPI.getsalepricebyu3()\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ priceList: res });\r\n this.setState({ productPriceList: res });\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n getsalepricebyu3ForValid() {\r\n ServerAPI.getsalepricebyu3()\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ productPriceList: res });\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n itemTemplate1(item) {\r\n return
    {item.search_name}
    ;\r\n }\r\n\r\n onproductTypeUpdate(e) {\r\n console.log(e);\r\n this.setState({ productTypeObjUpdate: e.value });\r\n }\r\n onWeightUpdate(e) {\r\n console.log(e);\r\n this.setState({ productObjUpdate: e.value });\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return (\r\n
    \r\n this.onproductPriceUpdate(column.rowData)}\r\n icon=\"pi pi-pencil\"\r\n className=\"p-button\"\r\n >\r\n this.onproductPriceDelete(column.rowData)}\r\n icon=\"fa fa-trash\"\r\n className=\"p-button-warning\"\r\n >\r\n
    \r\n );\r\n }\r\n statusTemplate(rowData, column) {\r\n var label = 'test';\r\n var classname = 'p-button';\r\n var icons = 'pi pi-eye';\r\n if(rowData.is_active == false){\r\n label = 'ไม่ใช้งาน';\r\n classname = 'p-button-warning';\r\n icons = 'pi pi-times';\r\n }\r\n if(rowData.is_active == true){\r\n label = 'ใช้งาน';\r\n classname = 'p-button';\r\n icons = 'pi pi-check';\r\n }\r\n return
    \r\n \r\n
    ;\r\n}\r\n onClickDeleteItem(rowData) {\r\n console.log(\"rowData : \",rowData);\r\n if (rowData !== null) {\r\n var id = rowData.gid;\r\n ServerAPI.removesalepricebyu3(id)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.searchProductList();\r\n // this.getsalepricebyu3ForValid();\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {});\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.priceList;\r\n // array.splice(index, 1);\r\n // this.setState({ priceList: array });\r\n // }\r\n }\r\n update() {\r\n this.setState({ showProgress: true });\r\n console.log(this.state.productPrice);\r\n if (this.state.productPrice) {\r\n var isNotinput =\r\n this.state.productPrice.fee_per_kk == \"\" ||\r\n this.state.isNotValid == true;\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n var data = {\r\n gid: this.state.productPrice.gid,\r\n fee_per_kk: parseFloat(this.state.productPrice.fee_per_kk),\r\n is_active: this.state.productPrice.is_active,\r\n };\r\n\r\n ServerAPI.editSalepricebyu3(data)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getsalepricebyu3();\r\n this.setState({ displayDialog: false });\r\n this.setState({ statusDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n }\r\n delete() {\r\n this.setState({ showProgress: true });\r\n var data = this.state.productPrice;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({ deleteDialog: false });\r\n }\r\n updateStatus(){\r\n this.update()\r\n }\r\n updateProperty(property, value) {\r\n let productPrice = this.state.productPrice;\r\n productPrice[property] = value;\r\n this.setState({ productPrice: productPrice });\r\n }\r\n\r\n onproductPriceUpdate(e) {\r\n console.log(e);\r\n var productTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n };\r\n var productDropdown = {\r\n product_code: e.product_code,\r\n product_name: e.product_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n };\r\n this.setState({\r\n displayDialog: true,\r\n productPrice: Object.assign({}, e),\r\n productTypeObjUpdate: productTypeDropdown,\r\n productObjUpdate: productDropdown,\r\n });\r\n }\r\n onproductPriceDelete(e) {\r\n console.log(e);\r\n let _disableDelete = false;\r\n if(e.is_used){\r\n _disableDelete = true\r\n }\r\n this.setState({\r\n deleteDialog: true,\r\n disableDelete: _disableDelete,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n onStatusUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n statusDialog: true,\r\n isNotValid: false,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n onValidation(valid) {\r\n console.log(valid);\r\n if (!valid) this.setState({ isNotValid: true });\r\n else this.setState({ isNotValid: false });\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"มีบางอย่างผิดพลาด กรุณาตรวจสอบ\",\r\n });\r\n };\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true });\r\n var isNotinput =\r\n this.state.wasteTypeSelected == \"\" ||\r\n this.state.productSelected == \"\" ||\r\n this.state.priceSelected1 == \"\" ||\r\n // this.state.memberUid == '' ||\r\n // this.state.memberName == '' ||\r\n this.state.isNotValid == true;\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n var notValid = false;\r\n this.getsalepricebyu3ForValid();\r\n console.log(this.state.productPriceList);\r\n if (this.state.productPriceList)\r\n this.state.productPriceList.forEach(objProductPrice => {\r\n console.log(objProductPrice.product_type_code);\r\n console.log(this.state.productTypeCode);\r\n console.log(objProductPrice.product_code);\r\n console.log(this.state.productSelected.product_code);\r\n if (\r\n objProductPrice.product_type_code == this.state.productTypeCode &&\r\n objProductPrice.product_code ==\r\n this.state.productSelected.product_code\r\n ) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n var priceList = {\r\n gid: this.state.gid,\r\n u3_uid: this.state.memberUid,\r\n u3_name: this.state.memberName,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_type_name: this.state.wasteTypeSelected.product_type_name,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n fee_per_kk: parseFloat(this.state.priceSelected1),\r\n };\r\n\r\n ServerAPI.Addsalepricebyu3(priceList)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.clearAllDataInput();\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n console.log(this.state.priceList);\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n this.setState({ searchProductName: e.value.product_name });\r\n }\r\n\r\n clearAllDataInput() {\r\n this.setState({ wasteTypeSelected: \"\" });\r\n this.setState({ productSelected: \"\" });\r\n this.setState({ priceSelected1: \"\" });\r\n this.setState({ memberName: \"\" });\r\n this.setState({ memberUid: \"\" });\r\n this.setState({ productPrice: null });\r\n this.setState({ productTypeObjUpdate: null });\r\n this.setState({ productObjUpdate: null });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null });\r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n console.log(this.state.searchProductType);\r\n console.log(this.state.searchProduct);\r\n console.log(this.state.searchProductTypeCode);\r\n console.log(this.state.searchProductCode);\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n showSearchPanel() {\r\n const { productType1, product1 } = this.props;\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n addNewProductTab() {\r\n const { productType, product } = this.props;\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n ประเภทขยะรีไซเคิล :\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n สินค้า :\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n ราคารับซื้อต่อกิโลกรัม :\r\n \r\n
    \r\n \r\n this.setState({ priceSelected1: e.target.value })\r\n }\r\n />\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n showWeightTable() {\r\n var list = this.state.priceList;\r\n var newlist = []\r\n list.forEach((objlist,index) => {\r\n if(objlist.product_type_code !== null && objlist.product_code !== null){\r\n newlist.push(objlist);\r\n console.log(newlist);\r\n }\r\n });\r\n\r\n\r\n let dialogFooter = (\r\n
    \r\n
    \r\n );\r\n let deleteDialogFooter = (\r\n
    \r\n
    \r\n );\r\n let statusDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })}\r\n responsive={true}\r\n emptyMessage={\r\n
    \r\n \r\n
    \r\n }\r\n >\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n this.setState({ deleteDialog: false })}\r\n >\r\n {this.state.productPrice && (\r\n
    \r\n
    \r\n คุณต้องการจะลบข้อมูลต่อไปนี้\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productPrice.product_type_name}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productPrice.product_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productPrice.fee_per_kk}\r\n
    \r\n\r\n {this.state.productPrice.is_used && \r\n
    \r\n *****สินค้านี้ไม่สามารถลบได้ เนื่องจากมีการซื้อ-ขายสินค้านี้*****\r\n
    }\r\n
    \r\n )}\r\n \r\n this.setState({ displayDialog: false })}\r\n >\r\n {this.state.productPrice && (\r\n
    \r\n
    \r\n คุณต้องการจะแก้ไขข้อมูลต่อไปนี้\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productPrice.product_type_name}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productPrice.product_name}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"fee_per_kk\", e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n this.setState({statusDialog: false})}\r\n style={{width:'30vw'}}\r\n >\r\n { this.state.productPrice &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productPrice.is_active === true} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productPrice.is_active === false} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if (!this.state.showProgress) return weightTable;\r\n }\r\n\r\n onSubmit() {}\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewProductTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n
    \r\n

    {`* ถ้าไม่มีรายการสินค้าที่รับซื้อ ให้ทำการติดต่อแอดมิน (LINE : @c3leng)`}

    \r\n
    \r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps, null, {\r\n forwardRef: true,\r\n})(WasteproManageProductPrice);\r\n","\r\n\r\nimport React, { useState } from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\n\r\n\r\nexport const ChatWasteproView = ({ valueDd, listDd, onChangeDd, valueMessage, onChangeMessage, onSubmit, classNameRequired,\r\n valueMemberName, onChangeMemberName, onAddMember, customChipRemove, valueChips, valueProvince, provinceList, onChangedProvinceDb,\r\n valueDistrict, districtList, onChangedDistrictDb }) => {\r\n const handleEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n return onsubmit\r\n }\r\n }\r\n const showChatMassage = (\r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
      \r\n
    • \r\n \"Contact\r\n \"ยินดีครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"ขอบคุณมากๆค่ะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"login เข้าสู่ระบบ ไปที่เมนู จัดการราคารับซื้อ และทำตามขึ้นตอนได้เลยครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"จะกำหนดราคารับซื้อสินค้าได้ยังไงคะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"สอบถามได้เลยครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"มีเรื่องสอบถามค่ะ\"\r\n
    • \r\n \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n \r\n )\r\n const header = (\r\n
    แชทติดต่อสอบถามผู้ดูแลระบบ
    \r\n )\r\n\r\n return (\r\n \r\n
    \r\n {/* ROW2 */}\r\n
    \r\n {showChatMassage}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { userAnnounce } from '../../service/user.service';\r\nimport {\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n} from '../../service/wastepro.service';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatWasteproView } from '../message/ChatWasteproView';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\n\r\nclass WasteproChatMassage extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n dummyData: [\r\n { order: 'ขวดแก้ว(สีชา,สีเขียว,สีขาว)', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'ขวดพลาสติกใส', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'อลูมิเนียม', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'กระดาษ', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'กล่องนม', amount: 0, unit: '0 kg', price: 0 },\r\n ],\r\n selectedChat:'',\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WasteproDashboard :componentDidMount\")\r\n this.props.dispatch(userAnnounce())\r\n this.props.dispatch(getWasteproDashPayment());\r\n\r\n // this.props.dispatch(getWasteproDashProduct());\r\n this.props.dispatch(getWasteproDashOrderStat());\r\n\r\n this.props.dispatch(getWasteproDashSummary(2));\r\n this.props.dispatch(getWasteproDashSummary(88));\r\n this.props.dispatch(getWasteproDashSummary(0));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WasteproDashboard :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WasteproDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WasteproDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WasteproDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n render() {\r\n const {\r\n userAnnounce,\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n } = this.props\r\n\r\n //>ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n\r\n const citySelectItems = [\r\n { label: 'นาย อิศยา กาบนันทา', value: '1' },\r\n { label: 'eissaya U1', value: '2' },\r\n { label: 'usertran eisya', value: '3' },\r\n { label: 'ร้านมารวย', value: '4' },\r\n { label: 'นาย ประทีบ จันทรา', value: '5' },\r\n { label: 'นาย ประเทือง จันทรา', value: '6'},\r\n { label: 'นาย ประหยัด จันทรา', value: '7'},\r\n { label: 'นาย ประทุ จันทรา', value: '8'},\r\n { label: 'นาย ประปา จันทรา', value: '9'},\r\n { label: 'นาย ประวัติ จันทรา', value: '10'},\r\n { label: 'นาย ประจบ จันทรา', value: '11'},\r\n { label: 'นาย ประแจง จันทรา', value: '12'},\r\n { label: 'นาย ประนอม จันทรา', value: '13'},\r\n { label: 'นาย ประวรรณ จันทรา', value: '14'},\r\n ];\r\n const showChatTable = (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ selectedChat: e.value })}\r\n itemTemplate={this.carTemplate}\r\n style={{ width: '100%' }}\r\n listStyle={{ maxHeight: '400px' }} />\r\n
    \r\n )\r\n\r\n const chatWastepro = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastepro}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAnnounce: state.userAnnounce,\r\n getWasteproDashPayment: state.getWasteproDashPayment,\r\n getWasteproDashProduct: state.getWasteproDashProduct,\r\n getWasteproDashSummary: state.getWasteproDashSummary,\r\n getWasteproDashOrderStat:state.getWasteproDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproChatMassage)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport {Avatar} from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers'\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Validators} from '../../utils'\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\nimport {CEFileUpload} from '../../features/widget';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {InputSwitch} from 'primereact/inputswitch';\r\nimport {RadioButton} from 'primereact/radiobutton';\r\nimport {Card} from 'primereact/card';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { UserAPI } from '../../service/user.service'\r\n class WasteproManageAccept extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n acceptTimeList: [],\r\n distanceLabel: '',\r\n timeList: [\r\n {id: 0, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 1, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 2, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 3, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 4, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 5, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n {id: 6, disable: true,startTime: new Date(2020,1,1,8,0,0,0), endTime: new Date(2020,1,1,17,0,0,0)},\r\n ],\r\n isNotValid: false,\r\n isNotValidUpdate: false,\r\n showProgress: false,\r\n acceptJob: true,\r\n acceptCode: 0,\r\n daySelected: [],\r\n week: [\r\n { id: 'cb1', label: 'อาทิตย์', value: 1 },\r\n { id: 'cb2', label: 'จันทร์', value: 2 },\r\n { id: 'cb3', label: 'อังคาร', value: 3 },\r\n { id: 'cb4', label: 'พุธ', value: 4 },\r\n { id: 'cb5', label: 'พฤหัสบดี', value: 5 },\r\n { id: 'cb6', label: 'ศุกร์', value: 6 },\r\n { id: 'cb7', label: 'เสาร์', value: 7 }\r\n ],\r\n blankWeek: [\r\n { id: 'cb1', label: 'อาทิตย์', value: 1 },\r\n { id: 'cb2', label: 'จันทร์', value: 2 },\r\n { id: 'cb3', label: 'อังคาร', value: 3 },\r\n { id: 'cb4', label: 'พุธ', value: 4 },\r\n { id: 'cb5', label: 'พฤหัสบดี', value: 5 },\r\n { id: 'cb6', label: 'ศุกร์', value: 6 },\r\n { id: 'cb7', label: 'เสาร์', value: 7 }\r\n ],\r\n showSettingPanel: false,\r\n isInitial: true,\r\n wasteWorkStatus: [],\r\n startTimeList: [],\r\n endTimeList: [],\r\n };\r\n this.onSubmit = this.onSubmit.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onUpdateValidation = this.onUpdateValidation.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.startTimeInputPanel = this.startTimeInputPanel.bind(this);\r\n this.endTimeInputPanel = this.endTimeInputPanel.bind(this);\r\n this.onStartTimeChange = this.onStartTimeChange.bind(this);\r\n this.onEndTimeChange = this.onEndTimeChange.bind(this);\r\n }\r\n componentDidMount() {\r\n const { userServiceProps} = this.props\r\n userServiceProps.getUserInfo()\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.userInfo != this.props.userInfo) {\r\n if (nextProps.userInfo && this.state.isInitial){\r\n this.initial(nextProps.userInfo)\r\n // this.initialSelected(this.state)\r\n }\r\n }\r\n \r\n }\r\n initial = (nextProps) => {\r\n\r\n console.log(nextProps)\r\n const res = nextProps.wasteWorkStatus\r\n\r\n if(res.is_active){\r\n this.setState({ acceptCode: 1})\r\n }else{\r\n this.setState({ acceptCode: 2})\r\n }\r\n\r\n var dayChecked = []\r\n var dayCheckedString = []\r\n if(res.is_sunday){\r\n dayChecked.push(this.state.week[0])\r\n dayCheckedString.push(1)\r\n }\r\n if(res.is_monday){\r\n dayChecked.push(this.state.week[1])\r\n dayCheckedString.push(2)\r\n }\r\n if(res.is_tuesday){\r\n dayChecked.push(this.state.week[2])\r\n dayCheckedString.push(3)\r\n }\r\n if(res.is_wednesday){\r\n dayChecked.push(this.state.week[3])\r\n dayCheckedString.push(4)\r\n }\r\n if(res.is_thursday){\r\n dayChecked.push(this.state.week[4])\r\n dayCheckedString.push(5)\r\n }\r\n if(res.is_friday){\r\n dayChecked.push(this.state.week[5])\r\n dayCheckedString.push(6)\r\n }\r\n if(res.is_saturday){\r\n dayChecked.push(this.state.week[6])\r\n dayCheckedString.push(7)\r\n }\r\n\r\n var startTimeList = []\r\n startTimeList.push(res.sunday_start_time)\r\n startTimeList.push(res.monday_start_time)\r\n startTimeList.push(res.tuesday_start_time)\r\n startTimeList.push(res.wednesday_start_time)\r\n startTimeList.push(res.thursday_start_time)\r\n startTimeList.push(res.friday_start_time)\r\n startTimeList.push(res.saturday_start_time)\r\n\r\n var endTimeList = []\r\n endTimeList.push(res.sunday_end_time)\r\n endTimeList.push(res.monday_end_time)\r\n endTimeList.push(res.tuesday_end_time)\r\n endTimeList.push(res.wednesday_end_time)\r\n endTimeList.push(res.thursday_end_time)\r\n endTimeList.push(res.friday_end_time)\r\n endTimeList.push(res.saturday_end_time)\r\n\r\n this.setState({ \r\n wasteWorkStatus: res,\r\n gid: res.gid,\r\n uid: res.user_uid,\r\n startTimeList: startTimeList,\r\n endTimeList: endTimeList,\r\n daySelected: dayChecked,\r\n daySelectedString: JSON.stringify(dayCheckedString),\r\n })\r\n // this.setState({ isInitial: false})\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n {/* */}\r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n if (rowData !== '') {\r\n console.log(rowData)\r\n var id = rowData.gid;\r\n // ServerAPI.removeTranspotDistanceType(id).then((res) => {\r\n // console.log(res);\r\n // if (res) {\r\n // var index = res.toString().indexOf(\"Error:\");\r\n // console.log(\"find error:\" + (index));\r\n // if (index == -1) {\r\n // this.showSuccess();\r\n // this.getTranspotDistanceType();\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false})\r\n // }\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false})\r\n // }\r\n // }).catch((error) => {\r\n // this.setState({ showProgress: false})\r\n // })\r\n }else{\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n // if (index !== -1) {\r\n // var array = this.state.distanceList;\r\n // array.splice(index, 1);\r\n // this.setState({ distanceList: array });\r\n // }\r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.distance)\r\n console.log(this.state.isNotValidUpdate)\r\n if(this.state.distance){\r\n var isNotinput = (\r\n this.state.distance.distance_name == '' ||\r\n this.state.distance.more_than_km == '' ||\r\n this.state.distance.less_than_km == '' ||\r\n this.state.isNotValidUpdate == true\r\n );\r\n \r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.distance.more_than_km)\r\n var max = parseFloat(this.state.distance.less_than_km)\r\n \r\n if(min >= max){\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n this.state.acceptTimeList.indexOf(\"\")\r\n this.state.acceptTimeList.forEach(objAcceptTimeList => {\r\n var objMin = parseFloat(objAcceptTimeList.more_than_km)\r\n var objMax = parseFloat(objAcceptTimeList.less_than_km)\r\n console.log(min+\" > \"+objMin);\r\n console.log(max+\" > \"+objMin);\r\n console.log(min+\" < \"+objMax);\r\n console.log(max+\" < \"+objMax);\r\n \r\n if(objAcceptTimeList.gid != this.state.distance.gid)\r\n if((min < objMin && max < objMin) || (min > objMax && max > objMax)){\r\n console.log(\"pass!\");\r\n }else if(objMin <= min || objMax >= max){\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n }else if(objMin >= min || objMax <= max){\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n }else console.log(\"pass2!\");\r\n }); \r\n \r\n if(notValid){\r\n this.showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var data = {\r\n gid: this.state.distance.gid,\r\n distance_name: this.state.distance.distance_name,\r\n more_than_km: parseFloat(this.state.distance.more_than_km),\r\n less_than_km: parseFloat(this.state.distance.less_than_km),\r\n }\r\n\r\n // ServerAPI.editTransportDistanceType(data).then((res) => {\r\n // console.log(res);\r\n // if (res) {\r\n // var index = res.toString().indexOf(\"Error:\");\r\n // console.log(\"find error:\" + (index));\r\n // if (index == -1) {\r\n // this.getTranspotDistanceType();\r\n // this.setState({ displayDialog:false});\r\n // this.showSuccess();\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false })\r\n // }\r\n // } else {\r\n // this.showWarn();\r\n // this.setState({ showProgress: false })\r\n // }\r\n // }).catch((error) => {\r\n // this.setState({ showProgress: false })\r\n // })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.distance;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateProperty(property, value) {\r\n let distance = this.state.distance;\r\n distance[property] = value;\r\n this.setState({distance: distance});\r\n }\r\n\r\n onDistanceUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n displayDialog:true,\r\n distance: Object.assign({}, e)\r\n });\r\n }\r\n onDistanceDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n distance: Object.assign({}, e)\r\n });\r\n }\r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n onUpdateValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValidUpdate: true })\r\n else this.setState({isNotValidUpdate: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n onCheckChange(e) {\r\n console.log(e);\r\n\r\n let showPassCheck = this.state.daySelected;\r\n if (e.checked) {\r\n //his.state.wasteTypesSelected.checked=true;\r\n showPassCheck.push(e.value);\r\n console.log(e)\r\n }\r\n else {\r\n\r\n var index = this.state.week.indexOf(e.value);\r\n //this.state.wasteTypes.check\r\n showPassCheck.splice(showPassCheck.indexOf(e.value), 1);\r\n }\r\n this.setState({ daySelected: showPassCheck });\r\n\r\n var intChecked = [];\r\n for (let index = 0; index < showPassCheck.length; index++) {\r\n intChecked.push(showPassCheck[index].value);\r\n\r\n }\r\n\r\n this.setState({ daySelectedString: JSON.stringify(intChecked) });\r\n console.log(JSON.stringify(intChecked));\r\n }\r\n\r\n toFormatDateTime(dateTime){\r\n return
    \r\n {dateTime}\r\n
    ; \r\n }\r\n\r\n onSubmit(){\r\n console.log(this.state.startTimeList)\r\n console.log(this.state.endTimeList)\r\n console.log(this.state.acceptCode)\r\n console.log(this.state.daySelected)\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.startTimeList == null ||\r\n this.state.endTimeList == null ||\r\n this.state.acceptCode == 0\r\n // || this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n\r\n if(this.state.acceptCode == 1 && this.state.daySelected.length == 0){\r\n this.showWarn(\"กรณีเปิดรับงาน กรุณาเลือกวันที่ต้องการรับงาน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n if(notValid){\r\n this.showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n const dayChecked = this.state.daySelectedString\r\n console.log(JSON.stringify(dayChecked))\r\n const startTime = this.state.startTimeList\r\n const endTime = this.state.endTimeList\r\n var acceptTimeList = {\r\n gid: this.state.gid,\r\n user_uid: this.state.uid,\r\n is_active: (this.state.acceptCode == 1 ? true : false),\r\n is_sunday: (dayChecked.toString().indexOf('1') != -1 ? true : false),\r\n is_monday: (dayChecked.toString().indexOf('2') != -1 ? true : false),\r\n is_tuesday: (dayChecked.toString().indexOf('3') != -1 ? true : false),\r\n is_wednesday: (dayChecked.toString().indexOf('4') != -1 ? true : false),\r\n is_thursday: (dayChecked.toString().indexOf('5') != -1 ? true : false),\r\n is_friday: (dayChecked.toString().indexOf('6') != -1 ? true : false),\r\n is_saturday: (dayChecked.toString().indexOf('7') != -1 ? true : false),\r\n sunday_start_time: startTime[0],\r\n sunday_end_time: endTime[0],\r\n monday_start_time: startTime[1],\r\n monday_end_time: endTime[1],\r\n tuesday_start_time: startTime[2],\r\n tuesday_end_time: endTime[2],\r\n wednesday_start_time: startTime[3],\r\n wednesday_end_time: endTime[3],\r\n thursday_start_time: startTime[4],\r\n thursday_end_time: endTime[4],\r\n friday_start_time: startTime[5],\r\n friday_end_time: endTime[5],\r\n saturday_start_time: startTime[6],\r\n saturday_end_time: endTime[6],\r\n \r\n }\r\n //this.state.acceptTimeList.push(acceptTimeList)\r\n console.log(acceptTimeList)\r\n // this.showSuccess();\r\n // this.setState({ showProgress: false})\r\n ServerAPI.updateWorkingStatus(acceptTimeList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.setState({ showProgress: false})\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n\r\n }\r\n console.log(this.state.acceptTimeList)\r\n }\r\n }\r\n }\r\n startTimeInputPanel = (index,disable) =>{\r\n let startTime = this.state.timeList[index].startTime\r\n if(this.state.startTimeList.length != 0){\r\n let hours = this.state.startTimeList[index].substring(0,2)\r\n let minutes = this.state.startTimeList[index].substring(3,5)\r\n let seconds = this.state.startTimeList[index].substring(6,8)\r\n startTime.setHours(hours)\r\n startTime.setMinutes(minutes)\r\n startTime.setSeconds(seconds)\r\n }\r\n \r\n return (\r\n
    \r\n \r\n this.setState({ startTime: e.value })} \r\n onChange={(e) => this.onStartTimeChange(e,index) } \r\n timeOnly={true} \r\n hourFormat=\"24\" \r\n placeholder=\"เลือกเวลา\"\r\n readOnlyInput={true}\r\n showIcon={true}\r\n icon=\"fa fa-clock-o\"\r\n disabled={disable ? true : !(this.state.daySelected.indexOf(this.state.week[index]) !== -1)}\r\n />\r\n
    \r\n );\r\n }\r\n endTimeInputPanel = (index,disable) =>{\r\n let endTime = this.state.timeList[index].endTime\r\n if(this.state.endTimeList.length != 0){\r\n let hours = this.state.endTimeList[index].substring(0,2)\r\n let minutes = this.state.endTimeList[index].substring(3,5)\r\n endTime.setHours(hours)\r\n endTime.setMinutes(minutes)\r\n }\r\n\r\n return (\r\n
    \r\n \r\n this.setState({ endTime: e.value })} \r\n onChange={(e) => this.onEndTimeChange(e,index) } \r\n timeOnly={true} \r\n hourFormat=\"24\"\r\n placeholder=\"เลือกเวลา\"\r\n readOnlyInput={true}\r\n showIcon={true}\r\n icon=\"fa fa-clock-o\"\r\n disabled={disable ? true : !(this.state.daySelected.indexOf(this.state.week[index]) !== -1)}\r\n />\r\n
    \r\n );\r\n }\r\n onStartTimeChange(e,index){\r\n const time = e.value;\r\n let timelist = this.state.timeList\r\n timelist[index].startTime = time\r\n\r\n this.setState({timeList: timelist})\r\n\r\n var setTime = e.value;\r\n let startTime = this.state.startTimeList\r\n setTime.toISOString()\r\n console.log(setTime)\r\n let start = setTime.toString().indexOf(\":\")-2\r\n let end = setTime.toString().lastIndexOf(\":\")+3\r\n\r\n setTime = setTime.toString().substring(start,end)\r\n\r\n console.log(setTime)\r\n startTime[index] = setTime\r\n\r\n this.setState({startTimeList: startTime})\r\n }\r\n onEndTimeChange(e,index){\r\n const time = e.value;\r\n let timelist = this.state.timeList\r\n timelist[index].endTime = time\r\n\r\n this.setState({timeList: timelist})\r\n\r\n var setTime = e.value;\r\n let endTime = this.state.endTimeList\r\n setTime.toISOString()\r\n console.log(setTime)\r\n let start = setTime.toString().indexOf(\":\")-2\r\n let end = setTime.toString().lastIndexOf(\":\")+3\r\n\r\n setTime = setTime.toString().substring(start,end)\r\n\r\n console.log(setTime)\r\n endTime[index] = setTime\r\n\r\n this.setState({endTimeList: endTime})\r\n }\r\n\r\n showAddDistance(){\r\n const timeInputPanel = this.state.week.map((item,index)=>\r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.daySelected.indexOf(this.state.week[index]) !== -1}>\r\n \r\n \r\n
    \r\n {this.startTimeInputPanel(index)}\r\n {this.endTimeInputPanel(index)}\r\n
    \r\n );\r\n\r\n const disableTimeInputPanel = this.state.blankWeek.map((item,index)=>\r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.daySelected.indexOf(this.state.week[index]) !== -1}\r\n disabled={true}>\r\n \r\n \r\n
    \r\n {this.startTimeInputPanel(index,true)}\r\n {this.endTimeInputPanel(index,true)}\r\n
    \r\n );\r\n\r\n const newDistance = (\r\n
    \r\n {/* \r\n \r\n
    \r\n {this.state.acceptCode == 1 && timeInputPanel}\r\n {this.state.acceptCode == 2 && disableTimeInputPanel}\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    */}\r\n
    \r\n {(localStorage.getItem('second-token'))?'':\r\n
    \r\n \r\n
    \r\n }\r\n \r\n
    \r\n );\r\n return newDistance;\r\n }\r\n\r\n showDistanceTable(){\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const distanceTable = (\r\n
    \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.distance &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.distance.distance_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.distance.more_than_km}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.distance.less_than_km}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.distance &&\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('distance_name', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('more_than_km', e.target.value)}}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('less_than_km', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return distanceTable;\r\n }\r\n\r\n acceptJobStastus(){\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ acceptCode: e.value })}\r\n checked={this.state.acceptCode === 1} />\r\n \r\n \r\n this.setState({ acceptCode: e.value })}\r\n checked={this.state.acceptCode === 2} />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n \r\n\r\n render() {\r\n const acceptJobStastusPanel = this.acceptJobStastus();\r\n const addDistancePanel = this.showAddDistance();\r\n const distanceTablePanel = this.showDistanceTable();\r\n const showProgress = this.showProgressSpinner();\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าการรับงาน

    \r\n
    \r\n {acceptJobStastusPanel}\r\n {addDistancePanel}\r\n {showProgress}\r\n {/* {distanceTablePanel} */}\r\n\r\n
    \r\n }\r\n \r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n \r\n productType: state.master.productType,\r\n product: state.master.product,\r\n userInfo: state.userInfo.data,\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n userServiceProps: bindActionCreators(UserService,dispatch),\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WasteproManageAccept)\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { WastegenOverviews } from '../wastegen-dashboard/WastegenOverviews';\r\nimport { WastegenTimelines } from '../wastegen-dashboard/WastegenTimelines';\r\nimport { getBalance,getWastegenDashLastOrder,getWastegenDashProduct } from '../../service/wastegen.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport {Panel} from 'primereact/panel';\r\n\r\n\r\nclass WasteproContact extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'ขวดพลาสติกใส', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ขวดแก้ว', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'อลูมิเนียม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กระดาษ', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'กล่องนม', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n\r\n this.onClickRefresh=this.onClickRefresh.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.props.dispatch(getBalance());\r\n this.props.dispatch(userAnnounce());\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n this.props.dispatch(getWastegenDashProduct());\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WastegenDashboard :componentDidUpdate\")\r\n }\r\n\r\n //> EVENT\r\n onClickRefresh = (e)=>{\r\n this.props.dispatch(getWastegenDashLastOrder());\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n\r\n render() {\r\n const {\r\n wastegenBalance,\r\n userAnnounce,\r\n } = this.props\r\n //> ข่าวสาร\r\n const contentNews = (\r\n \r\n
    \r\n
    \r\n ติดต่อเรา\r\n
    \r\n
    \r\n
    \r\n แจ้งรับขยะรีไซเคิล\r\n
    \r\n
    \r\n สอบถามรายละเอียด โทร. 021151482\r\n
    \r\n
    \r\n C3leng by GGT\r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n

    ข้อมูลการติดต่อ C3Leng

    \r\n {contentNews}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAnnounce: state.userAnnounce,\r\n getWasteproDashPayment: state.getWasteproDashPayment,\r\n getWasteproDashProduct: state.getWasteproDashProduct,\r\n getWasteproDashSummary: state.getWasteproDashSummary,\r\n getWasteproDashOrderStat:state.getWasteproDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproContact)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux'\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\nimport { getAdminUid, getBadgeAdmin } from '../../service/ChatService'\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { WASTE_TYPE } from '../../constants/mappingValue'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nclass WasteproChatAdmin extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ],\r\n showProgress: true\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n getAdminUid().then(res => {\r\n console.log(res)\r\n this.setState({ adminInfo: res})\r\n })\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n chat(){\r\n if(this.props.userInfo && this.state.adminInfo){\r\n const currentUserInfo = this.props.userInfo.user_wasteTypes.find(\r\n item => item.wasteType === 3 ,\r\n )\r\n console.log(this.props)\r\n let roomId = `${currentUserInfo.uid}-${currentUserInfo.wasteType}-admin`\r\n console.log(roomId)\r\n console.log(this.state.adminInfo.uid)\r\n return (\r\n this.updateAdminBadge(e)}\r\n adminBadge={this.props.chatSingleBadge.admin}\r\n />\r\n );\r\n }else\r\n return this.showProgressSpinner()\r\n }\r\n updateAdminBadge(e){\r\n this.props.ChatServiceProps.updateReadAll(e.roomId,e.type,e.badges)\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat,\r\n chatSingleBadge: state.chatSingleBadge,\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproChatAdmin)","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { getBalance, getWastetranDashProduct,getWastetranDashOrderStat } from '../../service/wastetran.service'\r\nimport { userAnnounce } from '../../service/user.service'\r\n\r\nimport { WastetranOverviews } from '../wastetran-dashboard/WastetranOverviews';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { DatatableDashBoardView } from '../data-table/DatatableDashBoardView';\r\nimport { StatisticView } from '../dashboard/StatisticView';\r\nimport { getStatus } from '../../constants/order-status';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\nclass WasteproChatView extends Component {\r\n constructor(props) {\r\n console.log(\"WastegenDashboard :constructor\")\r\n super(props);\r\n this.state = {\r\n dummySuccessDataTable: [\r\n { order: 'Order ทั้งหมด', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งสมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'จัดส่งไม่สมบูรณ์', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: 'ลูกค้ายกเลิก', ranking: '0', amount: '0', quantity: '0 kg.' },\r\n { order: '%สำเร็จ', ranking: '0%', amount: '0', quantity: '0 kg.' },\r\n ]\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n // console.log(\"WastegenDashboard :componentDidMount\")\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n // console.log(\"WastegenDashboard :componentWillReceiveProps\")\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n // console.log(\"WastegenDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n // console.log(\"WastegenDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n chat(){\r\n if(this.props.location.state){\r\n return (\r\n \r\n );\r\n }else\r\n return (

    ไม่พบข้อมูล

    )\r\n }\r\n\r\n render() {\r\n const chatWastetran = this.chat()\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastetran}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n wastetranBalance: state.wastetranBalance,\r\n userAnnounce: state.userAnnounce,\r\n getWastetranDashProduct: state.getWastetranDashProduct,\r\n getWastetranDashOrderStat: state.getWastetranDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproChatView)","\r\n\r\nimport React, { useState } from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\n\r\n\r\nexport const ChatWasteproWhitU2View = ({ valueDd, listDd, onChangeDd, valueMessage, onChangeMessage, onSubmit, classNameRequired,\r\n valueMemberName, onChangeMemberName, onAddMember, customChipRemove, valueChips, valueProvince, provinceList, onChangedProvinceDb,\r\n valueDistrict, districtList, onChangedDistrictDb }) => {\r\n const handleEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n return onsubmit\r\n }\r\n }\r\n const showChatMassage = (\r\n \r\n
    \r\n
    \r\n {/*
    */}\r\n
      \r\n
    • \r\n \"Contact\r\n \"ยินดีให้บริการครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"ค่ะ ขอบคุณมากๆค่ะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"login เข้าสู่ระบบ ไปที่หน้า profile เลื่อนลงมาข้างล่างสุด จะเห็นข้อความเปลี่ยนรหัสผ่าน ให้เช็คถูก แล้วทำตามขั้นตอนได้เลยครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"จะเปลี่ยนรหัสผ่านได้ยังไงคะ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"สวัสดีครับ จะสอบถามเรื่องอะไรครับ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"สวัสดีค่ะ มีเรื่องจะสอบถามหน่อยค่ะ\"\r\n
    • \r\n \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n \r\n )\r\n const header = (\r\n
    แชทศูนย์จัดการฯซีซาเล้ง
    \r\n )\r\n\r\n return (\r\n \r\n
    \r\n {/* ROW2 */}\r\n
    \r\n {showChatMassage}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { userAnnounce } from '../../service/user.service';\r\nimport {\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n} from '../../service/wastepro.service';\r\nimport { WasteNewView } from '../waste-news/WasteNewView';\r\nimport { Panel } from 'primereact/panel';\r\nimport { ListBox } from 'primereact/listbox';\r\nimport { ChatWasteproWhitU2View } from '../message/ChatWasteproWhitU2View';\r\nimport { Growl } from 'primereact/growl';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\n\r\n\r\nclass WasteproChatWithU2 extends Component {\r\n\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n dummyData: [\r\n { order: 'ขวดแก้ว(สีชา,สีเขียว,สีขาว)', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'ขวดพลาสติกใส', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'อลูมิเนียม', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'กระดาษ', amount: 0, unit: '0 kg', price: 0 },\r\n { order: 'กล่องนม', amount: 0, unit: '0 kg', price: 0 },\r\n ],\r\n selectedChat:'',\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"WasteproDashboard :componentDidMount\")\r\n this.props.dispatch(userAnnounce())\r\n this.props.dispatch(getWasteproDashPayment());\r\n\r\n // this.props.dispatch(getWasteproDashProduct());\r\n this.props.dispatch(getWasteproDashOrderStat());\r\n\r\n this.props.dispatch(getWasteproDashSummary(2));\r\n this.props.dispatch(getWasteproDashSummary(88));\r\n this.props.dispatch(getWasteproDashSummary(0));\r\n\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WasteproDashboard :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"WasteproDashboard :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"WasteproDashboard :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"WasteproDashboard :componentDidUpdate\")\r\n\r\n }\r\n\r\n render() {\r\n const {\r\n userAnnounce,\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n } = this.props\r\n\r\n //>ข่าวสาร\r\n const contentNews = (\r\n \r\n );\r\n\r\n const citySelectItems = [\r\n { label: 'นาย อิศยา กาบนันทา', value: '1' },\r\n { label: 'eissaya U1', value: '2' },\r\n { label: 'usertran eisya', value: '3' },\r\n { label: 'ร้านมารวย', value: '4' },\r\n { label: 'นาย ประทีบ จันทรา', value: '5' },\r\n { label: 'นาย ประเทือง จันทรา', value: '6'},\r\n { label: 'นาย ประหยัด จันทรา', value: '7'},\r\n { label: 'นาย ประทุ จันทรา', value: '8'},\r\n { label: 'นาย ประปา จันทรา', value: '9'},\r\n { label: 'นาย ประวัติ จันทรา', value: '10'},\r\n { label: 'นาย ประจบ จันทรา', value: '11'},\r\n { label: 'นาย ประแจง จันทรา', value: '12'},\r\n { label: 'นาย ประนอม จันทรา', value: '13'},\r\n { label: 'นาย ประวรรณ จันทรา', value: '14'},\r\n ];\r\n const showChatTable = (\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ selectedChat: e.value })}\r\n itemTemplate={this.carTemplate}\r\n style={{ width: '100%' }}\r\n listStyle={{ maxHeight: '400px' }} />\r\n
    \r\n )\r\n\r\n const chatWastepro = (\r\n \r\n );\r\n\r\n return (\r\n
    \r\n

    Chat

    \r\n this.growl = el} />\r\n
    \r\n\r\n {/*
    \r\n {showChatTable}\r\n
    */}\r\n
    \r\n {chatWastepro}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n userAnnounce: state.userAnnounce,\r\n getWasteproDashPayment: state.getWasteproDashPayment,\r\n getWasteproDashProduct: state.getWasteproDashProduct,\r\n getWasteproDashSummary: state.getWasteproDashSummary,\r\n getWasteproDashOrderStat:state.getWasteproDashOrderStat\r\n})\r\n\r\nexport default connect(mapStateToProps)(WasteproChatWithU2)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport {Panel} from 'primereact/components/panel/Panel';\r\nimport {Checkbox} from 'primereact/components/checkbox/Checkbox';\r\nimport {Button} from 'primereact/components/button/Button';\r\nimport {Dropdown} from 'primereact/components/dropdown/Dropdown';\r\nimport {InputText} from 'primereact/components/inputtext/InputText';\r\nimport {InputTextarea} from 'primereact/components/inputtextarea/InputTextarea';\r\nimport {DataTable} from 'primereact/components/datatable/DataTable';\r\nimport {Column} from 'primereact/components/column/Column';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\nimport * as ServerAPI from './service';\r\nimport * as DashBoardService from './service'\r\n\r\n\r\nclass WasteproReportInvoice extends Component {\r\n\tstatic propTypes = {\r\n\r\n }\r\n \r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n status: 0,\r\n admin: 0,\r\n statusRang: [\r\n { label: 'สัปดาห์นี้', value: 0 },\r\n { label: 'เดือนนี้', value: 1 },\r\n { label: 'เดือนที่แล้ว', value: 2 }\r\n ],\r\n statusOption: [\r\n { label: 'จำนวน (กก.)', value: 0 },\r\n { label: 'ราคา', value: 1 }\r\n ],\r\n showProgress: false,\r\n orderCode: null,\r\n orderID: null,\r\n memberUid: null,\r\n date1: null,\r\n date2: null,\r\n reportSearchInvoice: [],\r\n };\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchInvoice = this.searchInvoice.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.salePriceTemplate = this.salePriceTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n }\r\n componentDidMount() {\r\n \r\n }\r\n\r\n onDate1Change(e) { //search pickup date start\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //search pickup date end\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n searchInvoice(){\r\n //this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n //-------reset table--------\r\n // var reportSearchList = {}\r\n // this.state.reportSearchOrders.push(reportSearchList)\r\n // this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n invoice_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchInvoice(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n this.setState({ reportSearchInvoice: res })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 0});\r\n var empty = {}\r\n this.state.reportSearchInvoice.push(empty)\r\n this.setState({ reportSearchInvoice: [] });\r\n\r\n //this.clearAllDataInput();\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n salePriceTemplate(rowData, column){\r\n let price = rowData.total_price.toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n toFormatDateTime(dateTime){\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n to_requested_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData)\r\n return
    \r\n window.open('/#/invoice-u3?order_code='+rowData.order_code, \"_blank\") }\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n searchPanel(){\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    */}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n { this.setState({ status: e.value }) }}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n { this.setState({ status: e.value }) }}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n reportInvoiceTable(){\r\n let sum_price =0;\r\n let sum_quantity =0;\r\n if(this.state.reportSearchInvoice)\r\n if(this.state.reportSearchInvoice.length>0) {\r\n this.state.reportSearchInvoice.map( function(a){\r\n let a_sale_price = a.total_price;\r\n sum_price += a_sale_price;\r\n let quantity = a.total_quantity;\r\n sum_quantity += quantity;\r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n var exportExcel =\r\n
    \r\n \r\n \r\n
    ;\r\n return (\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })} \r\n header={exportExcel} footerColumnGroup={footerGroup}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.searchPanel();\r\n const invoiceTable = this.reportInvoiceTable();\r\n const ProgressSpinner = this.showProgressSpinner();\r\n const {\r\n dhbUsers,\r\n } = this.props\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {ProgressSpinner}\r\n {invoiceTable} \r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n\tdhbUsers: state.dhbAdmin.dhbUsers\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\tdashBoardServiceProps: bindActionCreators(DashBoardService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WasteproReportInvoice)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport {Panel} from 'primereact/components/panel/Panel';\r\nimport {Checkbox} from 'primereact/components/checkbox/Checkbox';\r\nimport {Button} from 'primereact/components/button/Button';\r\nimport {Dropdown} from 'primereact/components/dropdown/Dropdown';\r\nimport {InputText} from 'primereact/components/inputtext/InputText';\r\nimport {InputTextarea} from 'primereact/components/inputtextarea/InputTextarea';\r\nimport {DataTable} from 'primereact/components/datatable/DataTable';\r\nimport {Column} from 'primereact/components/column/Column';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\nimport * as ServerAPI from './service';\r\nimport * as DashBoardService from './service'\r\n\r\n\r\nclass WasteproReportInvoice extends Component {\r\n\tstatic propTypes = {\r\n\r\n }\r\n \r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n status: 0,\r\n admin: 0,\r\n statusItem: [\r\n { label: 'สัปดาห์นี้', value: 0 },\r\n { label: 'เดือนนี้', value: 1 },\r\n { label: 'เดือนที่แล้ว', value: 2 }\r\n ],\r\n showProgress: false,\r\n orderCode: null,\r\n orderID: null,\r\n memberUid: null,\r\n date1: null,\r\n date2: null,\r\n reportSearchInvoice: [],\r\n };\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchInvoice = this.searchInvoice.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.salePriceTemplate = this.salePriceTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n }\r\n componentDidMount() {\r\n \r\n }\r\n\r\n onDate1Change(e) { //search pickup date start\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //search pickup date end\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n searchInvoice(){\r\n //this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n //-------reset table--------\r\n // var reportSearchList = {}\r\n // this.state.reportSearchOrders.push(reportSearchList)\r\n // this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n invoice_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchInvoice(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n this.setState({ reportSearchInvoice: res })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 0});\r\n var empty = {}\r\n this.state.reportSearchInvoice.push(empty)\r\n this.setState({ reportSearchInvoice: [] });\r\n\r\n //this.clearAllDataInput();\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n salePriceTemplate(rowData, column){\r\n let price = rowData.total_price.toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n toFormatDateTime(dateTime){\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n to_requested_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n actionTemplate = (rowData, column) => {\r\n console.log(rowData)\r\n return
    \r\n window.open('/#/invoice-u3?order_code='+rowData.order_code, \"_blank\") }\r\n style={{ marginRight: '.5em' }}>\r\n
    ;\r\n }\r\n\r\n searchPanel(){\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    */}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n { this.setState({ status: e.value }) }}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n reportInvoiceTable(){\r\n let sum_price =0;\r\n let sum_quantity =0;\r\n if(this.state.reportSearchInvoice)\r\n if(this.state.reportSearchInvoice.length>0) {\r\n this.state.reportSearchInvoice.map( function(a){\r\n let a_sale_price = a.total_price;\r\n sum_price += a_sale_price;\r\n let quantity = a.total_quantity;\r\n sum_quantity += quantity;\r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n var exportExcel =\r\n
    \r\n \r\n \r\n
    ;\r\n return (\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })} \r\n header={exportExcel} footerColumnGroup={footerGroup}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.searchPanel();\r\n const invoiceTable = this.reportInvoiceTable();\r\n const ProgressSpinner = this.showProgressSpinner();\r\n const {\r\n dhbUsers,\r\n } = this.props\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {ProgressSpinner}\r\n {invoiceTable} \r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n\tdhbUsers: state.dhbAdmin.dhbUsers\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\tdashBoardServiceProps: bindActionCreators(DashBoardService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WasteproReportInvoice)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport classNames from 'classnames';\r\nimport { AppTopbar } from './../AppTopbar';\r\nimport { AppInlineProfile } from './../AppInlineProfile';\r\nimport { AppFooter } from './../AppFooter';\r\nimport { AppMenu } from './../AppMenu';\r\nimport { Route } from 'react-router-dom';\r\nimport { Dashboard } from '../demo/Dashboard';\r\nimport { ScrollPanel } from 'primereact/components/scrollpanel/ScrollPanel';\r\nimport 'primereact/resources/primereact.min.css';\r\n// import 'fullcalendar/dist/fullcalendar.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\nimport style from './style.css';\r\nimport { connect } from 'react-redux'\r\n\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as ChatService from '../../service/ChatService'\r\nimport { addNewChatMessage } from '../../service/ChatService'\r\nimport { get } from 'https';\r\nimport { WasteproCreateOrder } from './WasteproCreateOrder';\r\nimport WasteproManageOrder from './WasteproManageOrder';\r\nimport { WasteproManageInvoice } from './WasteproManageInvoice';\r\nimport { WasteproManageTransfer } from './WasteproManageTransfer';\r\nimport { WasteproReportValidateOrder } from './WasteproReportValidateOrder';\r\nimport { WasteproReportTransfer } from './WasteproReportTransfer';\r\nimport WasteproReportInvoice from './WasteproReportInvoice';\r\nimport { WasteproReportBuying } from './WasteproReportBuying';\r\nimport { WasteproProfile } from './WasteproProfile';\r\nimport { WasteproInlineProfile } from './WasteproInlineProfile';\r\nimport PropsRoute from '../../PropsRoute';\r\nimport ExampleWasteproProfileCtrl from './ExampleWasteproProfileCtrl';\r\nimport ExampleWasteproChangePassword from './ExampleWasteproChangePassword';\r\nimport ExampleWasteproReportBuyingCtrl from './ExampleWasteproReportBuyingCtrl';\r\nimport ExampleWasteproNotiRecycleCtrl from './ExampleWasteproNotiRecycleCtrl';\r\nimport WasteproDashboard from './WasteproDashboard';\r\nimport WasteproManageProductPrice from './WasteproManageProductPrice';\r\nimport WasteproChatMassage from './WasteproChatMassage';\r\nimport WasteproManageAccept from './WasteproManageAccept';\r\nimport WasteproContact from './WasteproContact';\r\nimport WasteproChatAdmin from './WasteproChatAdmin';\r\nimport WasteproChatView from './WasteproChatView';\r\nimport WasteproChatWithU2 from './WasteproChatWithU2';\r\nimport WasteproNewsDetail from './WasteproNewsDetail';\r\nimport WasteproReportMaxPurchase from './WasteproReportMaxPurchase';\r\nimport WasteproReportPurchaseAmount from './WasteproReportPurchaseAmount';\r\nimport {\r\n connectWebsocket,\r\n implementWebsocket,\r\n closeWebsocket,\r\n navigateToAdminChatScene,\r\n navigateToUserChatScene,\r\n sendMessage\r\n } from '../../utils/chat'\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nimport { getBadgeAdmin } from './service'\r\nimport {Dialog} from 'primereact/dialog';\r\nimport { Button } from 'primereact/components/button/Button';\r\nclass WasteproContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n componentDidMount() {\r\n const { locationServiceProps, userServiceProps, masterServiceProps, ChatServiceProps } = this.props\r\n locationServiceProps.getProvice();\r\n userServiceProps.getUserInfo();\r\n locationServiceProps.getCardProvice();\r\n masterServiceProps.getBanks();\r\n ChatServiceProps.getBadgeAdmin();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"WasteproContainer :componentWillReceiveProps\")\r\n if (\r\n nextProps.userInfo\r\n && !nextProps.locationMaster.isFetching\r\n && this.tickerLoad\r\n ) {\r\n if (nextProps.userInfo.addr_current_province_code) {\r\n nextProps.locationServiceProps.getDistrict(nextProps.userInfo.addr_current_province_code);\r\n }\r\n if (nextProps.userInfo.addr_current_district_code) {\r\n nextProps.locationServiceProps.getSubDistrict(nextProps.userInfo.addr_current_district_code);\r\n }\r\n if (nextProps.userInfo.addr_card_province_code) {\r\n nextProps.locationServiceProps.getCardDistrict(nextProps.userInfo.addr_card_province_code);\r\n }\r\n if (nextProps.userInfo.addr_card_district_code) {\r\n nextProps.locationServiceProps.getCardSubDistrict(nextProps.userInfo.addr_card_district_code);\r\n }\r\n if(nextProps.userInfo.profileStatusCode != 99){\r\n this.setState({userNotCompleteDialog: true})\r\n }\r\n this.tickerLoad = false;\r\n\r\n if (nextProps.userInfo){\r\n this.manageChatWebsocket(nextProps.userInfo,'wastepro')\r\n }else {\r\n closeWebsocket()\r\n }\r\n }\r\n\r\n if(!nextProps.chatSingleBadge.isLoading){\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(nextProps.userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n \r\n }\r\n }\r\n constructor() {\r\n super();\r\n this.tickerLoad = true;\r\n this.state = {\r\n layoutMode: 'static',\r\n profileMode: 'inline',\r\n layoutCompact: true,\r\n overlayMenuActive: false,\r\n staticMenuDesktopInactive: false,\r\n staticMenuMobileActive: false,\r\n rotateMenuButton: false,\r\n topbarMenuActive: false,\r\n activeTopbarItem: null,\r\n darkMenu: false,\r\n menuActive: false,\r\n theme: 'green',\r\n layout: 'green',\r\n version: 'v3',\r\n userNotCompleteDialog: false,\r\n };\r\n\r\n this.onDocumentClick = this.onDocumentClick.bind(this);\r\n this.onMenuClick = this.onMenuClick.bind(this);\r\n this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\r\n this.onTopbarMenuButtonClick = this.onTopbarMenuButtonClick.bind(this);\r\n this.onTopbarItemClick = this.onTopbarItemClick.bind(this);\r\n this.onMenuItemClick = this.onMenuItemClick.bind(this);\r\n this.onRootMenuItemClick = this.onRootMenuItemClick.bind(this);\r\n this.createMenu();\r\n }\r\n manageChatWebsocket = (userInfo, userWasteType) => {\r\n const currentUserInfo = userInfo.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE[userWasteType],\r\n )\r\n const senderId = currentUserInfo.uid\r\n const senderType = currentUserInfo.wasteType\r\n const onMessage = (message, currentRouteName) => {\r\n addNewChatMessage(message)\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n // if (currentRouteName === 'ChatScene') {\r\n // addNewChatMessage(message)\r\n // } else {\r\n // console.log('fadeInMessageBanner(message)')\r\n // //fadeInMessageBanner(message)\r\n // }\r\n }\r\n connectWebsocket(senderId, senderType)\r\n implementWebsocket(onMessage)\r\n }\r\n\r\n onMenuClick(event) {\r\n this.menuClick = true;\r\n }\r\n\r\n onMenuButtonClick(event) {\r\n this.menuClick = true;\r\n this.setState(({\r\n rotateMenuButton: !this.state.rotateMenuButton,\r\n topbarMenuActive: false\r\n }));\r\n\r\n if (this.state.layoutMode === 'overlay') {\r\n this.setState({\r\n overlayMenuActive: !this.state.overlayMenuActive\r\n });\r\n }\r\n else {\r\n if (this.isDesktop())\r\n this.setState({ staticMenuDesktopInactive: !this.state.staticMenuDesktopInactive });\r\n else\r\n this.setState({ staticMenuMobileActive: !this.state.staticMenuMobileActive });\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarMenuButtonClick(event) {\r\n this.topbarItemClick = true;\r\n this.setState({ topbarMenuActive: !this.state.topbarMenuActive });\r\n this.hideOverlayMenu();\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarItemClick(event) {\r\n this.topbarItemClick = true;\r\n\r\n if (this.state.activeTopbarItem === event.item)\r\n this.setState({ activeTopbarItem: null });\r\n else\r\n this.setState({ activeTopbarItem: event.item });\r\n\r\n event.originalEvent.preventDefault();\r\n }\r\n\r\n onMenuItemClick(event) {\r\n if (!event.item.items) {\r\n this.hideOverlayMenu();\r\n }\r\n if (!event.item.items && this.isHorizontal()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n }\r\n\r\n onRootMenuItemClick(event) {\r\n this.setState({\r\n menuActive: !this.state.menuActive\r\n });\r\n }\r\n\r\n onDocumentClick(event) {\r\n if (!this.topbarItemClick) {\r\n this.setState({\r\n activeTopbarItem: null,\r\n topbarMenuActive: false\r\n });\r\n }\r\n\r\n if (!this.menuClick) {\r\n if (this.isHorizontal() || this.isSlim()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n\r\n this.hideOverlayMenu();\r\n }\r\n\r\n if (!this.rightPanelClick) {\r\n this.setState({\r\n rightPanelActive: false\r\n })\r\n }\r\n\r\n this.topbarItemClick = false;\r\n this.menuClick = false;\r\n this.rightPanelClick = false;\r\n }\r\n\r\n hideOverlayMenu() {\r\n this.setState({\r\n rotateMenuButton: false,\r\n overlayMenuActive: false,\r\n staticMenuMobileActive: false\r\n })\r\n }\r\n\r\n isTablet() {\r\n let width = window.innerWidth;\r\n return width <= 1024 && width > 640;\r\n }\r\n\r\n isDesktop() {\r\n return window.innerWidth > 1024;\r\n }\r\n\r\n isMobile() {\r\n return window.innerWidth <= 640;\r\n }\r\n\r\n isOverlay() {\r\n return this.state.layoutMode === 'overlay';\r\n }\r\n\r\n isHorizontal() {\r\n return this.state.layoutMode === 'horizontal';\r\n }\r\n\r\n isSlim() {\r\n return this.state.layoutMode === 'slim';\r\n }\r\n\r\n changeTheme(theme) {\r\n this.setState({ theme: theme });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('theme-css', theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('theme-css', theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeLayout(layout, special) {\r\n this.setState({ layout: layout });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', layout, 'layout');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', layout + '-v4', 'layout');\r\n }\r\n\r\n if (special) {\r\n this.setState({\r\n darkMenu: true\r\n })\r\n }\r\n }\r\n\r\n changeVersion(version) {\r\n this.setState({ version: version });\r\n if (version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout, 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout + '-v4', 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeStyleSheetUrl(id, value, prefix) {\r\n let element = document.getElementById(id);\r\n let urlTokens = element.getAttribute('href').split('/');\r\n urlTokens[urlTokens.length - 1] = prefix + '-' + value + '.css';\r\n let newURL = urlTokens.join('/');\r\n element.setAttribute('href', newURL);\r\n }\r\n\r\n createMenu(userInfo,badges) {\r\n if (userInfo) {\r\n this.menu = [\r\n { label: 'Dashboard', icon: 'fa fa-fw fa-home', to: '/wastepro' },\r\n \r\n { label: 'แชทกับแอดมิน', icon: 'fa fa-comments', to: '/wastepro/admin-chat', badge: badges || null },\r\n //{ label: 'Chat with U2', icon: 'fa fa-comments', to: '/wastepro/chat' },\r\n { label: 'บันทึกรับขยะรีไซเคิล', icon: 'fa fa-fw fa-circle', to: '/wastepro/manage-orders' },\r\n { label: 'รายงานการรับซื้อ', icon: 'fa fa-fw fa-credit-card', to: '/wastepro/report-buying' },\r\n { label: 'รายงานการแจ้งหนี้', icon: 'fa fa-fw fa-credit-card', to: '/wastepro/report-invoice' },\r\n // { label: 'รายงานสรุปยอดการรับซื้อ', icon: 'fa fa-fw fa-credit-card', to: '/wastepro/report-purchase-amount' },\r\n // { label: 'รายงานการรับซื้อยอดนิยม', icon: 'fa fa-fw fa-credit-card', to: '/wastepro/report-max-purchase' },\r\n { label: 'จัดการราคารับซื้อ', icon: 'fa fa-fw fa-gg', to: '/wastepro/manage-product-price' },\r\n { label: 'ตั้งค่าการรับงาน', icon: 'fa fa-cog', to: '/wastepro/manage-accept' },\r\n //{ label: 'ข้อมูลการติดต่อ C3Leng', icon: 'fa fa-address-card-o', to: '/wastepro/wastepro-contact' },\r\n /*\r\n {label: 'สร้าง Order', icon: 'fa fa-fw fa-gg', to:'/wastepro/create-order'},\r\n {label: 'จัดการ Order', icon: 'fa fa-fw fa-gg', to:'/wastepro/manage-order'},\r\n {label: 'จัดการ Invoice', icon: 'fa fa-fw fa-gg', to:'/wastepro/manage-invoice'},\r\n {label: 'จัดการรายการโอนเงิน', icon: 'fa fa-fw fa-gg', to:'/wastepro/manage-transfer'},\r\n */\r\n /*{\r\n label: 'รายงาน', icon: 'fa fa-fw fa-credit-card',\r\n items: [\r\n {label: 'รายงานการขาย', icon: 'fa fa-fw fa-bars',to: '/wastepro/report-buying'},\r\n \r\n {label: 'รายงานตรวจสอบ Orders', icon: 'fa fa-fw fa-bars', to: '/wastepro/report-validate-order'},\r\n {label: 'สรุปเพื่อใช้เป็นข้อมูลในการโอนเงิน', icon: 'fa fa-fw fa-bars', to: '/wastepro/report-transfer'},\r\n {label: 'สรุปเพื่อใช้เป็นข้อมูลแจ้งหนี้', icon: 'fa fa-fw fa-bars',to: '/wastepro/report-invoice'},\r\n \r\n \r\n \r\n ]\r\n },*/\r\n // {\r\n // label: 'Settings', icon: 'fa fa-fw fa-bars',\r\n // items: [\r\n // { label: 'Static Menu', icon: 'fa fa-fw fa-bars', command: () => this.setState({ layoutMode: 'static' }) },\r\n // { label: 'Inline Profile', icon: 'fa fa-sun-o fa-fw', command: () => this.setState({ profileMode: 'inline' }) },\r\n // { label: 'Top Profile', icon: 'fa fa-moon-o fa-fw', command: () => this.setState({ profileMode: 'top' }) },\r\n // { label: 'Light Menu', icon: 'fa fa-sun-o fa-fw', command: () => this.setState({ darkMenu: false }) },\r\n // { label: 'Dark Menu', icon: 'fa fa-moon-o fa-fw', command: () => this.setState({ darkMenu: true }) }\r\n // ]\r\n // }\r\n ];\r\n }\r\n }\r\n\r\n redirectProfile = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastepro/profile';\r\n event.preventDefault();\r\n this.setState({userNotCompleteDialog: false})\r\n }\r\n changePasswordU3 = (event) => {\r\n this.setState({staticMenuMobileActive:false})\r\n window.location = '#/wastepro/change-password';\r\n event.preventDefault();\r\n }\r\n \r\n\r\n render() {\r\n const {\r\n banks,\r\n province,\r\n cardProvince,\r\n locationServiceProps,\r\n userServiceProps,\r\n userInfo\r\n } = this.props\r\n\r\n let layoutClassName = classNames('layout-wrapper', {\r\n 'menu-layout-static': this.state.layoutMode !== 'overlay',\r\n 'menu-layout-overlay': this.state.layoutMode === 'overlay',\r\n 'layout-menu-overlay-active': this.state.overlayMenuActive,\r\n 'menu-layout-slim': this.state.layoutMode === 'slim',\r\n 'menu-layout-horizontal': this.state.layoutMode === 'horizontal',\r\n 'layout-menu-static-inactive': this.state.staticMenuDesktopInactive,\r\n 'layout-menu-static-active': this.state.staticMenuMobileActive\r\n });\r\n let menuClassName = classNames('layout-menu-container', { 'layout-menu-dark': this.state.darkMenu });\r\n let userNotCompleteFooter =
    \r\n
    ;\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n this.layoutMenuScroller = el} style={{ height: '100%' }}>\r\n
    \r\n {(this.state.profileMode === 'inline' && this.state.layoutMode !== 'horizontal') && }\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n this.setState({userNotCompleteDialog: false})}>\r\n ข้อมูลโปรไฟล์ไม่ครบถ้วน แก้ไขข้อมูลเพื่อรับซื้อสินค้า\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n locationMaster: state.location,\r\n province: state.location.province,\r\n district: state.location.district,\r\n subDistrict: state.location.subDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n\r\n banks: state.master.banks,\r\n\r\n changePassword: state.changePassword,\r\n\r\n getFileWastepro: state.getFileWastepro,\r\n chatSingleBadge: state.chatSingleBadge,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n ChatServiceProps: bindActionCreators(ChatService, dispatch),\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(WasteproContainer)\r\n\r\n","import axios from 'axios';\r\n\r\nexport class CountryService {\r\n\r\n getCountries(_this) {\r\n return axios.get('assets/demo/data/countries.json')\r\n .then(res => res.data.data)\r\n .then(data => {\r\n _this.setState({ countriesData: data });\r\n return data;\r\n });\r\n }\r\n}","import axios from 'axios';\r\n\r\nexport class NodeService {\r\n\r\n getFiles(_this) {\r\n return axios.get('assets/demo/data/files.json')\r\n .then(res => res.data.data)\r\n .then(data => {\r\n _this.setState({ files: data });\r\n return data;\r\n });\r\n }\r\n\r\n getFilesystem(_this) {\r\n return axios.get('assets/demo/data/filesystem.json')\r\n .then(res => res.data.data)\r\n .then(data => {\r\n _this.setState({ files: data });\r\n return data;\r\n });\r\n\r\n }\r\n\r\n getTreeNodes() {\r\n return axios.get('assets/demo/data/treenodes.json')\r\n .then(res => res.data.root);\r\n }\r\n\r\n\tgetTreeTableNodes() {\r\n\t\treturn axios.get('assets/demo/data/treetablenodes.json')\r\n\t\t\t.then(res => res.data.root);\r\n\t}\r\n}","import React, { Component } from 'react';\r\nimport {CountryService} from '../../service/CountryService';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport {InputTextarea} from 'primereact/inputtextarea';\r\nimport {AutoComplete} from 'primereact/autocomplete';\r\nimport {MultiSelect} from 'primereact/multiselect';\r\nimport {Calendar} from 'primereact/calendar';\r\nimport {Chips} from 'primereact/chips';\r\nimport {Checkbox} from 'primereact/checkbox';\r\nimport {RadioButton} from 'primereact/radiobutton';\r\nimport {InputSwitch} from 'primereact/inputswitch';\r\nimport {Dropdown} from 'primereact/dropdown';\r\nimport {Password} from 'primereact/password';\r\nimport {Spinner} from 'primereact/spinner';\r\nimport {Slider} from 'primereact/components/slider/Slider';\r\nimport {ListBox} from 'primereact/listbox';\r\nimport {Rating} from 'primereact/rating';\r\nimport {ColorPicker} from 'primereact/colorpicker';\r\nimport {Editor} from 'primereact/editor';\r\nimport {ToggleButton} from 'primereact/togglebutton';\r\nimport {SelectButton} from 'primereact/selectbutton';\r\nimport {Button} from 'primereact/button';\r\nimport {SplitButton} from 'primereact/splitbutton';\r\n\r\nexport class FormsDemo extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n countriesData: [],\r\n cars: [],\r\n selectedType: null,\r\n chipsValue: [],\r\n date1: null,\r\n date2: null,\r\n date3: null,\r\n date4: null,\r\n date5: null,\r\n date6: null,\r\n date7: null,\r\n checkboxValue: [],\r\n radioValue: null,\r\n inputSwitchValue: null,\r\n dropdownCity: null,\r\n spinnerValue: null,\r\n sliderValue: [20,80],\r\n listBoxCity: null,\r\n ratingValue: null,\r\n colorPickerValue: null,\r\n inputGroupValue: null,\r\n carOptions: [\r\n {label: 'Audi', value: 'Audi'},\r\n {label: 'BMW', value: 'BMW'},\r\n {label: 'Fiat', value: 'Fiat'},\r\n {label: 'Honda', value: 'Honda'},\r\n {label: 'Jaguar', value: 'Jaguar'},\r\n {label: 'Mercedes', value: 'Mercedes'},\r\n {label: 'Renault', value: 'Renault'},\r\n {label: 'VW', value: 'VW'},\r\n {label: 'Volvo', value: 'Volvo'}\r\n ],\r\n cities: [\r\n {label: 'Select City', value: null},\r\n {label: 'New York', value: 'New York'},\r\n {label: 'Rome', value: 'Rome'},\r\n {label: 'London', value: 'London'},\r\n {label: 'Istanbul', value: 'Istanbul'},\r\n {label: 'Paris', value: 'Paris'}\r\n ],\r\n listBoxCities: [\r\n {label: 'Madrid', value: 'Madrid'},\r\n {label: 'Geneva', value: 'Geneva'},\r\n {label: 'Los Angeles', value: 'Los Angeles'},\r\n {label: 'Monaco', value: 'Monaco'},\r\n {label: 'Berlin', value: 'Berlin'}\r\n ],\r\n types: [\r\n {label: 'Apartment', value: 'Apartment'},\r\n {label: 'House', value: 'House'},\r\n {label: 'Studio', value: 'Studio'}\r\n ],\r\n splitButtonItems: [\r\n {label: 'Update', icon: 'pi pi-refresh'},\r\n {label: 'Delete', icon: 'pi pi-times'},\r\n {label: 'Home', icon: 'pi pi-home', url: 'http://www.primefaces.org/primereact'}\r\n ]\r\n };\r\n\r\n this.countryService = new CountryService();\r\n this.onCheckboxChange = this.onCheckboxChange.bind(this);\r\n this.filterCountry = this.filterCountry.bind(this);\r\n this.filterBrands = this.filterBrands.bind(this);\r\n this.autoCompleteItemTemplate = this.autoCompleteItemTemplate.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n this.setState({countriesData: this.countryService.getCountries(this)})\r\n this.brands = ['Audi', 'BMW', 'Fiat', 'Ford', 'Honda', 'Jaguar', 'Mercedes', 'Renault', 'Volvo'];\r\n }\r\n\r\n filterCountry(event) {\r\n let results = this.state.countriesData.filter((country) => {\r\n return country.name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n this.setState({ filteredCountries: results });\r\n }\r\n\r\n filterBrands(event) {\r\n setTimeout(() => {\r\n let results;\r\n\r\n if (event.query.length === 0) {\r\n results = [...this.brands];\r\n }\r\n else {\r\n results = this.brands.filter((brand) => {\r\n return brand.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n\r\n this.setState({ filteredBrands: results });\r\n }, 250);\r\n }\r\n\r\n autoCompleteItemTemplate(brand) {\r\n if (!brand) {\r\n return;\r\n }\r\n\r\n return (\r\n
    \r\n {brand}\r\n
    {brand}
    \r\n
    \r\n );\r\n }\r\n\r\n onCheckboxChange(event){\r\n let selected = [...this.state.checkboxValue];\r\n if (event.checked)\r\n selected.push(event.value);\r\n else\r\n selected.splice(selected.indexOf(event.value), 1);\r\n\r\n this.setState({checkboxValue: selected});\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    InputText

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

    TextArea

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

    AutoComplete

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ country: event.value, filteredCountries: null})} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ brand: event.value, filteredBrands: null})} itemTemplate={this.autoCompleteItemTemplate} />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    MultiSelect

    \r\n this.setState({cars: event.value})} filter={true}/>\r\n
    \r\n\r\n
    \r\n

    Calendar

    \r\n
    \r\n this.setState({date1: e.value})} inline={true} />\r\n
    \r\n\r\n
    \r\n
    \r\n this.setState({date2: e.value})}/>\r\n
    \r\n
    \r\n this.setState({date3: e.value})}/>\r\n
    \r\n
    \r\n this.setState({date4: e.value})}/>\r\n
    \r\n
    \r\n this.setState({date5: e.value})}/>\r\n
    \r\n
    \r\n this.setState({date6: e.value})}/>\r\n
    \r\n
    \r\n this.setState({date7: e.value})}/>\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Chips

    \r\n this.setState({chipsValue: e.value})}/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Checkboxes

    \r\n
    \r\n
    \r\n -1} />\r\n \r\n
    \r\n
    \r\n -1} />\r\n \r\n
    \r\n
    \r\n -1} />\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    RadioButtons

    \r\n
    \r\n
    \r\n this.setState({radioValue: event.value})} checked={this.state.radioValue === \"Ultima\"}/>\r\n \r\n
    \r\n
    \r\n this.setState({radioValue: event.value})} checked={this.state.radioValue === \"Avalon\"}/>\r\n \r\n
    \r\n
    \r\n this.setState({radioValue: event.value})} checked={this.state.radioValue === \"Serenity\"}/>\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    InputSwitch

    \r\n this.setState({inputSwitchValue: event.value})} />\r\n
    \r\n \r\n
    \r\n

    Dropdown

    \r\n this.setState({dropdownCity: event.value})} autoWidth={false} />\r\n
    \r\n \r\n
    \r\n

    Password

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

    Spinner

    \r\n this.setState({spinnerValue: event.value})} />\r\n
    \r\n \r\n
    \r\n

    Slider

    \r\n this.setState({sliderValue: event.value})} />\r\n
    \r\n \r\n
    \r\n

    ListBox

    \r\n this.setState({listBoxCity: event.value})} filter={true} />\r\n
    \r\n\r\n
    \r\n

    Rating

    \r\n this.setState({ratingValue: event.value})} />\r\n
    \r\n \r\n
    \r\n

    ColorPicker

    \r\n this.setState({colorPickerValue: event.value})} />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Input Groups

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n $\r\n .00\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n this.setState({inputGroupValue: event.checked})} />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Editor

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

    Buttons

    \r\n\r\n
    \r\n
    ToggleButton
    \r\n
    \r\n this.setState({toggleButtonValue: event.value})} />\r\n
    \r\n \r\n
    SelectButton
    \r\n
    \r\n this.setState({selectedType: event.value})} />\r\n
    \r\n \r\n
    Button
    \r\n
    \r\n
    \r\n\r\n
    Left Icon
    \r\n
    \r\n
    \r\n \r\n
    Right Icon
    \r\n
    \r\n
    \r\n\r\n
    Icon Only
    \r\n
    \r\n
    \r\n\r\n
    Link
    \r\n \r\n\r\n
    SplitButton
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Colored Buttons

    \r\n

    Flat buttons with various color alternatives.

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import axios from 'axios';\r\n\r\nexport class EventService {\r\n\r\n getEvents() {\r\n return axios.get('assets/demo/data/scheduleevents.json')\r\n .then(res => res.data.data);\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {CountryService} from '../../service/CountryService';\r\nimport {CarService} from '../../service/CarService';\r\nimport {NodeService} from '../../service/NodeService';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport {InputTextarea} from 'primereact/inputtextarea';\r\nimport {AutoComplete} from 'primereact/autocomplete';\r\nimport {MultiSelect} from 'primereact/multiselect';\r\nimport {Calendar} from 'primereact/calendar';\r\nimport {DataTable} from 'primereact/datatable';\r\nimport {DataView, DataViewLayoutOptions} from 'primereact/dataview';\r\nimport {Tree} from 'primereact/tree';\r\nimport {Checkbox} from 'primereact/checkbox';\r\nimport {Menu} from 'primereact/menu';\r\nimport {PanelMenu} from 'primereact/panelmenu';\r\nimport {InputMask} from 'primereact/inputmask';\r\nimport {Dropdown} from 'primereact/dropdown';\r\nimport {Password} from 'primereact/password';\r\nimport {Spinner} from 'primereact/spinner';\r\nimport {Slider} from 'primereact/slider';\r\nimport {ListBox} from 'primereact/listbox';\r\nimport {RadioButton} from 'primereact/radiobutton';\r\nimport {PickList} from 'primereact/picklist';\r\nimport {OrderList} from 'primereact/orderlist';\r\nimport {ToggleButton} from 'primereact/togglebutton';\r\nimport {SelectButton} from 'primereact/selectbutton';\r\nimport {Button} from 'primereact/button';\r\nimport {SplitButton} from 'primereact/splitbutton';\r\nimport {Accordion,AccordionTab} from 'primereact/accordion';\r\nimport {Panel} from 'primereact/panel';\r\nimport {TabView, TabPanel} from 'primereact/tabview';\r\nimport {ProgressBar} from 'primereact/progressbar';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {Column} from 'primereact/column';\r\n\r\nexport class SampleDemo extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n date: null,\r\n country: null,\r\n filteredCountries: null,\r\n countriesData: [],\r\n dropdownCity: null,\r\n cities: [\r\n {label: 'Select City', value: null},\r\n {label: 'New York', value: 'New York'},\r\n {label: 'Rome', value: 'Rome'},\r\n {label: 'London', value: 'London'},\r\n {label: 'Istanbul', value: 'Istanbul'},\r\n {label: 'Paris', value: 'Paris'},\r\n ],\r\n spinnerValue: null,\r\n checkboxValue: [],\r\n radioValue: null,\r\n sliderValue: null,\r\n toggleButtonValue: null,\r\n dialogVisible: false,\r\n dataTableValue: [],\r\n dataTableSelection: null,\r\n dataViewValue: [],\r\n treeData: [],\r\n picklistSourceCars: [],\r\n picklistTargetCars: [],\r\n orderlistCars: [],\r\n layout: 'list',\r\n selectedCars: [],\r\n\t\t\tselectedFile:null,\r\n carOptions: [\r\n {label: 'Audi', value: 'Audi'},\r\n {label: 'BMW', value: 'BMW'},\r\n {label: 'Fiat', value: 'Fiat'},\r\n {label: 'Honda', value: 'Honda'},\r\n {label: 'Jaguar', value: 'Jaguar'},\r\n {label: 'Mercedes', value: 'Mercedes'},\r\n {label: 'Renault', value: 'Renault'},\r\n {label: 'VW', value: 'VW'},\r\n {label: 'Volvo', value: 'Volvo'}\r\n ],\r\n listBoxCity: null,\r\n listBoxCities: [\r\n {label: 'Madrid', value: 'Madrid'},\r\n {label: 'Geneva', value: 'Geneva'},\r\n {label: 'Los Angeles', value: 'Los Angeles'},\r\n {label: 'Monaco', value: 'Monaco'},\r\n {label: 'Berlin', value: 'Berlin'}\r\n ],\r\n selectedType: null,\r\n types: [\r\n {label: 'Apartment', value: 'Apartment'},\r\n {label: 'House', value: 'House'},\r\n {label: 'Studio', value: 'Studio'}\r\n ], \r\n splitButtonItems: [\r\n {label: 'Update', icon: 'pi pi-refresh'},\r\n {label: 'Delete', icon: 'pi pi-times'},\r\n {label: 'Home', icon: 'pi pi-home', url: 'http://www.primefaces.org/primereact'}\r\n ],\r\n menuItems: [\r\n {\r\n label: 'Options',\r\n items: [{label: 'New', icon: 'pi pi-fw pi-plus',command:() => window.location.hash=\"/fileupload\"},\r\n {label: 'Delete', icon: 'pi pi-fw pi-trash', url: 'http://primetek.com.tr'}]\r\n }, \r\n {\r\n label: 'Account',\r\n items: [{label: 'Options', icon: 'pi pi-fw pi-cog',command:() => window.location.hash=\"/\"},\r\n {label: 'Sign Out', icon: 'pi pi-fw pi-power-off'} ]\r\n }\r\n ],\r\n panelMenuItems: [\r\n {\r\n label:'Documents',\r\n icon:'pi pi-fw pi-file',\r\n items:[\r\n {\r\n label:'New',\r\n icon:'pi pi-fw pi-plus',\r\n items:[\r\n {\r\n label:'Bookmark',\r\n icon:'pi pi-fw pi-bookmark'\r\n },\r\n {\r\n label:'Video',\r\n icon:'pi pi-fw pi-video'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-trash'\r\n },\r\n {\r\n separator:true\r\n },\r\n {\r\n label:'Export',\r\n icon:'pi pi-fw pi-external-link'\r\n }\r\n ]\r\n },\r\n {\r\n label:'Manage',\r\n icon:'pi pi-fw pi-pencil',\r\n items:[\r\n {\r\n label:'Left',\r\n icon:'pi pi-fw pi-align-left'\r\n },\r\n {\r\n label:'Right',\r\n icon:'pi pi-fw pi-align-right'\r\n },\r\n {\r\n label:'Center',\r\n icon:'pi pi-fw pi-align-center'\r\n },\r\n {\r\n label:'Justify',\r\n icon:'pi pi-fw pi-align-justify'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n label:'Accounts',\r\n icon:'pi pi-fw pi-user',\r\n items:[\r\n {\r\n label:'New',\r\n icon:'pi pi-fw pi-user-plus',\r\n \r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-user-minus',\r\n \r\n },\r\n {\r\n label:'Search',\r\n icon:'pi pi-fw pi-users',\r\n items:[\r\n {\r\n label:'Filter',\r\n icon:'pi pi-fw pi-filter',\r\n items:[\r\n {\r\n label:'Print',\r\n icon:'pi pi-fw pi-print'\r\n }\r\n ]\r\n },\r\n {\r\n icon:'pi pi-fw pi-bars',\r\n label:'List'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n label:'Calendar',\r\n icon:'pi pi-fw pi-calendar',\r\n items:[\r\n {\r\n label:'Edit',\r\n icon:'pi pi-fw pi-pencil',\r\n items:[\r\n {\r\n label:'Save',\r\n icon:'pi pi-fw pi-calendar-plus'\r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-calendar-minus'\r\n }\r\n ]\r\n },\r\n {\r\n label:'Archieve',\r\n icon:'pi pi-fw pi-calendar-times',\r\n items:[\r\n {\r\n label:'Remove',\r\n icon:'pi pi-fw pi-calendar-minus'\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n\r\n this.countryService = new CountryService();\r\n this.carService = new CarService();\r\n this.nodeService = new NodeService();\r\n\r\n this.onCheckboxChange = this.onCheckboxChange.bind(this);\r\n this.filterCountry = this.filterCountry.bind(this);\r\n \r\n this.dataViewItemTemplate = this.dataViewItemTemplate.bind(this);\r\n this.orderListTemplate = this.orderListTemplate.bind(this);\r\n }\r\n\r\n componentDidMount(){\r\n this.setState({countriesData: this.countryService.getCountries(this)});\r\n this.carService.getCarsSmall().then(data => this.setState({dataTableValue: data}));\r\n this.carService.getCarsLarge().then(data => this.setState({dataViewValue: data}));\r\n this.nodeService.getTreeNodes(this).then(nodes => this.setState({treeData: nodes}));\r\n this.carService.getCarsSmall().then(data => this.setState({picklistSourceCars: data}));\r\n this.carService.getCarsSmall().then(data => this.setState({orderlistCars: data}));\r\n }\r\n\r\n filterCountry(event) {\r\n const results = this.state.countriesData.filter((country) => {\r\n return country.name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n\r\n this.setState({filteredCountries: results});\r\n }\r\n\r\n onCheckboxChange(event){\r\n let selected = [...this.state.checkboxValue];\r\n\r\n if(event.checked)\r\n selected.push(event.value);\r\n else\r\n selected.splice(selected.indexOf(event.value), 1);\r\n\r\n this.setState({checkboxValue: selected});\r\n }\r\n\r\n orderListTemplate(car){\r\n if (!car) {\r\n return;\r\n }\r\n\r\n return (\r\n
    \r\n {car.brand}\r\n
    {car.brand} - {car.year} - {car.color}
    \r\n
    \r\n );\r\n }\r\n\r\n dataViewItemTemplate(car,layout) {\r\n if (!car) {\r\n return;\r\n }\r\n\r\n let src = \"assets/demo/images/car/\" + car.brand + \".png\";\r\n\r\n if (layout === 'list') {\r\n return (\r\n
    \r\n
    \r\n {car.brand}\r\n
    \r\n
    \r\n
    \r\n
    Vin:
    \r\n
    {car.vin}
    \r\n\r\n
    Year:
    \r\n
    {car.year}
    \r\n\r\n
    Brand:
    \r\n
    {car.brand}
    \r\n\r\n
    Color:
    \r\n
    {car.color}
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (layout === 'grid') {\r\n return (\r\n
    \r\n \r\n {car.brand}\r\n
    {car.year} - {car.color}
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const dialogFooter = (\r\n
    \r\n
    \r\n SplitButton\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({selectedCars: event.value})} />\r\n
    \r\n
    \r\n ToggleButton\r\n
    \r\n
    \r\n this.setState({toggleButtonValue: event.value})} />\r\n
    \r\n
    \r\n SelectButton\r\n
    \r\n
    \r\n this.setState({selectedType: event.value})} />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({listBoxCity: event.value})} filter={true} />\r\n
    \r\n
    \r\n Dialog\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n this.setState({dialogVisible:false})}>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    DataTable

    \r\n this.setState({dataTableSelection: event.value})}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    DataView

    \r\n this.dv = el} value={this.state.dataViewValue} filterBy=\"brand\" itemTemplate={this.dataViewItemTemplate}\r\n paginatorPosition=\"both\" paginator={true} rows={10} header={dataViewHeader} layout={this.state.layout} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    PickList

    \r\n {car.brand}} \r\n onChange={event => this.setState({picklistSourceCars: event.source, picklistTargetCars: event.target})} />\r\n
    \r\n\r\n
    \r\n

    OrderList

    \r\n this.setState({orderlistCars: event.value})} />\r\n
    \r\n\r\n
    \r\n

    ProgressBar

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

    PanelMenu

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

    Accordion Panel

    \r\n \r\n \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, oversees his daughters wedding.\r\n His beloved son Michael has just come home from the war, but does not intend to become part of his fathers business.\r\n Through Michaels life the nature of the family business becomes clear. The business of the family is just like the head\r\n of the family, kind and benevolent to those who give respect,\r\n but given to ruthless violence whenever anything stands against the good of the family.\r\n \r\n \r\n Francis Ford Coppolas legendary continuation and sequel to his landmark 1972 film, The_Godfather parallels the young\r\n Vito Corleone's rise with his son Michael's spiritual fall, deepening The_Godfathers depiction of the dark side of\r\n the American dream. In the early 1900s, the child Vito flees his Sicilian village for America after the local Mafia kills his family.\r\n Vito struggles to make a living, legally or illegally, for his wife and growing brood in Little Italy, killing the local Black Hand\r\n Fanucci after he demands his customary cut of the tyro's business. With Fanucci gone, Vito's communal stature grows.\r\n \r\n \r\n After a break of more than 15 years, director Francis Ford Coppola and writer Mario Puzo returned to the well for this\r\n third and final story of the fictional Corleone crime family. Two decades have passed, and crime kingpin Michael Corleone,\r\n now divorced from his wife Kay has nearly succeeded in keeping his promise that his family would one day be completely legitimate.\r\n \r\n \r\n\r\n

    TabView

    \r\n \r\n \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, overseeshis daughter's wedding. His beloved son ichael has just come home from the war, but does not intend to become part of his father's business. Through Michael's life the nature of the family business becomes clear. The business of the family is just like the head of the family, kind and benevolent to those who give respect, but given to ruthless violence whenever anything stands against the good of the family.\r\n \r\n \r\n Francis Ford Coppola's legendary continuation and sequel to his landmark 1972 film, The_Godfather parallels the young Vito Corleone's rise with his son Michael's spiritual fall, deepening The_Godfather's depiction of the dark side of the American dream. In the early 1900s, the child Vito flees his Sicilian village for America after the local Mafia kills his family. Vito struggles to make a living, legally or illegally, for his wife and growing brood in Little Italy.\r\n \r\n \r\n The Godfather Part III is set in 1979 and 1980. Michael has moved back to New York and taken great strides to remove the family from crime. He turns over his New York criminal interests to longtime enforcer Joey Zasa. He uses his wealth in an attempt to rehabilitate his reputation through numerous philanthropic acts, administered by a foundation named after his father. A decade earlier, he gave custody of his two children to Kay, who has since remarried.\r\n \r\n \r\n
    \r\n\r\n
    \r\n

    Panel

    \r\n \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, oversees his daughter's wedding.\r\n His beloved son Michael has just come home from the war, but does not intend to become part of his father's business.\r\n Through Michael's life the nature of the family business becomes clear. The business of the family is just like the head of the family,\r\n kind and benevolent to those who give respect, but given to ruthless violence whenever anything stands against the good of the family.\r\n \r\n
    \r\n\r\n
    \r\n

    Tree

    \r\n this.setState({selectedFile: event.value})}/>\r\n
    \r\n\r\n
    \r\n

    Menu

    \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {CarService} from '../../service/CarService';\r\nimport {NodeService} from '../../service/NodeService';\r\nimport {EventService} from '../../service/EventService';\r\nimport {OrganizationChart} from 'primereact/organizationchart';\r\nimport {DataTable} from 'primereact/datatable';\r\nimport {Tree} from 'primereact/tree';\r\nimport {TreeTable} from 'primereact/treetable';\r\nimport {Column} from 'primereact/column'\r\nimport {PickList} from 'primereact/picklist';\r\nimport {OrderList} from 'primereact/orderlist';\r\nimport {FullCalendar} from 'primereact/fullcalendar';\r\nimport {Panel} from 'primereact/panel';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport {Button} from 'primereact/button';\r\nimport {Dropdown} from 'primereact/dropdown';\r\nimport {DataView, DataViewLayoutOptions} from 'primereact/dataview';\r\n\r\nexport class DataDemo extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n dataTableValue:[],\r\n dataViewValue:[],\r\n picklistSourceCars:[],\r\n picklistTargetCars:[],\r\n orderlistCars:[],\r\n treeData1:[],\r\n treeData2:[],\r\n selectedFile:null,\r\n selectedFiles:null,\r\n documents:[],\r\n\t\t\tdocumentsSelection:null,\r\n fullcalendarEvents:[],\r\n\t\t\tfullcalendarOptions: {\r\n\t\t\t\tdefaultDate: '2016-01-12',\r\n\t\t\t\theader: {\r\n\t\t\t\t\tleft: 'prev,next today',\r\n\t\t\t\t\tcenter: 'title',\r\n\t\t\t\t\tright: 'month,agendaWeek,agendaDay'\r\n\t\t\t\t}\r\n\t\t\t},\r\n layout: 'list',\r\n sortOptions: [\r\n {label: 'Newest First', value: '!year'},\r\n {label: 'Oldest First', value: 'year'},\r\n {label: 'Brand', value: 'brand'}\r\n ],\r\n organizationChartValue: [{\r\n label: 'F.C Barcelona',\r\n expanded: true,\r\n children: [\r\n {\r\n label: 'F.C Barcelona',\r\n expanded: true,\r\n children: [\r\n {\r\n label: 'Chelsea FC'\r\n },\r\n {\r\n label: 'F.C. Barcelona'\r\n }\r\n ]\r\n },\r\n {\r\n label: 'Real Madrid',\r\n expanded: true,\r\n children: [\r\n {\r\n label: 'Bayern Munich'\r\n },\r\n {\r\n label: 'Real Madrid'\r\n }\r\n ]\r\n }\r\n ]\r\n }]\r\n };\r\n\r\n this.carService = new CarService();\r\n this.nodeService = new NodeService();\r\n this.eventService = new EventService();\r\n\r\n this.dataViewItemTemplate = this.dataViewItemTemplate.bind(this);\r\n this.pickListTemplate = this.pickListTemplate.bind(this);\r\n this.orderListTemplate = this.orderListTemplate.bind(this);\r\n this.onSortChange = this.onSortChange.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.carService.getCarsMedium().then(data => this.setState({dataTableValue: data}));\r\n this.nodeService.getTreeNodes(this).then(nodes => this.setState({treeData1: nodes}));\r\n this.nodeService.getTreeNodes(this).then(nodes => this.setState({treeData2: nodes}));\r\n this.carService.getCarsLarge().then(data => this.setState({dataViewValue: data}));\r\n this.nodeService.getTreeTableNodes(this).then(files => this.setState({documents: files}));\r\n this.carService.getCarsMedium().then(data => this.setState({picklistSourceCars: data}));\r\n this.carService.getCarsSmall().then(data => this.setState({orderlistCars: data}));\r\n this.eventService.getEvents().then(events => this.setState({fullcalendarEvents: events}));\r\n }\r\n\r\n pickListTemplate(car){\r\n if (!car) {\r\n return;\r\n }\r\n \r\n return
    \r\n {car.brand}\r\n
    {car.brand}
    \r\n
    \r\n }\r\n\r\n orderListTemplate(car){\r\n if (!car) {\r\n return;\r\n }\r\n\r\n return (\r\n
    \r\n {car.brand}\r\n
    {car.year} - {car.color}
    \r\n
    \r\n );\r\n }\r\n\r\n dataViewItemTemplate(car,layout) {\r\n if (!car) {\r\n return;\r\n }\r\n\r\n let src = \"assets/demo/images/car/\" + car.brand + \".png\";\r\n\r\n if (layout === 'list') {\r\n return (\r\n
    \r\n
    \r\n {car.brand}/\r\n
    \r\n
    \r\n
    \r\n
    Vin:
    \r\n
    {car.vin}
    \r\n\r\n
    Year:
    \r\n
    {car.year}
    \r\n\r\n
    Brand:
    \r\n
    {car.brand}
    \r\n\r\n
    Color:
    \r\n
    {car.color}
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (layout === 'grid') {\r\n return (\r\n
    \r\n \r\n {car.brand}\r\n
    {car.year} - {car.color}
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n\r\n onSortChange(event) {\r\n let value = event.value;\r\n\r\n if (value.indexOf('!') === 0)\r\n this.setState({sortOrder: -1, sortField:value.substring(1, value.length), sortKey: value});\r\n else\r\n this.setState({sortOrder: 1, sortField:value, sortKey: value});\r\n }\r\n\r\n render() {\r\n const header = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.dv.filter(event.target.value)} />\r\n
    \r\n
    \r\n this.setState({layout: event.value})} />\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    DataTable

    \r\n this.setState({dataTableSelection: event.value})}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    DataView

    \r\n this.dv = el} value={this.state.dataViewValue} filterBy=\"brand\" itemTemplate={this.dataViewItemTemplate} layout={this.state.layout}\r\n paginatorPosition={'both'} paginator={true} rows={10} header={header} sortOrder={this.state.sortOrder} sortField={this.state.sortField}/>\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    PickList

    \r\n this.setState({picklistSourceCars: event.source, picklistTargetCars: event.target})} />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    OrderList

    \r\n this.setState({orderlistCars: event.value})}/>\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tree

    \r\n this.setState({selectedFile: event.value})}/>\r\n
    \r\n
    \r\n

    Checkbox Tree

    \r\n this.setState({selectedFiles: event.value})}/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Organization Chart

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

    TreeTable

    \r\n this.setState({documentsSelection: event.value})}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Schedule

    \r\n\t\t\t\t\t\t\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {Accordion, AccordionTab} from 'primereact/accordion';\r\nimport {Fieldset} from 'primereact/fieldset';\r\nimport {Panel} from 'primereact/panel';\r\nimport {TabView, TabPanel} from 'primereact/tabview';\r\nimport {Toolbar} from 'primereact/toolbar';\r\nimport {Button} from 'primereact/button';\r\n\r\nexport class PanelsDemo extends Component {\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    AccordionPanel

    \r\n \r\n \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, overseeshis daughter's wedding. His beloved son ichael has just come home from the war, but does not intend to become part of his father's business. Through Michael's life the nature of the family business becomes clear. The business of the family is just like the head of the family, kind and benevolent to those who give respect, but given to ruthless violence whenever anything stands against the good of the family.\r\n \r\n \r\n Francis Ford Coppola's legendary continuation and sequel to his landmark 1972 film, The_Godfather parallels the young Vito Corleone's rise with his son Michael's spiritual fall, deepening The_Godfather's depiction of the dark side of the American dream. In the early 1900s, the child Vito flees his Sicilian village for America after the local Mafia kills his family. Vito struggles to make a living, legally or illegally, for his wife and growing brood in Little Italy.\r\n \r\n \r\n The Godfather Part III is set in 1979 and 1980. Michael has moved back to New York and taken great strides to remove the family from crime. He turns over his New York criminal interests to longtime enforcer Joey Zasa. He uses his wealth in an attempt to rehabilitate his reputation through numerous philanthropic acts, administered by a foundation named after his father. A decade earlier, he gave custody of his two children to Kay, who has since remarried.\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Panel

    \r\n \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, oversees his daughter's wedding.\r\n His beloved son Michael has just come home from the war, but does not intend to become part of his father's business.\r\n Through Michael's life the nature of the family business becomes clear. The business of the family is just like the head of the family,\r\n kind and benevolent to those who give respect, but given to ruthless violence whenever anything stands against the good of the family.\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    TabView

    \r\n \r\n \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, overseeshis daughter's wedding. His beloved son ichael has just come home from the war, but does not intend to become part of his father's business. Through Michael's life the nature of the family business becomes clear. The business of the family is just like the head of the family, kind and benevolent to those who give respect, but given to ruthless violence whenever anything stands against the good of the family.\r\n \r\n \r\n Francis Ford Coppola's legendary continuation and sequel to his landmark 1972 film, The_Godfather parallels the young Vito Corleone's rise with his son Michael's spiritual fall, deepening The_Godfather's depiction of the dark side of the American dream. In the early 1900s, the child Vito flees his Sicilian village for America after the local Mafia kills his family. Vito struggles to make a living, legally or illegally, for his wife and growing brood in Little Italy.\r\n \r\n \r\n The Godfather Part III is set in 1979 and 1980. Michael has moved back to New York and taken great strides to remove the family from crime. He turns over his New York criminal interests to longtime enforcer Joey Zasa. He uses his wealth in an attempt to rehabilitate his reputation through numerous philanthropic acts, administered by a foundation named after his father. A decade earlier, he gave custody of his two children to Kay, who has since remarried.\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Fieldset

    \r\n
    \r\n The story begins as Don Vito Corleone, the head of a New York Mafia family, oversees his daughter's wedding.\r\n His beloved son Michael has just come home from the war, but does not intend to become part of his father's business.\r\n Through life of Michael the nature of the family business becomes clear. The business of the family is just like the head of the family,\r\n kind and benevolent to those who give respect,\r\n but given to ruthless violence whenever anything stands against the good of the family.\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Toolbar

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {CarService} from '../../service/CarService';\r\nimport {OverlayPanel} from 'primereact/overlaypanel';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {Lightbox} from 'primereact/lightbox';\r\nimport {Button} from 'primereact/button';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport {DataTable} from 'primereact/datatable';\r\nimport {Column} from 'primereact/column';\r\n\r\nexport class OverlaysDemo extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n dataTableValue: [],\r\n display: false,\r\n images: [\r\n {source:'assets/demo/images/sopranos/sopranos1.jpg', thumbnail: 'assets/demo/images/sopranos/sopranos1_small.jpg', title:'Sopranos 1'},\r\n {source:'assets/demo/images/sopranos/sopranos2.jpg', thumbnail: 'assets/demo/images/sopranos/sopranos2_small.jpg', title:'Sopranos 2'},\r\n {source:'assets/demo/images/sopranos/sopranos3.jpg', thumbnail: 'assets/demo/images/sopranos/sopranos3_small.jpg', title:'Sopranos 3'},\r\n {source:'assets/demo/images/sopranos/sopranos4.jpg', thumbnail: 'assets/demo/images/sopranos/sopranos4_small.jpg', title:'Sopranos 4'}\r\n ]\r\n };\r\n\r\n this.carService = new CarService();\r\n }\r\n\r\n componentDidMount(){\r\n this.carService.getCarsSmall().then(data => this.setState({dataTableValue: data.splice(0,5)}));\r\n }\r\n\r\n render() {\r\n const dialogFooter = (\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Overlay Panel

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

    Dialog

    \r\n this.setState({display:false})}>\r\n

    The story begins as Don Vito Corleone, the head of a New York Mafia family, oversees his daughter's wedding.\r\n His beloved son Michael has just come home from the war, but does not intend to become part of his father's business.\r\n Through Michael's life the nature of the family business becomes clear. The business of the family is just like the head of the family,\r\n kind and benevolent to those who give respect,\r\n but given to ruthless violence whenever anything stands against the good of the family.

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

    LightBox

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

    Tooltip

    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {BreadCrumb} from 'primereact/breadcrumb';\r\nimport {Steps} from 'primereact/steps';\r\nimport {Menubar} from 'primereact/menubar';\r\nimport {Button} from 'primereact/button';\r\nimport {Menu} from 'primereact/menu';\r\nimport {TieredMenu} from 'primereact/tieredmenu';\r\nimport {ContextMenu} from 'primereact/contextmenu';\r\nimport {SlideMenu} from 'primereact/slidemenu';\r\nimport {PanelMenu} from 'primereact/panelmenu';\r\nimport {TabMenu} from 'primereact/tabmenu';\r\nimport {MegaMenu} from 'primereact/megamenu';\r\n\r\nexport class MenusDemo extends Component {\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n breadcrumdItems: [\r\n {label:'Categories'},\r\n {label:'Sports'},\r\n {label:'Football'},\r\n {label:'Countries'},\r\n {label:'Spain'},\r\n {label:'F.C. Barcelona'},\r\n {label:'Squad'},\r\n {label:'Lionel Messi', url: 'https://en.wikipedia.org/wiki/Lionel_Messi'}\r\n ],\r\n home: {\r\n icon: 'pi pi-home', url: 'https://www.primefaces.org/primereact'\r\n },\r\n stepsItems: [\r\n {\r\n label: 'Personal'\r\n },\r\n {\r\n label: 'Seat'\r\n },\r\n {\r\n label: 'Payment'\r\n },\r\n {\r\n label: 'Confirmation'\r\n }\r\n ],\r\n tieredItems: [\r\n {\r\n label:'File',\r\n icon:'pi pi-fw pi-file',\r\n items:[\r\n {\r\n label:'New',\r\n icon:'pi pi-fw pi-plus',\r\n items:[\r\n {\r\n label:'Bookmark',\r\n icon:'pi pi-fw pi-bookmark'\r\n },\r\n {\r\n label:'Video',\r\n icon:'pi pi-fw pi-video'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-trash'\r\n },\r\n {\r\n separator:true\r\n },\r\n {\r\n label:'Export',\r\n icon:'pi pi-fw pi-external-link'\r\n }\r\n ]\r\n },\r\n {\r\n label:'Edit',\r\n icon:'pi pi-fw pi-pencil',\r\n items:[\r\n {\r\n label:'Left',\r\n icon:'pi pi-fw pi-align-left'\r\n },\r\n {\r\n label:'Right',\r\n icon:'pi pi-fw pi-align-right'\r\n },\r\n {\r\n label:'Center',\r\n icon:'pi pi-fw pi-align-center'\r\n },\r\n {\r\n label:'Justify',\r\n icon:'pi pi-fw pi-align-justify'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n label:'Users',\r\n icon:'pi pi-fw pi-user',\r\n items:[\r\n {\r\n label:'New',\r\n icon:'pi pi-fw pi-user-plus',\r\n \r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-user-minus',\r\n \r\n },\r\n {\r\n label:'Search',\r\n icon:'pi pi-fw pi-users',\r\n items:[\r\n {\r\n label:'Filter',\r\n icon:'pi pi-fw pi-filter',\r\n items:[\r\n {\r\n label:'Print',\r\n icon:'pi pi-fw pi-print'\r\n }\r\n ]\r\n },\r\n {\r\n icon:'pi pi-fw pi-bars',\r\n label:'List'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n label:'Events',\r\n icon:'pi pi-fw pi-calendar',\r\n items:[\r\n {\r\n label:'Edit',\r\n icon:'pi pi-fw pi-pencil',\r\n items:[\r\n {\r\n label:'Save',\r\n icon:'pi pi-fw pi-calendar-plus'\r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-calendar-minus'\r\n }\r\n ]\r\n },\r\n {\r\n label:'Archieve',\r\n icon:'pi pi-fw pi-calendar-times',\r\n items:[\r\n {\r\n label:'Remove',\r\n icon:'pi pi-fw pi-calendar-minus'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n label:'Quit',\r\n icon:'pi pi-fw pi-power-off'\r\n }\r\n ],\r\n items: [\r\n {\r\n label: 'Options',\r\n items: [{label: 'New', icon: 'pi pi-fw pi-plus'},\r\n {label: 'Delete', icon: 'pi pi-fw pi-trash', url: 'http://primetek.com.tr'}]\r\n }, \r\n {\r\n label: 'Account',\r\n items: [{label: 'Options', icon: 'pi pi-fw pi-cog'},\r\n {label: 'Sign Out', icon: 'pi pi-fw pi-power-off'} ]\r\n }\r\n ],\r\n panelMenuItems: [\r\n {\r\n label:'Documents',\r\n icon:'pi pi-fw pi-file',\r\n items:[\r\n {\r\n label:'New',\r\n icon:'pi pi-fw pi-plus',\r\n items:[\r\n {\r\n label:'Bookmark',\r\n icon:'pi pi-fw pi-bookmark'\r\n },\r\n {\r\n label:'Video',\r\n icon:'pi pi-fw pi-video'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-trash'\r\n },\r\n {\r\n separator:true\r\n },\r\n {\r\n label:'Export',\r\n icon:'pi pi-fw pi-external-link'\r\n }\r\n ]\r\n },\r\n {\r\n label:'Manage',\r\n icon:'pi pi-fw pi-pencil',\r\n items:[\r\n {\r\n label:'Left',\r\n icon:'pi pi-fw pi-align-left'\r\n },\r\n {\r\n label:'Right',\r\n icon:'pi pi-fw pi-align-right'\r\n },\r\n {\r\n label:'Center',\r\n icon:'pi pi-fw pi-align-center'\r\n },\r\n {\r\n label:'Justify',\r\n icon:'pi pi-fw pi-align-justify'\r\n },\r\n \r\n ]\r\n },\r\n {\r\n label:'Accounts',\r\n icon:'pi pi-fw pi-user',\r\n items:[\r\n {\r\n label:'New',\r\n icon:'pi pi-fw pi-user-plus',\r\n \r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-user-minus',\r\n \r\n },\r\n {\r\n label:'Search',\r\n icon:'pi pi-fw pi-users',\r\n items:[\r\n {\r\n label:'Filter',\r\n icon:'pi pi-fw pi-filter',\r\n items:[\r\n {\r\n label:'Print',\r\n icon:'pi pi-fw pi-print'\r\n }\r\n ]\r\n },\r\n {\r\n icon:'pi pi-fw pi-bars',\r\n label:'List'\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n {\r\n label:'Calendar',\r\n icon:'pi pi-fw pi-calendar',\r\n items:[\r\n {\r\n label:'Edit',\r\n icon:'pi pi-fw pi-pencil',\r\n items:[\r\n {\r\n label:'Save',\r\n icon:'pi pi-fw pi-calendar-plus'\r\n },\r\n {\r\n label:'Delete',\r\n icon:'pi pi-fw pi-calendar-minus'\r\n }\r\n ]\r\n },\r\n {\r\n label:'Archieve',\r\n icon:'pi pi-fw pi-calendar-times',\r\n items:[\r\n {\r\n label:'Remove',\r\n icon:'pi pi-fw pi-calendar-minus'\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ],\r\n tabMenuItems: [\r\n {label: 'Home', icon: 'pi pi-fw pi-home'},\r\n {label: 'Calendar', icon: 'pi pi-fw pi-calendar'},\r\n {label: 'Edit', icon: 'pi pi-fw pi-pencil'},\r\n {label: 'Documentation', icon: 'pi pi-fw pi-file'},\r\n {label: 'Settings', icon: 'pi pi-fw pi-cog'}\r\n ],\r\n megaMenuItems: [\r\n {\r\n label: 'Videos', icon: 'pi pi-fw pi-video',\r\n items: [\r\n [\r\n {\r\n label: 'Video 1',\r\n items: [{label: 'Video 1.1'}, {label: 'Video 1.2'}]\r\n },\r\n {\r\n label: 'Video 2',\r\n items: [{label: 'Video 2.1'}, {label: 'Video 2.2'}]\r\n }\r\n ],\r\n [\r\n {\r\n label: 'Video 3',\r\n items: [{label: 'Video 3.1'}, {label: 'Video 3.2'}]\r\n },\r\n {\r\n label: 'Video 4',\r\n items: [{label: 'Video 4.1'}, {label: 'Video 4.2'}]\r\n }\r\n ]\r\n ]\r\n },\r\n {\r\n label: 'Users', icon: 'pi pi-fw pi-users',\r\n items: [\r\n [\r\n {\r\n label: 'User 1',\r\n items: [{label: 'User 1.1'}, {label: 'User 1.2'}]\r\n },\r\n {\r\n label: 'User 2',\r\n items: [{label: 'User 2.1'}, {label: 'User 2.2'}]\r\n },\r\n ],\r\n [\r\n {\r\n label: 'User 3',\r\n items: [{label: 'User 3.1'}, {label: 'User 3.2'}]\r\n },\r\n {\r\n label: 'User 4',\r\n items: [{label: 'User 4.1'}, {label: 'User 4.2'}]\r\n }\r\n ],\r\n [\r\n {\r\n label: 'User 5',\r\n items: [{label: 'User 5.1'}, {label: 'User 5.2'}]\r\n },\r\n {\r\n label: 'User 6',\r\n items: [{label: 'User 6.1'}, {label: 'User 6.2'}]\r\n }\r\n ]\r\n ]\r\n },\r\n {\r\n label: 'Events', icon: 'pi pi-fw pi-calendar',\r\n items: [\r\n [\r\n {\r\n label: 'Event 1',\r\n items: [{label: 'Event 1.1'}, {label: 'Event 1.2'}]\r\n },\r\n {\r\n label: 'Event 2',\r\n items: [{label: 'Event 2.1'}, {label: 'Event 2.2'}]\r\n }\r\n ],\r\n [\r\n {\r\n label: 'Event 3',\r\n items: [{label: 'Event 3.1'}, {label: 'Event 3.2'}]\r\n },\r\n {\r\n label: 'Event 4',\r\n items: [{label: 'Event 4.1'}, {label: 'Event 4.2'}]\r\n }\r\n ]\r\n ]\r\n },\r\n {\r\n label: 'Settings', icon: 'pi pi-fw pi-cog',\r\n items: [\r\n [\r\n {\r\n label: 'Setting 1',\r\n items: [{label: 'Setting 1.1'}, {label: 'Setting 1.2'}]\r\n },\r\n {\r\n label: 'Setting 2',\r\n items: [{label: 'Setting 2.1'}, {label: 'Setting 2.2'}]\r\n },\r\n {\r\n label: 'Setting 3',\r\n items: [{label: 'Setting 3.1'}, {label: 'Setting 3.2'}]\r\n }\r\n ],\r\n [\r\n {\r\n label: 'Technology 4',\r\n items: [{label: 'Setting 4.1'}, {label: 'Setting 4.2'}]\r\n }\r\n ]\r\n ]\r\n }\r\n ]\r\n };\r\n }\r\n\r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Breadcrumb

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

    Steps

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

    MenuBar

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

    Plain Menu

    \r\n \r\n this.menu=el} popup={true} style={{width:250}} />\r\n
    \r\n\r\n
    \r\n

    TieredMenu

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

    ContextMenu

    \r\n Right click!\r\n \r\n
    \r\n \r\n
    \r\n

    SlideMenu

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

    PanelMenu

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

    MegaMenu - Horizontal

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

    MegaMenu - Vertical

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

    TabMenu

    \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}","import React, {Component} from 'react';\r\nimport {Messages} from 'primereact/messages';\r\nimport {Growl} from 'primereact/growl';\r\nimport {Button} from 'primereact/button';\r\nimport {Message} from 'primereact/message';\r\nimport {InputText} from 'primereact/inputtext';\r\n\r\nexport class MessagesDemo extends Component {\r\n\r\n constructor() {\r\n super();\r\n\r\n this.showInfo = this.showInfo.bind(this);\r\n this.showSuccess = this.showSuccess.bind(this);\r\n this.showWarn = this.showWarn.bind(this);\r\n this.showError = this.showError.bind(this);\r\n }\r\n\r\n showSuccess() {\r\n let msg = {severity: 'success', summary: 'Success Message', detail: 'Order submitted'};\r\n this.growl.show(msg);\r\n this.messages.show(msg);\r\n }\r\n\r\n showInfo() {\r\n let msg = {severity: 'info', summary: 'Info Message', detail: 'PrimeReact rocks'};\r\n this.growl.show(msg);\r\n this.messages.show(msg);\r\n }\r\n\r\n showWarn() {\r\n let msg = {severity: 'warn', summary: 'Warn Message', detail: 'There are unsaved changes'};\r\n this.growl.show(msg);\r\n this.messages.show(msg);\r\n }\r\n\r\n showError() {\r\n let msg = {severity: 'error', summary: 'Error Message', detail: 'Validation failed'};\r\n this.growl.show(msg);\r\n this.messages.show(msg);\r\n }\r\n \r\n render() {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    Messages and Growl

    \r\n this.messages = el} />\r\n this.growl = el} style={{marginTop: '75px'}} />\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux';\r\nimport classNames from 'classnames';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport { Panel } from 'primereact/panel';\r\nimport { AppTopbar } from '../AppTopbar';\r\nimport { AppInlineProfile } from '../AppInlineProfile';\r\nimport { AppFooter } from '../AppFooter';\r\nimport { AppMenu } from '../AppMenu';\r\nimport { Route } from 'react-router-dom';\r\nimport { Dashboard } from '../demo/Dashboard';\r\nimport { FormsDemo } from '../demo/FormsDemo';\r\nimport { SampleDemo } from '../demo/SampleDemo';\r\nimport { DataDemo } from '../demo/DataDemo';\r\nimport { PanelsDemo } from '../demo/PanelsDemo';\r\nimport { OverlaysDemo } from '../demo/OverlaysDemo';\r\nimport { MenusDemo } from '../demo/MenusDemo';\r\nimport { MessagesDemo } from '../demo/MessagesDemo';\r\nimport { ChartsDemo } from '../demo/ChartsDemo';\r\nimport { MiscDemo } from '../demo/MiscDemo';\r\nimport { EmptyPage } from '../demo/EmptyPage';\r\nimport { Documentation } from '../demo/Documentation';\r\nimport { UtilsDemo } from '../demo/UtilsDemo';\r\nimport 'primereact/resources/primereact.min.css';\r\n// import 'fullcalendar/dist/fullcalendar.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { ScrollPanel } from 'primereact/scrollpanel';\r\nimport ScrollAnimation from 'react-animate-on-scroll';\r\nimport { Card } from 'primereact/card';\r\nimport { Chips } from 'primereact/chips';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\nimport { connect } from 'react-redux'\r\nimport * as LocationService from '../../service/LocationService'\r\n\r\nimport style from './styleWastegenRegis.css';\r\n//import * as MasterServiceAPI from '../../service';\r\nimport * as ServerAPI from './service';\r\nimport { red } from 'ansi-colors';\r\nimport { ProgressBar } from 'primereact/progressbar';\r\nimport { authenFacebook } from '../landing/service';\r\nimport {CEInputText,CECalendar,CEDropdown,CEPassword} from '../../features/input';\r\nimport { API_ROOT,WEB_ROOT } from '../../constants/api';\r\n\r\n\r\n\r\nclass WastegenRegisContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n\r\n bindAuthenFacebook() {\r\n var authFacebook = JSON.parse(localStorage.getItem('auth-facebook'));\r\n if (authFacebook) {\r\n if (authFacebook.id) {\r\n var name = authFacebook.name.split(\" \");\r\n var fname = name[0];\r\n var lname = name[1];\r\n this.setState({ isAuthenFacebook: true });\r\n this.setState({ facebookId: authFacebook.id })\r\n this.setState({ email: authFacebook.email });\r\n this.setState({ firstName: fname });\r\n this.setState({ lastName: lname });\r\n }\r\n }\r\n }\r\n bindAuthenGoogle() {\r\n var authGoogle = JSON.parse(localStorage.getItem('auth-google'));\r\n if (authGoogle) {\r\n if (authGoogle.profileObj && authGoogle.tokenId) {\r\n\r\n this.setState({ isAuthenGoogle: true });\r\n this.setState({ googleId: authGoogle.googleId })\r\n this.setState({ email: authGoogle.profileObj.email });\r\n this.setState({ firstName: authGoogle.profileObj.givenName });\r\n this.setState({ lastName: authGoogle.profileObj.familyName });\r\n }\r\n }\r\n }\r\n componentDidMount() {\r\n const { locationServiceProps } = this.props\r\n locationServiceProps.getProvice()\r\n this.bindAuthenFacebook();\r\n this.bindAuthenGoogle();\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n errorMessageLastStep: '',\r\n errorMessageUsername: '',\r\n messageUsername: '',\r\n errorMessagePassword: '',\r\n errorMessageConfirmPassword: '',\r\n errorMessageTelephoneNumber1: '',\r\n errorMessageOrgNo: '',\r\n confirmPassword: '',\r\n prefixCode: 0,\r\n firstName: '',\r\n lastName: '',\r\n currentPage: 1,\r\n personType: '1',\r\n comparationSelect: null,\r\n nameType: null,\r\n pageTwoCheckbox: [],\r\n companyTypeCode: 0,\r\n orgName: '',\r\n companyNo: '',\r\n lineId: '',\r\n email: \"\",\r\n telephoneNumber1: '',\r\n addressDetail: '',\r\n provinceCode: 0,\r\n districtCode: 0,\r\n subDistrictCode: 0,\r\n //provinceSelect : null, \r\n // districtSelect : null,\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n companyTypes: [\r\n { name: 'บริษัทจำกัด', code: 1 },\r\n { name: 'ห้างหุ้นส่วน', code: 2 },\r\n { name: 'บริษัทมหาชน', code: 3 },\r\n { name: 'ห้างร้าน', code: 4 },\r\n ],\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n placeTypes: null,\r\n // placeTypes:[\r\n // {label: 'บ้านในโครงการจัดสรร', value: 1 },\r\n // {label: 'คอนโดมีเนียม / อพาร์ทเม้นท์', value: 2 },\r\n // {label: 'ร้านค้า / ร้านอาหาร', value: 3 },\r\n // {label: 'บ้านพักอาศัยทั่วไป', value: 4 },\r\n // {label: 'อาคารสำนักงาน / โรงงาน', value: 5 },\r\n // {label: 'สถานศึกษา / สถานที่ราชการ', value: 6 },\r\n // {label: 'อื่นๆ', value: 7 }\r\n // ],\r\n locationType: 0,\r\n\r\n provinceSelected: {},\r\n districtSelected: null,\r\n districtsSelected: [],\r\n subDistrictSelected: null,\r\n subDistrictsSelected: [],\r\n username: '',\r\n showProgress: false,\r\n hideCancel: false,\r\n isAuthenFacebook: false,\r\n facebookId: '',\r\n isAuthenGoogle: false,\r\n googleId: '',\r\n cfpassword: '',\r\n isvalid_telephoneNumber1: false,\r\n isvalid_email: true,\r\n isvalid_companyNo: false,\r\n };\r\n this.bindAuthenFacebook = this.bindAuthenFacebook.bind(this);\r\n this.bindAuthenGoogle = this.bindAuthenGoogle.bind(this);\r\n this.oncomparationSelectChange = this.oncomparationSelectChange.bind(this);\r\n this.onnameTypeChange = this.onnameTypeChange.bind(this);\r\n this.onTwoCheckboxChange = this.onTwoCheckboxChange.bind(this);\r\n //this.onprovinceChange = this.onprovinceChange.bind(this);\r\n this.ondistrictChange = this.ondistrictChange.bind(this);\r\n this.showpersonType = this.showpersonType.bind(this);\r\n this.onprovinceChanged = this.onprovinceChanged.bind(this);\r\n this.onClickedAddArea = this.onClickedAddArea.bind(this);\r\n this.onIDCardChanged = this.onIDCardChanged.bind(this);\r\n this.onSubDistrictChanged = this.onSubDistrictChanged.bind(this);\r\n this.onTelephoneNumber1Changed = this.onTelephoneNumber1Changed.bind(this);\r\n this.setPasswordVisible = this.setPasswordVisible.bind(this);\r\n this.isNotvalidStep1 = this.isNotvalidStep1.bind(this);\r\n this.isNotvalidStep2 = this.isNotvalidStep2.bind(this);\r\n this.isNotvalidStep3 = this.isNotvalidStep3.bind(this);\r\n this.nextPage = this.nextPage.bind(this);\r\n this.backPage = this.backPage.bind(this);\r\n this.onCompanyNoChanged = this.onCompanyNoChanged.bind(this);\r\n\r\n }\r\n\r\n\r\n oncomparationSelectChange(e) {\r\n this.setState({ comparationSelect: e.value })\r\n this.setState({ companyTypeCode: e.value.code }, this.isNotvalidStep1);\r\n console.log(e.value)\r\n }\r\n onnameTypeChange(e) {\r\n this.setState({ personPrefix: e.value });\r\n this.setState({ prefixCode: e.value.code }, this.isNotvalidStep1);\r\n\r\n }\r\n // onprovinceChange(e) {\r\n // this.setState({provinceSelect : e.value});\r\n // }\r\n ondistrictChange(e) {\r\n const { locationServiceProps } = this.props\r\n this.setState({ districtSelected: e.value });\r\n this.state.districtsSelected.push(e.value);\r\n this.setState({ subDistrictSelected: null})\r\n this.setState({ subDistrictCode: 0})\r\n locationServiceProps.getSubDistrict(e.value.districtCode);\r\n this.setState({ districtCode: e.value.districtCode }, this.isNotvalidStep3);\r\n\r\n }\r\n onSubDistrictChanged(e) {\r\n this.setState({ subDistrictSelected: e.value });\r\n this.state.subDistrictsSelected.push(e.value);\r\n this.setState({ subDistrictCode: e.value.subDistrictCode }, this.isNotvalidStep3);\r\n\r\n }\r\n onprovinceChanged(e) {\r\n const { locationServiceProps } = this.props\r\n this.setState({ provinceSelected: e.value })\r\n this.setState({ districtSelected: null})\r\n this.setState({ subDistrictSelected: null})\r\n this.setState({ districtCode: 0})\r\n this.setState({ subDistrictCode: 0})\r\n locationServiceProps.getDistrict(e.value.provinceCode);\r\n this.setState({ provinceCode: e.value.provinceCode }, this.isNotvalidStep3);\r\n }\r\n\r\n onTwoCheckboxChange(e) {\r\n let selectedpageTwoCheckbox = [...this.state.pageTwoCheckbox];\r\n if (e.checked)\r\n selectedpageTwoCheckbox.push(e.value);\r\n else\r\n selectedpageTwoCheckbox.splice(selectedpageTwoCheckbox.indexOf(e.value), 1);\r\n\r\n this.setState({ pageTwoCheckbox: selectedpageTwoCheckbox });\r\n }\r\n\r\n\r\n\r\n onClickedAddArea() {\r\n this.onDistrictChanged();\r\n // console.log(this.state.districtSelected);\r\n this.state.districtsSelected.push(this.state.districtSelected);\r\n }\r\n onCancelClick() {\r\n localStorage.removeItem('auth-facebook');\r\n localStorage.removeItem('auth-google');\r\n window.open(WEB_ROOT,\"_self\");\r\n //window.location = \"/#/\";\r\n }\r\n onCancelNotAccept() {\r\n //window.open(WEB_ROOT,\"_self\");\r\n window.location = \"/#/\";\r\n }\r\n\r\n onIDCardChanged(e) {\r\n console.log(e);\r\n }\r\n\r\n setPasswordVisible(e) {\r\n\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n onUsernameChanged(username) {\r\n this.setState({ errorMessageUsername: \"\" });\r\n this.setState({ messageUsername: \"\" });\r\n this.setState({ username: username });\r\n if (username.length >= 6) {\r\n const re = new RegExp(\"^[A-Za-z][A-Za-z0-9]*$\");\r\n const isOk = re.test(username);\r\n if (isOk) {\r\n console.log(username);\r\n ServerAPI.checkExit(username).then((res) => {\r\n console.log(res);\r\n if (res.length > 0) {\r\n this.setState({ errorMessageUsername: \"ชื่อผู้ใช้ \" + username + \" มีอยู่แล้วในระบบ\" });\r\n this.setState({ messageUsername: \"\" });\r\n } else {\r\n this.setState({ messageUsername: \"ชื่อผู้ใช้ \" + username + \" สามารถใช้งานได้\" });\r\n this.setState({ errorMessageUsername: \"\" });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errorMessageUsername: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n this.setState({ messageUsername: \"\" });\r\n })\r\n } else {\r\n this.setState({ errorMessageUsername: \"ตัวอักษรภาษาอังกฤษและตัวเลข โดยตัวแรกต้องเป็นภาษาอังกฤษเท่านั้น\" });\r\n this.setState({ messageUsername: \"\" });\r\n }\r\n } else {\r\n this.setState({ errorMessageUsername: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษและตัวเลข)\" });\r\n this.setState({ messageUsername: \"\" });\r\n }\r\n\r\n this.isNotvalidStep1();\r\n\r\n }\r\n\r\n onPasswordChanged(password) {\r\n this.setState({ errorMessagePassword: \"\" });\r\n this.setState({ password: password });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n } else {\r\n this.setState({ password: password }, this.isNotvalidStep1);\r\n this.setState({ errorMessagePassword: \"\" });\r\n\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n }\r\n\r\n this.isNotvalidStep1();\r\n }\r\n\r\n onConfirmPasswordChanged(cfpassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ confirmPassword: \"\" });\r\n\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword }, this.isNotvalidStep1);\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n }\r\n this.isNotvalidStep1();\r\n }\r\n\r\n onTelephoneNumber1Changed(telephoneNumber,valid) {\r\n \r\n \r\n // this.setState({ errorMessageTelephoneNumber1: \"\" });\r\n this.setState({ telephoneNumber1: telephoneNumber });\r\n\r\n if (telephoneNumber.length == 10 && valid) {\r\n\r\n console.log(this.state.isvalid_telephoneNumber1);\r\n var telNameModel = {\r\n telephoneNumber: telephoneNumber\r\n }\r\n ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n console.log(res);\r\n if (res.length > 0) {\r\n this.setState({ errorMessageTelephoneNumber1: \"หมายเลข \" + telephoneNumber + \" มีอยู่แล้วในระบบ\" }, this.isNotvalidStep2);\r\n\r\n } else {\r\n\r\n this.setState({ telephoneNumber1: telephoneNumber }, this.isNotvalidStep2);\r\n this.setState({ errorMessageTelephoneNumber1: \"\" });\r\n }\r\n }).catch((error) => {\r\n this.setState({ errorMessageTelephoneNumber1: \"กรุณาติดต่อผู้ดูแลระบบ\" }, this.isNotvalidStep2);\r\n this.setState({ messageTelephoneNumber1: \"\" });\r\n\r\n })\r\n\r\n } else {\r\n \r\n this.setState({ errorMessageTelephoneNumber1: \"กรุณากรอกหมายเลขโทรศัพท์เคลื่อนที่ 10 ตัวเลข (ขึ้นต้นด้วยเลข 0)\" }, this.isNotvalidStep2);\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n registerRequest() {\r\n\r\n\r\n const regModel = {\r\n personType: this.state.personType,\r\n prefixCode: this.state.prefixCode,\r\n firstName: this.state.firstName,\r\n lastName: this.state.lastName,\r\n\r\n organizationTypeId: this.state.companyTypeCode,\r\n organizationName: this.state.orgName,\r\n organizationNo: this.state.companyNo,\r\n locationType: this.state.locationType,\r\n telephoneNumber: this.state.telephoneNumber1,\r\n lineId: this.state.lineId,\r\n provinceCode: this.state.provinceCode,\r\n districtCode: this.state.districtCode,\r\n subDistrictCode: this.state.subDistrictCode,\r\n addressDetail: this.state.addressDetail,\r\n username: this.state.username,\r\n email: this.state.email,\r\n password: this.state.password,\r\n confirmPassword: this.state.confirmPassword,\r\n isAuthenFacebook: this.state.isAuthenFacebook,\r\n facebookId: this.state.facebookId,\r\n isAuthenGoogle: this.state.isAuthenGoogle,\r\n googleId: this.state.googleId\r\n }\r\n\r\n ServerAPI.Register(regModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.state.currentPage++;\r\n this.forceUpdate();\r\n } else {\r\n this.setState({ showProgress: false });\r\n this.setState({ hideCancel: false });\r\n this.setState({ errorMessageLastStep: res.toString() });\r\n }\r\n\r\n } else {\r\n this.setState({ showProgress: false });\r\n this.setState({ hideCancel: false });\r\n this.setState({ errorMessageLastStep: res.toString() });\r\n }\r\n\r\n //this.state.currentPage++;\r\n //this.props.history.push('/#/login')\r\n }).catch((error) => {\r\n this.setState({ showProgress: false });\r\n this.setState({ hideCancel: false });\r\n this.setState({ errorMessageLastStep: error.toString() });\r\n })\r\n }\r\n\r\n showpersonType(currentPage) {\r\n const personType = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n\r\n console.log(\"Dropdown:\"+ valid)}\r\n value={this.state.personPrefix}\r\n // options={this.state.provinceSelectItems} \r\n options={this.state.personPrefixs}\r\n onChange={this.onnameTypeChange} \r\n optionLabel=\"name\" \r\n placeholder=\"เลือกคำนำหน้า\" />\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/* this.setState({ firstName: e.target.value }, this.isNotvalidStep1)} /> */}\r\n\r\n this.setState({ firstName: e.target.value }, this.isNotvalidStep1)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/* this.setState({ lastName: e.target.value }, this.isNotvalidStep1)} /> */}\r\n this.setState({ lastName: e.target.value }, this.isNotvalidStep1)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n );\r\n\r\n const legalEntity = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n\r\n console.log(\"Dropdown:\"+ valid)}\r\n value={this.state.comparationSelect} \r\n options={this.state.companyTypes}\r\n onChange={this.oncomparationSelectChange} \r\n optionLabel=\"name\" \r\n placeholder=\"เลือกประเภทนิติบุคคล\" />\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/* this.setState({ orgName: e.target.value }, this.isNotvalidStep1)} /> */}\r\n this.setState({ orgName: e.target.value }, this.isNotvalidStep1)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.errorMessageOrgNo} \r\n {/* this.setState({ companyNo: e.target.value }, this.isNotvalidStep1)} /> */}\r\n this.onCompanyNoChanged(e.target.value,v)}\r\n //onChange={(e)=> this.setState({ companyNo: e.target.value }, this.isNotvalidStep1)}\r\n isvalid={(valid) => this.setState({isvalid_companyNo: valid})}\r\n />\r\n
    \r\n\r\n
    \r\n\r\n );\r\n if (currentPage == 2) {\r\n if (this.state.personType !== null) {\r\n if (this.state.personType == 1) {\r\n return personType;\r\n } else if (this.state.personType == 2) {\r\n return legalEntity;\r\n }\r\n }\r\n }\r\n }\r\n onCompanyNoChanged(orgNo,valid){\r\n this.setState({ errorMessageOrgNo: \"\" });\r\n this.setState({ companyNo: orgNo});\r\n if(orgNo.length == 13 && valid){\r\n this.setState({ companyNo: orgNo}, this.isNotvalidStep1)\r\n this.setState({ errorMessageOrgNo: \"\" });\r\n }else{\r\n this.setState({ errorMessageOrgNo: \"กรุณากรอกหมายเลขนิติบุคคล 13 หลัก \"}, this.isNotvalidStep1);\r\n }\r\n }\r\n\r\n showPage = (currentPage) => {\r\n //Step 1 : Content page 1.\r\n\r\n const {\r\n province,\r\n district,\r\n subDistrict\r\n } = this.props;\r\n //first Step agreement page\r\n const pageAgreement = (\r\n
    \r\n\t\t

    นโยบายคุ้มครองสิทธิความเป็นส่วนตัวของ ซี-ซาเล้ง

    \r\n\t\t\t\t\t\t\t  บริษัท แก้วกรุงไทย จำกัด (“บริษัทฯ”) ซึ่งประกอบกิจการและกำกับดูแลตลาดออนไลน์ภายใต้ชื่อ “C3Leng” ในประเทศไทยแต่เพียงผู้เดียว คำนึงถึงมาตราการปกป้องข้อมูลทุกรูปแบบที่บริษัทฯ มีในครอบครองทั้งหมดตามกฎหมายต่างๆ ที่เกี่ยวข้อง\r\n\t\tบริษัท แก้วกรุงไทย จำกัด ในฐานะผู้ควบคุมข้อมูลตามกฎหมาย มีสำนักงานตั้งอยู่เลขที่ 589 อาคารวิชชุวรรณ ชั้นที่ 2 ถนนรัชดาภิเษก แขวงดินแดง เขตดินแดง กรุงเทพมหานคร 10400 \r\n\t\tนโยบายความเป็นส่วนตัว (“นโยบาย”) นี้ ชี้แจงรายละเอียดเกี่ยวกับการได้มา การใช้/ประมวลผล และการเก็บรักษา ข้อมูลของผู้ใช้บริการ C3Leng ของบริษัทฯ เท่านั้น

    \r\n \r\n\t\t  บริษัทฯ ให้ความสำคัญเกี่ยวกับความโปร่งใสในการดำเนินธุรกิจและการให้บริการต่อสมาชิกหรือผู้ใช้บริการ C3Leng ในฐานะเจ้าของข้อมูล (“คุณ”) นโยบายความเป็นส่วนตัวนี้ใช้บังคับเกี่ยวกับข้อมูลที่บริษัทฯ \r\n เก็บรวบรวมและรักษาไว้ โดยอธิบายครอบคลุมถึงประเภท วัตถุประสงค์ และวิธีปฏิบัติเกี่ยวกับการใช้ประมวลผลและการเก็บรักษาข้อมูลต่างๆ อันได้แก่ ไอพีแอดเดรส (IP Address) คุกกี้ (Cookies) และ/หรือข้อมูลส่วนบุคคลที่คุณมอบให้ผ่านเว็บไซต์และแอพพลิเคชั่นของบริษัทฯ \r\n ขณะที่ลงทะเบียนและใช้บริการ C3Leng ซึ่งรวมถึง ข้อมูล Facebook และ/หรือ Google Account ของคุณ\r\n\t\tคุณมีหน้าที่ต้องอ่านและรับทราบนโยบายนี้ทั้งหมดก่อนที่จะให้ข้อมูลใดๆ กับบริษัทฯ  การใช้เว็บไซต์หรือแอพพลิเคชั่น C3Leng หรือลงทะเบียนการขอใช้บริการและกิจกรรมอื่นๆ ของเรา โดยคุณจะต้องให้ความยินยอมผ่านการแสดงเจตนาโดยชัดแจ้งหรือโดยนัยในการอนุญาตให้บริษัทฯ รวบรวม ใช้และเก็บรักษาข้อมูลของคุณตามที่กำหนดไว้ตามนโยบายนี้\r\n\t\tหากคุณมีข้อสงสัยเกี่ยวกับแนวทางปฏิบัติตามนโยบายความเป็นส่วนตัวนี้ รวมถึงข้อกังวลหรือข้อร้องเรียนเกี่ยวกับข้อมูลของคุณประการใด โปรดติดต่อโดยส่งเป็นจดหมายหรือคำร้องผ่านทางอีเมลมาที่ adminc3leng@c3leng.com\r\n\t\tข้อมูลที่บริษัทฯรวบรวม\r\n\t\t

    แหล่งข้อมูล

    \r\n\t\t  บริษัทฯรวบรวมข้อมูลเกี่ยวกับคุณหรือข้อมูลเกี่ยวกับอุปกรณ์การใช้งานของคุณจากคุณโดยตรงเท่านั้น ตราบเท่าที่คุณอนุญาตโดยชัดแจ้งหรือโดยนัยให้เราใช้ประมวลผลและเก็บรักษาข้อมูลดังกล่าวผ่านทาง\r\n\t\t\r\n\t\t\t •\tเว็บไซต์ C3Leng

    \r\n\t\t\t •\tแอปพลิเคชั่น C3Leng

    \r\n\t\t\t •\tFacebook (ข้อมูลบัญชีสมาชิกที่เป็นสาธารณะ)

    \r\n\t\t\t •\tGoogle Account (ข้อมูลบัญชีสมาชิกที่เป็นสาธารณะ)

    \r\n\t\t\t •\tอุปกรณ์ของผู้ใช้ (คอมพิวเตอร์ และ/หรือ โทรศัพท์มือถือ)

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

    ประเภทของข้อมูล

    \r\n\t\tจากแหล่งข้อมูลข้างต้น ข้อมูลที่บริษัทฯจะเก็บรวบรวมมีดังนี้

    \r\n\t\t\t\r\n\r\n\t\t •\tชื่อ

    \r\n\t\t •\tนามสกุล

    \r\n\t\t •\tรูปภาพโปรไฟล์ / ภาพถ่าย

    \r\n\t\t •\tที่อยู่อีเมล์

    \r\n\t\t •\tชื่อบัญชี C3Len Application

    \r\n\t\t •\tชื่อและรหัสผ่านสำหรับบัญชีสมาชิก C3Leng

    \r\n\t\t •\tที่อยู่

    \r\n\t\t •\tหมายเลขโทรศัพท์

    \r\n\t\t •\tFacebook (member_id, public_profile)

    \r\n\t\t •\tGoogle Account (member_id, public_profile)

    \r\n\t\t •\tเนื้อหาหรือข้อมูลเกี่ยวกับการโพสต์สินค้าบนแพลตฟอร์มของ C3Leng

    \r\n\t\t •\tคุกกี้

    \r\n\t\t •\tไอพีแอดเดรส (IP Address)

    \r\n\t\t •\tตำแหน่งทางภูมิศาสตร์

    \r\n\t\t •\tเนื้อหาหรือข้อมูลในเครื่องมือแชทที่มีอยู่บน C3Leng

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

    วิธีการเก็บรวบรวมข้อมูล

    \r\n\t\tเราเก็บรวบรวมข้อมูลเกี่ยวกับคุณ ดังต่อไปนี้

    \r\n\t\t\r\n\t\t\t •\tในขณะที่คุณกรอกข้อมูลเพื่อการลงทะเบียนเปิดบัญชีสมาชิก C3Leng หรือดูแลปรับปรุงข้อมูลบัญชีสมาชิกของคุณ หรือขอรับบริการต่าง ๆ บนแพลตฟอร์ม C3Leng

    \r\n\t\t\t •\tการลงทะเบียนบัญชีสมาชิก C3Leng บริษัทฯจะเก็บรวบรวมข้อมูลเฉพาะที่คุณได้ให้ในแบบฟอร์มที่แสดงอยู่บนแพลตฟอร์มเท่านั้น

    \r\n\t\t\t •\tการเลือกลงทะเบียนบัญชีสมาชิก C3Leng โดยให้เชื่อมต่อกับบัญชีสมาชิก Facebook หรือ Google ของคุณ บริษัทฯจะเก็บรวบรวมข้อมูลโปรไฟล์จากบัญชีสมาชิก Facebook หรือ Google เฉพาะส่วนที่คุณเปิดเผยแก่สาธารณะ โปรดทราบว่าบริษัทฯไม่จัดเก็บหรือรับรู้รหัสผ่านเข้าบัญชีสมาชิก Facebook หรือ Google ของคุณในระบบข้อมูลของบริษัทฯแต่อย่างใด

    \r\n\t\t\t •\tข้อมูลเกี่ยวกับสินค้า คำบรรยายสินค้า รูปภาพ ที่ผู้ใช้งานได้ให้หรือปรากฏบนแพลตฟอร์มของ C3Leng

    \r\n\t\t\t •\tข้อมูลการสนทนาหรือข้อความระหว่างผู้ใช้งานที่ปรากฏในระบบสนทนา บนแพลตฟอร์ม C3Leng

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

    \r\n\t\tบริษัทฯรวบรวมข้อมูลเกี่ยวกับอุปกรณ์ของคุณ ดังต่อไปนี้

    \r\n\t\t •\tเมื่อคุณใช้เว็บไซต์หรือแอพพลิเคชั่น C3Leng บริษัทฯจะเก็บรวบรวมและวิเคราะห์ข้อมูลบางอย่างโดยอัตโนมัติซึ่งรวมถึงเบราว์เซอร์ที่ชี้เฉพาะเจาะจง ที่อยู่ IP และข้อมูลเกี่ยวกับระบบปฏิบัติการ อุปกรณ์ที่ชี้เฉพาะเจาะจง (เช่น Apple IDFA หรือ Android Advertising ID) ตำแหน่งทางภูมิศาสตร์และข้อมูลที่ชี้เฉพาะถึงอุปกรณ์อื่น ๆ ข้อมูลเกี่ยวกับอินเทอร์เน็ต รวมถึงรายละเอียดเกี่ยวกับธุรกรรมของคุณที่เกิดขึ้นบนเว็บไซต์และแอพ C3Leng

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

    การใช้คุกกี้และเทคโนโลยีอื่น ๆ

    \r\n\t\t บริษัทฯ และบุคคลที่สามใช้เทคโนโลยีเพื่อเก็บรวบรวมข้อมูลเกี่ยวกับการใช้งานของคุณที่เกิดขึ้นบนเว็บไซต์และแอพ C3Leng\r\n\t\t\t\r\n\t\t\t •\tคุกกี้และเทคโนโลยีอื่น ๆ เพื่อการเก็บข้อมูล คุกกี้และเทคโนโลยีอื่น ๆ เพื่อการจัดเก็บ หมายความถึงไฟล์ที่มีข้อมูลเฉพาะของอุปกรณ์ที่ทางบริษัท ฯ หรือบุคคลที่สามได้ส่งถึงหรืออ่านได้จากอุปกรณ์ของคุณซึ่งจะบันทึกจดจำอุปกรณ์ดังกล่าวเพื่อวัตถุประสงค์ในการให้บริการ การบันทึก การวิเคราะห์พฤติกรรมและทางการตลาด  บริษัท ฯ และบุคคลที่สามจะใช้วิธีการอัตโนมัติในการอ่านหรือบันทึกข้อมูลอุปกรณ์ของคุณ ซึ่งรวมถึงคุกกี้ประเภทต่าง ๆ และเบราว์เซอร์ทั้งหลาย หรือปลั๊กอินอื่น ๆ (เช่นที่เก็บ HTML5 หรือฐานข้อมูลแบบ Flash) โดยคุณอาจเลือกที่จะตั้งค่าเว็บเบราว์เซอร์ของคุณให้ปฏิเสธการให้จัดเก็บคุกกี้บางประเภทหรือจัดให้มีการเตือนในกรณีที่มีการส่งคุกกี้บางประเภทได้ ซึ่งเบราว์เซอร์บางชนิดอาจสามารถถูกตั้งค่าที่คล้ายกันในแบบ HTML5 และ Flash ได้ อย่างไรก็ตามหากคุณป้องกันหรือปฏิเสธการให้จัดเก็บคุกกี้หรือที่เก็บข้อมูลในพื้นที่เว็บไซต์ของบริษัทฯ อาจส่งผลต่อการทำงานของเว็บไซต์ C3Leng ได้

    \r\n\t\t\t •\tเทคโนโลยีอื่น ๆ ในการเก็บข้อมูล  บริษัทฯใช้เทคโนโลยีอัตโนมัติมาตรฐานต่าง ๆ ในการเก็บข้อมูลเช่นเว็บบีคอน (หรือเรียกว่า clear GIFs หรือพิกเซลแท็ก) หรือเทคโนโลยีที่คล้ายคลึงกันเพื่อการติดต่อหรือสื่อสารผ่านทางคุกกี้ต่าง ๆ และเพื่อติดตามผลการใช้งานของคุณบนเว็บไซต์และ/หรือแอพของบริษัทฯ นอกจากนี้บริษัทฯยังใช้เว็บบีคอนกับข้อความในอีเมล์เพื่อติดตามผลว่าคุณเปิดอ่านข้อความ รวมถึงการใช้งานอื่น ๆ ดังต่อไปนี้

    \r\n\t\t\t
    \r\n\t\t\t ในบางกรณีบริษัทฯอาจใช้ข้อมูลดังกล่าวเพื่อการโฆษณาที่ดำเนินการโดยบุคคลที่สาม ซึ่งจะใช้วิธีการเก็บรวบรวมข้อมูลโดยอัตโนมัติ เช่นคุกกี้ ที่จะติดตามการใช้งานบนเว็บไซต์ของคุณเป็นช่วงๆไป โดยข้อมูลดังกล่าว รวมถึงข้อมูลเกี่ยวกับการเข้าชมเว็บไซต์หรือแอพพลิเคชั่นต่างๆ และข้อมูลอื่นๆ ที่บริษัทฯได้รับ อาจถูกใช้เพื่อปรับการเสนอโฆษณาที่เหมาะสมตรงกับความสนใจหรือคุณลักษณะเฉพาะตัว

    \r\n\t\t\t อย่างไรก็ดี คุณสามารถควบคุมจัดการที่เกี่ยวกับโฆษณาและการวิเคราะห์ที่นำเสนอโดย Google ได้ที่ \"https://adssettings.google.com/\" และ https://tools.google.com/dlpage/gaoptout

     ซึ่งการจัดการ เปลี่ยนแปลงหรืออัปเกรดเบราว์เซอร์ของคุณหรือการลบคุกกี้ออกจากระบบดังกล่าว อาจต้องทำผ่านวิธีการเลือกไม่รับ (opt-out) อีกขั้นตอนหนึ่ง ซึ่งการต่อสัญญาณที่ไม่ได้ติดตามบนเบราว์เซอร์ดังกล่าวอยู่นอกเหนือความรับผิดชอบของบริษัทฯ

    \r\n\t\t\t สำหรับการควบคุมจัดการความเป็นส่วนตัวเกี่ยวกับอุปกรณ์สื่อสารไร้สายของคุณ โปรดตรวจสอบรายละเอียดคำแนะนำเกี่ยวกับวิธีใช้การควบคุมความเป็นส่วนตัวเพิ่มเติมใดๆ ที่ระบบปฏิบัติการมือถือของคุณนำเสนอเช่นการตั้งค่าความเป็นส่วนตัวสำหรับตัวระบุอุปกรณ์และตำแหน่งทางภูมิศาสตร์ได้ด้วยตนเองที่เว็บไซต์ของผู้ผลิตอุปกรณ์อุปกรณ์สื่อสารไร้สายของคุณ 

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

    ลิงค์ของบุคคลที่สาม

    \r\n\t\t\t•\tเว็บไซต์และแอปพลิเคชันของ C3Leng อาจมีลิงก์ของเว็บไซต์อื่นๆ (“บุคคลที่สาม”) ซึ่งไม่อยู่ภายใต้การดูแลของบริษัทฯ คุณควรตรวจสอบนโยบายความเป็นส่วนตัวของเว็บไซต์ของบุคคลที่สามอย่างละเอียดก่อน การนำเสนอลิงก์ของบุคคลที่สามนั้น มีไว้เพื่อความสะดวกที่ผู้ใช้บริการของบริษัทฯสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อบางอย่าง โดยบุคคลที่สามนั้นไม่ได้ให้หรือแชร์ข้อมูลใดๆ ของคุณกับบริษัทฯแต่อย่างใด ดังนั้นบริษัทฯไม่มีความรับผิดชอบต่อการปกป้องความเป็นส่วนตัวหรือเนื้อหาของเว็บไซต์ของบุคคลที่สาม ไม่ว่าบางส่วนหรือทั้งหมด\r\n\t\t \r\n\t\t

    บริษัทฯใช้ข้อมูลที่รวบรวมอย่างไร

    \r\n\t\t บริษัทฯใช้หรือเปิดเผยข้อมูลของคุณเฉพาะด้วยความยินยอมโดยนัยหรือโดยชัดแจ้งที่ระบุไว้ในระเบียบข้อบังคับของกฎหมายที่บังคับทั้งหมดในเขตอำนาจศาลที่เกี่ยวข้องเท่านั้น ตามวัตถุประสงค์ดังต่อไปนี้

    \r\n\t\t\t\r\n\t\t\t •\tเพื่อวัตถุประสงค์ทางธุรกิจของบริษัทฯ บริษัทฯจะใช้และเก็บข้อมูลเพื่อประมวลผล วิเคราะห์และปรับปรุงธุรกิจของบริษัทฯ ซึ่งรวมถึงจัดสรรบริการบนแพลตฟอร์ม C3Leng

    \r\n\t\t\t •\tเพื่อการรักษาความปลอดภัยทางไซเบอร์ บริษัทฯใช้หรือวิเคราะห์ข้อมูลในการตรวจสอบพฤติกรรมหรือกิจกรรมที่อาจผิดกฎหมายเพื่อการป้องกันการฉ้อโกงหรืออาชญากรรมต่างๆ 

    \r\n\t\t\t •\tเพื่อส่งข้อมูลข่าวสารเกี่ยวกับธุรกิจบางอย่างของบริษัทฯให้แก่คุณ รวมถึงการประชาสัมพันธ์ การส่งเสริมการขาย การเปลี่ยนแปลงนโยบายต่างๆ ของแพลตฟอร์มและการสื่อสารทางการตลาด

    \r\n\t\t\t •\tเพื่อการปรับแต่งเนื้อหาและการโฆษณาที่คุณพบเห็นบนเว็บไซต์และแอพของบริษัทฯผ่านทางอินเทอร์เน็ตและที่อื่นๆ

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

    การเปิดเผยข้อมูลที่บริษัทฯรวบรวม

    \r\n\t\t\t\r\n\t\t\t •\tบริษัทฯอาจแบ่งปันข้อมูลตามกฎหมายหรือคำขออย่างเป็นทางการของหน่วยงานของรัฐ

    \r\n\t\t\t •\tบริษัทฯอาจแบ่งปันข้อมูลที่ไม่อาจระบุตัวตนของคุณกับบริษัทในเครือของบริษัทฯ ซึ่งถือเป็นส่วนหนึ่งในการดำเนินธุรกิจตามปกติของบริษัทฯ\r\n\t\t\t
    \r\n\t\t

    ระยะเวลาการเก็บข้อมูล

    \r\n\t\t\t บริษัทฯจะเก็บรักษาข้อมูลต่างๆ ตราบเท่าที่จำเป็นในการดำเนินธุรกิจของบริษัทฯ หรือตามที่กำหนดไว้ตามกฎหมายของประเทศไทย ซึ่งโดยปกติเป็นระยะเวลา 2 ปีหลังจากนับตั้งแต่เมื่อมีการปิดหรือลบบัญชีสมาชิกหรือตามระยะเวลาที่กำหนดโดยกฎหมายที่เกี่ยวข้อง เมื่อครบกำหนดเวลาดังกล่าว บริษัทฯจะลบข้อมูลนั้นออกจากฐานข้อมูลของบริษัทฯ

    \r\n\t\t\t อย่างไรก็ดี คุณอาจใช้สิทธิเพื่อปกป้องความเป็นส่วนตัวของคุณที่จะขอลบหรือทำลายข้อมูลของคุณจากฐานข้อมูลของบริษัทฯได้ โดยทำคำขอเป็นลายลักษณ์อักษรส่งถึงบริษัทฯที่อีเมล์ adminc3leng@c3leng.com\r\n\t\t \r\n\t\t

    การปรับปรุงและแก้ไขนโยบายนี้

    \r\n\t\t\t บริษัท แก้วกรุงไทย จำกัด ขอสงวนสิทธิ์ตามดุลยพินิจแต่เพียงผู้เดียวในการเปลี่ยนแปลง แก้ไขหรือลบบางส่วนของนโยบายนี้ได้ตลอดเวลา โปรดติดตามตรวจสอบการเปลี่ยนแปลงหรือแก้ไขเพิ่มเติมนโยบายความเป็นส่วนตัวนี้บนหน้าเว็บไซต์และแพลตฟอร์ม C3Leng 

    \r\n\t\t\t การที่คุณใช้งานหรือบริการบนเว็บไซต์ต่อไปหลังจากที่มีการเปลี่ยนแปลงหรือแก้ไขเพิ่มเติมนโยบายนี้ ถือว่าคุณได้แสดงเจตนาตกลงยอมรับเงื่อนไขไม่เฉพาะแต่เพียงบางส่วน แต่ทั้งหมด\r\n\t\t

    \r\n\t\t

    \r\n\t\t

    \r\n\t\tนโยบายนี้ปรับปรุงล่าสุดและมีผลใช้บังคับตั้งแต่วันที่ 9 เมษายน 2563

    \r\n\t\t
    \r\n\t\t
    \r\n );\r\n\r\n \r\n //const bodyType = this.showpersonType(this.state.currentPage);\r\n const pageOne = (\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {this.state.errorMessageUsername} {this.state.messageUsername}\r\n {/* this.onUsernameChanged(e.target.value)} /> */}\r\n \r\n this.onUsernameChanged(e.target.value)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.errorMessagePassword} \r\n {/* this.onPasswordChanged(e.target.value)} /> */}\r\n \r\n {/* this.onPasswordChanged(e.target.value)}\r\n isvalid={(valid) => console.log(valid)}\r\n />*/}\r\n this.onPasswordChanged(e.target.value)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.errorMessageConfirmPassword} \r\n {/* this.onConfirmPasswordChanged(e.target.value)} /> */}\r\n \r\n this.onConfirmPasswordChanged(e.target.value)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n\r\n
    \r\n\r\n
    \r\n\r\n this.setPasswordVisible(e)} />\r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ personType: e.value })}\r\n checked={this.state.personType === '1'} />\r\n \r\n
    \r\n
    \r\n this.setState({ personType: e.value })}\r\n checked={this.state.personType === '2'} />\r\n \r\n
    \r\n
    \r\n {/* {bodyType} */}\r\n
    \r\n
    \r\n );\r\n\r\n //Step 2 : Content page 2.\r\n const pageTwo = (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.errorMessageTelephoneNumber1} \r\n {/* this.onTelephoneNumber1Changed(e.target.value)} /> */}\r\n \r\n this.onTelephoneNumber1Changed(e.target.value,v)}\r\n isvalid={(valid) => this.setState({isvalid_telephoneNumber1:valid})}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/* this.setState({ lineId: e.target.value })} /> */}\r\n this.setState({lineId: e.target.value})}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/* this.setState({ email: e.target.value })} /> */}\r\n this.setState({email: e.target.value})}\r\n isvalid={(valid) => this.setState({isvalid_email: valid})}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n this.setState({ locationType: 1, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '1'} />\r\n \r\n
    \r\n
    \r\n this.setState({ locationType: 2, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '2'}>\r\n \r\n
    \r\n
    \r\n this.setState({ locationType: 3, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '3'}>\r\n \r\n
    \r\n
    \r\n this.setState({ locationType: 4, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '4'}>\r\n \r\n
    \r\n
    \r\n this.setState({ locationType: 5, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '5'}>\r\n \r\n
    \r\n
    \r\n this.setState({ locationType: 6, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '6'}>\r\n \r\n
    \r\n
    \r\n this.setState({ locationType: 7, placeTypes: e.value }, this.isNotvalidStep2)}\r\n checked={this.state.placeTypes === '7'}>\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n\r\n //Step 3 : Content page 3.\r\n const pageThree = (\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n\r\n console.log(valid)}/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {/* */}\r\n console.log(valid)} />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n\r\n console.log(valid)} />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/* this.setState({ addressDetail: e.target.value }, this.isNotvalidStep3)} /> */}\r\n this.setState({addressDetail: e.target.value}, this.isNotvalidStep3)}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n );\r\n\r\n\r\n\r\n const pageFour = (\r\n
    \r\n
    \r\n \"project\"\r\n
    \r\n
    \r\n

    สมัครสมาชิกสำเร็จ

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n\r\n // === Logic select page ===\r\n switch (currentPage) {\r\n case 1:\r\n return (pageAgreement);\r\n case 2:\r\n return (pageOne);\r\n case 3:\r\n return (pageTwo);\r\n case 4:\r\n return (pageThree);\r\n case 5:\r\n return (pageFour);\r\n default:\r\n return (this.props.history.push('/#/'));\r\n }\r\n };\r\n\r\n\r\n\r\n nextPage = (e) => {\r\n \r\n if (this.state.currentPage == 1) {\r\n this.inputRequestStep()\r\n } else if (this.state.currentPage == 2) {\r\n this.inputRequestStep1()\r\n } else if (this.state.currentPage == 3) {\r\n this.inputRequestStep2()\r\n } else if (this.state.currentPage == 4) {\r\n this.inputRequestStep3()\r\n }\r\n\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n backPage = (e) => {\r\n \r\n console.log(this.state.currentPage)\r\n if (this.state.currentPage == 2) {\r\n window.scrollTo(0,0)\r\n this.state.currentPage--;\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n } else if (this.state.currentPage == 3) {\r\n window.scrollTo(0,0)\r\n this.state.currentPage--;\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n }else if (this.state.currentPage == 4) {\r\n window.scrollTo(0,0)\r\n this.state.currentPage--;\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n }\r\n\r\n }\r\n inputRequestStep() {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n this.forceUpdate();\r\n };\r\n\r\n\r\n isNotvalidStep1() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputSec1 = !(this.state.username == '' || this.state.password == '' || this.state.confirmPassword == '');\r\n var inputSec2 = !(this.state.prefixCode == 0 || this.state.firstName == '' || this.state.lastName == '');\r\n var inputSec3 = !(this.state.companyTypeCode == 0 || this.state.orgName == '' || this.state.companyNo == '' || !this.state.isvalid_companyNo );\r\n var inputAll = (inputSec1 && this.state.personType == 1 && inputSec2) || (inputSec1 && this.state.personType == 2 && inputSec3);\r\n var hasErrorMsg = (this.state.errorMessageUsername != '' || this.state.errorMessagePassword != '' || this.state.errorMessageConfirmPassword != ''|| this.state.errorMessageOrgNo !='');\r\n if (!inputAll || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputAll || hasErrorMsg;\r\n }\r\n inputRequestStep1() {\r\n\r\n if (!this.isNotvalidStep1()) {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n };\r\n \r\n\r\n isNotvalidStep2() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputStep2 = !((this.state.telephoneNumber1 == '') || this.state.locationType == 0 || !this.state.isvalid_telephoneNumber1 || (!this.state.isvalid_email && this.state.email!=\"\"));\r\n var hasErrorMsg = this.state.errorMessageTelephoneNumber1 != '';\r\n if (!inputStep2 || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputStep2 || hasErrorMsg;\r\n }\r\n inputRequestStep2() {\r\n if (!this.isNotvalidStep2()) {\r\n window.scrollTo(0,0)\r\n this.state.currentPage++;\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n }\r\n\r\n\r\n isNotvalidStep3() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n //console.log(this.state.provinceCode+\":\"+this.state.districtCode+\":\"+this.state.subDistrictCode)\r\n var inputStep3 = !(this.state.subDistrictCode == 0 || this.state.districtCode == 0 || this.state.provinceCode == 0 || this.state.addressDetail == '');\r\n if (!inputStep3) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n return !inputStep3;\r\n }\r\n inputRequestStep3() {\r\n\r\n if (!this.isNotvalidStep3()) {\r\n this.setState({ showProgress: true });\r\n this.setState({ hideCancel: true });\r\n this.registerRequest();\r\n }\r\n }\r\n\r\n\r\n\r\n btnBack(currentPage) {\r\n\r\n const back = (\r\n \r\n }\r\n\r\n \r\n \r\n \r\n\r\n\r\n );\r\n //Step 3 : Content page 3.\r\n const pageThree = (\r\n
    \r\n {/* page 3 */}\r\n\r\n
    \r\n

    ต้องการเก็บขยะรีไซเคิลในพื้นที่ใด

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {/* */}\r\n console.log(valid)}/>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n console.log(valid)} />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n\r\n { this.state.fileImgIden == null &&\r\n this.onFileIDCardChanged(e)}\r\n mode=\"basic\" \r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false} \r\n accept=\"image/*\" \r\n maxFileSize={10000000}\r\n value={this.state.fileImgIden} />\r\n }\r\n {\r\n this.state.fileImgIden !=null &&\r\n \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n { this.state.fileImgRegis == null &&\r\n this.onFileRegisChanged(e)}\r\n mode=\"basic\" \r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false} \r\n accept=\"image/*\" \r\n maxFileSize={10000000}\r\n value={this.state.fileImgRegis} />\r\n }\r\n {\r\n this.state.fileImgRegis !=null &&\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n { this.state.fileImgPerson == null &&\r\n this.onFilePersonChanged(e)}\r\n mode=\"basic\" \r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false} \r\n accept=\"image/*\" \r\n maxFileSize={10000000}\r\n value={this.state.fileImgPerson} />\r\n }\r\n {\r\n this.state.fileImgPerson !=null &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n );\r\n\r\n const pageFour = (\r\n
    \r\n\r\n\r\n\r\n
    \r\n \"project\"\r\n
    \r\n\r\n\r\n
    \r\n

    สมัครสมาชิกสำเร็จ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n );\r\n\r\n // === Logic select page ===\r\n switch (currentPage) {\r\n case 1:\r\n return (pageAgreement);\r\n case 2:\r\n return (pageOne);\r\n case 3:\r\n return (pageTwo);\r\n case 4:\r\n return (pageThree);\r\n case 5:\r\n return (pageFour);\r\n default:\r\n return (this.props.history.push('/#/'));\r\n }\r\n\r\n\r\n\r\n };\r\n\r\n\r\n nextPage = (e) => {\r\n console.log(this.state.currentPage);\r\n if (this.state.currentPage == 1) {\r\n this.inputRequestStep()\r\n } else if (this.state.currentPage == 2) {\r\n this.inputRequestStep1()\r\n } else if (this.state.currentPage == 3) {\r\n this.inputRequestStep2()\r\n }else if (this.state.currentPage == 4) {\r\n this.inputRequestStep3()\r\n }\r\n }\r\n backPage = (e) => {\r\n console.log(this.state.currentPage)\r\n if (this.state.currentPage == 2) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n } else if (this.state.currentPage == 3) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n } else if (this.state.currentPage == 4) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n }\r\n \r\n }\r\n\r\n\r\n \r\n\r\n inputRequestStep() {\r\n console.log(this.state.currentPage);\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n this.forceUpdate();\r\n console.log(this.state.currentPage);\r\n };\r\n\r\n isNotvalidStep1() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputSec1 = !(this.state.username == '' || this.state.password == '' || this.state.confirmPassword == '');\r\n var inputSec2 = !(this.state.prefixCode == 0 || this.state.firstName == '' || this.state.lastName == '');\r\n var inputSec3 = !(this.state.companyTypeCode == 0 || this.state.companyName == '' || this.state.companyNo == '' || !this.state.isvalid_companyNo);\r\n var inputAll = (inputSec1 && this.state.personType == 1 && inputSec2) || (inputSec1 && this.state.personType == 2 && inputSec3);\r\n var hasErrorMsg = (this.state.errorMessageUsername != '' || this.state.errorMessagePassword != '' || this.state.errorMessageConfirmPassword != '' || this.state.errorMessageOrgNo !='');\r\n if (!inputAll || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputAll || hasErrorMsg;\r\n }\r\n inputRequestStep1() {\r\n\r\n if (!this.isNotvalidStep1()) {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n };\r\n\r\n isNotvalidStep2() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputStep2 = !((this.state.telephoneNumber1 == '') || this.state.vehicleType == 0 || !this.state.isvalid_telephoneNumber1 || (!this.state.isvalid_email && this.state.email!=\"\" ));\r\n var hasErrorMsg = this.state.errorMessageTelephoneNumber1 != '';\r\n if (!inputStep2 || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputStep2 || hasErrorMsg;\r\n }\r\n inputRequestStep2() {\r\n if (!this.isNotvalidStep2()) {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n }\r\n\r\n isNotvalidStep3() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputSec111 = this.state.districtsSelected.length > 0;\r\n console.log(this.state.districtsSelected)\r\n if (!inputSec111) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n return !inputSec111;\r\n }\r\n \r\n inputRequestStep3() {\r\n if (!this.isNotvalidStep3()) {\r\n this.setState({ showProgress: true });\r\n this.setState({ hideCancel: true });\r\n this.registerRequest();\r\n this.forceUpdate();\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n btnBack(currentPage) {\r\n const back = (\r\n \r\n }\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n { this.state.fileImgRegis == null &&\r\n this.onFileRegisChanged(e)}\r\n mode=\"basic\" \r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false} \r\n accept=\"image/*\" \r\n maxFileSize={10000000}\r\n value={this.state.fileImgRegis} />\r\n }\r\n {\r\n this.state.fileImgRegis !=null &&\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n { this.state.fileImgPerson == null &&\r\n this.onFilePersonChanged(e)}\r\n mode=\"basic\" \r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={false} \r\n accept=\"image/*\" \r\n maxFileSize={10000000}\r\n value={this.state.fileImgRegis} />\r\n }\r\n {\r\n this.state.fileImgPerson !=null &&\r\n \r\n }\r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n \r\n );\r\n const pageFive = (\r\n
    \r\n\r\n\r\n\r\n
    \r\n \"project\"\r\n
    \r\n\r\n\r\n
    \r\n

    สมัครสมาชิกสำเร็จ

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n );\r\n\r\n // === Logic select page ===\r\n switch (currentPage) {\r\n case 1:\r\n return (pageAgreement);\r\n case 2:\r\n return (pageOne);\r\n case 3:\r\n return (pageTwo);\r\n case 4:\r\n return (pageThree);\r\n case 5:\r\n return (pageFour);\r\n case 6:\r\n return (pageFive);\r\n default:\r\n return (this.props.history.push('/#/'));\r\n }\r\n\r\n\r\n\r\n };\r\n\r\n\r\n nextPage = (e) => {\r\n \r\n if (this.state.currentPage == 5) {\r\n this.setState({showProgress: true});\r\n this.setState({hideCancel: true});\r\n this.registerRequest();\r\n } else {\r\n if (this.state.currentPage==1) {\r\n this.inputRequestStep()\r\n }else if (this.state.currentPage==2) {\r\n this.inputRequestStep1()\r\n }else if (this.state.currentPage==3) {\r\n this.inputRequestStep2()\r\n } else if (this.state.currentPage==4) {\r\n this.inputRequestStep3()\r\n } \r\n }\r\n\r\n \r\n }\r\n backPage = (e) => {\r\n console.log(this.state.currentPage)\r\n if (this.state.currentPage == 2) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n } else if (this.state.currentPage == 3) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n } else if (this.state.currentPage == 4) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate(); \r\n } else if (this.state.currentPage == 5) {\r\n this.state.currentPage--;\r\n window.scrollTo(0,0)\r\n this.setState({ errorMessageLastStep: \"\" });\r\n this.forceUpdate();\r\n }\r\n }\r\n inputRequestStep() {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n this.forceUpdate();\r\n };\r\n\r\n isNotvalidStep1(){\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputSec1 = !(this.state.username == '' || this.state.password == '' || this.state.confirmPassword == '');\r\n var inputSec2 = !(this.state.prefixCode == 0 || this.state.firstName == '' || this.state.lastName == '');\r\n var inputSec3 = !(this.state.companyTypeCode == 0 || this.state.companyName == ''|| this.state.companyNo == '' || !this.state.isvalid_companyNo);\r\n var inputAll = (inputSec1 && this.state.personType == 1 && inputSec2) || (inputSec1 && this.state.personType == 2 && inputSec3);\r\n var hasErrorMsg = (this.state.errorMessageUsername != '' || this.state.errorMessagePassword != '' || this.state.errorMessageConfirmPassword != ''|| this.state.errorMessageOrgNo !='');\r\n if( !inputAll || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n }else \r\n this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputAll || hasErrorMsg;\r\n }\r\n inputRequestStep1() {\r\n \r\n if (!this.isNotvalidStep1()) {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n };\r\n \r\n\r\n isNotvalidStep2(){\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputSec1 = !(this.state.telephoneNumber1 == '' || \r\n // this.state.wasteTypesSelected.length == 0 || \r\n !this.state.isvalid_telephoneNumber1 || (!this.state.isvalid_email && this.state.email!=\"\" ));\r\n var hasErrorMsg = (this.state.errorMessageTelephoneNumber1) != \"\";\r\n console.log(inputSec1);\r\n \r\n\r\n if (!inputSec1 || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n return !inputSec1 || hasErrorMsg\r\n }\r\n inputRequestStep2(e) {\r\n {\r\n if (!this.isNotvalidStep2()) {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n }\r\n }\r\n\r\n isNotvalidStep3(){\r\n this.setState({ errorMessageLastStep: \"\" });\r\n console.log(this.state.provinceCode+\":\"+this.state.districtCode+\":\"+this.state.subDistrictCode)\r\n var inputStep3 = !(this.state.subDistrictCode == 0 || this.state.districtCode == 0 || this.state.provinceCode == 0 || this.state.addressDetail == '' || !this.state.isvalid_areaRai|| !this.state.isvalid_areaNgan|| !this.state.isvalid_areaSquareWah);\r\n if (!inputStep3) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else \r\n this.setState({ errorMessageLastStep: \"\" });\r\n return !inputStep3;\r\n }\r\n inputRequestStep3() {\r\n \r\n if (!this.isNotvalidStep3()) {\r\n this.state.currentPage++;\r\n window.scrollTo(0,0)\r\n //e.preventDefault();\r\n //this.forceUpdate();\r\n }\r\n }\r\n\r\n \r\n\r\n btnBack(currentPage) {\r\n const back = (\r\n \r\n \r\n\r\n
      \r\n\r\n \r\n
    • \r\n \r\n \r\n Logout\r\n \r\n
      \r\n
      \r\n
      Logout
      \r\n
      \r\n
    • \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default AdministratorInlineProfile\r\n","import React, { Component } from \"react\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Panel } from \"primereact/components/panel/Panel\";\r\nimport { Checkbox } from \"primereact/components/checkbox/Checkbox\";\r\nimport { Button } from \"primereact/components/button/Button\";\r\n\r\nimport { InputText } from \"primereact/components/inputtext/InputText\";\r\nimport { InputTextarea } from \"primereact/components/inputtextarea/InputTextarea\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { FullCalendar } from \"primereact/fullcalendar\";\r\nimport { Card } from \"primereact/card\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MapWithASearchBox } from \"../../features/map/MapWithASearchBox\";\r\nimport { MapMarkers } from \"../../features/map/MapMarkers\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Avatar } from \"../../features/widget/Avatar\";\r\nimport { API_ROOT } from \"../../constants/api\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport * as ServerAPI from \"./service\";\r\nimport * as LocationService from \"../../service/LocationService\";\r\nimport * as UserService from \"../../service/user.service\";\r\nimport * as MasterService from \"../../service/MasterService\";\r\nimport * as FileService from \"../../service/file.service\";\r\nimport * as DashBoardService from \"./service\";\r\nimport { isEmpty } from \"../../utils/validators\";\r\nimport {\r\n WASTE_TYPE,\r\n WASTE_TYPE_NUM_TO_NAME,\r\n} from \"../../constants/mappingValue\";\r\nimport { CEInputText, CECalendar, CEDropdown } from \"../../features/input\";\r\nimport { CEFileUpload } from \"../../features/widget\";\r\n\r\nclass CreateOrderContainer extends Component {\r\n static propTypes = {};\r\n\r\n static defaultProps = {};\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n mapGenZoom: 11,\r\n mapGenMarker: {},\r\n mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapMarker: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapTranMarker: {},\r\n mapTranMarkers: [],\r\n mapTranZoom: 11,\r\n mapTranCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapProMarkers: [],\r\n mapProZoom: 11,\r\n mapProCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n wasteTypeItem: [\r\n { name: \"ขวดแก้ว\", code: 1 },\r\n { name: \"กระดาษ\", code: 2 },\r\n { name: \"พลาสติก\", code: 3 },\r\n { name: \"โลหะ/อโลหะ\", code: 4 },\r\n { name: \"อิเล็กทรอนิกส์/เครื่องใช้ไฟฟ้า\", code: 5 },\r\n { name: \"อื่นๆ\", code: 6 },\r\n ],\r\n productItem: [\r\n { name: \"สินค้า 1\", code: 1 },\r\n { name: \"สินค้า 2\", code: 2 },\r\n { name: \"สินค้า 3\", code: 3 },\r\n { name: \"สินค้า 4\", code: 4 },\r\n { name: \"สินค้า 5\", code: 5 },\r\n { name: \"สินค้า 6\", code: 6 },\r\n ],\r\n acceptFileExt: \".jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF\",\r\n OrderList: [\r\n // wasteType: '',\r\n // amount: '',\r\n // appraisedPrice: '',\r\n // salePrice: '',\r\n ],\r\n brandSuggestions: null,\r\n searchWastetran: [1, 2, 3, 4, 5],\r\n searchWastepro: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\r\n U1name: \"นาย ผู้ขาย 1\",\r\n U2name: \"นาย JJ Mall\",\r\n U3name: \"ร้านมารวย\",\r\n provinceTest: \"\",\r\n phone: \"0812345678\",\r\n addressDetail: \"\",\r\n province: 0,\r\n district: 0,\r\n subDistrict: 0,\r\n provinceCode: 0,\r\n districtList: [],\r\n districtCode: 0,\r\n subDistrictCode: 0,\r\n subDistrictList: [],\r\n lineId: \"\",\r\n email: \"\",\r\n genPhone: \"\",\r\n pickDate: null,\r\n pickDateStart: null,\r\n pickDateEnd: null,\r\n deliveryDate: null,\r\n deliveryCost: \"\",\r\n ModelInputLocation: {\r\n latitude: \"13.7734283\",\r\n longitude: \"100.57383099999993\",\r\n distance_km: 10,\r\n },\r\n wastetranDataList: [],\r\n wasteproDataList: [],\r\n provinceSelected: \"\",\r\n wasteTypeSelected: \"\",\r\n productSelected: \"\",\r\n amountSelected: \"\",\r\n appraisedPriceSelected: \"\",\r\n salePriceSelected: \"\",\r\n dataTableSelection2: \"\",\r\n dataTableSelection3: \"\",\r\n genImg: null,\r\n tranImg: null,\r\n proImg: null,\r\n personPrefixCode: \"\",\r\n personPrefix: \"\",\r\n showProgress: false,\r\n isProfileCompleted: false,\r\n isNotValid: false,\r\n };\r\n\r\n this.onUpload = this.onUpload.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onUsernameChanged = this.onUsernameChanged.bind(this);\r\n this.onSelectAutoCompleteSearchName = this.onSelectAutoCompleteSearchName.bind(\r\n this\r\n );\r\n this.onFileWasteChanged = this.onFileWasteChanged.bind(this);\r\n this.onFileDelete = this.onFileDelete.bind(this);\r\n this.onTableTranSelected = this.onTableTranSelected.bind(this);\r\n this.onTableProSelected = this.onTableProSelected.bind(this);\r\n this.getProfile = this.getProfile.bind(this);\r\n this.onProvinceChanged = this.onProvinceChanged.bind(this);\r\n this.onDistrictChanged = this.onDistrictChanged.bind(this);\r\n this.onSubDistrictChanged = this.onSubDistrictChanged.bind(this);\r\n this.mapChanged = this.mapChanged.bind(this);\r\n this.onMarkerMoved = this.onMarkerMoved.bind(this);\r\n this.onMarkerClicked = this.onMarkerClicked.bind(this);\r\n this.onMarkerProClicked = this.onMarkerProClicked.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.onClickSaveOrder = this.onClickSaveOrder.bind(this);\r\n this.onPickDateStartChange = this.onPickDateStartChange.bind(this);\r\n this.onPickDateEndChange = this.onPickDateEndChange.bind(this);\r\n // this.onPickupDateChange = this.onPickupDateChange.bind(this);\r\n this.onDeliveryDateChange = this.onDeliveryDateChange.bind(this);\r\n this.clearAllDataInput = this.clearAllDataInput.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.requestProLocation = this.requestProLocation.bind(this);\r\n this.selectedTranByLatLng = this.selectedTranByLatLng.bind(this);\r\n this.selectedProByLatLng = this.selectedProByLatLng.bind(this);\r\n this.distanceTemplate = this.distanceTemplate.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.handleCreateResult = this.handleCreateResult.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const {\r\n dashBoardServiceProps,\r\n locationServiceProps,\r\n masterServiceProps,\r\n } = this.props;\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n onValidation(valid) {\r\n console.log(valid);\r\n if (!valid) this.setState({ isNotValid: true });\r\n else this.setState({ isNotValid: false });\r\n }\r\n onProvinceChanged(e) {\r\n console.log(e);\r\n this.setState({\r\n provinceSelected: e.value,\r\n genAddressProvince: e.value.province_name,\r\n });\r\n this.setState({ provinceCode: e.value.provinceCode });\r\n this.setState({ districtSelected: null });\r\n this.setState({ subDistrictSelected: null });\r\n ServerAPI.getDistrict(e.value.provinceCode).then((res) => {\r\n this.setState({ districtList: res });\r\n });\r\n }\r\n onDistrictChanged(e) {\r\n this.setState({\r\n districtSelected: e.value,\r\n genAddressDistrict: e.value.districtName,\r\n });\r\n this.setState({ districtCode: e.value.districtCode });\r\n this.setState({ subDistrictSelected: null });\r\n ServerAPI.getSubDistrict(e.value.districtCode).then((res) => {\r\n this.setState({ subDistrictList: res });\r\n });\r\n }\r\n onSubDistrictChanged(e) {\r\n this.setState({ subDistrictSelected: e.value });\r\n this.setState({ subDistrictCode: e.value.subDistrictCode });\r\n }\r\n\r\n onPickDateStartChange(e) {\r\n //console.log(e.value.toISOString())\r\n if (this.state.deliveryDate != null || this.state.pickDateEnd != null) {\r\n if (\r\n e.value < this.state.deliveryDate ||\r\n e.value < this.state.pickDateEnd\r\n ) {\r\n this.setState({ pickDateStart: e.value });\r\n }\r\n } else this.setState({ pickDateStart: e.value });\r\n }\r\n onPickDateEndChange(e) {\r\n console.log(e);\r\n if (this.state.pickDateStart != null) {\r\n if (e.value > this.state.pickDateStart) {\r\n this.setState({ pickDateEnd: e.value });\r\n }\r\n } else this.setState({ pickDateEnd: e.value });\r\n }\r\n\r\n onDeliveryDateChange(e) {\r\n //if (this.state.pickDateStart < e.value) {\r\n this.setState({ deliveryDate: e.value });\r\n //}\r\n }\r\n\r\n // onPickupDateChange(e){\r\n // this.setState({ pickDate: e.value })\r\n // this.setState({ pickDateStart: e.value[0], pickDateEnd: e.value[1]})\r\n // }\r\n\r\n addDataToTable() {\r\n var isNotinput =\r\n this.state.wasteTypeSelected == \"\" ||\r\n this.state.productSelected == \"\" ||\r\n this.state.amountSelected == \"\" ||\r\n this.state.appraisedPriceSelected == \"\" ||\r\n this.state.salePriceSelected == \"\";\r\n\r\n if (isNotinput) {\r\n this.showWarn();\r\n } else {\r\n var OrderDetailList = {\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n // wasteType: this.state.wasteTypeSelected.product_type_name,\r\n // amount: parseFloat(this.state.amountSelected).toFixed(2),\r\n // appraisedPrice: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n // salePrice: parseFloat(this.state.salePriceSelected).toFixed(2),\r\n\r\n quantity_kk: parseFloat(this.state.amountSelected).toFixed(2),\r\n estimate_price_per_unit: parseFloat(\r\n this.state.appraisedPriceSelected\r\n ).toFixed(2),\r\n price_per_unit: parseFloat(this.state.salePriceSelected).toFixed(2),\r\n };\r\n this.state.OrderList.push(OrderDetailList);\r\n\r\n this.setState({ wasteTypeSelected: \"\" });\r\n this.setState({ productSelected: \"\" });\r\n this.setState({ amountSelected: \"\" });\r\n this.setState({ appraisedPriceSelected: \"\" });\r\n this.setState({ salePriceSelected: \"\" });\r\n this.showSuccess();\r\n }\r\n console.log(this.state.OrderList);\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n this.setState({ productSelected: \"\" });\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n onUpload(event) {\r\n this.growl.show({\r\n severity: \"info\",\r\n summary: \"Success\",\r\n detail: \"File Uploaded\",\r\n });\r\n }\r\n onFileDelete(index) {\r\n var array = this.state.fileImgWaste;\r\n array.splice(index, 1);\r\n this.setState({ fileImgWaste: array });\r\n }\r\n onFileWasteChanged(e) {\r\n console.log(e.files);\r\n //this.setState({ fileImgIden: e.target.files[0] });\r\n var list = [];\r\n for (let index = 0; index < e.files.length; index++) {\r\n const file = e.files[index];\r\n console.log(file);\r\n list.push(file);\r\n }\r\n if (this.state.fileImgWaste) {\r\n var arr = this.state.fileImgWaste.concat(list);\r\n this.setState({ fileImgWaste: arr });\r\n } else {\r\n this.setState({ fileImgWaste: list });\r\n }\r\n }\r\n\r\n //auto complate handle\r\n suggestBrands(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onCenterChanged = (coor) => {\r\n console.log(\"onCenterChanged\");\r\n console.log(this.state.mapGenMarker);\r\n if (coor) {\r\n this.setState({ latitude: coor.lat });\r\n this.setState({ longitude: coor.lng });\r\n this.setState({ mapGenMarker: { lat: coor.lat, lng: coor.lng } });\r\n let searchProModel = {\r\n latitude: coor.lat,\r\n longitude: coor.lng,\r\n distance_km: 10,\r\n };\r\n this.requestProLocation(searchProModel);\r\n }\r\n };\r\n onMarkerMoved(e) {\r\n var coor = e.latLng.toJSON();\r\n this.setState({ mapGenMarker: coor });\r\n //this.setState({ longitude: coor.lng })\r\n //this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } });\r\n let searchProModel = {\r\n latitude: coor.lat,\r\n longitude: coor.lng,\r\n distance_km: 10,\r\n };\r\n this.requestProLocation(searchProModel);\r\n }\r\n\r\n selectedProByLatLng(coor) {\r\n this.setState({ dataTableSelection2: \"\" });\r\n this.setState({ u2_uid: \"\" });\r\n this.state.wasteproDataList.forEach((objPro) => {\r\n console.log(\"objPro.lat:\" + objPro.lat);\r\n console.log(\"coor.lat :\" + coor.lat.toFixed(12));\r\n console.log(\"objPro.lng:\" + objPro.lng);\r\n console.log(\"coor.lng :\" + coor.lng.toFixed(12));\r\n if (\r\n objPro.lat.toFixed(12) == coor.lat.toFixed(12) &&\r\n objPro.lng.toFixed(12) == coor.lng.toFixed(12)\r\n ) {\r\n console.log(\"ตรง\");\r\n this.setState({ dataTableSelection3: objPro });\r\n this.setState({ proName: objPro.pro_name });\r\n this.setState({ proAddress: objPro.address_detail });\r\n this.setState({ proPhone: objPro.telephone_no1 });\r\n this.setState({ u3_uid: objPro.uid });\r\n\r\n var marder = { lat: objPro.lat, lng: objPro.lng };\r\n this.setState({ mapTranMarker: marder });\r\n\r\n let searchTranModel = {\r\n latitude: objPro.lat,\r\n longitude: objPro.lng,\r\n distance_km: 10,\r\n u3_uid: objPro.uid\r\n };\r\n ServerAPI.getTranLocation(searchTranModel)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ wastetranDataList: res }, this.selectedTran);\r\n const markers = [];\r\n res.forEach((loc) => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapTranMarkers: markers });\r\n })\r\n .catch((error) => {});\r\n }\r\n });\r\n }\r\n\r\n selectedTranByLatLng(coor) {\r\n this.state.wastetranDataList.forEach((objTran) => {\r\n if (\r\n objTran.lat.toFixed(12) == coor.lat.toFixed(12) &&\r\n objTran.lng.toFixed(12) == coor.lng.toFixed(12)\r\n ) {\r\n this.setState({ dataTableSelection2: objTran });\r\n this.setState({ tranImg: objTran.img_person_name });\r\n this.setState({ tranName: objTran.tran_name });\r\n this.setState({ tranAddress: objTran.address_detail });\r\n this.setState({ tranPhone: objTran.telephone_no1 });\r\n this.setState({ u2_uid: objTran.uid });\r\n }\r\n });\r\n }\r\n\r\n getProfile(uid) {\r\n ServerAPI.getProfile(uid)\r\n .then((obj) => {\r\n console.log(obj);\r\n\r\n const currentUserInfo = obj.user_wasteTypes.find(\r\n (item) => item.wasteType === WASTE_TYPE[\"wastegen\"]\r\n );\r\n console.log(currentUserInfo);\r\n if (currentUserInfo.profileStatusCode != 99) {\r\n this.showWarn(\"ข้อมูลโปรไฟล์ไม่สมบูรณ์\");\r\n this.setState({ showProgress: false });\r\n this.setState({ isProfileCompleted: false });\r\n } else {\r\n this.setState({ isProfileCompleted: true });\r\n\r\n this.setState({ addressDetail: obj.addr_current_detail });\r\n this.setState({ provinceCode: obj.addr_current_province_code });\r\n this.setState({ districtCode: obj.addr_current_district_code });\r\n this.setState({ subDistrictCode: obj.addr_current_subdistrict_code });\r\n this.setState({ lineId: obj.line_id });\r\n this.setState({ email: obj.email });\r\n this.setState({ genImg: obj.img_person_name });\r\n this.setState({ genPhone: obj.telephone_no1 });\r\n this.setState({ genFname: obj.person_first_name });\r\n this.setState({ genLname: obj.person_last_name });\r\n this.setState({ personType: obj.person_type });\r\n this.setState({ personPrefixCode: obj.person_prefix_code });\r\n this.setState({ personIdcard: obj.person_idcard });\r\n this.setState({ latitude: obj.latitude });\r\n this.setState({ longitude: obj.longitude });\r\n\r\n if (this.state.personPrefixCode == 1) {\r\n this.setState({ personPrefix: \"นาย\" });\r\n }\r\n if (this.state.personPrefixCode == 2) {\r\n this.setState({ personPrefix: \"นาง\" });\r\n }\r\n if (this.state.personPrefixCode == 3) {\r\n this.setState({ personPrefix: \"นางสาว\" });\r\n }\r\n this.setState({ orgTypeCode: obj.org_type });\r\n if (this.state.orgTypeCode == 1) {\r\n this.setState({ orgType: \"บริษัทจำกัด\" });\r\n }\r\n if (this.state.orgTypeCode == 2) {\r\n this.setState({ orgType: \"ห้างหุ้นส่วน\" });\r\n }\r\n if (this.state.orgTypeCode == 3) {\r\n this.setState({ orgType: \"บริษัทมหาชน\" });\r\n }\r\n if (this.state.orgTypeCode == 4) {\r\n this.setState({ orgType: \"ห้างร้าน\" });\r\n }\r\n this.setState({ orgName: obj.org_name });\r\n\r\n var genMarder = { lat: obj.latitude, lng: obj.longitude };\r\n this.setState({ mapGenCenter: genMarder });\r\n this.setState({ mapGenMarker: genMarder });\r\n if (this.state.mapGenZoom == 12) {\r\n this.setState({ mapGenZoom: 12 });\r\n } else {\r\n this.setState({ mapGenZoom: 13 });\r\n }\r\n\r\n var marder = { lat: obj.latitude, lng: obj.longitude };\r\n this.setState({ mapProMarker: marder });\r\n\r\n ServerAPI.getDistrict(obj.addr_current_province_code).then((res) => {\r\n this.setState({ districtList: res });\r\n ServerAPI.getSubDistrict(obj.addr_current_district_code).then(\r\n (res) => {\r\n this.setState({ subDistrictList: res });\r\n this.bindingProfile();\r\n }\r\n );\r\n });\r\n\r\n let searchProModel = {\r\n latitude: obj.latitude,\r\n longitude: obj.longitude,\r\n distance_km: 10,\r\n };\r\n this.requestProLocation(searchProModel);\r\n }\r\n })\r\n .catch((error) => {});\r\n }\r\n\r\n requestProLocation(searchProModel) {\r\n ServerAPI.getProLocation(searchProModel)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ wasteproDataList: res });\r\n const markers = [];\r\n res.forEach((loc) => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapProMarkers: markers });\r\n this.setState({\r\n mapProCenter: {\r\n lat: searchProModel.latitude,\r\n lng: searchProModel.longitude,\r\n },\r\n });\r\n this.setState({ showProgress: false });\r\n if (this.state.mapProZoom == 12) {\r\n this.setState({ mapProZoom: 13 });\r\n } else {\r\n this.setState({ mapProZoom: 12 });\r\n }\r\n })\r\n .catch((error) => {});\r\n\r\n // ServerAPI.getTranLocation(searchTranModel).then((res) => {\r\n // console.log(res);\r\n // this.setState({ wastetranDataList: res });\r\n // const markers = [];\r\n // res.forEach(loc => {\r\n // markers.push({ lat: loc.lat, lng: loc.lng});\r\n // });\r\n // this.setState({ mapTranMarkers: markers });\r\n // this.setState({ mapTranCenter: { lat: searchTranModel.latitude, lng: searchTranModel.longitude } });\r\n // this.setState({ showProgress: false })\r\n // }).catch((error) => {\r\n // })\r\n }\r\n bindingProfile() {\r\n const {\r\n locationMaster,\r\n provinces,\r\n districts,\r\n subDistricts,\r\n localtionServiceProps,\r\n } = this.props;\r\n\r\n if (this.state.provinceCode && !locationMaster.isFetching) {\r\n provinces.forEach((objProvince) => {\r\n // console.log(JSON.stringify(objProvince));\r\n\r\n if (objProvince.provinceCode == this.state.provinceCode) {\r\n this.setState({ provinceSelected: objProvince });\r\n this.setState({ genAddressProvince: objProvince.province_name });\r\n }\r\n });\r\n }\r\n\r\n if (this.state.districtCode) {\r\n this.state.districtList.forEach((objDistrict) => {\r\n if (objDistrict.districtCode == this.state.districtCode) {\r\n this.setState({ districtSelected: objDistrict });\r\n this.setState({ genAddressDistrict: objDistrict.districtName });\r\n }\r\n });\r\n }\r\n\r\n if (this.state.subDistrictCode) {\r\n this.state.subDistrictList.forEach((objSubDistrict) => {\r\n if (objSubDistrict.subDistrictCode == this.state.subDistrictCode) {\r\n this.setState({ subDistrictSelected: objSubDistrict });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onTableProSelected(e) {\r\n this.setState({ dataTableSelection2: \"\" });\r\n this.setState({ u2_uid: \"\" });\r\n console.log(e.value);\r\n this.setState({ dataTableSelection3: e.value });\r\n this.setState({ proImg: e.value.img_person_name });\r\n this.setState({ proName: e.value.pro_name });\r\n this.setState({ proAddress: e.value.address_detail });\r\n this.setState({ proPhone: e.value.telephone_no1 });\r\n this.setState({ u3_uid: e.value.uid });\r\n\r\n this.setState({ mapProCenter: { lat: e.value.lat, lng: e.value.lng } });\r\n if (this.state.mapProZoom == 12) {\r\n this.setState({ mapProZoom: 13 });\r\n } else {\r\n this.setState({ mapProZoom: 12 });\r\n }\r\n\r\n var marder = { lat: e.value.lat, lng: e.value.lng };\r\n this.setState({ mapTranMarker: marder });\r\n\r\n let searchTranModel = {\r\n latitude: e.value.lat,\r\n longitude: e.value.lng,\r\n distance_km: 10,\r\n u3_uid: e.value.uid\r\n };\r\n ServerAPI.getTranLocation(searchTranModel)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ wastetranDataList: res });\r\n const markers = [];\r\n res.forEach((loc) => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapTranMarkers: markers });\r\n this.setState({\r\n mapTranCenter: { lat: e.value.lat, lng: e.value.lng },\r\n });\r\n if (this.state.mapTranZoom == 12) {\r\n this.setState({ mapTranZoom: 13 });\r\n } else {\r\n this.setState({ mapTranZoom: 12 });\r\n }\r\n })\r\n .catch((error) => {});\r\n }\r\n\r\n onTableTranSelected(e) {\r\n console.log(e.value);\r\n this.setState({ dataTableSelection2: e.value });\r\n this.setState({ tranImg: e.value.img_person_name });\r\n this.setState({ tranName: e.value.tran_name });\r\n this.setState({ tranAddress: e.value.address_detail });\r\n this.setState({ tranPhone: e.value.telephone_no1 });\r\n this.setState({ u2_uid: e.value.uid });\r\n\r\n this.setState({ mapTranCenter: { lat: e.value.lat, lng: e.value.lng } });\r\n if (this.state.mapTranZoom == 12) {\r\n this.setState({ mapTranZoom: 13 });\r\n } else {\r\n this.setState({ mapTranZoom: 12 });\r\n }\r\n }\r\n\r\n onUsernameChanged(search_name) {\r\n if (typeof search_name != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ brand: search_name });\r\n if (search_name.length >= 1) {\r\n ServerAPI.searchMemberName(search_name)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ brandSuggestions: res });\r\n })\r\n .catch((error) => {});\r\n }\r\n } else this.setState({ brand: search_name });\r\n }\r\n itemTemplate(item) {\r\n return
    {item.search_name}
    ;\r\n }\r\n onSelectAutoCompleteSearchName(item) {\r\n this.clearAllDataInput();\r\n this.setState({ brand: item.value.search_name });\r\n //console.log(item);\r\n //this.setState({ModelInputLocation: item.value.uid});\r\n this.setState({ showBodyDetail: true });\r\n this.setState({ showProgress: true });\r\n this.setState({ u1_uid: item.value.uid });\r\n this.getProfile(item.value.uid);\r\n }\r\n mapChanged(e) {\r\n console.log(e);\r\n }\r\n onMarkerClicked(e) {\r\n console.log(\"onMarkerClicked\");\r\n var coor = e.latLng.toJSON();\r\n console.log(coor);\r\n this.selectedTranByLatLng(coor);\r\n }\r\n onMarkerProClicked(e) {\r\n console.log(\"onMarkerClicked\");\r\n var coor = e.latLng.toJSON();\r\n console.log(coor);\r\n this.selectedProByLatLng(coor);\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"มีบางอย่างผิดพลาด กรุณาตรวจสอบ\",\r\n });\r\n };\r\n clearAllDataInput() {\r\n this.setState({ showBodyDetail: false });\r\n this.setState({ brand: \"\" });\r\n this.setState({ addressDetail: \"\" });\r\n this.setState({ provinceSelected: \"\" });\r\n this.setState({ districtSelected: \"\" });\r\n this.setState({ subDistrictSelected: \"\" });\r\n this.setState({ lineId: \"\" });\r\n this.setState({ email: \"\" });\r\n this.setState({ genPhone: \"\" });\r\n this.setState({ pickDate: null });\r\n this.setState({ pickDateStart: null });\r\n this.setState({ pickDateEnd: null });\r\n this.setState({ deliveryDate: null });\r\n this.setState({ deliveryCost: \"\" });\r\n this.setState({ wasteTypeSelected: \"\" });\r\n this.setState({ productSelected: \"\" });\r\n this.setState({ amountSelected: \"\" });\r\n this.setState({ appraisedPriceSelected: \"\" });\r\n this.setState({ salePriceSelected: \"\" });\r\n var OrderDetailList = {};\r\n this.state.OrderList.push(OrderDetailList);\r\n this.setState({ OrderList: [] });\r\n this.setState({ wastetranDataList: \"\" });\r\n this.setState({ wasteproDataList: \"\" });\r\n this.setState({ personPrefix: \"\" });\r\n this.setState({ orgType: \"\" });\r\n this.setState({ orgName: \"\" });\r\n this.setState({ genFname: \"\" });\r\n this.setState({ genLname: \"\" });\r\n this.setState({ genAddressProvince: \"\" });\r\n this.setState({ genAddressDistrict: \"\" });\r\n this.setState({ genImg: \"\" });\r\n this.setState({ tranName: \"\" });\r\n this.setState({ tranImg: \"\" });\r\n this.setState({ tranAddress: \"\" });\r\n this.setState({ tranPhone: \"\" });\r\n this.setState({ proName: \"\" });\r\n this.setState({ proImg: \"\" });\r\n this.setState({ proAddress: \"\" });\r\n this.setState({ proPhone: \"\" });\r\n this.setState({ mapGenMarker: {} });\r\n this.setState({ mapTranMarker: {} });\r\n this.setState({ mapProMarker: {} });\r\n this.setState({ mapTranMarkers: [] });\r\n this.setState({ mapProMarkers: [] });\r\n this.setState({\r\n mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n });\r\n this.setState({\r\n mapTranCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n });\r\n this.setState({\r\n mapProCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n });\r\n this.setState({ mapGenZoom: 11 });\r\n this.setState({ mapTranZoom: 11 });\r\n this.setState({ mapProZoom: 11 });\r\n this.setState({ dataTableSelection2: \"\" });\r\n this.setState({ dataTableSelection3: \"\" });\r\n\r\n this.setState({ fileImgWaste: null });\r\n\r\n console.log(this.state.fileImgWaste);\r\n }\r\n //validation\r\n onClickSaveOrder() {\r\n console.log(this.state.isNotValid);\r\n var inputAll = !(\r\n this.state.addressDetail == \"\" ||\r\n this.state.provinceSelected == \"\" ||\r\n this.state.districtSelected == \"\" ||\r\n this.state.subDistrictSelected == \"\" ||\r\n this.state.provinceSelected == null ||\r\n this.state.districtSelected == null ||\r\n this.state.subDistrictSelected == null ||\r\n this.state.genPhone == \"\" ||\r\n this.state.pickDateStart == null ||\r\n this.state.pickDateEnd == null ||\r\n this.state.deliveryDate == null ||\r\n this.state.pickDateStart == \"\" ||\r\n this.state.pickDateEnd == \"\" ||\r\n this.state.deliveryDate == \"\" ||\r\n this.state.OrderList == \"\" ||\r\n this.state.isNotValid\r\n );\r\n // this.state.wastetranDataList == '' || this.state.wasteproDataList == '' ||\r\n // this.state.dataTableSelection2 == '' || this.state.dataTableSelection3 == ''\r\n\r\n if (!inputAll) {\r\n this.showWarn();\r\n console.log(this.state.pickDateStart);\r\n console.log(this.state.deliveryDate);\r\n } else {\r\n this.createNewOrder();\r\n }\r\n }\r\n\r\n showWastegen() {\r\n const genPersonName = (\r\n
    \r\n \r\n {this.state.personPrefix} {this.state.genFname} {this.state.genLname}{\" \"}\r\n \r\n \r\n {this.state.genAddressProvince} {this.state.genAddressDistrict}, Mob :{\" \"}\r\n {this.state.genPhone}\r\n \r\n
    \r\n );\r\n const genOrgName = (\r\n
    \r\n \r\n {this.state.orgType} {this.state.orgName}{\" \"}\r\n \r\n \r\n {this.state.genAddressProvince} {this.state.genAddressDistrict}, Mob :{\" \"}\r\n {this.state.genPhone}\r\n \r\n
    \r\n );\r\n\r\n if (this.state.personType == 1) {\r\n return genPersonName;\r\n }\r\n if (this.state.personType == 2) {\r\n return genOrgName;\r\n } else return \", Mob :\";\r\n }\r\n showWastetran() {\r\n const tranPersonName = (\r\n
    \r\n {this.state.tranName} \r\n \r\n {this.state.tranAddress} , Mob : {this.state.tranPhone}\r\n \r\n
    \r\n );\r\n // const tranOrgName = (\r\n //
    \r\n // {this.state.orgType} {this.state.orgName} \r\n // {this.state.genAddress} , Mob : {this.state.genPhone}\r\n //
    \r\n // );\r\n\r\n // if(this.state.personType == 1){\r\n // return tranPersonName;\r\n // }if(this.state.personType == 2){\r\n // return tranOrgName;\r\n // }\r\n return tranPersonName;\r\n }\r\n showWastepro() {\r\n const proPersonName = (\r\n
    \r\n {this.state.proName} \r\n \r\n {this.state.proAddress} , Mob : {this.state.proPhone}\r\n \r\n
    \r\n );\r\n // const proOrgName = (\r\n //
    \r\n // {this.state.orgType} {this.state.orgName} \r\n // {this.state.genAddress} , Mob : {this.state.genPhone}\r\n //
    \r\n // );\r\n\r\n // if(this.state.personType == 1){\r\n // return proPersonName;\r\n // }if(this.state.personType == 2){\r\n // return proOrgName;\r\n // }\r\n return proPersonName;\r\n }\r\n\r\n handleCreateResult(isSuccess, message) {\r\n if (isSuccess) {\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n } else {\r\n this.showWarn(message);\r\n }\r\n }\r\n\r\n createNewOrder() {\r\n console.log(this.state);\r\n\r\n const formData = new FormData();\r\n // formData.set('ProductImages',this.state.googleId);\r\n // formData.set('ProductImageNames',this.state.googleId);\r\n\r\n if (this.state.fileImgWaste != null)\r\n for (let index = 0; index < this.state.fileImgWaste.length; index++) {\r\n const file = this.state.fileImgWaste[index];\r\n formData.append(\"ProductImages\", file);\r\n }\r\n\r\n formData.set(\r\n \"OrderDetailListString\",\r\n JSON.stringify(this.state.OrderList) || null\r\n );\r\n //formData.set('OrderDetail', this.state.prefixCode || 0);\r\n //formData.set('order_code', this.state.firstName);\r\n formData.set(\"u1_uid\", this.state.u1_uid || \"\");\r\n formData.set(\"u2_uid\", this.state.u2_uid || \"\");\r\n formData.set(\"u3_uid\", this.state.u3_uid || \"\");\r\n formData.set(\"person_type\", this.state.personType || 0);\r\n formData.set(\"person_prefix_code\", this.state.personPrefixCode || 0);\r\n formData.set(\"person_first_name\", this.state.genFname || \"\");\r\n formData.set(\"person_last_name\", this.state.genLname || \"\");\r\n formData.set(\"person_idcard\", this.state.personIdcard || \"\");\r\n formData.set(\"org_type\", this.state.orgTypeCode || 0);\r\n formData.set(\"org_name\", this.state.orgName || \"\");\r\n formData.set(\"telephone_no1\", this.state.genPhone || \"\");\r\n formData.set(\"telephone_no2\", this.state.genPhone2 || \"\");\r\n formData.set(\"line_id\", this.state.lineId || \"\");\r\n formData.set(\"email\", this.state.email || \"\");\r\n formData.set(\"addr_current_province_code\", this.state.provinceCode || 0);\r\n formData.set(\"addr_current_district_code\", this.state.districtCode || 0);\r\n formData.set(\r\n \"addr_current_subdistrict_code\",\r\n this.state.subDistrictCode || 0\r\n );\r\n formData.set(\"addr_current_detail\", this.state.addressDetail || \"\");\r\n formData.set(\"latitude\", this.state.latitude || 0);\r\n formData.set(\"longitude\", this.state.longitude || 0);\r\n formData.set(\r\n \"pickup_start_date\",\r\n this.state.pickDateStart.toISOString() || \"\"\r\n );\r\n formData.set(\"pickup_end_date\", this.state.pickDateEnd.toISOString() || \"\");\r\n formData.set(\"delivery_date\", this.state.deliveryDate.toISOString() || \"\");\r\n formData.set(\"delivery_cost\", this.state.deliveryCost || 0);\r\n // formData.set('created_date',this.state.googleId);\r\n // formData.set('update_date',this.state.googleId);\r\n\r\n ServerAPI.CreateOrder(formData, this.handleCreateResult)\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return (\r\n
    \r\n this.onClickDeleteItem(column.rowIndex)}\r\n icon=\"fa fa-trash\"\r\n className=\"p-button-warning\"\r\n />\r\n
    \r\n );\r\n }\r\n distanceTemplate(rowData, column) {\r\n let distance = rowData.distance_km.toFixed(3);\r\n return (\r\n
    \r\n {distance}\r\n
    \r\n );\r\n }\r\n\r\n onClickDeleteItem(index) {\r\n if (index !== -1) {\r\n var array = this.state.OrderList;\r\n array.splice(index, 1);\r\n this.setState({ OrderList: array });\r\n }\r\n }\r\n showSearchPanel() {\r\n return (\r\n
    \r\n
    \r\n

    สร้าง Order ใหม่

    \r\n
    \r\n
    \r\n \r\n
    \r\n this.onUsernameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุเบอร์โทรศัพท์/ชื่อสมาชิก\"\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n matchingResult() {\r\n const wastegenDetail = this.showWastegen();\r\n const wastetranDetail = this.showWastetran();\r\n const wasteproDetail = this.showWastepro();\r\n console.log(this.state.dataTableSelection2);\r\n console.log(this.state.dataTableSelection3);\r\n if (\r\n this.state.dataTableSelection3 == \"\" ||\r\n this.state.dataTableSelection2 == \"\"\r\n ) {\r\n return
    ;\r\n } else\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {wastegenDetail}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {wastetranDetail}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {wasteproDetail}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n showCreateDetail() {\r\n const {\r\n provinces,\r\n districts,\r\n subDistricts,\r\n productType,\r\n product,\r\n } = this.props;\r\n const minDate = new Date();\r\n const matchingTab = this.matchingResult();\r\n\r\n var tranHeader = (\r\n
    \r\n \r\n this.setState({ globalFilterTran: e.target.value })}\r\n placeholder=\"กรอกชื่อ-สกุล หรือที่อยู่\"\r\n size=\"50\"\r\n />\r\n
    \r\n );\r\n var proHeader = (\r\n
    \r\n \r\n this.setState({ globalFilterPro: e.target.value })}\r\n placeholder=\"กรอกชื่อ-สกุล หรือที่อยู่\"\r\n size=\"50\"\r\n />\r\n
    \r\n );\r\n if (\r\n !this.state.showBodyDetail ||\r\n this.state.showProgress ||\r\n !this.state.isProfileCompleted\r\n ) {\r\n return
    ;\r\n } else\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n this.setState({ addressDetail: e.target.value })\r\n }\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n\r\n \r\n Line ID\r\n \r\n \r\n \r\n this.setState({ lineId: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n Email\r\n \r\n \r\n \r\n this.setState({ email: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n Mobile\r\n \r\n \r\n \r\n this.setState({ genPhone: e.target.value })\r\n }\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n console.log(\"calendar:\" + valid)}\r\n minDate={minDate}\r\n />\r\n
    \r\n \r\n console.log(\"calendar:\" + valid)}\r\n minDate={minDate}\r\n />\r\n
    \r\n {/*
    \r\n console.log(\"calendar:\"+ valid)}\r\n minDate={minDate} selectionMode=\"range\" placeholder='เช่น 01/01/2020 - 02/01/2020'\r\n />\r\n
    */}\r\n \r\n \r\n
    \r\n \r\n console.log(\"calendar:\" + valid)}\r\n minDate={minDate}\r\n placeholder=\"วันที่ส่งสินค้า\"\r\n />\r\n
    \r\n \r\n
    \r\n \r\n this.setState({ deliveryCost: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n
    \r\n this.onFileWasteChanged(e)}\r\n onDelete={(index) => this.onFileDelete(index)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={true}\r\n accept=\"image/*\"\r\n maxFileSize={10000000}\r\n />\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n this.setState({ amountSelected: e.target.value })\r\n }\r\n />\r\n
    \r\n \r\n
    \r\n \r\n this.setState({\r\n appraisedPriceSelected: e.target.value,\r\n })\r\n }\r\n />\r\n
    \r\n \r\n
    \r\n \r\n this.setState({ salePriceSelected: e.target.value })\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n this.onTableProSelected(e)}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n this.onTableTranSelected(e)}\r\n >\r\n \r\n \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {matchingTab}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return Progress;\r\n } else return
    ;\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const createDetail = this.showCreateDetail();\r\n const showProgress = this.showProgressSpinner();\r\n console.log(this.state.pickDateStart);\r\n console.log(this.state.pickDateEnd);\r\n\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n {searchPanel}\r\n {showProgress}\r\n {createDetail}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { forwardRef: true }\r\n)(CreateOrderContainer);\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { DataView, DataViewLayoutOptions } from 'primereact/dataview';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Growl } from 'primereact/growl';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { CEInputText, CECalendar, CEDropdown } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport moment from 'moment'\r\n\r\n\r\nclass ManageOrderContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n memberType: 0,\r\n memberTypeItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ผู้รักษ์โลก', value: 1 },\r\n { label: 'ทีมขนส่งซีซาเล้ง', value: 2 },\r\n { label: 'ศูนย์จัดการฯซีซาเล้ง', value: 3 },\r\n ],\r\n pickDateStart: null,\r\n pickDateEnd: null,\r\n deliveryDate: null,\r\n date3: null,\r\n date4: null,\r\n date1: null,\r\n date2: null,\r\n selectedProductImg: null,\r\n status: 1000,\r\n status2: 1000,\r\n statusSearchItem: [\r\n { label: 'เลือกทั้งหมด', value: 1000 },\r\n { label: 'รอร้านค้ายืนยัน', value: 0 },\r\n { label: 'รอนัดหมาย', value: 1 },\r\n { label: 'รอทีมขนส่ง', value: 2 },\r\n { label: 'รอส่งสินค้า', value: 3 },\r\n { label: 'รอปิด Order', value: 4 },\r\n { label: 'เกินกำหนดรับสินค้า', value: 5 },\r\n { label: 'ยกเลิก', value: 99 },\r\n { label: 'ผิดนัด', value: 999 },\r\n { label: 'ร้านค้าปฏิเสธรับซื้อ', value: 998 },\r\n ],\r\n statusItem: [\r\n // { label: 'เลือกทั้งหมด', value: 1000 },\r\n { label: 'รอร้านค้ายืนยัน', value: 0 },\r\n { label: 'รอนัดหมาย', value: 1 },\r\n { label: 'รอทีมขนส่ง', value: 2 },\r\n { label: 'รอส่งสินค้า', value: 3 },\r\n { label: 'รอปิด Order', value: 4 },\r\n { label: 'เกินกำหนดรับสินค้า', value: 5 },\r\n { label: 'ปิด Order', value: 88 },\r\n { label: 'ยกเลิก', value: 99 },\r\n { label: 'ผิดนัด', value: 999 },\r\n { label: 'ร้านค้าปฏิเสธรับซื้อ', value: 998 },\r\n ],\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n\r\n mapGenZoom: 11,\r\n mapGenMarker: {},\r\n mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapMarker: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapTranMarker: {},\r\n mapTranMarkers: [],\r\n mapTranZoom: 11,\r\n mapTranCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapProMarkers: [],\r\n mapProZoom: 11,\r\n mapProCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n OrderList: [\r\n // wasteType: '',\r\n // amount: '',\r\n // appraisedPrice: '',\r\n // salePrice: '',\r\n ],\r\n brandSuggestions: null,\r\n addressDetail: '',\r\n province: 0,\r\n district: 0,\r\n subDistrict: 0,\r\n provinceCode: 0,\r\n districtList: [],\r\n districtCode: 0,\r\n subDistrictCode: 0,\r\n subDistrictList: [],\r\n lineId: '',\r\n email: '',\r\n genPhone: '',\r\n deliveryCost: '',\r\n ModelInputLocation: {\r\n latitude: \"13.7734283\",\r\n longitude: \"100.57383099999993\",\r\n distance_km: 10\r\n },\r\n wastetranDataList: [],\r\n wasteproDataList: [],\r\n provinceSelected: '',\r\n wasteTypeSelected: '',\r\n productSelected: '',\r\n amountSelected: '',\r\n appraisedPriceSelected: '',\r\n salePriceSelected: '',\r\n dataTableSelection2: '',\r\n dataTableSelection3: '',\r\n genImg: null,\r\n tranImg: null,\r\n proImg: null,\r\n personPrefixCode: '',\r\n personPrefix: '',\r\n orderID: null,\r\n orderDetail: [],\r\n gid: 0,\r\n showProgress: false,\r\n reportSearchOrders: [],\r\n orderCode: null,\r\n showReportPanel: true,\r\n memberUid: null,\r\n showReportTable: true,\r\n showHideSearch: true,\r\n isNotValid: false,\r\n\r\n selectDay: null,\r\n };\r\n this.onUpload = this.onUpload.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onUsernameChanged = this.onUsernameChanged.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onOrderIDChanged = this.onOrderIDChanged.bind(this);\r\n //this.onSelectAutoCompleteSearchName = this.onSelectAutoCompleteSearchName.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onFileWasteChanged = this.onFileWasteChanged.bind(this);\r\n this.onFileDelete = this.onFileDelete.bind(this);\r\n this.onTableTranSelected = this.onTableTranSelected.bind(this);\r\n this.onTableProSelected = this.onTableProSelected.bind(this);\r\n //this.getProfile = this.getProfile.bind(this);\r\n this.onProvinceChanged = this.onProvinceChanged.bind(this);\r\n this.onDistrictChanged = this.onDistrictChanged.bind(this);\r\n this.onSubDistrictChanged = this.onSubDistrictChanged.bind(this);\r\n this.mapChanged = this.mapChanged.bind(this);\r\n this.onMarkerMoved = this.onMarkerMoved.bind(this);\r\n this.onMarkerClicked = this.onMarkerClicked.bind(this);\r\n this.onMarkerProClicked = this.onMarkerProClicked.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.onClickSaveOrder = this.onClickSaveOrder.bind(this);\r\n this.onPickDateStartChange = this.onPickDateStartChange.bind(this);\r\n this.onPickDateEndChange = this.onPickDateEndChange.bind(this);\r\n // this.onPickupDateChange = this.onPickupDateChange.bind(this);\r\n this.onDeliveryDateChange = this.onDeliveryDateChange.bind(this);\r\n this.onDate3Change = this.onDate3Change.bind(this);\r\n this.onDate4Change = this.onDate4Change.bind(this);\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.clearAllDataInput = this.clearAllDataInput.bind(this);\r\n this.searchOrder = this.searchOrder.bind(this);\r\n this.onOrderSelected = this.onOrderSelected.bind(this);\r\n this.selectedTran = this.selectedTran.bind(this);\r\n this.selectedPro = this.selectedPro.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.showProgressSpinner = this.showProgressSpinner.bind(this);\r\n this.itemProductImgTemplate = this.itemProductImgTemplate.bind(this);\r\n this.requestProLocation = this.requestProLocation.bind(this);\r\n this.quantityEditor = this.quantityEditor.bind(this);\r\n this.estimatePricePerUnitEditor = this.estimatePricePerUnitEditor.bind(this)\r\n this.pickupQuantityEditor = this.pickupQuantityEditor.bind(this)\r\n this.deliveryQuantityEditor = this.deliveryQuantityEditor.bind(this)\r\n this.deliveryPricePerUnitEditor = this.deliveryPricePerUnitEditor.bind(this)\r\n this.remarkEditor = this.remarkEditor.bind(this)\r\n this.selectedTranByLatLng = this.selectedTranByLatLng.bind(this);\r\n this.selectedProByLatLng = this.selectedProByLatLng.bind(this);\r\n this.onOrderKeyPress = this.onOrderKeyPress.bind(this);\r\n this.showReportResult = this.showReportResult.bind(this);\r\n this.showHideSearchPanel = this.showHideSearchPanel.bind(this);\r\n\r\n this.distanceTemplate = this.distanceTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n onValidation(valid) {\r\n console.log(valid)\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n onFileDelete(index) {\r\n var array = this.state.fileImgWaste;\r\n array.splice(index, 1);\r\n this.setState({ fileImgWaste: array });\r\n }\r\n onFileWasteChanged(e) {\r\n //this.setState({ fileImgIden: e.target.files[0] });\r\n var list = [];\r\n for (let index = 0; index < e.files.length; index++) {\r\n const file = e.files[index];\r\n list.push(file);\r\n }\r\n if (this.state.fileImgWaste) {\r\n var arr = this.state.fileImgWaste.concat(list);\r\n this.setState({ fileImgWaste: arr });\r\n } else {\r\n this.setState({ fileImgWaste: list });\r\n }\r\n }\r\n onProvinceChanged(e) {\r\n console.log(e)\r\n this.setState({ provinceSelected: e.value, genAddressProvince: e.value.province_name });\r\n this.setState({ provinceCode: e.value.provinceCode });\r\n this.setState({ districtSelected: null })\r\n this.setState({ subDistrictSelected: null })\r\n ServerAPI.getDistrict(e.value.provinceCode).then((res) => {\r\n this.setState({ districtList: res });\r\n });\r\n }\r\n onDistrictChanged(e) {\r\n\r\n this.setState({ districtSelected: e.value, genAddressDistrict: e.value.districtName });\r\n this.setState({ districtCode: e.value.districtCode });\r\n this.setState({ subDistrictSelected: null })\r\n ServerAPI.getSubDistrict(e.value.districtCode).then((res) => {\r\n this.setState({ subDistrictList: res });\r\n });\r\n }\r\n onSubDistrictChanged(e) {\r\n this.setState({ subDistrictSelected: e.value });\r\n this.setState({ subDistrictCode: e.value.subDistrictCode });\r\n }\r\n // onDate1Change(e) { //date in order edit\r\n // //console.log(e.value.toISOString())\r\n // if (this.state.date2 != null) {\r\n // if (e.value < this.state.date2) {\r\n // this.setState({ date1: e.value })\r\n // }\r\n // } else\r\n // this.setState({ date1: e.value })\r\n // }\r\n\r\n onPickDateStartChange(e) {\r\n //console.log(e.value.toISOString())\r\n if (this.state.deliveryDate != null || this.state.pickDateEnd != null) {\r\n if (e.value < this.state.deliveryDate || e.value < this.state.pickDateEnd) {\r\n this.setState({ pickDateStart: e.value })\r\n }\r\n } else\r\n this.setState({ pickDateStart: e.value })\r\n }\r\n onPickDateEndChange(e) {\r\n console.log(e)\r\n if (this.state.pickDateStart != null) {\r\n if (e.value > this.state.pickDateStart) {\r\n this.setState({ pickDateEnd: e.value })\r\n }\r\n } else\r\n this.setState({ pickDateEnd: e.value })\r\n }\r\n\r\n onDeliveryDateChange(e) { //date in order edit \r\n //if (this.state.pickDateStart < e.value) {\r\n this.setState({ deliveryDate: e.value })\r\n //}\r\n }\r\n // onPickupDateChange(e){\r\n // console.log(e)\r\n // this.setState({ pickDate: e.value })\r\n // var dateEnd = e.value[1]\r\n // if(dateEnd != null){\r\n // dateEnd.setUTCHours(16)\r\n // dateEnd.setUTCMinutes(59)\r\n // dateEnd.setUTCSeconds(59)\r\n // }\r\n // this.setState({ pickDateStart: e.value[0], pickDateEnd: dateEnd})\r\n // }\r\n\r\n onDate3Change(e) { //date in search order\r\n //console.log(e.value.toISOString())\r\n if (this.state.date4 != null) {\r\n if (e.value <= this.state.date4) {\r\n this.setState({ date3: e.value })\r\n }\r\n } else\r\n this.setState({ date3: e.value })\r\n }\r\n onDate4Change(e) { //date in search order\r\n if (this.state.date3 <= e.value) {\r\n this.setState({ date4: e.value })\r\n }\r\n }\r\n\r\n onDate1Change(e) { //date in search order\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //date in search order\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n\r\n addDataToTable() {\r\n var isNotinput = (this.state.wasteTypeSelected == '' ||\r\n this.state.productSelected == '' ||\r\n this.state.amountSelected == '' ||\r\n this.state.appraisedPriceSelected == '' ||\r\n this.state.salePriceSelected == ''\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn();\r\n } else {\r\n var OrderDetailList = {\r\n gid: this.state.gid,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n // wasteType: this.state.wasteTypeSelected.product_type_name,\r\n // amount: parseFloat(this.state.amountSelected).toFixed(2),\r\n // appraisedPrice: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n // salePrice: parseFloat(this.state.salePriceSelected).toFixed(2), \r\n\r\n delivery_quantity_kk: 0,\r\n delivery_price_per_unit: 0,\r\n quantity_kk: parseFloat(this.state.amountSelected).toFixed(2),\r\n estimate_price_per_unit: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n price_per_unit: parseFloat(this.state.salePriceSelected).toFixed(2),\r\n }\r\n this.state.orderDetail.push(OrderDetailList)\r\n\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ amountSelected: '' })\r\n this.setState({ appraisedPriceSelected: '' })\r\n this.setState({ salePriceSelected: '' })\r\n console.log(this.state.orderDetail)\r\n this.showSuccess();\r\n }\r\n }\r\n onWasteTypeChange(e) {\r\n\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n onUpload(event) {\r\n this.growl.show({ severity: 'info', summary: 'Success', detail: 'File Uploaded' });\r\n }\r\n\r\n // onFileWasteChanged(e) {\r\n // console.log(e)\r\n // //this.setState({ fileImgIden: e.target.files[0] });\r\n // this.setState({ fileImgWaste: e.files[0] });\r\n // }\r\n\r\n //auto complate handle (ผู้รักษ์โลก)\r\n suggestBrands(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onUsernameChanged(search_name) {\r\n this.setState({ brand: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchMemberName(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ brandSuggestions: res });\r\n\r\n }).catch((error) => {\r\n })\r\n }\r\n }\r\n // onSelectAutoCompleteSearchName(item) {\r\n // this.setState({ brand: item.value.search_name });\r\n // this.setState({ u1_uid: item.value.uid })\r\n // this.getProfile(item.value.uid)\r\n // }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderKeyPress(e) {\r\n /*\r\n var code = \"\";\r\n \r\n if(e.which!=32) {\r\n code = e.target.value + e.key\r\n } else{\r\n console.log(\"space bar\");\r\n }\r\n console.log(code);\r\n \r\n var code = e.query;\r\n if(e.which!=32){\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n }else{\r\n return ;\r\n }*/\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n\r\n\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n\r\n onCenterChanged = (coor) => {\r\n console.log(\"onCenterChanged\");\r\n console.log(this.state.mapGenMarker);\r\n if (coor) {\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n this.setState({ mapGenMarker: { lat: coor.lat, lng: coor.lng } })\r\n let searchProModel = {\r\n latitude: coor.lat,\r\n longitude: coor.lng,\r\n distance_km: 10\r\n }\r\n this.requestProLocation(searchProModel);\r\n }\r\n\r\n }\r\n\r\n onMarkerMoved(e) {\r\n console.log(\"onMarkerMoved\");\r\n console.log(coor);\r\n var coor = e.latLng.toJSON();\r\n this.setState({ mapGenMarker: coor })\r\n this.setState({ latitude: coor.lat })\r\n this.setState({ longitude: coor.lng })\r\n //this.setState({ longitude: coor.lng })\r\n //this.setState({ marker: { lat: coor.lat, lng: coor.lng } })\r\n this.setState({ mapCenter: { lat: coor.lat, lng: coor.lng } })\r\n let searchProModel = {\r\n latitude: coor.lat,\r\n longitude: coor.lng,\r\n distance_km: 10\r\n }\r\n this.requestProLocation(searchProModel);\r\n }\r\n\r\n requestProLocation(searchProModel) {\r\n ServerAPI.getProLocation(searchProModel).then((res) => {\r\n console.log(res);\r\n this.setState({ wasteproDataList: res });\r\n const markers = [];\r\n res.forEach(loc => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapProMarkers: markers });\r\n this.setState({ mapProCenter: { lat: searchProModel.latitude, lng: searchProModel.longitude } });\r\n this.setState({ showProgress: false })\r\n if (this.state.mapProZoom == 12) {\r\n this.setState({ mapProZoom: 13 });\r\n } else {\r\n this.setState({ mapProZoom: 12 });\r\n }\r\n\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n bindingProfile() {\r\n const {\r\n locationMaster,\r\n provinces,\r\n districts,\r\n subDistricts,\r\n localtionServiceProps,\r\n } = this.props\r\n if (this.state.provinceCode && !locationMaster.isFetching) {\r\n provinces.forEach(objProvince => {\r\n // console.log(JSON.stringify(objProvince));\r\n if (objProvince.provinceCode == this.state.provinceCode) {\r\n this.setState({ provinceSelected: objProvince });\r\n this.setState({ genAddressProvince: objProvince.province_name })\r\n }\r\n });\r\n }\r\n if (this.state.districtCode) {\r\n this.state.districtList.forEach(objDistrict => {\r\n if (objDistrict.districtCode == this.state.districtCode) {\r\n this.setState({ districtSelected: objDistrict });\r\n this.setState({ genAddressDistrict: objDistrict.districtName })\r\n }\r\n });\r\n }\r\n if (this.state.subDistrictCode) {\r\n this.state.subDistrictList.forEach(objSubDistrict => {\r\n if (objSubDistrict.subDistrictCode == this.state.subDistrictCode) {\r\n this.setState({ subDistrictSelected: objSubDistrict });\r\n }\r\n });\r\n }\r\n }\r\n onTableProSelected(e) {\r\n this.setState({ dataTableSelection2: '' })\r\n this.setState({ u2_uid: '' })\r\n console.log(e.value);\r\n this.setState({ dataTableSelection3: e.value })\r\n this.setState({ proImg: e.value.img_person_name })\r\n this.setState({ proName: e.value.pro_name })\r\n this.setState({ proAddress: e.value.address_detail })\r\n this.setState({ proPhone: e.value.telephone_no1 })\r\n this.setState({ u3_uid: e.value.uid })\r\n\r\n\r\n this.setState({ mapProCenter: { lat: e.value.lat, lng: e.value.lng } });\r\n if (this.state.mapProZoom == 12) {\r\n this.setState({ mapProZoom: 13 });\r\n } else {\r\n this.setState({ mapProZoom: 12 });\r\n }\r\n\r\n var marder = { lat: e.value.lat, lng: e.value.lng };\r\n this.setState({ mapTranMarker: marder });\r\n\r\n let searchTranModel = {\r\n latitude: e.value.lat,\r\n longitude: e.value.lng,\r\n distance_km: 10,\r\n u3_uid: e.value.uid\r\n }\r\n ServerAPI.getTranLocation(searchTranModel).then((res) => {\r\n console.log(res);\r\n this.setState({ wastetranDataList: res });\r\n const markers = [];\r\n res.forEach(loc => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapTranMarkers: markers });\r\n this.setState({ mapTranCenter: { lat: e.value.lat, lng: e.value.lng } });\r\n if (this.state.mapTranZoom == 12) {\r\n this.setState({ mapTranZoom: 13 });\r\n } else {\r\n this.setState({ mapTranZoom: 12 });\r\n }\r\n\r\n }).catch((error) => {\r\n })\r\n\r\n }\r\n\r\n onTableTranSelected(e) {\r\n console.log(e.value);\r\n this.setState({ dataTableSelection2: e.value })\r\n this.setState({ tranImg: e.value.img_person_name })\r\n this.setState({ tranName: e.value.tran_name })\r\n this.setState({ tranAddress: e.value.address_detail })\r\n this.setState({ tranPhone: e.value.telephone_no1 })\r\n this.setState({ u2_uid: e.value.uid })\r\n\r\n this.setState({ mapTranCenter: { lat: e.value.lat, lng: e.value.lng } });\r\n if (this.state.mapTranZoom == 12) {\r\n this.setState({ mapTranZoom: 13 });\r\n } else {\r\n this.setState({ mapTranZoom: 12 });\r\n }\r\n }\r\n mapChanged(e) {\r\n console.log(e);\r\n }\r\n onMarkerClicked(e) {\r\n console.log(\"onMarkerClicked\");\r\n var coor = e.latLng.toJSON();\r\n console.log(coor);\r\n this.selectedTranByLatLng(coor);\r\n\r\n }\r\n onMarkerProClicked(e) {\r\n console.log(\"onMarkerClicked\");\r\n var coor = e.latLng.toJSON();\r\n console.log(coor);\r\n this.selectedProByLatLng(coor);\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n clearAllDataInput() {\r\n this.setState({ orderCode: null });//order code from select table\r\n this.setState({ brand: '' });\r\n this.setState({ addressDetail: '' });\r\n this.setState({ provinceSelected: '' });\r\n this.setState({ districtSelected: '' });\r\n this.setState({ subDistrictSelected: '' });\r\n this.setState({ lineId: '' });\r\n this.setState({ email: '' });\r\n this.setState({ genPhone: '' });\r\n this.setState({ pickDateStart: null });\r\n this.setState({ pickDateEnd: null });\r\n this.setState({ deliveryDate: null });\r\n this.setState({ deliveryCost: '' })\r\n this.setState({ wasteTypeSelected: '' });\r\n this.setState({ productSelected: '' });\r\n this.setState({ amountSelected: '' });\r\n this.setState({ appraisedPriceSelected: '' });\r\n this.setState({ salePriceSelected: '' });\r\n var OrderDetailList = {}\r\n this.state.orderDetail.push(OrderDetailList)\r\n this.setState({ orderDetail: [] });\r\n this.setState({ wastetranDataList: '' });\r\n this.setState({ wasteproDataList: '' });\r\n this.setState({ personPrefix: '' });\r\n this.setState({ genFname: '' });\r\n this.setState({ genLname: '' });\r\n this.setState({ genAddressProvince: '' });\r\n this.setState({ genAddressDistrict: '' });\r\n this.setState({ genImg: '' });\r\n this.setState({ tranName: '' });\r\n this.setState({ tranImg: '' });\r\n this.setState({ tranAddress: '' });\r\n this.setState({ tranPhone: '' });\r\n this.setState({ proName: '' });\r\n this.setState({ proImg: '' });\r\n this.setState({ proAddress: '' });\r\n this.setState({ proPhone: '' });\r\n this.setState({ mapGenMarker: {} });\r\n this.setState({ mapTranMarker: {} });\r\n this.setState({ mapProMarker: {} });\r\n this.setState({ mapTranMarkers: [] });\r\n this.setState({ mapProMarkers: [] });\r\n this.setState({ mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapTranCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapProCenter: { lat: 13.7734283, lng: 100.57383099999993 } });\r\n this.setState({ mapGenZoom: 11 });\r\n this.setState({ mapTranZoom: 11 });\r\n this.setState({ mapProZoom: 11 });\r\n this.setState({ dataTableSelection2: '' });\r\n this.setState({ dataTableSelection3: '' });\r\n this.setState({ u2_uid: '' });\r\n this.setState({ u3_uid: '' });\r\n this.setState({ tranUid: '' });\r\n this.setState({ proUid: '' });\r\n this.setState({ fileImgWaste: null });\r\n this.setState({ showHideSearch: true })\r\n this.setState({ showReportTable: true })\r\n\r\n\r\n }\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ date3: null });\r\n this.setState({ date4: null });\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 1000 });\r\n this.setState({ selectDay: null });\r\n var reportSearchList = {}\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n\r\n this.clearAllDataInput();\r\n }\r\n onClickSaveOrder() {\r\n var inputAll = !(this.state.addressDetail == '' || this.state.provinceSelected == '' || this.state.districtSelected == '' ||\r\n this.state.subDistrictSelected == '' || this.state.provinceSelected == null || this.state.districtSelected == null ||\r\n this.state.subDistrictSelected == null || this.state.genPhone == '' || this.state.pickDateStart == null || this.state.deliveryDate == null ||\r\n this.state.pickDateStart == '' || this.state.deliveryDate == '' || this.state.orderDetail == '' || this.state.isNotValid\r\n // this.state.wastetranDataList == '' || this.state.wasteproDataList == '' ||\r\n // this.state.dataTableSelection2 == '' || this.state.dataTableSelection3 == ''\r\n );\r\n if (!inputAll) {\r\n this.showWarn();\r\n } else {\r\n this.updateOrder();\r\n }\r\n }\r\n updateOrder() {\r\n console.log(this.state);\r\n const formData = new FormData();\r\n // formData.set('ProductImages',this.state.googleId);\r\n // formData.set('ProductImageNames',this.state.googleId);\r\n if (this.state.fileImgWaste != null)\r\n for (let index = 0; index < this.state.fileImgWaste.length; index++) {\r\n const file = this.state.fileImgWaste[index];\r\n formData.append('ProductImages', file);\r\n }\r\n formData.set('OrderDetailListString', JSON.stringify(this.state.orderDetail) || null);\r\n //formData.set('OrderDetail', this.state.orderDetail || null);\r\n formData.set('order_code', this.state.orderCode || null);\r\n formData.set('order_status', this.state.status2 || 0);\r\n formData.set('u1_uid', this.state.u1_uid || '');\r\n formData.set('u2_uid', this.state.u2_uid || '');\r\n formData.set('u3_uid', this.state.u3_uid || '');\r\n formData.set('admin_name', this.state.adminName || 0);\r\n formData.set('person_type', this.state.personType || 0);\r\n formData.set('person_prefix_code', this.state.personPrefixCode || 0);\r\n formData.set('person_first_name', this.state.genFname || '');\r\n formData.set('person_last_name', this.state.genLname || '');\r\n formData.set('person_idcard', this.state.personIdcard || '');\r\n formData.set('org_type', this.state.orgTypeCode || 0);\r\n formData.set('org_name', this.state.orgName || '');\r\n formData.set('telephone_no1', this.state.genPhone || '');\r\n formData.set('telephone_no2', this.state.genPhone2 || '');\r\n formData.set('line_id', this.state.lineId || '');\r\n formData.set('email', this.state.email || '');\r\n formData.set('addr_current_province_code', this.state.provinceCode || 0);\r\n formData.set('addr_current_district_code', this.state.districtCode || 0);\r\n formData.set('addr_current_subdistrict_code', this.state.subDistrictCode || 0);\r\n formData.set('addr_current_detail', this.state.addressDetail || '');\r\n formData.set('latitude', this.state.latitude || 0);\r\n formData.set('longitude', this.state.longitude || 0);\r\n formData.set('pickup_start_date', this.state.pickDateStart.toISOString() || '');\r\n formData.set('pickup_end_date', this.state.pickDateEnd.toISOString() || '');\r\n formData.set('delivery_date', this.state.deliveryDate.toISOString() || '');\r\n formData.set('delivery_cost', this.state.deliveryCost || 0);\r\n formData.set('remark', this.state.memo || '');\r\n formData.set('u3_remark', this.state.u3Remark || null);\r\n formData.set('delivery_vehicle_type_remark', this.state.deliveryVehicleTypeRemark || null);\r\n formData.set('delivery_distance_km', this.state.deliveryDistanceKm || 0);\r\n // formData.set('created_date',this.state.googleId);\r\n // formData.set('update_date',this.state.googleId);\r\n ServerAPI.updateOrder(formData).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n this.searchOrder();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n // statusItem: [\r\n // { label: 'รอนัดหมาย', value: 1 },\r\n // { label: 'รอทีมขนส่ง', value: 2 },\r\n // { label: 'รอส่งสินค้า', value: 3 },\r\n // { label: 'รอปิด Order', value: 4 },\r\n // { label: 'ปิด Order', value: 88 },\r\n // { label: 'ยกเลิก', value: 99 },\r\n // { label: 'ผิดนัด', value: 999 },\r\n // ],\r\n\r\n showStatus() {\r\n var statusName = \"\"\r\n switch (this.state.status2) {\r\n case 0:\r\n statusName = \"รอร้านค้ายืนยัน\";\r\n break\r\n case 1:\r\n statusName = \"รอนัดหมาย\";\r\n break\r\n case 2:\r\n statusName = \"รอทีมขนส่ง\";\r\n break\r\n case 3:\r\n statusName = \"รอส่งสินค้า\";\r\n break\r\n case 4:\r\n statusName = \"รอปิด Order\";\r\n break\r\n case 5:\r\n statusName = \"เกินกำหนดรับสินค้า\";\r\n break\r\n case 88:\r\n statusName = \"ปิด Order\";\r\n break\r\n case 99:\r\n statusName = \"ยกเลิก\";\r\n break\r\n case 999:\r\n statusName = \"ผิดนัด\";\r\n break\r\n case 998:\r\n statusName = \"ร้านค้าปฏิเสธรับซื้อ\";\r\n break\r\n\r\n }\r\n return statusName;\r\n\r\n }\r\n\r\n showWastegenName() {\r\n const genPersonName = (\r\n {this.state.personPrefix} {this.state.genFname} {this.state.genLname} \r\n );\r\n const genOrgName = (\r\n {this.state.orgType} {this.state.orgName} \r\n );\r\n\r\n if (this.state.personType == 1) {\r\n return genPersonName;\r\n } if (this.state.personType == 2) {\r\n return genOrgName;\r\n }\r\n }\r\n\r\n showWastegen() {\r\n const genPersonName = (\r\n
    \r\n {this.state.personPrefix} {this.state.genFname} {this.state.genLname}
    \r\n {this.state.genAddressProvince} {this.state.genAddressDistrict}
    เบอร์ติดต่อ : {this.state.genPhone}
    \r\n
    \r\n );\r\n const genOrgName = (\r\n
    \r\n {this.state.orgType} {this.state.orgName}
    \r\n {this.state.genAddressProvince} {this.state.genAddressDistrict}
    เบอร์ติดต่อ : {this.state.genPhone}
    \r\n
    \r\n );\r\n\r\n if (this.state.personType == 1) {\r\n return genPersonName;\r\n } if (this.state.personType == 2) {\r\n return genOrgName;\r\n }\r\n }\r\n showWastetran() {\r\n const tranPersonName = (\r\n
    \r\n {this.state.tranName}
    \r\n {this.state.tranAddress}
    เบอร์ติดต่อ : {this.state.tranPhone}
    \r\n
    \r\n );\r\n // const tranOrgName = (\r\n //
    \r\n // {this.state.orgType} {this.state.orgName} \r\n // {this.state.genAddress} , Mob : {this.state.genPhone}\r\n //
    \r\n // );\r\n\r\n // if(this.state.personType == 1){\r\n // return tranPersonName;\r\n // }if(this.state.personType == 2){\r\n // return tranOrgName;\r\n // }\r\n return tranPersonName;\r\n }\r\n showWastepro() {\r\n const proPersonName = (\r\n
    \r\n {this.state.proName}
    \r\n {this.state.proAddress}
    เบอร์ติดต่อ : {this.state.proPhone}
    \r\n
    \r\n );\r\n // const proOrgName = (\r\n //
    \r\n // {this.state.orgType} {this.state.orgName} \r\n // {this.state.genAddress} , Mob : {this.state.genPhone}\r\n //
    \r\n // );\r\n\r\n // if(this.state.personType == 1){\r\n // return proPersonName;\r\n // }if(this.state.personType == 2){\r\n // return proOrgName;\r\n // }\r\n return proPersonName;\r\n }\r\n itemProductImgTemplate(item, layout) {\r\n\r\n const src = API_ROOT + \"/order/getproductimg/\" + item;\r\n return (\r\n\r\n
    \r\n \"Product this.setState({ selectedProductImg: src })} />\r\n
    \r\n\r\n );\r\n\r\n }\r\n searchOrder() {\r\n this.setState({ showReportTable: true })\r\n\r\n this.setState({ showProgress: true })\r\n var reportSearchList = {}\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n // const formData = new FormData();\r\n // formData.set('order_code', this.state.orderID || '');\r\n // formData.set('user_search_name', this.state.memberName || '');\r\n // formData.set('user_wasteTypes', this.state.memberType || 0);\r\n // formData.set('pickup_date_start', this.state.date3.toISOString() || '');\r\n // formData.set('pickup_date_end', this.state.date4.toISOString() || '');\r\n // //formData.set('status_code', this.state.status || 0);\r\n // //formData.set('admin_code', this.state.genFname || '');\r\n\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n order_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if (this.state.date3 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date3 = new Date(this.state.date3.getTime() + 7 * 60 * 60000);\r\n searchModel.pickup_date_start = date3.toISOString();\r\n }\r\n if (this.state.date4 != null) {\r\n var date4 = new Date(this.state.date4.getTime() + 7 * 60 * 60000);\r\n searchModel.pickup_date_end = date4.toISOString();\r\n }\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n console.log(searchModel);\r\n\r\n\r\n ServerAPI.searchOrder(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n\r\n let data = []\r\n res.forEach(element => {\r\n var obj = {\r\n 'order_code': element['order_code'],\r\n 'u1_fullname': element['u1_fullname'],\r\n 'u2_fullname': element['u2_fullname'],\r\n 'u3_fullname': element['u3_fullname'],\r\n 'pickup_start_date': element['pickup_start_date'] ? `${moment(element['pickup_start_date']).format(\"DD-MM-YYYY HH:mm:ss\")}` : \"\",\r\n 'pickup_end_date': element['pickup_end_date'] ? `${moment(element['pickup_end_date']).format(\"DD-MM-YYYY HH:mm:ss\")}` : \"\",\r\n 'delivery_date': element['delivery_date'] ? `${moment(element['delivery_date']).format(\"DD-MM-YYYY HH:mm:ss\")}` : \"\",\r\n 'delivery_cost': element['delivery_cost'],\r\n 'order_status_name': element['order_status_name'],\r\n 'admin_name': element['admin_name'],\r\n }\r\n\r\n data.push(obj)\r\n });\r\n this.setState({ reportSearchOrders: data.reverse() })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n onOrderSelected(e) {\r\n this.clearAllDataInput();\r\n console.log(e.value);\r\n this.setState({ orderSelection: e.value })\r\n\r\n this.setState({ orderCode: e.value.order_code })\r\n this.getOrder(e.value.order_code) //get 1 order from table for update\r\n\r\n }\r\n\r\n //get 1 order from table for update\r\n getOrder(code) {\r\n this.setState({ showReportTable: false })\r\n this.setState({ showHideSearch: false })\r\n this.setState({ showProgress: true });\r\n this.setState({ showReportPanel: false })\r\n ServerAPI.getOrderDetail(code).then((obj) => {\r\n console.log(obj);\r\n this.setState({ addressDetail: obj.addr_current_detail })\r\n this.setState({ provinceCode: obj.addr_current_province_code })\r\n this.setState({ districtCode: obj.addr_current_district_code })\r\n this.setState({ subDistrictCode: obj.addr_current_subdistrict_code })\r\n this.setState({ lineId: obj.line_id })\r\n this.setState({ email: obj.email })\r\n this.setState({ genImg: obj.img_person_name })\r\n this.setState({ genPhone: obj.telephone_no1 })\r\n this.setState({ genFname: obj.person_first_name })\r\n this.setState({ genLname: obj.person_last_name })\r\n this.setState({ personType: obj.person_type })\r\n this.setState({ personPrefixCode: obj.person_prefix_code })\r\n this.setState({ personIdcard: obj.person_idcard })\r\n this.setState({ latitude: obj.latitude })\r\n this.setState({ longitude: obj.longitude })\r\n this.setState({ adminName: obj.admin_name })\r\n this.setState({ productImageNames: obj.productImageNames })\r\n this.setState({ memo: obj.remark })\r\n this.setState({ u3Remark: obj.u3_remark })\r\n this.setState({ deliveryVehicleTypeRemark: obj.delivery_vehicle_type_remark })\r\n this.setState({ deliveryDistanceKm: obj.delivery_distance_km })\r\n\r\n if (this.state.personPrefixCode == 1) {\r\n this.setState({ personPrefix: 'นาย' })\r\n } if (this.state.personPrefixCode == 2) {\r\n this.setState({ personPrefix: 'นาง' })\r\n } if (this.state.personPrefixCode == 3) {\r\n this.setState({ personPrefix: 'นางสาว' })\r\n }\r\n this.setState({ orgTypeCode: obj.org_type })\r\n if (this.state.orgTypeCode == 1) {\r\n this.setState({ orgType: 'บริษัทจำกัด' })\r\n } if (this.state.orgTypeCode == 2) {\r\n this.setState({ orgType: 'ห้างหุ้นส่วน' })\r\n } if (this.state.orgTypeCode == 3) {\r\n this.setState({ orgType: 'บริษัทมหาชน' })\r\n } if (this.state.orgTypeCode == 4) {\r\n this.setState({ orgType: 'ห้างร้าน' })\r\n }\r\n this.setState({ orgName: obj.org_name })\r\n\r\n var genMarder = { lat: obj.latitude, lng: obj.longitude };\r\n this.setState({ mapGenCenter: genMarder })\r\n this.setState({ mapGenMarker: genMarder })\r\n if (this.state.mapGenZoom == 12) {\r\n this.setState({ mapGenZoom: 12 });\r\n } else {\r\n this.setState({ mapGenZoom: 13 });\r\n }\r\n\r\n var marder = { lat: obj.latitude, lng: obj.longitude };\r\n this.setState({ mapProMarker: marder });\r\n\r\n ServerAPI.getDistrict(obj.addr_current_province_code).then((res) => {\r\n this.setState({ districtList: res });\r\n ServerAPI.getSubDistrict(obj.addr_current_district_code).then((res) => {\r\n this.setState({ subDistrictList: res });\r\n this.bindingProfile();\r\n });\r\n });\r\n\r\n\r\n\r\n\r\n var p_start = new Date(obj.pickup_start_date);\r\n var p_end = new Date(obj.pickup_end_date);\r\n var date = [p_start, p_end]\r\n this.setState({ pickDate: date });\r\n this.setState({ pickDateStart: p_start });\r\n this.setState({ pickDateEnd: p_end });\r\n var delivery_end = new Date(obj.delivery_date);\r\n this.setState({ deliveryDate: delivery_end });\r\n\r\n this.setState({ deliveryCost: obj.delivery_cost })\r\n this.setState({ orderDetail: obj.orderDetail }) //ตาราง รายการสินค้า\r\n this.setState({ orderListString: obj.orderDetailListString })//รายละเอียดสินค้า string ??\r\n this.setState({ statusName: obj.order_status_name })\r\n this.setState({ status2: obj.order_status })\r\n this.setState({ u1_uid: obj.u1_uid })\r\n this.setState({ tranUid: obj.u2_uid })\r\n this.setState({ proUid: obj.u3_uid })\r\n\r\n\r\n let searchProModel = {\r\n latitude: obj.latitude,\r\n longitude: obj.longitude,\r\n distance_km: 100\r\n }\r\n ServerAPI.getProLocation(searchProModel).then((res) => {\r\n console.log(res);\r\n this.setState({ wasteproDataList: res }, this.selectedPro);\r\n\r\n const markers = [];\r\n res.forEach(loc => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapProMarkers: markers });\r\n }).catch((error) => {\r\n })\r\n //this.setState({ dataTableSelection3: obj.u3_uid })\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n selectedPro() {\r\n console.log(\"selectedTran\" + this.state.proUid)\r\n if (!this.state.proUid) {\r\n this.selectedTran();\r\n } else {\r\n this.state.wasteproDataList.forEach((objPro, index) => {\r\n if (objPro.uid == this.state.proUid) {\r\n this.setState({ dataTableSelection3: objPro })\r\n this.setState({ proName: objPro.pro_name })\r\n this.setState({ proAddress: objPro.address_detail })\r\n this.setState({ proPhone: objPro.telephone_no1 })\r\n this.setState({ u3_uid: objPro.uid })\r\n\r\n var marder = { lat: objPro.lat, lng: objPro.lng };\r\n this.setState({ mapTranMarker: marder });\r\n this.setState({ mapProCenter: marder });\r\n\r\n let searchTranModel = {\r\n latitude: objPro.lat,\r\n longitude: objPro.lng,\r\n distance_km: 50,\r\n u3_uid: objPro.uid\r\n }\r\n ServerAPI.getTranLocation(searchTranModel).then((res) => {\r\n console.log(res);\r\n this.setState({ wastetranDataList: res }, this.selectedTran);\r\n const markers = [];\r\n res.forEach(loc => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapTranMarkers: markers });\r\n }).catch((error) => {\r\n })\r\n\r\n this.state.wasteproDataList.splice(index, 1);\r\n this.state.wasteproDataList.unshift(objPro);\r\n }\r\n });\r\n }\r\n }\r\n selectedTran() {\r\n console.log(\"selectedPro\" + this.state.tranUid)\r\n if (!this.state.tranUid) {\r\n this.setState({ showProgress: false });\r\n this.setState({ showReportPanel: true })\r\n } else {\r\n this.state.wastetranDataList.forEach((objTran, index) => {\r\n if (objTran.uid == this.state.tranUid) {\r\n this.setState({ dataTableSelection2: objTran })\r\n this.setState({ tranName: objTran.tran_name })\r\n this.setState({ tranAddress: objTran.address_detail })\r\n this.setState({ tranPhone: objTran.telephone_no1 })\r\n this.setState({ u2_uid: objTran.uid })\r\n\r\n var marder = { lat: objTran.lat, lng: objTran.lng };\r\n this.setState({ mapTranCenter: marder });\r\n\r\n this.state.wastetranDataList.splice(index, 1);\r\n this.state.wastetranDataList.unshift(objTran);\r\n }\r\n this.setState({ showProgress: false });\r\n this.setState({ showReportPanel: true })\r\n });\r\n }\r\n\r\n }\r\n selectedProByLatLng(coor) {\r\n this.setState({ dataTableSelection2: '' })\r\n this.setState({ u2_uid: '' })\r\n this.state.wasteproDataList.forEach(objPro => {\r\n console.log(\"objPro.lat:\" + objPro.lat);\r\n console.log(\"coor.lat :\" + coor.lat.toFixed(12));\r\n console.log(\"objPro.lng:\" + objPro.lng);\r\n console.log(\"coor.lng :\" + coor.lng.toFixed(12));\r\n if (objPro.lat.toFixed(12) == coor.lat.toFixed(12) && objPro.lng.toFixed(12) == coor.lng.toFixed(12)) {\r\n console.log(\"ตรง\");\r\n this.setState({ dataTableSelection3: objPro })\r\n this.setState({ proName: objPro.pro_name })\r\n this.setState({ proAddress: objPro.address_detail })\r\n this.setState({ proPhone: objPro.telephone_no1 })\r\n this.setState({ u3_uid: objPro.uid })\r\n\r\n var marder = { lat: objPro.lat, lng: objPro.lng };\r\n this.setState({ mapTranMarker: marder });\r\n\r\n let searchTranModel = {\r\n latitude: objPro.lat,\r\n longitude: objPro.lng,\r\n distance_km: 10,\r\n u3_uid: objPro.uid\r\n }\r\n ServerAPI.getTranLocation(searchTranModel).then((res) => {\r\n console.log(res);\r\n this.setState({ wastetranDataList: res });\r\n const markers = [];\r\n res.forEach(loc => {\r\n markers.push({ lat: loc.lat, lng: loc.lng });\r\n });\r\n this.setState({ mapTranMarkers: markers });\r\n }).catch((error) => {\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n selectedTranByLatLng(coor) {\r\n\r\n this.state.wastetranDataList.forEach(objTran => {\r\n\r\n if (objTran.lat.toFixed(12) == coor.lat.toFixed(12) && objTran.lng.toFixed(12) == coor.lng.toFixed(12)) {\r\n\r\n this.setState({ dataTableSelection2: objTran })\r\n this.setState({ tranImg: objTran.img_person_name })\r\n this.setState({ tranName: objTran.tran_name })\r\n this.setState({ tranAddress: objTran.address_detail })\r\n this.setState({ tranPhone: objTran.telephone_no1 })\r\n this.setState({ u2_uid: objTran.uid })\r\n }\r\n });\r\n }\r\n\r\n //edit table handle\r\n onEditorQuantityChange(props, value) {\r\n if (value == \"\") {// null set to 0\r\n value = '0';\r\n } else {\r\n var regex = /^[0-9]*(\\.[0-9]{0,2})?$/;\r\n if (!regex.test(value)) { // set 2 decimal if more decimal\r\n if (value % 1 !== 0) {\r\n value = parseFloat(value).toFixed(2)\r\n }\r\n }\r\n if (value.indexOf('.') < 1) {//no 0 leading\r\n value = parseFloat(value)\r\n }\r\n }\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({ orderDetail: updatedCars });\r\n }\r\n onEditorTextChange(props, value) {\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({ orderDetail: updatedCars });\r\n }\r\n inputQuantityEditor(props, field) {\r\n return this.onEditorQuantityChange(props, e.target.value)} />;\r\n }\r\n inputTextEditor(props, field) {\r\n return this.onEditorTextChange(props, e.target.value)} />;\r\n }\r\n quantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'quantity_kk');\r\n }\r\n estimatePricePerUnitEditor(props) {\r\n return this.inputQuantityEditor(props, 'estimate_price_per_unit');\r\n }\r\n pickupQuantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'pickup_quantity_kk');\r\n }\r\n deliveryQuantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'delivery_quantity_kk');\r\n }\r\n deliveryPricePerUnitEditor(props) {\r\n return this.inputQuantityEditor(props, 'price_per_unit');\r\n }\r\n\r\n remarkEditor(props) {\r\n return this.inputTextEditor(props, 'remark');\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.quantity_kk * rowData.estimate_price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n actionDeliveryPriceTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.delivery_quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n distanceTemplate(rowData, column) {\r\n let distance = rowData.distance_km.toFixed(3);\r\n return
    \r\n {distance}\r\n
    ;\r\n }\r\n toFormatDateStartToEnd(dateStart, dateEnd) {\r\n return
    \r\n {dateStart}\r\n
    ถึง
    \r\n {dateEnd}\r\n
    ;\r\n }\r\n toFormatDateTime(dateTime) {\r\n return \r\n {dateTime}\r\n \r\n {dateTime}\r\n ;\r\n }\r\n to_transfer_date(rowData, column) {\r\n const date = moment(rowData.delivery_date, 'DD-MM-YYYY HH:mm:ss').toDate();\r\n const year = date.getFullYear;\r\n if (year == -1899)\r\n return ;\r\n else\r\n if (rowData.delivery_date == \"\") return
    ;\r\n return
    \r\n {rowData.delivery_date.split(\",\")[0]}\r\n
    \r\n {rowData.delivery_date.split(\",\")[1]}\r\n
    \r\n }\r\n\r\n to_requested_start_date(rowData, column) {\r\n if (rowData.pickup_start_date == \"\") return
    ;\r\n return
    \r\n {rowData.pickup_start_date.split(\" \")[0]}\r\n
    \r\n {rowData.pickup_start_date.split(\" \")[1]}\r\n
    \r\n }\r\n to_requested_end_date(rowData, column) {\r\n if (rowData.pickup_end_date == \"\") return
    ;\r\n return
    \r\n {rowData.pickup_end_date.split(\" \")[0]}\r\n
    \r\n {rowData.pickup_end_date.split(\" \")[1]}\r\n
    \r\n }\r\n onSelectedStatus(e) {\r\n if (e.value == 99) {\r\n if (window.confirm('ต้องการยกเลิก Order นี้ ?')) {\r\n this.setState({ status2: e.value })\r\n }\r\n } else\r\n this.setState({ status2: e.value })\r\n }\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showReportResult() {\r\n if (this.state.showReportTable) {\r\n this.setState({ showReportTable: false })\r\n } else {\r\n this.setState({ showReportTable: true })\r\n }\r\n }\r\n\r\n to_created_date(rowData, column) {\r\n if (rowData.register_date == \"\") return
    ;\r\n return
    \r\n {rowData.register_date.split(\",\")[0]}\r\n
    \r\n {rowData.register_date.split(\",\")[1]}\r\n
    \r\n }\r\n\r\n showSearchResult() {\r\n if (this.state.reportSearchOrders.length == 0 || !this.state.showReportPanel) {\r\n return (
    );\r\n } else\r\n return (
    \r\n\r\n \r\n \r\n this.onOrderSelected(e)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    );\r\n }\r\n showProductImageView() {\r\n if (this.state.selectedProductImg != null) {\r\n return (
    \r\n \"Product\r\n this.setState({ selectedProductImg: null })} />\r\n
    \r\n );\r\n } else {\r\n return (
    );\r\n }\r\n\r\n }\r\n showHideSearchPanel() {\r\n if (this.state.showHideSearch) {\r\n this.setState({ showHideSearch: false })\r\n } else {\r\n this.setState({ showHideSearch: true })\r\n }\r\n }\r\n\r\n showSearchPanel() {\r\n const searchResult = this.showSearchResult();\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n onKeyPress={this.onOrderKeyPress}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ status: e.value }) }}\r\n >\r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n this.setState({ selectDay: e.value, date1: null, date2: null })} checked={this.state.selectDay === 0} />\r\n \r\n
    \r\n {this.state.selectDay == 0 &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n this.setState({ selectDay: e.value, date3: null, date4: null })} checked={this.state.selectDay === 1} />\r\n \r\n
    \r\n {this.state.selectDay == 1 &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n {searchResult}\r\n\r\n
    \r\n\r\n\r\n
    \r\n )\r\n }\r\n matchingResult() {\r\n const wastegenDetail = this.showWastegen();\r\n const wastetranDetail = this.showWastetran();\r\n const wasteproDetail = this.showWastepro();\r\n console.log(this.state.dataTableSelection3)\r\n if (this.state.dataTableSelection3 == '' || this.state.dataTableSelection3 == 0 || this.state.dataTableSelection2 == '') {\r\n return (
    )\r\n } else\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {wastegenDetail}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {wastetranDetail}\r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {wasteproDetail}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n addNewProductTab() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n if (this.state.status2 != 1 && this.state.status2 != 2) {\r\n return (
    )\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n this.setState({ amountSelected: e.target.value })} />\r\n
    \r\n \r\n
    \r\n this.setState({ appraisedPriceSelected: e.target.value })} />\r\n
    \r\n \r\n
    \r\n this.setState({ salePriceSelected: e.target.value })} />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n showOrderDetail() {\r\n const {\r\n provinces,\r\n } = this.props;\r\n\r\n const statusName = this.showStatus();\r\n const wastegenName = this.showWastegenName();\r\n const productImageView = this.showProductImageView();\r\n const matchingTab = this.matchingResult();\r\n const addProductTab = this.addNewProductTab();\r\n\r\n var tranHeader =
    \r\n \r\n this.setState({ globalFilterTran: e.target.value })} placeholder=\"กรอกชื่อ-สกุล หรือที่อยู่\" size=\"50\" />\r\n
    ;\r\n var proHeader =
    \r\n \r\n this.setState({ globalFilterPro: e.target.value })} placeholder=\"กรอกชื่อ-สกุล หรือที่อยู่\" size=\"50\" />\r\n
    ;\r\n if (this.state.orderCode == null || this.state.showProgress) {\r\n return (
    );\r\n } else\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n this.setState({ addressDetail: e.target.value })}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n \r\n
    \r\n console.log(valid)} />\r\n
    \r\n \r\n
    \r\n console.log(valid)} />\r\n
    \r\n \r\n
    \r\n console.log(valid)} />\r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n this.setState({ lineId: e.target.value })} />\r\n
    \r\n \r\n
    \r\n {/* this.setState({ email: e.target.value })} /> */}\r\n this.setState({ email: e.target.value })}\r\n\r\n />\r\n
    \r\n \r\n
    \r\n this.setState({ genPhone: e.target.value })}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n console.log(\"calendar:\" + valid)}\r\n />\r\n
    \r\n
    \r\n console.log(\"calendar:\" + valid)}\r\n />\r\n
    \r\n {/*
    \r\n console.log(\"calendar:\"+ valid)} />\r\n console.log(\"calendar:\"+ valid)}\r\n selectionMode=\"range\" placeholder='เช่น 01/01/2020 - 02/01/2020'\r\n />\r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n console.log(\"calendar:\" + valid)} />\r\n
    \r\n \r\n
    \r\n this.setState({ deliveryCost: e.target.value })}\r\n />\r\n
    \r\n\r\n \r\n
    \r\n\r\n\r\n {productImageView}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n this.onFileWasteChanged(e)}\r\n onDelete={(index) => this.onFileDelete(index)}\r\n mode=\"basic\"\r\n value={this.state.fileImgWaste}\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={true}\r\n accept=\"image/*\"\r\n maxFileSize={10000000} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n {/* \r\n
    \r\n \r\n \r\n \r\n\r\n\r\n\r\n
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n this.onTableProSelected(e)}>\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n this.onTableTranSelected(e)}>\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {matchingTab}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {addProductTab}\r\n this.setState({ orderDetailSelection: event.value })}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ status2: e.value }) }}\r\n onChange={(e) => this.onSelectedStatus(e)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ memo: e.target.value })} rows={5} style={{ width: '100%' }}>\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n );\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const orderDetail = this.showOrderDetail();\r\n const showProgress = this.showProgressSpinner();\r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {showProgress}\r\n {orderDetail}\r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageOrderContainer)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as ServerAPI from './service';\r\nimport * as DashBoardService from './service'\r\nimport { isValid } from 'redux-form';\r\nimport moment from 'moment'\r\nimport { Dialog } from 'primereact/dialog';\r\n\r\n\r\nclass ManageInvoiceContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n status: 0,\r\n admin: 0,\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ยังไม่ได้แจ้งหนี้', value: 1 },\r\n { label: 'แจ้งหนี้แล้วรอชำระ', value: 2 },\r\n { label: 'ชำระแล้วรอตรวจสอบ', value: 3 },\r\n { label: 'ชำระหนี้แล้ว', value: 88 },\r\n ],\r\n showProgress: false,\r\n orderCode: null,\r\n orderID: null,\r\n memberUid: null,\r\n date1: null,\r\n date2: null,\r\n reportSearchInvoice: [],\r\n imageDialog: false,\r\n imageUrl: \"\",\r\n imageError: false\r\n };\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchInvoice = this.searchInvoice.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.salePriceTemplate = this.salePriceTemplate.bind(this);\r\n this.onInvoicingClick = this.onInvoicingClick.bind(this);\r\n this.onPaidClick = this.onPaidClick.bind(this);\r\n this.tableHeader = this.tableHeader.bind(this);\r\n this.showSuccess = this.showSuccess.bind(this);\r\n this.showWarn = this.showWarn.bind(this);\r\n this.updateInvoice = this.updateInvoice.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.onImageOpen = this.onImageOpen.bind(this);\r\n this.imgButton = this.imgButton.bind(this);\r\n this.handleImageError = this.handleImageError.bind(this);\r\n }\r\n componentDidMount() {\r\n const { dashBoardServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n }\r\n\r\n onDate1Change(e) { //search pickup date start\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //search pickup date end\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n searchInvoice() {\r\n this.setState({ dataTableSelection: null })\r\n //this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n //-------reset table--------\r\n // var reportSearchList = {}\r\n // this.state.reportSearchOrders.push(reportSearchList)\r\n // this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n invoice_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchInvoice(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n\r\n let data = []\r\n res.forEach(element => {\r\n var obj = {\r\n 'invoice_code': element['invoice_code'],\r\n 'u3_fullname': element['u3_fullname'],\r\n 'delivery_date': element['delivery_date'] ? `${moment(element['delivery_date']).format(\"DD-MM-YYYY HH:mm:ss\")}` : \"\",\r\n 'admin_name': element['admin_name'],\r\n 'invoice_status_name': element['invoice_status_name'],\r\n 'total_quantity': element['total_quantity'],\r\n 'invoice_code': element['invoice_code'],\r\n 'total_price': element['total_price'],\r\n 'invoice_status': element['invoice_status'],\r\n 'payment_image_name': element['payment_image_name']\r\n }\r\n\r\n data.push(obj)\r\n });\r\n this.setState({ reportSearchInvoice: data })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ dataTableSelection: null })\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ adminName: '' });\r\n this.setState({ adminUid: '' });\r\n //this.setState({ memberType: 0 });\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 0 });\r\n var empty = {}\r\n this.state.reportSearchInvoice.push(empty)\r\n this.setState({ reportSearchInvoice: [] });\r\n\r\n //this.clearAllDataInput();\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n itemMemberTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n //auto complate handle (ค้นหาแอดมิน)\r\n suggestAdminName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n itemAdminTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n salePriceTemplate(rowData, column) {\r\n let price = rowData.total_price.toFixed(2);\r\n return {price};\r\n }\r\n onInvoicingClick() {\r\n var inValid = false\r\n if (this.state.dataTableSelection) {\r\n if (this.state.dataTableSelection.length != 0) {\r\n this.state.dataTableSelection.forEach(function (item) {\r\n if (item.invoice_status != 1) {\r\n inValid = true\r\n }\r\n });\r\n console.log(inValid)\r\n if (inValid) {\r\n this.showWarn(\"มีบางรายการเคยแจ้งหนี้แล้ว\");\r\n } else {\r\n this.updateInvoice(2);\r\n }\r\n }\r\n } else this.showWarn(\"ไม่พบรายการที่เลือก\");\r\n }\r\n onPaidClick() {\r\n var inValid = false\r\n var inValid2 = false\r\n if (this.state.dataTableSelection) {\r\n if (this.state.dataTableSelection.length != 0) {\r\n this.state.dataTableSelection.forEach(function (item) {\r\n if (item.invoice_status != 2 && item.invoice_status != 3) {\r\n inValid = true\r\n }\r\n if (item.invoice_status == 1) {\r\n inValid2 = true\r\n }\r\n });\r\n console.log(inValid)\r\n if (inValid) {\r\n if (inValid2) {\r\n this.showWarn(\"มีบางรายการยังไม่เคยแจ้งหนี้\");\r\n } else\r\n this.showWarn(\"มีบางรายการเคยชำระหนี้แล้ว\");\r\n } else {\r\n this.updateInvoice(88);\r\n }\r\n }\r\n } else this.showWarn(\"ไม่พบรายการที่เลือก\");\r\n }\r\n\r\n updateInvoice(status) {\r\n var invoiceStatus = status;\r\n if (this.state.dataTableSelection)\r\n if (this.state.dataTableSelection.length != 0) {\r\n var array = this.state.dataTableSelection;\r\n for (let index = 0; index < array.length; index++) {\r\n const item = array[index];\r\n var invoice = {\r\n order_code: item.order_code,\r\n invoice_code: item.invoice_code,\r\n invoice_status: invoiceStatus,\r\n }\r\n ServerAPI.updateInvoice(invoice).then((res) => {\r\n\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.searchInvoice();\r\n } else {\r\n this.showWarn();\r\n }\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.showWarn(\"กรุณาเลือกรายการ\");\r\n }\r\n }\r\n\r\n onImageOpen(path) {\r\n this.setState({\r\n imageDialog: true,\r\n imageUrl: path,\r\n imageError: false // Reset the error state when opening a new image\r\n });\r\n }\r\n\r\n handleImageError() {\r\n this.setState({ imageError: true });\r\n }\r\n\r\n imgButton(rowData, column) {\r\n\r\n if (rowData.payment_image_name) {\r\n const path = `${API_ROOT}/wastepro/getfile/${rowData.payment_image_name}?v=${new Date().getTime()}`;\r\n return
    \r\n\r\n this.onImageOpen(path)}\r\n icon=\"pi pi-images\"\r\n label=\"เปิดดูภาพ\"\r\n className=\"p-buttong\"\r\n >\r\n
    ;\r\n }\r\n else return
    ;\r\n }\r\n\r\n toFormatDateTime(dateTime) {\r\n return \r\n {dateTime}\r\n \r\n {dateTime}\r\n ;\r\n }\r\n to_transfer_date(rowData, column) {\r\n if (rowData.delivery_date == \"\") return
    ;\r\n return
    \r\n {rowData.delivery_date.split(\" \")[0]}\r\n
    \r\n {rowData.delivery_date.split(\" \")[1]}\r\n
    \r\n }\r\n\r\n to_requested_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n\r\n searchPanel() {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemMemberTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n { this.setState({ status: e.value }) }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onAdminNameChanged(e.target.value)}\r\n itemTemplate={this.itemAdminTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสผู้ดูแล/ชื่อผู้ดูแล\" />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n tableHeader() {\r\n return (\r\n
    \r\n
    \r\n );\r\n }\r\n reportInvoiceTable() {\r\n const header = this.tableHeader();\r\n return (\r\n
    \r\n \r\n {header}\r\n this.setState({ dataTableSelection: event.value })}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n this.setState({ imageDialog: false })}\r\n >\r\n
    \r\n {this.state.imageError ? (\r\n \r\n

    \r\n ไม่สามารถแสดงไฟล์ภาพได้โปรดดาว์นโหลดเพื่อตรวจสอบ\r\n

    \r\n
    \r\n ) : (\r\n \r\n )}\r\n\r\n
    \r\n window.open(this.state.imageUrl, \"_blank\")}\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n margin: '10px'\r\n }}\r\n />\r\n \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.searchPanel();\r\n const invoiceTable = this.reportInvoiceTable();\r\n const ProgressSpinner = this.showProgressSpinner();\r\n const {\r\n dhbUsers,\r\n } = this.props\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {ProgressSpinner}\r\n {invoiceTable}\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n dhbUsers: state.dhbAdmin.dhbUsers\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageInvoiceContainer)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\n\r\nimport * as ServerAPI from './service';\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport moment from 'moment'\r\nimport { Dialog } from 'primereact/dialog';\r\nimport { API_ROOT } from '../../constants/api';\r\n\r\nclass ManageMoneyTransferContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n bank_code: 0,\r\n adminName: '',\r\n adminUid: '',\r\n memberName: '',\r\n memberUid: '',\r\n memberType: 0,\r\n memberTypeItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ผู้รักษ์โลก', value: 1 },\r\n { label: 'ทีมขนส่งซีซาเล้ง', value: 2 },\r\n\r\n ],\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '-1' },\r\n { label: 'ต้องการถอน', value: '0' },\r\n { label: 'โอนแล้ว', value: '1' },\r\n { label: 'บริจาคแล้ว', value: '2' },\r\n ],\r\n statusItemSelected: '-1',\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n request_date_start: null,\r\n request_date_end: null,\r\n transfer_date_start: null,\r\n transfer_date_end: null,\r\n imageDialog: false,\r\n imageUrl: \"\",\r\n imageError: false\r\n };\r\n\r\n this.onAdminNameChanged = this.onAdminNameChanged.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onChanageBank = this.onChanageBank.bind(this);\r\n this.onDateRequestStartChange = this.onDateRequestStartChange.bind(this);\r\n this.onDateRequestEndChange = this.onDateRequestEndChange.bind(this);\r\n this.onDateTransferStartChange = this.onDateTransferStartChange.bind(this);\r\n this.onDateTransferEndChange = this.onDateTransferEndChange.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.searchWithDrawRequest = this.searchWithDrawRequest.bind(this);\r\n this.onBasicUpload = this.onBasicUpload.bind(this);\r\n this.imgButton = this.imgButton.bind(this);\r\n this.datePicker = this.datePicker.bind(this);\r\n this.onClickTransfer = this.onClickTransfer.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.onImageOpen = this.onImageOpen.bind(this);\r\n this.handleImageError = this.handleImageError.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { masterServiceProps } = this.props\r\n masterServiceProps.getBanks();\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n onBasicUpload(e, rowData) {\r\n\r\n var index = this.state.dataTableWithDrawRequestTable.indexOf(rowData);\r\n var _dataTable = this.state.dataTableWithDrawRequestTable;\r\n _dataTable[index].file = e.files[0];\r\n this.setState({ dataTableWithDrawRequestTable: _dataTable });\r\n }\r\n\r\n onDatePickerChange(e, rowData) {\r\n var index = -1;\r\n this.state.dataTableSelection.find(function (value, index) {\r\n\r\n if (value == rowData) {\r\n console.log(rowData);\r\n rowData.tranfer_date_calendar = e.value;\r\n rowData.tranfer_date_iso = e.value.toISOString();\r\n }\r\n // this.to_transfer_date(rowData, column);\r\n\r\n });\r\n if (index != -1)\r\n this.state.dataTableSelection[index] = Object.assign({}, rowData);\r\n }\r\n datePicker(rowData, column) {\r\n\r\n var isChecked = false;\r\n if (this.state.dataTableSelection) {\r\n this.state.dataTableSelection.find(function (value, index) {\r\n //console.log('Visited index ', index, ' with value ', value==rowData); \r\n if (value == rowData && rowData.transaction_img == null) {\r\n isChecked = true;\r\n\r\n }\r\n // this.to_transfer_date(rowData, column);\r\n\r\n });\r\n\r\n }\r\n if (isChecked) {\r\n return this.onDatePickerChange(e, rowData)} showTime={true} >;\r\n } else {\r\n return this.to_transfer_date(rowData, column);\r\n }\r\n\r\n\r\n }\r\n\r\n onClickTransfer() {\r\n\r\n //console.log(this.state.dataTableSelection);\r\n var isNotAttachAllFiles = false;\r\n var isSomeTransfered = false;\r\n if (this.state.dataTableSelection) {\r\n\r\n\r\n if (this.state.dataTableSelection.length > 0) {\r\n this.state.dataTableSelection.forEach(element => {\r\n if (!element.file) isNotAttachAllFiles = true;\r\n if (element.admin_name) isSomeTransfered = true;\r\n });\r\n }\r\n\r\n if (isSomeTransfered) {\r\n this.showWarn(\"รายการที่เลือกได้แจ้งการโอนแล้ว\");\r\n\r\n } else if (isNotAttachAllFiles) {\r\n this.showWarn(\"กรุณาแนบไฟล์หลักฐานการโอน\");\r\n\r\n } else {\r\n\r\n\r\n this.state.dataTableSelection.forEach(obj => {\r\n\r\n const formData = new FormData();\r\n formData.append('transaction_file', obj.file);\r\n formData.set('waste_type', obj.waste_type);\r\n formData.set('transaction_uid', obj.transaction_uid);\r\n formData.set('transaction_date', obj.tranfer_date_iso);\r\n ServerAPI.AddTransfer(formData).then((res) => {\r\n // console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n //console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.searchWithDrawRequest();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n\r\n });\r\n this.searchWithDrawRequest();\r\n //this.clearSearchInput();\r\n }\r\n } else {\r\n this.showWarn(\"กรุณาเลือกรายการ\");\r\n }\r\n }\r\n\r\n suggestOrderID(event) { }\r\n suggestMemberName(event) { }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onMemberNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n suggestAdminName(event) { }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n }\r\n onChanageBank(val) {\r\n this.setState({ selectedBank: val });\r\n this.setState({ bank_code: val.bank_code });\r\n }\r\n\r\n onDateRequestStartChange(e) {\r\n if (this.state.request_date_end != null) {\r\n if (e.value <= this.state.request_date_end) {\r\n this.setState({ request_date_start: e.value })\r\n } this.setState({ request_date_start: null })\r\n } else this.setState({ request_date_start: e.value })\r\n }\r\n onDateRequestEndChange(e) {\r\n if (this.state.request_date_start <= e.value)\r\n this.setState({ request_date_end: e.value })\r\n else this.setState({ request_date_end: null })\r\n\r\n }\r\n onDateTransferStartChange(e) {\r\n if (this.state.transfer_date_end != null) {\r\n if (e.value <= this.state.transfer_date_end) {\r\n this.setState({ transfer_date_start: e.value })\r\n } this.setState({ transfer_date_start: null })\r\n } else this.setState({ transfer_date_start: e.value })\r\n }\r\n onDateTransferEndChange(e) {\r\n if (this.state.transfer_date_start <= e.value)\r\n this.setState({ transfer_date_end: e.value })\r\n else this.setState({ transfer_date_end: null })\r\n }\r\n\r\n onImageOpen = (path) => {\r\n this.setState({\r\n imageDialog: true,\r\n imageUrl: path,\r\n imageError: false // Reset the error state when opening a new image\r\n });\r\n }\r\n\r\n handleImageError = () => {\r\n this.setState({ imageError: true });\r\n }\r\n\r\n imgButton = (rowData, column) => {\r\n if (rowData.transaction_img) {\r\n const path = `${API_ROOT}/account/transfer/${rowData.transaction_img}?v=${new Date().getTime()}`;\r\n return
    \r\n this.onImageOpen(path)}\r\n icon=\"pi pi-images\"\r\n label=\"เปิดดูไฟล์\"\r\n className=\"p-buttong\"\r\n style={{backgroundColor: '#78A3D4'}}\r\n severity=\"success\" \r\n >\r\n
    ;\r\n }\r\n else return
    \r\n this.onBasicUpload(e, rowData)}\r\n maxFileSize={10000000} />\r\n
    ;\r\n }\r\n\r\n clearSearchInput() {\r\n\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ adminName: '' });\r\n this.setState({ adminUid: null });\r\n this.setState({ request_date_start: null });\r\n this.setState({ request_date_end: null });\r\n this.setState({ transfer_date_start: null });\r\n this.setState({ transfer_date_end: null });\r\n this.setState({ selectedBank: 0 });\r\n this.setState({ bank_code: 0 });\r\n\r\n this.setState({ dataTableWithDrawRequestTable: null });\r\n\r\n }\r\n\r\n\r\n searchWithDrawRequest() {\r\n this.setState({ dataTableSelection: null });\r\n this.setState({ showProgress: true })\r\n\r\n var searchModel = {\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n admin_code: this.state.adminUid,\r\n bank_code: this.state.bank_code,\r\n withdrawal_status_code: this.state.statusItemSelected,\r\n };\r\n\r\n if (this.state.request_date_start != null) {\r\n //Bankok Time zone (+7hrs)\r\n var request_date_start = new Date(this.state.request_date_start.getTime() + 7 * 60 * 60000);\r\n searchModel.request_date_start = request_date_start.toISOString();\r\n }\r\n if (this.state.request_date_end != null) {\r\n //Bankok Time zone (+7hrs)\r\n var request_date_end = new Date(this.state.request_date_end.getTime() + 7 * 60 * 60000);\r\n searchModel.request_date_end = request_date_end.toISOString();\r\n }\r\n\r\n if (this.state.transfer_date_start != null) {\r\n //Bankok Time zone (+7hrs)\r\n var transfer_date_start = new Date(this.state.transfer_date_start.getTime() + 7 * 60 * 60000);\r\n searchModel.transfer_date_start = transfer_date_start.toISOString();\r\n }\r\n if (this.state.transfer_date_end != null) {\r\n //Bankok Time zone (+7hrs)\r\n var transfer_date_end = new Date(this.state.transfer_date_end.getTime() + 7 * 60 * 60000);\r\n searchModel.transfer_date_end = transfer_date_end.toISOString();\r\n }\r\n\r\n ServerAPI.searchWithDrawRequest(searchModel).then((res) => {\r\n\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n\r\n if (index == -1) {\r\n\r\n if (res.length > 0) {\r\n\r\n let data = []\r\n res.forEach(element => {\r\n var obj = {\r\n 'waste_name': element['waste_name'],\r\n 'requested_date': element['requested_date'] ? `${moment(element['requested_date']).format(\"DD-MM-YYYY HH:mm:ss\")}` : \"\",\r\n 'transfer_date': element['transfer_date'],\r\n 'withdrawal_thb': element['withdrawal_thb'],\r\n 'bank_account_name': element['bank_account_name'],\r\n 'bank_account_no': element['bank_account_no'],\r\n 'bank_name': element['bank_name'],\r\n 'bank_promptpay': element['bank_promptpay'],\r\n 'withdrawal_status': element['withdrawal_status'],\r\n 'admin_name': element['admin_name'],\r\n 'waste_type': element['waste_type'],\r\n 'transaction_uid': element['transaction_uid'],\r\n 'transaction_img': element['transaction_img']\r\n }\r\n data.push(obj)\r\n });\r\n this.setState({ dataTableWithDrawRequestTable: data })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ dataTableWithDrawRequestTable: [] })\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n showSearchPanel() {\r\n return (\r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n this.onChanageBank(e.target.value)}\r\n placeholder=\"เลือกธนาคาร\" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onAdminNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสผู้ดูแล/ชื่อผู้ดูแล\" />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ statusItemSelected: e.value }) }}\r\n\r\n >\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n toFormatDateTime(dateTime) {\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ;\r\n }\r\n to_transfer_date(rowData, column) {\r\n\r\n let tranfer_date = new Date(rowData.tranfer_date);\r\n let year = tranfer_date.getYear();\r\n\r\n if (year == -1899)\r\n return
    ;\r\n else\r\n return this.toFormatDateTime(rowData.tranfer_date);\r\n }\r\n\r\n to_requested_date(rowData, column) {\r\n if (rowData.requested_date == \"\") return
    ;\r\n return
    \r\n {rowData.requested_date.split(\" \")[0]}\r\n
    \r\n {rowData.requested_date.split(\" \")[1]}\r\n
    \r\n }\r\n showResult() {\r\n if (this.state.showProgress) return
    ;\r\n\r\n var header =
    \r\n
    ;\r\n\r\n return
    \r\n\r\n\r\n\r\n\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n scrollable={true} rowsPerPageOptions={[5, 10, 15]}\r\n >\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ imageDialog: false })}\r\n >\r\n
    \r\n {this.state.imageError ? (\r\n \r\n

    \r\n ไม่สามารถแสดงไฟล์ภาพได้โปรดดาว์นโหลดเพื่อตรวจสอบ\r\n

    \r\n
    \r\n ) : (\r\n \r\n )}\r\n\r\n
    \r\n window.open(this.state.imageUrl, \"_blank\")}\r\n style={{\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n margin: '10px'\r\n }}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n render() {\r\n\r\n const searchPanel = this.showSearchPanel();\r\n const showProgress = this.showProgressSpinner();\r\n const showResult = this.showResult();\r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {showProgress}\r\n {showResult}\r\n
    \r\n );\r\n\r\n\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n banks: state.master.banks,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n masterServiceProps: bindActionCreators(MasterService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageMoneyTransferContainer)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport {Panel} from 'primereact/components/panel/Panel';\r\nimport {Checkbox} from 'primereact/components/checkbox/Checkbox';\r\nimport {Button} from 'primereact/components/button/Button';\r\nimport {Dropdown} from 'primereact/components/dropdown/Dropdown';\r\nimport {InputText} from 'primereact/components/inputtext/InputText';\r\nimport {InputTextarea} from 'primereact/components/inputtextarea/InputTextarea';\r\nimport {DataTable} from 'primereact/components/datatable/DataTable';\r\nimport {Column} from 'primereact/components/column/Column';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\nimport * as ServerAPI from './service';\r\nimport * as DashBoardService from './service'\r\nimport { isValid } from 'redux-form';\r\n\r\n\r\nclass ReportInvoice extends Component {\r\n\tstatic propTypes = {\r\n\r\n }\r\n \r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n status: 0,\r\n admin: 0,\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ยังไม่ได้แจ้งหนี้', value: 1 },\r\n { label: 'แจ้งหนี้แล้วรอชำระ', value: 2 },\r\n { label: 'ชำระแล้วรอตรวจสอบ', value: 3 },\r\n { label: 'ชำระหนี้แล้ว', value: 88 },\r\n ],\r\n showProgress: false,\r\n orderCode: null,\r\n orderID: null,\r\n memberUid: null,\r\n date1: null,\r\n date2: null,\r\n reportSearchInvoice: [],\r\n };\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchInvoice = this.searchInvoice.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.salePriceTemplate = this.salePriceTemplate.bind(this);\r\n this.deliveryCostTemplate = this.deliveryCostTemplate.bind(this);\r\n this.processFeeTemplate = this.processFeeTemplate.bind(this);\r\n this.headerTemplate = this.headerTemplate.bind(this);\r\n this.footerTemplate = this.footerTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n \r\n this.showSuccess =this.showSuccess.bind(this);\r\n this.showWarn = this.showWarn.bind(this);\r\n\r\n }\r\n componentDidMount() {\r\n const {dashBoardServiceProps} = this.props\r\n\t\tdashBoardServiceProps.getDashboardUsers();\r\n }\r\n\r\n onDate1Change(e) { //search pickup date start\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //search pickup date end\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n searchInvoice(){\r\n //this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n //-------reset table--------\r\n // var reportSearchList = {}\r\n // this.state.reportSearchOrders.push(reportSearchList)\r\n // this.setState({ reportSearchOrders: [] });\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n invoice_status: this.state.status,\r\n admin_code: \"\",\r\n };\r\n\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date2.toISOString();\r\n }\r\n\r\n ServerAPI.searchInvoice(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n \r\n if (res.length > 0) {\r\n var array = res;\r\n var listOfInvoice = [];\r\n for (let i in array) {\r\n var list = array[i].invoiceDetail;\r\n for (let j in list) {\r\n var obj =list[j];\r\n obj.sale_price = Number((obj.delivery_quantity_kk * obj.price_per_unit).toFixed(2));\r\n\r\n var Objmaster = Object.assign({}, array[i]); \r\n Objmaster = Object.assign(obj, Objmaster); \r\n listOfInvoice.push(Objmaster); \r\n }\r\n }\r\n this.setState({reportSearchInvoice:listOfInvoice});\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ adminName: '' });\r\n this.setState({ adminUid: '' });\r\n //this.setState({ memberType: 0 });\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 0});\r\n var empty = {}\r\n this.state.reportSearchInvoice.push(empty)\r\n this.setState({ reportSearchInvoice: [] });\r\n\r\n //this.clearAllDataInput();\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n itemMemberTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n //auto complate handle (ค้นหาแอดมิน)\r\n suggestAdminName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n itemAdminTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n salePriceTemplate(rowData, column){\r\n let price = rowData.delivery_quantity_kk * rowData.price_per_unit;\r\n return
    \r\n {price.toFixed(2)}\r\n
    ;\r\n }\r\n deliveryCostTemplate(rowData, column){\r\n let price = rowData.delivery_cost;\r\n return
    \r\n {price.toFixed(2)}\r\n
    ;\r\n }\r\n processFeeTemplate(rowData, column){\r\n let price = rowData.process_fee;\r\n return
    \r\n {price.toFixed(2)}\r\n
    ;\r\n }\r\n headerTemplate(data) {\r\n //console.log(data)\r\n return data.u3_fullname;\r\n }\r\n footerTemplate(data, index) {\r\n return (\r\n \r\n รวม:\r\n {this.calculateQuantityTotal(data.u3_fullname)}\r\n {this.calculatePriceTotal(data.u3_fullname)}\r\n \r\n );\r\n }\r\n\r\n calculateQuantityTotal(brand) {\r\n let total = 0;\r\n if(this.state.reportSearchInvoice) {\r\n for(let car of this.state.reportSearchInvoice) {\r\n if(car.u3_fullname === brand) {\r\n total += car.delivery_quantity_kk;\r\n }\r\n }\r\n }\r\n\r\n return total;\r\n }\r\n calculatePriceTotal(brand) {\r\n let total = 0;\r\n if(this.state.reportSearchInvoice) {\r\n for(let car of this.state.reportSearchInvoice) {\r\n if(car.u3_fullname === brand) {\r\n var price = car.delivery_quantity_kk*car.price_per_unit;\r\n total += price;\r\n }\r\n }\r\n }\r\n\r\n return total.toFixed(2);\r\n }\r\n toFormatDateTime(dateTime){\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n \r\n let delivery_date = new Date(rowData.delivery_date);\r\n let year = delivery_date.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n \r\n to_requested_date(rowData, column){\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n\r\n searchPanel(){\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemMemberTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n { this.setState({ status: e.value }) }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onAdminNameChanged(e.target.value)}\r\n itemTemplate={this.itemAdminTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสผู้ดูแล/ชื่อผู้ดูแล\" />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n \r\n reportInvoiceTable(){\r\n var tmp = []\r\n const Objmaster = this.state.reportSearchInvoice;\r\n for (let i = 0; i < Objmaster.length; i++) {\r\n const obj = {\r\n \"เลขที่\": Objmaster[i].invoice_code,\r\n \"ชื่อร้าน\": Objmaster[i].u3_fullname,\r\n \"ผู้ขาย\": Objmaster[i].u1_fullname,\r\n \"ผู้ขนส่่ง\": Objmaster[i].u2_fullname,\r\n \"รายการ\":Objmaster[i].product_name,\r\n \"วันที่ส่ง\": (new Date(Objmaster[i].delivery_date)).toLocaleDateString(),\r\n \"ผู้ดูแล\": Objmaster[i].admin_name,\r\n \"สถานะ\": Objmaster[i].invoice_status_name,\r\n \"ปริมาณส่ง (Kg)\": Objmaster[i].delivery_quantity_kk,\r\n \"ราคาขาย (บาท)\": Number((Objmaster[i].delivery_quantity_kk * Objmaster[i].price_per_unit).toFixed(2)),\r\n \"ค่าขนส่ง (บาท)\": Number(Objmaster[i].delivery_cost.toFixed(2)),\r\n \"ค่าบริการ (บาท)\": Number(Objmaster[i].process_fee.toFixed(2))\r\n }\r\n tmp.push(obj);\r\n }\r\n //console.log(tmp);\r\n\r\n var exportExcel =\r\n
    \r\n \r\n
    ;\r\n return (\r\n
    \r\n \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n style={{ textAlign: 'center' }} selectionMode=\"single\"\r\n header={exportExcel}\r\n rowGroupMode=\"subheader\" rowGroupHeaderTemplate={this.headerTemplate}\r\n sortField=\"u3_fullname\" sortOrder={1} groupField=\"u3_fullname\"\r\n rowGroupFooterTemplate={this.footerTemplate} style={{marginTop:'30px'}}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.searchPanel();\r\n const invoiceTable = this.reportInvoiceTable();\r\n const ProgressSpinner = this.showProgressSpinner();\r\n const {\r\n dhbUsers,\r\n } = this.props\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {ProgressSpinner}\r\n {invoiceTable} \r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n\tdhbUsers: state.dhbAdmin.dhbUsers\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\tdashBoardServiceProps: bindActionCreators(DashBoardService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ReportInvoice)","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderSearch } from '../../service/order.service'\r\nimport { getBanks } from '../../service/MasterService'\r\nimport { FileUpload } from 'primereact/fileupload';\r\n\r\nimport {\r\n autoCompleteAdminAll,\r\n autoCompleteWasteall\r\n} from '../../service/autocomplete.service'\r\n\r\nclass ExampleAdminReportWithdraw extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleAdminReportWithdraw :constructor\")\r\n super(props);\r\n this.state = {\r\n classNameRequired: {},\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n statusList: [\r\n { name: \"เลือกสถานะ\", value: 0 },\r\n { name: 'ยอดรอโอน', value: 1 },\r\n { name: 'โอนแล้ว', value: 2 },\r\n { name: 'บริจาคแล้ว', value: 3 },\r\n ],\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n bank: null,\r\n //DynamicDataTable\r\n model: [\r\n { selectedMode: true },\r\n { field: 'col1', header: 'แนบรูป', body: this.actionTemplate },\r\n { field: 'col2', header: 'ชื่อสมาชิก', sortable: true },\r\n { field: 'col3', header: 'วันที่แจ้ง', sortable: true },\r\n { field: 'col4', header: 'วันที่โอน', sortable: true },\r\n { field: 'col5', header: 'จำนวนเงิน', sortable: true },\r\n { field: 'col6', header: 'ชื่อบัญชี', sortable: true },\r\n { field: 'col7', header: 'เลขที่บัญชี', sortable: true },\r\n { field: 'col8', header: 'ธนาคาร', sortable: true },\r\n { field: 'col9', header: 'Prompt Pay', sortable: true },\r\n { field: 'col10', header: 'สถานะ', sortable: true },\r\n { field: 'col11', header: 'Memo', sortable: true },\r\n { field: 'col12', header: 'ผู้ดูแล', sortable: true },\r\n ],\r\n pageNumber: 0,\r\n selection: [],\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSelectionChange = this.onSelectionChange.bind(this);\r\n this.onSaveTransfer = this.onSaveTransfer.bind(this);\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleAdminReportWithdraw :componentDidMount\")\r\n let criteria = { user_wasteTypes: 4 };\r\n\r\n if (!this.props.orderSearch.data) {\r\n this.props.dispatch(orderSearch('admin', criteria));\r\n }\r\n\r\n this.props.dispatch(getBanks());\r\n\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleAdminReportWithdraw :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleAdminReportWithdraw :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleAdminReportWithdraw :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(autoCompleteWasteall(nextState.order_id));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteAdminAll(nextState.collector_name));\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleAdminReportWithdraw :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n\r\n onSelectionChange = (e) => {\r\n const { value } = e\r\n this.setState({ selection: value })\r\n\r\n }\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let criteria = { user_wasteTypes: 4 };\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n criteria.user_search_name = this.state.order_name\r\n }\r\n if (this.state.statusValue.value) {\r\n criteria.order_status = this.state.statusValue.value\r\n }\r\n if (this.state.pickupDate) {\r\n criteria.pickup_date_start = this.state.pickupDate.toISOString();\r\n }\r\n if (this.state.pickupDateTo) {\r\n criteria.pickup_date_end = this.state.pickupDateTo.toISOString();\r\n }\r\n if (this.state.collector_name) {\r\n criteria.admin_code = this.state.collector_name\r\n }\r\n console.log(`criteria is :${criteria}`)\r\n this.props.dispatch(orderSearch(criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onClickCancel = (e) => {\r\n //TODO set state = null\r\n let criteria = { user_wasteTypes: 4 };\r\n this.props.dispatch(orderSearch(criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.autoCompleteWasteall\r\n && this.props.autoCompleteWasteall.data\r\n && !this.props.autoCompleteWasteall.isLoading\r\n ) {\r\n // let results = this.props.autoCompleteWasteall.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.autoCompleteWasteall.data.suggest });\r\n }\r\n }\r\n\r\n onSuggestCollectionNames = (e) => {\r\n if (this.props.autoCompleteAdminAll\r\n && this.props.autoCompleteAdminAll.data\r\n && !this.props.autoCompleteAdminAll.isLoading\r\n ) {\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteAdminAll.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { value, name } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n onChangeBank = (e) => {\r\n const { value } = e\r\n this.setState({ bank: value })\r\n }\r\n //> Action print\r\n actionTemplate = (rowData, column) => {\r\n console.log(`rowData:${rowData}`);\r\n console.log(`column:${column}`);\r\n return
    \r\n \r\n
    ;\r\n }\r\n onSaveTransfer = () => {\r\n console.log(\"onSaveTransfer\")\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleAdminReportWithdraw :render\")\r\n console.log(`check : ${this.state.selection}`)\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entity.pickup_date,\r\n \"col4\": entity.delivery_date,\r\n \"col5\": \"\",\r\n \"col6\": \"\",\r\n \"col7\": \"\",\r\n \"col8\": \"\",\r\n \"col9\": \"\",\r\n \"col10\": \"\",\r\n \"col11\": \"\",\r\n \"col12\": \"\"\r\n }\r\n data.push(tmpData);\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    จัดการรายการโอนเงิน

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n autoCompleteWasteall: state.autoCompleteWasteall,\r\n orderSearch: state.orderSearch,\r\n banks: state.master.banks,\r\n autoCompleteAdminAll: state.autoCompleteAdminAll,\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleAdminReportWithdraw)\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\n\r\n\r\nimport * as ServerAPI from './service';\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\n\r\nclass ReportMoneyTransferContainter extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n bank_code: 0,\r\n adminName: '',\r\n adminUid: '',\r\n memberName: '',\r\n memberUid: '',\r\n memberType: 0,\r\n memberTypeItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ผู้รักษ์โลก', value: 1 },\r\n { label: 'ทีมขนส่งซีซาเล้ง', value: 2 },\r\n\r\n ],\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '-1' },\r\n { label: 'ต้องการถอน', value: '0' },\r\n { label: 'โอนแล้ว', value: '1' },\r\n { label: 'บริจาคแล้ว', value: '2' },\r\n ],\r\n statusItemSelected: '-1',\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n request_date_start: null,\r\n request_date_end: null,\r\n transfer_date_start: null,\r\n transfer_date_end: null\r\n };\r\n\r\n this.onAdminNameChanged = this.onAdminNameChanged.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onChanageBank = this.onChanageBank.bind(this);\r\n this.onDateRequestStartChange = this.onDateRequestStartChange.bind(this);\r\n this.onDateRequestEndChange = this.onDateRequestEndChange.bind(this);\r\n this.onDateTransferStartChange = this.onDateTransferStartChange.bind(this);\r\n this.onDateTransferEndChange = this.onDateTransferEndChange.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.searchWithDrawRequest = this.searchWithDrawRequest.bind(this);\r\n this.onClickTransfer = this.onClickTransfer.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { masterServiceProps } = this.props\r\n masterServiceProps.getBanks();\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n \r\n \r\n \r\n onClickTransfer(){\r\n console.log(this.state.dataTableSelection);\r\n var isNotAttachAllFiles = false;\r\n var isSomeTransfered = false;\r\n if(this.state.dataTableSelection){\r\n\r\n \r\n if(this.state.dataTableSelection.length>0){\r\n this.state.dataTableSelection.forEach(element => {\r\n if(!element.file) isNotAttachAllFiles= true;\r\n if(element.admin_name) isSomeTransfered = true;\r\n });\r\n }\r\n if(isSomeTransfered){\r\n this.showWarn(\"รายการที่เลือกได้แจ้งการโอนแล้ว\");\r\n }else if(isNotAttachAllFiles){\r\n this.showWarn(\"กรุณาแนบไฟล์หลักฐานการโอน\");\r\n }else{\r\n this.state.dataTableSelection.forEach(obj => {\r\n \r\n const formData = new FormData();\r\n formData.append('transaction_file', obj.file);\r\n formData.set('waste_type', obj.waste_type);\r\n formData.set('transaction_uid', obj.transaction_uid);\r\n\r\n ServerAPI.AddTransfer(formData).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n }\r\n \r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n \r\n });\r\n\r\n //this.clearSearchInput();\r\n }\r\n }else{\r\n this.showWarn(\"กรุณาเลือกรายการ\");\r\n }\r\n }\r\n \r\n suggestOrderID(event) { }\r\n suggestMemberName(event) { }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onMemberNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n suggestAdminName(event) { }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n }\r\n onChanageBank(val) {\r\n this.setState({ selectedBank: val });\r\n this.setState({ bank_code: val.bank_code });\r\n }\r\n\r\n onDateRequestStartChange(e) {\r\n if (this.state.request_date_end != null) {\r\n if (e.value <= this.state.request_date_end) {\r\n this.setState({ request_date_start: e.value })\r\n } this.setState({ request_date_start: null })\r\n } else this.setState({ request_date_start: e.value })\r\n }\r\n onDateRequestEndChange(e) {\r\n if (this.state.request_date_start <= e.value)\r\n this.setState({ request_date_end: e.value })\r\n else this.setState({ request_date_end: null })\r\n\r\n }\r\n onDateTransferStartChange(e) {\r\n if (this.state.transfer_date_end != null) {\r\n if (e.value <= this.state.transfer_date_end) {\r\n this.setState({ transfer_date_start: e.value })\r\n } this.setState({ transfer_date_start: null })\r\n } else this.setState({ transfer_date_start: e.value })\r\n }\r\n onDateTransferEndChange(e) {\r\n if (this.state.transfer_date_start <= e.value)\r\n this.setState({ transfer_date_end: e.value })\r\n else this.setState({ transfer_date_end: null })\r\n }\r\n\r\n clearSearchInput() {\r\n\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ adminName: '' });\r\n this.setState({ adminUid: null });\r\n this.setState({ request_date_start: null });\r\n this.setState({ request_date_end: null });\r\n this.setState({ transfer_date_start: null });\r\n this.setState({ transfer_date_end: null });\r\n this.setState({ selectedBank: 0 });\r\n\r\n this.setState({ dataTableWithDrawRequestTable: null });\r\n\r\n }\r\n\r\n\r\n searchWithDrawRequest() {\r\n this.setState({ showProgress: true })\r\n\r\n var searchModel = {\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n admin_code: this.state.adminUid,\r\n bank_code: this.state.bank_code,\r\n withdrawal_status_code: this.state.statusItemSelected,\r\n };\r\n\r\n if (this.state.request_date_start != null) {\r\n //Bankok Time zone (+7hrs)\r\n var request_date_start = new Date(this.state.request_date_start.getTime() + 7 * 60 * 60000);\r\n searchModel.request_date_start = request_date_start.toISOString();\r\n }\r\n if (this.state.request_date_end != null) {\r\n //Bankok Time zone (+7hrs)\r\n var request_date_end = new Date(this.state.request_date_end.getTime() + 7 * 60 * 60000);\r\n searchModel.request_date_end = request_date_end.toISOString();\r\n }\r\n\r\n if (this.state.transfer_date_start != null) {\r\n //Bankok Time zone (+7hrs)\r\n var transfer_date_start = new Date(this.state.transfer_date_start.getTime() + 7 * 60 * 60000);\r\n searchModel.transfer_date_start = transfer_date_start.toISOString();\r\n }\r\n if (this.state.transfer_date_end != null) {\r\n //Bankok Time zone (+7hrs)\r\n var transfer_date_end = new Date(this.state.transfer_date_end.getTime() + 7 * 60 * 60000);\r\n searchModel.transfer_date_end = transfer_date_end.toISOString();\r\n }\r\n \r\n ServerAPI.searchWithDrawRequest(searchModel).then((res) => {\r\n \r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n \r\n if (index == -1) {\r\n \r\n if (res.length > 0) {\r\n this.setState({ dataTableWithDrawRequestTable: res })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ dataTableWithDrawRequestTable: [] })\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n toFormatDateTime(dateTime){\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n to_transfer_date(rowData, column){\r\n \r\n let tranfer_date = new Date(rowData.tranfer_date);\r\n let year = tranfer_date.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return this.toFormatDateTime(rowData.tranfer_date);\r\n }\r\n \r\n to_requested_date(rowData, column){\r\n return this.toFormatDateTime(rowData.requested_date);\r\n }\r\n\r\n showSearchPanel(){\r\n return (\r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.onChanageBank(e.target.value)}\r\n placeholder=\"เลือกธนาคาร\" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onAdminNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสผู้ดูแล/ชื่อผู้ดูแล\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ statusItemSelected: e.value }) }}\r\n \r\n >\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n\r\n dateTemplate(rowData, column){\r\n \r\n let tranfer_date = new Date(rowData.tranfer_date);\r\n let year = tranfer_date.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    {rowData.tranfer_date}
    ;\r\n }\r\n showResult(){\r\n let sum =0;\r\n if(this.state.dataTableWithDrawRequestTable)\r\n if(this.state.dataTableWithDrawRequestTable.length>0) {\r\n this.state.dataTableWithDrawRequestTable.map( function(a){ \r\n let a_sale_price = a.withdrawal_thb;\r\n sum += a_sale_price;\r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n ;\r\n\r\n if(this.state.showProgress) return
    ;\r\n\r\n var tmp = []\r\n const Objmaster = this.state.dataTableWithDrawRequestTable;\r\n const total = {\r\n withdrawal_thb:0,\r\n };\r\n if(Objmaster)\r\n for (let i = 0; i < Objmaster.length; i++) {\r\n const obj = {\r\n \"ชื่อสมาชิก\": Objmaster[i].waste_name,\r\n \"วันที่แจ้ง\": Objmaster[i].requested_date?(new Date(Objmaster[i].requested_date)).toLocaleDateString():'',\r\n \"วันที่โอน\": Objmaster[i].tranfer_date? ( (new Date(Objmaster[i].tranfer_date).getYear()==-1899)? '':(new Date(Objmaster[i].tranfer_date)).toLocaleDateString()):'',\r\n \"จำนวนเงิน (บาท)\":Objmaster[i].withdrawal_thb,\r\n \"ชื่อบัญชี\": Objmaster[i].bank_account_name,\r\n \"เลขที่บัญชี\": Objmaster[i].bank_account_no,\r\n \"ธนาคาร\": Objmaster[i].bank_name,\r\n \"Prompt pay\": Objmaster[i].bank_promptpay,\r\n \"สถานะ\": Objmaster[i].withdrawal_status,\r\n \"ผู้ดูแล\": Objmaster[i].admin_name,\r\n }\r\n console.log(Objmaster[i].request_date)\r\n console.log(Objmaster[i].transfer_date)\r\n total.withdrawal_thb += Number(Objmaster[i].withdrawal_thb);\r\n tmp.push(obj);\r\n \r\n }\r\n //The last record\r\n const obj = {\r\n \"จำนวนเงิน (บาท)\":total.withdrawal_thb,\r\n }\r\n tmp.push(obj);\r\n console.log(tmp);\r\n //End the last record\r\n var exportExcel =\r\n
    \r\n \r\n \r\n
    ; \r\n return
    \r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n scrollable={true} rowsPerPageOptions={[5, 10, 15]} \r\n footerColumnGroup={footerGroup}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n render() {\r\n\r\n const searchPanel = this.showSearchPanel(); \r\n const showProgress = this.showProgressSpinner();\r\n const showResult = this.showResult();\r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {showProgress}\r\n {showResult}\r\n
    \r\n );\r\n\r\n\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n banks: state.master.banks,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n masterServiceProps: bindActionCreators(MasterService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ReportMoneyTransferContainter)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { DataView, DataViewLayoutOptions } from 'primereact/dataview';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox';\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Growl } from 'primereact/growl';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ScrollPanel } from 'primereact/scrollpanel';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\nimport fileDownload from 'js-file-download';\r\n\r\n\r\nclass ReportOrder extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n adminName: '',\r\n memberType: 0,\r\n memberTypeItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ผู้รักษ์โลก', value: 1 },\r\n { label: 'ทีมขนส่งซีซาเล้ง', value: 2 },\r\n { label: 'ศูนย์จัดการฯซีซาเล้ง', value: 3 },\r\n ],\r\n date1: null,\r\n date2: null,\r\n date3: null,\r\n date4: null,\r\n date5: null,\r\n date6: null,\r\n selectedProductImg: null,\r\n status: 1000,\r\n status2: 0,\r\n statusSearchItem: [\r\n { label: 'เลือกทั้งหมด', value: 1000 },\r\n { label: 'รอร้านค้ายืนยัน', value: 0 },\r\n { label: 'รอนัดหมาย', value: 1 },\r\n { label: 'รอทีมขนส่ง', value: 2 },\r\n { label: 'รอส่งสินค้า', value: 3 },\r\n { label: 'รอปิด Order', value: 4 },\r\n { label: 'เกินกำหนดรับสินค้า', value: 5 },\r\n { label: 'ปิด Order', value: 88 },\r\n { label: 'ยกเลิก', value: 99 },\r\n { label: 'ผิดนัด', value: 999 },\r\n { label: 'ร้านค้าปฏิเสธรับซื้อ', value: 998 },\r\n ],\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 1000 },\r\n { label: 'รอร้านค้ายืนยัน', value: 0 },\r\n { label: 'รอนัดหมาย', value: 1 },\r\n { label: 'รอทีมขนส่ง', value: 2 },\r\n { label: 'รอส่งสินค้า', value: 3 },\r\n { label: 'รอปิด Order', value: 4 },\r\n { label: 'เกินกำหนดรับสินค้า', value: 5 },\r\n { label: 'ปิด Order', value: 88 },\r\n { label: 'ยกเลิก', value: 99 },\r\n { label: 'ผิดนัด', value: 999 },\r\n { label: 'ร้านค้าปฏิเสธรับซื้อ', value: 998 },\r\n ],\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n\r\n OrderList: [\r\n // wasteType: '',\r\n // amount: '',\r\n // appraisedPrice: '',\r\n // salePrice: '',\r\n ],\r\n brandSuggestions: null,\r\n addressDetail: '',\r\n lineId: '',\r\n email: '',\r\n genPhone: '',\r\n deliveryCost: 0,\r\n ModelInputLocation: {\r\n latitude: \"13.7734283\",\r\n longitude: \"100.57383099999993\",\r\n distance_km: 10\r\n },\r\n wastetranDataList: [],\r\n wasteproDataList: [],\r\n amountSelected: '',\r\n appraisedPriceSelected: '',\r\n salePriceSelected: '',\r\n dataTableSelection2: '',\r\n dataTableSelection3: '',\r\n genImg: null,\r\n tranImg: null,\r\n proImg: null,\r\n personPrefixCode: '',\r\n personPrefix: '',\r\n orderID: null,\r\n orderDetail: [],\r\n gid: 0,\r\n showProgress: false,\r\n reportSearchOrders: [],\r\n orderCode: null,\r\n showReportPanel: true,\r\n memberUid: null,\r\n showReportTable: true,\r\n excelDisable: true\r\n };\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onUsernameChanged = this.onUsernameChanged.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onOrderIDChanged = this.onOrderIDChanged.bind(this);\r\n //this.onSelectAutoCompleteSearchName = this.onSelectAutoCompleteSearchName.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n //this.getProfile = this.getProfile.bind(this);\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.onDate3Change = this.onDate3Change.bind(this);\r\n this.onDate4Change = this.onDate4Change.bind(this);\r\n this.onDate5Change = this.onDate5Change.bind(this);\r\n this.onDate6Change = this.onDate6Change.bind(this);\r\n this.searchOrder = this.searchOrder.bind(this);\r\n this.onOrderSelected = this.onOrderSelected.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.showProgressSpinner = this.showProgressSpinner.bind(this);\r\n this.quantityEditor = this.quantityEditor.bind(this);\r\n this.estimatePricePerUnitEditor = this.estimatePricePerUnitEditor.bind(this)\r\n this.deliveryQuantityEditor = this.deliveryQuantityEditor.bind(this)\r\n this.deliveryPricePerUnitEditor = this.deliveryPricePerUnitEditor.bind(this)\r\n this.remarkEditor = this.remarkEditor.bind(this)\r\n this.showReportResult = this.showReportResult.bind(this);\r\n this.distanceTemplate = this.distanceTemplate.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.to_created_date = this.to_created_date.bind(this);\r\n this.reConstruct = this.reConstruct.bind(this);\r\n this.searchOrderDownload = this.searchOrderDownload.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n\r\n\r\n\r\n onDate1Change(e) { //date in order edit\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //date in order edit \r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n\r\n onDate3Change(e) { //date in search order\r\n //console.log(e.value.toISOString())\r\n if (this.state.date4 != null) {\r\n if (e.value <= this.state.date4) {\r\n this.setState({ date3: e.value })\r\n }\r\n } else\r\n this.setState({ date3: e.value })\r\n }\r\n onDate4Change(e) { //date in search order\r\n if (this.state.date3 <= e.value) {\r\n this.setState({ date4: e.value })\r\n }\r\n }\r\n\r\n onDate5Change(e) { //date in search order\r\n //console.log(e.value.toISOString())\r\n if (this.state.date6 != null) {\r\n if (e.value <= this.state.date6) {\r\n this.setState({ date5: e.value })\r\n }\r\n } else\r\n this.setState({ date5: e.value })\r\n }\r\n onDate6Change(e) { //date in search order\r\n if (this.state.date5 <= e.value) {\r\n this.setState({ date6: e.value })\r\n }\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n }\r\n\r\n\r\n suggestAdminName(event) { }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n addDataToTable() {\r\n var isNotinput = (this.state.wasteTypeSelected == '' ||\r\n this.state.productSelected == '' ||\r\n this.state.amountSelected == '' ||\r\n this.state.appraisedPriceSelected == '' ||\r\n this.state.salePriceSelected == ''\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn();\r\n } else {\r\n var OrderDetailList = {\r\n gid: this.state.gid,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n // wasteType: this.state.wasteTypeSelected.product_type_name,\r\n // amount: parseFloat(this.state.amountSelected).toFixed(2),\r\n // appraisedPrice: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n // salePrice: parseFloat(this.state.salePriceSelected).toFixed(2), \r\n\r\n delivery_quantity_kk: 0,\r\n delivery_price_per_unit: 0,\r\n quantity_kk: parseFloat(this.state.amountSelected).toFixed(2),\r\n estimate_price_per_unit: parseFloat(this.state.appraisedPriceSelected).toFixed(2),\r\n price_per_unit: parseFloat(this.state.salePriceSelected).toFixed(2),\r\n }\r\n this.state.orderDetail.push(OrderDetailList)\r\n\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ amountSelected: '' })\r\n this.setState({ appraisedPriceSelected: '' })\r\n this.setState({ salePriceSelected: '' })\r\n console.log(this.state.orderDetail)\r\n this.showSuccess();\r\n }\r\n }\r\n onWasteTypeChange(e) {\r\n\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n // onFileWasteChanged(e) {\r\n // console.log(e)\r\n // //this.setState({ fileImgIden: e.target.files[0] });\r\n // this.setState({ fileImgWaste: e.files[0] });\r\n // }\r\n\r\n //auto complate handle (ผู้รักษ์โลก)\r\n suggestBrands(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onUsernameChanged(search_name) {\r\n this.setState({ brand: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchMemberName(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ brandSuggestions: res });\r\n\r\n }).catch((error) => {\r\n })\r\n }\r\n }\r\n // onSelectAutoCompleteSearchName(item) {\r\n // this.setState({ brand: item.value.search_name });\r\n // this.setState({ u1_uid: item.value.uid })\r\n // this.getProfile(item.value.uid)\r\n // }\r\n\r\n\r\n\r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n\r\n\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ adminUid: null });\r\n this.setState({ adminName: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ date3: null });\r\n this.setState({ date4: null });\r\n this.setState({ date5: null });\r\n this.setState({ date6: null });\r\n this.setState({ status: 1000 });\r\n var reportSearchList = {}\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n this.setState({ excelDisable: true });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n searchOrder() {\r\n this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n var reportSearchList = []\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n // const formData = new FormData();\r\n // formData.set('order_code', this.state.orderID || '');\r\n // formData.set('user_search_name', this.state.memberName || '');\r\n // formData.set('user_wasteTypes', this.state.memberType || 0);\r\n // formData.set('pickup_date_start', this.state.date3.toISOString() || '');\r\n // formData.set('pickup_date_end', this.state.date4.toISOString() || '');\r\n // //formData.set('status_code', this.state.status || 0);\r\n // //formData.set('admin_code', this.state.genFname || '');\r\n\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n order_status: this.state.status,\r\n admin_code: \"\",\r\n admin_code: this.state.adminUid,\r\n };\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.pickup_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.pickup_date_end = date2.toISOString();\r\n }\r\n\r\n if (this.state.date3 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date3 = new Date(this.state.date3.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date3.toISOString();\r\n }\r\n if (this.state.date4 != null) {\r\n var date4 = new Date(this.state.date4.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date4.toISOString();\r\n }\r\n if (this.state.date5 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date5 = new Date(this.state.date5.getTime() + 7 * 60 * 60000);\r\n searchModel.close_date_start = date5.toISOString();\r\n }\r\n if (this.state.date6 != null) {\r\n var date6 = new Date(this.state.date6.getTime() + 7 * 60 * 60000);\r\n searchModel.close_date_end = date6.toISOString();\r\n }\r\n\r\n ServerAPI.searchReportOrder(searchModel).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n var array = res;\r\n var listOfOrder = [];\r\n for (let i in array) {\r\n var list = array[i].orderDetail;\r\n for (let j in list) {\r\n var obj = list[j];\r\n obj.estimate_price = Number((obj.quantity_kk * obj.estimate_price_per_unit).toFixed(2));\r\n obj.sale_price = Number((obj.delivery_quantity_kk * obj.price_per_unit).toFixed(2));\r\n\r\n var Objmaster = Object.assign({}, array[i]);\r\n Objmaster = Object.assign(obj, Objmaster);\r\n if (j != 0) {\r\n Objmaster.delivery_cost = 0;\r\n Objmaster.process_fee = 0;\r\n }\r\n listOfOrder.push(Objmaster);\r\n }\r\n }\r\n this.setState({ reportSearchOrders: listOfOrder });\r\n this.reConstruct(listOfOrder)\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n searchOrderDownload() {\r\n this.setState({ showProgress: true })\r\n\r\n var searchModel = {\r\n order_code: this.state.orderID,\r\n user_search_name: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n order_status: this.state.status,\r\n admin_code: \"\",\r\n admin_code: this.state.adminUid,\r\n };\r\n if (this.state.date1 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date1 = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n searchModel.pickup_date_start = date1.toISOString();\r\n }\r\n if (this.state.date2 != null) {\r\n var date2 = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n searchModel.pickup_date_end = date2.toISOString();\r\n }\r\n\r\n if (this.state.date3 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date3 = new Date(this.state.date3.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_start = date3.toISOString();\r\n }\r\n if (this.state.date4 != null) {\r\n var date4 = new Date(this.state.date4.getTime() + 7 * 60 * 60000);\r\n searchModel.delivery_date_end = date4.toISOString();\r\n }\r\n if (this.state.date5 != null) {\r\n //Bankok Time zone (+7hrs)\r\n var date5 = new Date(this.state.date5.getTime() + 7 * 60 * 60000);\r\n searchModel.close_date_start = date5.toISOString();\r\n }\r\n if (this.state.date6 != null) {\r\n var date6 = new Date(this.state.date6.getTime() + 7 * 60 * 60000);\r\n searchModel.close_date_end = date6.toISOString();\r\n }\r\n\r\n searchModel.is_excel = true;\r\n\r\n ServerAPI.searchReportOrderDownload(searchModel).then((res) => {\r\n console.log(\"response\")\r\n console.log(res)\r\n fileDownload(res, 'รายงานตรวจสอบ_orders.xlsx')\r\n this.setState({ showProgress: false })\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n onOrderSelected(e) {\r\n console.log(e.value);\r\n this.setState({ orderSelection: e.value })\r\n\r\n this.setState({ orderCode: e.value.order_code })\r\n\r\n }\r\n\r\n //get 1 order from table for update\r\n\r\n\r\n\r\n\r\n\r\n\r\n //edit table handle\r\n onEditorQuantityChange(props, value) {\r\n if (value == \"\") {// null set to 0\r\n value = '0';\r\n } else {\r\n var regex = /^[0-9]*(\\.[0-9]{0,2})?$/;\r\n if (!regex.test(value)) { // set 2 decimal if more decimal\r\n if (value % 1 !== 0) {\r\n value = parseFloat(value).toFixed(2)\r\n }\r\n }\r\n if (value.indexOf('.') < 1) {//no 0 leading\r\n value = parseFloat(value)\r\n }\r\n }\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({ orderDetail: updatedCars });\r\n }\r\n onEditorTextChange(props, value) {\r\n let updatedCars = [...props.value];\r\n updatedCars[props.rowIndex][props.field] = value;\r\n this.setState({ orderDetail: updatedCars });\r\n }\r\n inputQuantityEditor(props, field) {\r\n return this.onEditorQuantityChange(props, e.target.value)} />;\r\n }\r\n inputTextEditor(props, field) {\r\n return this.onEditorTextChange(props, e.target.value)} />;\r\n }\r\n quantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'quantity_kk');\r\n }\r\n estimatePricePerUnitEditor(props) {\r\n return this.inputQuantityEditor(props, 'estimate_price_per_unit');\r\n }\r\n deliveryQuantityEditor(props) {\r\n return this.inputQuantityEditor(props, 'delivery_quantity_kk');\r\n }\r\n deliveryPricePerUnitEditor(props) {\r\n return this.inputQuantityEditor(props, 'price_per_unit');\r\n }\r\n\r\n remarkEditor(props) {\r\n return this.inputTextEditor(props, 'remark');\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.quantity_kk * rowData.estimate_price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n actionDeliveryPriceTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.delivery_quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n distanceTemplate(rowData, column) {\r\n let distance = rowData.distance_km.toFixed(3);\r\n return
    \r\n {distance}\r\n
    ;\r\n }\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showReportResult() {\r\n if (this.state.showReportTable) {\r\n this.setState({ showReportTable: false })\r\n } else {\r\n this.setState({ showReportTable: true })\r\n }\r\n }\r\n actionTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.quantity_kk * rowData.estimate_price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n actionTemplate1(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.delivery_quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n to_double(rowData, column) {\r\n if (rowData.process_fee.length > 3)\r\n console.log(rowData.process_fee)\r\n let fee = rowData.process_fee.toFixed(2)\r\n return
    \r\n {fee}\r\n
    ;\r\n }\r\n toFormatDateTime(dateTime) {\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if (year == -1899)\r\n return
    ;\r\n else\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ;\r\n }\r\n to_transfer_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n to_requested_start_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.pickup_start_date);\r\n }\r\n to_requested_end_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.pickup_end_date);\r\n }\r\n to_close_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.close_date);\r\n }\r\n to_created_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.created_date);\r\n }\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n reConstruct(listOfOrder) {\r\n console.log('Do')\r\n var tmp = []\r\n const Objmaster = listOfOrder || [];\r\n const total = {\r\n quantity_kk: 0,\r\n pickup_quantity_kk: 0,\r\n delivery_quantity_kk: 0,\r\n estimate_price_per_unit: 0,\r\n estimate_price: 0,\r\n price_per_unit: 0,\r\n sale_price: 0,\r\n delivery_cost: 0,\r\n process_fee: 0,\r\n };\r\n if (Objmaster.length > 0)\r\n for (let i = 0; i < Objmaster.length; i++) {\r\n const obj = {\r\n \"ORDER ID\": Objmaster[i].order_code,\r\n \"รายการสินค้า\": Objmaster[i].product_name,\r\n \"ชื่อ U1\": Objmaster[i].u1_fullname,\r\n \"ชื่อ U2\": Objmaster[i].u2_fullname,\r\n \"ชื่อ U3\": Objmaster[i].u3_fullname,\r\n \"วันเปิด order\": (new Date(Objmaster[i].created_date)).toLocaleDateString(),\r\n \"วันนัดรับเริ่ม\": (new Date(Objmaster[i].pickup_start_date)).toLocaleDateString(),\r\n \"วันนัดรับสิ้นสุด\": (new Date(Objmaster[i].pickup_end_date)).toLocaleDateString(),\r\n \"วันส่ง\": (new Date(Objmaster[i].delivery_date)).toLocaleDateString(),\r\n \"วันปิด order\": (new Date(Objmaster[i].close_date).getYear() == -1899) ? '' : (new Date(Objmaster[i].close_date)).toLocaleDateString(),\r\n \"ปริมาณประเมิน (Kg)\": Objmaster[i].quantity_kk,\r\n \"ปริมาณเก็บ (Kg)\": Objmaster[i].pickup_quantity_kk,\r\n \"ปริมาณส่ง (Kg)\": Objmaster[i].delivery_quantity_kk,\r\n \"ราคาประเมิน/หน่วย\": Objmaster[i].estimate_price_per_unit,\r\n \"ราคาประเมิน (บาท)\": Number((Objmaster[i].quantity_kk * Objmaster[i].estimate_price_per_unit).toFixed(2)),\r\n \"ราคาขาย/หน่วย\": Objmaster[i].price_per_unit,\r\n \"ราคาขาย (บาท)\": Number((Objmaster[i].delivery_quantity_kk * Objmaster[i].price_per_unit).toFixed(2)),\r\n \"ค่าขนส่ง (บาท)\": Objmaster[i].delivery_cost,\r\n \"ค่าบริการ (บาท)\": Objmaster[i].process_fee,\r\n \"สถานะ\": Objmaster[i].order_status_name,\r\n \"หมายเหตุ\": Objmaster[i].remark,\r\n \"ผู้ดูแล\": Objmaster[i].admin_name,\r\n }\r\n total.quantity_kk += Number(Objmaster[i].quantity_kk);\r\n total.pickup_quantity_kk += Number(Objmaster[i].pickup_quantity_kk);\r\n total.delivery_quantity_kk += Number(Objmaster[i].delivery_quantity_kk);\r\n total.estimate_price_per_unit += Number(Objmaster[i].estimate_price_per_unit);\r\n total.estimate_price += Number(Objmaster[i].quantity_kk * Objmaster[i].estimate_price_per_unit);\r\n total.price_per_unit += Number(Objmaster[i].price_per_unit);\r\n total.sale_price += Number(Objmaster[i].delivery_quantity_kk * Objmaster[i].price_per_unit);\r\n total.delivery_cost += Number(Objmaster[i].delivery_cost);\r\n total.process_fee += Number(Objmaster[i].process_fee);\r\n tmp.push(obj);\r\n //console.log(tmp);\r\n }\r\n //The last record\r\n const obj = {\r\n \"ปริมาณประเมิน (Kg)\": total.quantity_kk,\r\n \"ปริมาณเก็บ (Kg)\": total.pickup_quantity_kk,\r\n \"ปริมาณส่ง (Kg)\": total.delivery_quantity_kk,\r\n \"ราคาประเมิน/หน่วย\": total.estimate_price_per_unit,\r\n \"ราคาประเมิน (บาท)\": total.estimate_price,\r\n \"ราคาขาย/หน่วย\": total.price_per_unit,\r\n \"ราคาขาย (บาท)\": total.sale_price,\r\n \"ค่าขนส่ง (บาท)\": total.delivery_cost,\r\n \"ค่าบริการ (บาท)\": total.process_fee,\r\n }\r\n tmp.push(obj);\r\n //End the last record\r\n\r\n this.setState({ excelData: tmp })\r\n this.setState({ excelDisable: false })\r\n }\r\n showSearchResult() {\r\n let sum_quantity_kk = 0;\r\n let sum_pickup_quantity_kk = 0;\r\n let sum_delivery_quantity_kk = 0;\r\n let sum_estimate_price_per_unit = 0;\r\n let sum_estimate_price = 0;\r\n let sum_price_per_unit = 0;\r\n let sum_sale_price = 0;\r\n let sum_delivery_cost = 0;\r\n let sum_process_fee = 0;\r\n if (this.state.reportSearchOrders)\r\n if (this.state.reportSearchOrders.length > 0) {\r\n this.state.reportSearchOrders.map(function (a) {\r\n let quantity_kk = a.quantity_kk;\r\n sum_quantity_kk += quantity_kk;\r\n\r\n let pickup_quantity_kk = a.pickup_quantity_kk;\r\n sum_pickup_quantity_kk += pickup_quantity_kk;\r\n\r\n let delivery_quantity_kk = a.delivery_quantity_kk;\r\n sum_delivery_quantity_kk += delivery_quantity_kk;\r\n\r\n let estimate_price_per_unit = a.estimate_price_per_unit;\r\n sum_estimate_price_per_unit += estimate_price_per_unit;\r\n\r\n let estimate_price = a.quantity_kk * a.estimate_price_per_unit\r\n sum_estimate_price += estimate_price;\r\n\r\n let price_per_unit = a.price_per_unit\r\n sum_price_per_unit += price_per_unit;\r\n\r\n let sale_price = a.delivery_quantity_kk * a.price_per_unit\r\n sum_sale_price += sale_price;\r\n\r\n let delivery_cost = a.delivery_cost\r\n sum_delivery_cost += delivery_cost;\r\n\r\n let process_fee = a.process_fee\r\n sum_process_fee += process_fee;\r\n\r\n });\r\n }\r\n let footerGroup = \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ;\r\n if (this.state.showProgress) return
    ;\r\n\r\n\r\n\r\n var exportExcel =\r\n
    \r\n \r\n
    ;\r\n return (
    \r\n\r\n {/* {exportExcel} */}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    );\r\n }\r\n\r\n\r\n showSearchPanel() {\r\n\r\n const searchResult = this.showSearchResult();\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n onKeyPress={this.onOrderKeyPress}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ status: e.value }) }}\r\n >\r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onAdminNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสผู้ดูแล/ชื่อผู้ดูแล\" />\r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {searchResult}\r\n
    \r\n )\r\n }\r\n\r\n showOrderDetail() {\r\n const {\r\n provinces,\r\n } = this.props;\r\n\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const orderDetail = this.showOrderDetail();\r\n const showProgress = this.showProgressSpinner();\r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {showProgress}\r\n {orderDetail}\r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ReportOrder)","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport SearchView from '../search/SearchView';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport DynamicDataTableView from '../data-table/DynamicDataTableView';\r\nimport { DataTable } from 'primereact/datatable';\r\nimport { Column } from 'primereact/column';\r\nimport { Panel } from 'primereact/panel';\r\nimport { Validators } from '../../utils';\r\n\r\nimport { orderSearch } from '../../service/order.service'\r\nimport { getBanks } from '../../service/MasterService'\r\nimport { FileUpload } from 'primereact/fileupload';\r\n\r\nimport {\r\n autoCompleteAdminAll,\r\n autoCompleteWasteall\r\n} from '../../service/autocomplete.service'\r\n\r\nclass ReportWithdraw extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ReportWithdraw :constructor\")\r\n super(props);\r\n this.state = {\r\n classNameRequired: {},\r\n //SearchView\r\n order_id: null,\r\n orderIdSuggestions: null,\r\n order_name: null,\r\n statusValue: { name: \"เลือกสถานะ\", value: 0 },\r\n statusList: [\r\n { name: \"เลือกสถานะ\", value: 0 },\r\n { name: 'ยอดรอโอน', value: 1 },\r\n { name: 'โอนแล้ว', value: 2 },\r\n { name: 'บริจาคแล้ว', value: 3 },\r\n ],\r\n pickupDate: null,\r\n pickupDateTo: null,\r\n appointmentDate: null,\r\n appointmentDateTo: null,\r\n collector_name: null,\r\n collectionNameSuggestions: null,\r\n bank: null,\r\n //DynamicDataTable\r\n model: [\r\n { field: 'col1', header: 'ชื่อสมาชิก', sortable: true },\r\n { field: 'col2', header: 'วันที่แจ้ง', sortable: true },\r\n { field: 'col3', header: 'วันที่โอน', sortable: true },\r\n { field: 'col4', header: 'จำนวนเงิน', sortable: true },\r\n { field: 'col5', header: 'ชื่อบัญชี', sortable: true },\r\n { field: 'col6', header: 'เลขที่บัญชี', sortable: true },\r\n { field: 'col7', header: 'ธนาคาร', sortable: true },\r\n { field: 'col8', header: 'Prompt Pay', sortable: true },\r\n { field: 'col9', header: 'สถานะ', sortable: true },\r\n { field: 'col10', header: 'Memo', sortable: true },\r\n { field: 'col11', header: 'ผู้ดูแล', sortable: true },\r\n ],\r\n pageNumber: 0,\r\n selection: [],\r\n }\r\n\r\n //> Event : original input text\r\n this.onChangeInputText = this.onChangeInputText.bind(this);\r\n //> Event : search view\r\n this.onChangeStatus = this.onChangeStatus.bind(this);\r\n this.onChangePickupdate = this.onChangePickupdate.bind(this);\r\n this.onChangePickupdateTo = this.onChangePickupdateTo.bind(this);\r\n this.onChangeAppointmentDate = this.onChangeAppointmentDate.bind(this);\r\n this.onChangeAppointmentDateTo = this.onChangeAppointmentDateTo.bind(this);\r\n this.onClickSearch = this.onClickSearch.bind(this);\r\n this.onSuggestorderIds = this.onSuggestorderIds.bind(this);\r\n this.onChangeAutocomplete = this.onChangeAutocomplete.bind(this);\r\n this.onSelectionChange = this.onSelectionChange.bind(this);\r\n this.onSaveTransfer = this.onSaveTransfer.bind(this);\r\n this.onChangeBank = this.onChangeBank.bind(this);\r\n this.onSuggestCollectionNames = this.onSuggestCollectionNames.bind(this);\r\n\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ReportWithdraw :componentDidMount\")\r\n let criteria = { user_wasteTypes: 4 };\r\n\r\n if (!this.props.orderSearch.data) {\r\n this.props.dispatch(orderSearch('admin', criteria));\r\n }\r\n\r\n this.props.dispatch(getBanks());\r\n\r\n }\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ReportWithdraw :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ReportWithdraw :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ReportWithdraw :componentWillUpdate\")\r\n if (nextState.order_id != this.state.order_id) {\r\n nextProps.dispatch(autoCompleteWasteall(nextState.order_id));\r\n }\r\n if (nextState.collector_name != this.state.collector_name) {\r\n nextProps.dispatch(autoCompleteAdminAll(nextState.collector_name));\r\n }\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ReportWithdraw :componentDidUpdate\")\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n //> Event\r\n\r\n onSelectionChange = (e) => {\r\n const { value } = e\r\n this.setState({ selection: value })\r\n\r\n }\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target\r\n this.setState({ [name]: value })\r\n if (required) {\r\n let classNamed = [name] + \"_required\"\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(classNamed, true);\r\n } else {\r\n this._classNameRequiredIsError(classNamed, false);\r\n }\r\n }\r\n }\r\n onChangeStatus = (e) => {\r\n this.setState({ statusValue: e.value })\r\n }\r\n onChangePickupdate = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDate: value })\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n if (!this.state.pickupDateTo) {\r\n this._classNameRequiredIsError('pickup_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n }\r\n }\r\n onChangePickupdateTo = (e) => {\r\n const { value } = e\r\n this.setState({ pickupDateTo: value })\r\n this._classNameRequiredIsError('pickup_date_to_required', false)\r\n if (!this.state.pickupDate) {\r\n this._classNameRequiredIsError('pickup_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('pickup_date_required', false)\r\n }\r\n }\r\n onChangeAppointmentDate = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDate: value })\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n if (!this.state.appointmentDateTo) {\r\n this._classNameRequiredIsError('appointment_date_to_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n }\r\n }\r\n onChangeAppointmentDateTo = (e) => {\r\n const { value } = e\r\n this.setState({ appointmentDateTo: value })\r\n this._classNameRequiredIsError('appointment_date_to_required', false)\r\n if (!this.state.appointmentDate) {\r\n this._classNameRequiredIsError('appointment_date_required', true)\r\n } else {\r\n this._classNameRequiredIsError('appointment_date_required', false)\r\n }\r\n }\r\n onClickSearch = (e) => {\r\n let criteria = { user_wasteTypes: 4 };\r\n if (this.state.order_id) {\r\n criteria.order_code = this.state.order_id\r\n }\r\n if (this.state.order_name) {\r\n criteria.user_search_name = this.state.order_name\r\n }\r\n if (this.state.statusValue.value) {\r\n criteria.order_status = this.state.statusValue.value\r\n }\r\n if (this.state.pickupDate) {\r\n criteria.pickup_date_start = this.state.pickupDate.toISOString();\r\n }\r\n if (this.state.pickupDateTo) {\r\n criteria.pickup_date_end = this.state.pickupDateTo.toISOString();\r\n }\r\n if (this.state.collector_name) {\r\n criteria.admin_code = this.state.collector_name\r\n }\r\n console.log(`criteria is :${criteria}`)\r\n this.props.dispatch(orderSearch(criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onClickCancel = (e) => {\r\n //TODO set state = null\r\n let criteria = { user_wasteTypes: 4 };\r\n this.props.dispatch(orderSearch(criteria));\r\n this.setState({ pageNumber: 0 });\r\n }\r\n onSuggestorderIds = (e) => {\r\n if (this.props.autoCompleteWasteall\r\n && this.props.autoCompleteWasteall.data\r\n && !this.props.autoCompleteWasteall.isLoading\r\n ) {\r\n // let results = this.props.autoCompleteWasteall.data.filter((orderId) => {\r\n // return orderId.toLowerCase().startsWith(e.query.toLowerCase());\r\n // });\r\n\r\n this.setState({ orderIdSuggestions: this.props.autoCompleteWasteall.data.suggest });\r\n }\r\n }\r\n\r\n onSuggestCollectionNames = (e) => {\r\n if (this.props.autoCompleteAdminAll\r\n && this.props.autoCompleteAdminAll.data\r\n && !this.props.autoCompleteAdminAll.isLoading\r\n ) {\r\n this.setState({ collectionNameSuggestions: this.props.autoCompleteAdminAll.data.suggest });\r\n }\r\n }\r\n onChangeAutocomplete = (e) => {\r\n const { value, name } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n onChangeBank = (e) => {\r\n const { value } = e\r\n this.setState({ bank: value })\r\n }\r\n //> Action print\r\n\r\n // actionTemplate = (rowData, column) => {\r\n // console.log(`rowData:${rowData}`);\r\n // console.log(`column:${column}`);\r\n // return
    \r\n // \r\n //
    ;\r\n // }\r\n onSaveTransfer = () => {\r\n console.log(\"onSaveTransfer\")\r\n }\r\n\r\n // ======= Validate ======\r\n validateAllRequired = (nextState) => {\r\n\r\n }\r\n _validateLogic = (name, value) => {\r\n if (Validators.isEmpty(value)) {\r\n this._classNameRequiredIsError(name, true);\r\n }\r\n }\r\n _classNameRequiredIsError = (classNamed, status) => {\r\n if (!classNamed) {\r\n if (status) {\r\n this.showWarn();\r\n }\r\n } else {\r\n if (status) {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"p-error\"\r\n }\r\n }))\r\n } else {\r\n this.setState(pv => ({\r\n classNameRequired: {\r\n ...pv.classNameRequired, [classNamed]: \"\"\r\n }\r\n }))\r\n }\r\n }\r\n }\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ReportWithdraw :render\")\r\n console.log(`check : ${this.state.selection}`)\r\n let dynamicColumns = this.state.model.map((col, i) => {\r\n if (col.body) {\r\n return ()\r\n ;\r\n } else if (col.field && col.header) {\r\n return ;\r\n } else {\r\n return
    \r\n }\r\n });\r\n\r\n\r\n let data = []\r\n if (this.props.orderSearch && !this.props.orderSearch.isLoading) {\r\n if (!this.props.orderSearch.isFailed) {\r\n for (let key in this.props.orderSearch.data) {\r\n let entity = this.props.orderSearch.data[key];\r\n let tmpData = {\r\n \"col1\": null,\r\n \"col2\": entity.order_code,\r\n \"col3\": entity.pickup_date,\r\n \"col4\": entity.delivery_date,\r\n \"col5\": \"\",\r\n \"col6\": \"\",\r\n \"col7\": \"\",\r\n \"col8\": \"\",\r\n \"col9\": \"\",\r\n \"col10\": \"\",\r\n \"col11\": \"\",\r\n \"col12\": \"\"\r\n }\r\n data.push(tmpData);\r\n }\r\n }\r\n\r\n }\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n
    \r\n {/* DETAIL */}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n autoCompleteWasteall: state.autoCompleteWasteall,\r\n orderSearch: state.orderSearch,\r\n banks: state.master.banks,\r\n autoCompleteAdminAll: state.autoCompleteAdminAll,\r\n\r\n})\r\n\r\nexport default connect(mapStateToProps)(ReportWithdraw)\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport { CEInputText, CECalendar, CEDropdown } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\nimport {Dialog} from 'primereact/dialog';\r\n\r\nclass ManageProductPrice extends Component {\r\n static propTypes = {\r\n\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n addressDetail: '',\r\n priceList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: '',\r\n searchProductType: '',\r\n searchProduct: '',\r\n productSelected: '',\r\n priceSelected1: '',\r\n\r\n memberStore1: [\r\n { label: 'เลือกประเภทสินค้า', value: 0 },\r\n { label: 'กระดาษ', value: 1 },\r\n { label: 'พลาสติก', value: 2 },\r\n { label: 'ประเภทที่ 2', value: 3 },\r\n ],\r\n memberStore3: 0,\r\n memberStore4: [\r\n { label: 'เลือกสินค้า', value: 0 },\r\n { label: 'กระดาษขาวดำ', value: 1 },\r\n { label: 'กระดาษจับจั๊ว', value: 2 },\r\n { label: 'กระดาษกล่องลัง', value: 3 },\r\n ],\r\n\r\n testData: [\r\n {\r\n nameStore: 'ร้านมารวย',\r\n product_type: 'กระดาษ',\r\n product: 'กระดาษขาว',\r\n buy_per_kk: '10',\r\n },\r\n {\r\n nameStore: 'ร้านมาจน',\r\n product_type: 'พลาสติก',\r\n product: 'ขวดน้ำพลาสติก',\r\n buy_per_kk: ' 8',\r\n }\r\n ],\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getsalepricebyu3 = this.getsalepricebyu3.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.getsalepricebyu3ForValid = this.getsalepricebyu3ForValid.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n this.updateStatus = this.updateStatus.bind(this);\r\n\r\n }\r\n componentDidMount() {\r\n this.getsalepricebyu3();\r\n this.getsalepricebyu3ForValid();\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n searchProductList(){\r\n this.setState({ showProgress: true })\r\n var search = {\r\n u3_uid: this.state.memberUid1 || '',\r\n product_code: this.state.searchProductCode || '',\r\n product_type_code: this.state.searchProductTypeCode || '',\r\n }\r\n\r\n ServerAPI.searchSalePriceByU3(search).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({priceList: res })\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false })\r\n this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n getsalepricebyu3() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getsalepricebyu3().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ priceList: res })\r\n this.setState({ productPriceList: res})\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n getsalepricebyu3ForValid() {\r\n ServerAPI.getsalepricebyu3().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ productPriceList: res})\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n itemTemplate1(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n onSelectMemberName1(item) {\r\n console.log(item)\r\n this.setState({ memberName1: item.value.search_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n console.log(item);\r\n }\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n suggestMemberName1(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onMemberName1Changed(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName1: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName1: search_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e){\r\n console.log(e)\r\n this.setState({productTypeObjUpdate: e.value});\r\n }\r\n onWeightUpdate(e){\r\n console.log(e)\r\n this.setState({productObjUpdate: e.value});\r\n \r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n \r\n
    ;\r\n }\r\n statusTemplate(rowData, column) {\r\n var label = 'test';\r\n var classname = 'p-button';\r\n var icons = 'pi pi-eye';\r\n if(rowData.is_active == false){\r\n label = 'ไม่ใช้งาน';\r\n classname = 'p-button-warning';\r\n icons = 'pi pi-times';\r\n }\r\n if(rowData.is_active == true){\r\n label = 'ใช้งาน';\r\n classname = 'p-button';\r\n icons = 'pi pi-check';\r\n }\r\n return
    \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removesalepricebyu3(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.getsalepricebyu3ForValid()\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.priceList;\r\n // array.splice(index, 1);\r\n // this.setState({ priceList: array });\r\n // }\r\n \r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.productPrice)\r\n if(this.state.productPrice){\r\n var isNotinput = (\r\n this.state.productPrice.fee_per_kk == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n\r\n var data = {\r\n gid: this.state.productPrice.gid,\r\n fee_per_kk: parseFloat(this.state.productPrice.fee_per_kk),\r\n is_active: this.state.productPrice.is_active\r\n }\r\n\r\n ServerAPI.editSalepricebyu3(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getsalepricebyu3();\r\n this.setState({ displayDialog:false});\r\n this.setState({ statusDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n }\r\n }\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.productPrice;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateStatus(){\r\n this.update()\r\n }\r\n\r\n updateProperty(property, value) {\r\n let productPrice = this.state.productPrice;\r\n productPrice[property] = value;\r\n this.setState({productPrice: productPrice});\r\n }\r\n\r\n onproductPriceUpdate(e){\r\n console.log(e)\r\n var productTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk, \r\n }\r\n var productDropdown = {\r\n product_code: e.product_code,\r\n product_name: e.product_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n }\r\n this.setState({\r\n displayDialog:true,\r\n productPrice: Object.assign({}, e),\r\n productTypeObjUpdate: productTypeDropdown,\r\n productObjUpdate: productDropdown,\r\n });\r\n }\r\n onproductPriceDelete(e){\r\n console.log(e)\r\n let _disableDelete = false;\r\n if(e.is_used){\r\n _disableDelete = true\r\n }\r\n this.setState({\r\n deleteDialog:true,\r\n disableDelete: _disableDelete,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n onStatusUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n statusDialog: true,\r\n isNotValid: false,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n console.log(valid)\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.wasteTypeSelected == '' ||\r\n this.state.productSelected == '' ||\r\n this.state.priceSelected1 == '' ||\r\n this.state.memberUid == '' ||\r\n this.state.memberName == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.getsalepricebyu3ForValid();\r\n console.log(this.state.productPriceList)\r\n if(this.state.productPriceList)\r\n this.state.productPriceList.forEach(objProductPrice => {\r\n console.log(objProductPrice.u3_uid);\r\n console.log(this.state.memberUid);\r\n console.log(objProductPrice.product_type_code);\r\n console.log(this.state.productTypeCode);\r\n console.log(objProductPrice.product_code);\r\n console.log(this.state.productSelected.product_code);\r\n if (objProductPrice.u3_uid == this.state.memberUid\r\n && objProductPrice.product_type_code == this.state.productTypeCode\r\n && objProductPrice.product_code == this.state.productSelected.product_code) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var priceList = {\r\n gid: this.state.gid,\r\n u3_uid: this.state.memberUid,\r\n u3_name: this.state.memberName,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_type_name: this.state.wasteTypeSelected.product_type_name,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n fee_per_kk: parseFloat(this.state.priceSelected1),\r\n\r\n }\r\n\r\n ServerAPI.Addsalepricebyu3(priceList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.clearAllDataInput();\r\n //this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n console.log(this.state.priceList)\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n \r\n }\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n this.setState({ searchProductName: e.value.product_name });\r\n }\r\n\r\n clearAllDataInput() {\r\n\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ priceSelected1: '' })\r\n this.setState({ memberName: '' })\r\n this.setState({ memberUid: '' })\r\n this.setState({ productPrice: null })\r\n this.setState({ productTypeObjUpdate: null })\r\n this.setState({ productObjUpdate: null })\r\n\r\n this.getsalepricebyu3()\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null }); \r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n console.log(this.state.searchProductType)\r\n console.log(this.state.searchProduct)\r\n console.log(this.state.searchProductTypeCode)\r\n console.log(this.state.searchProductCode)\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n showSearchPanel() {\r\n const {\r\n productType1,\r\n product1,\r\n } = this.props;\r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberName1Changed(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n )\r\n }\r\n\r\n\r\n addNewProductTab() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n this.setState({ priceSelected1: e.target.value })}\r\n />\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n showWeightTable() {\r\n var list = this.state.priceList;\r\n var newlist = []\r\n if(list)\r\n list.forEach((objlist,index) => {\r\n if(objlist.product_type_code == null || objlist.product_code == null){\r\n list.splice(index,1);\r\n }\r\n });\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n let statusDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })}\r\n responsive={true} emptyMessage={(
    \r\n \r\n
    )} >\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.productPrice &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.productPrice.u3_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_name}\r\n
    \r\n
    \r\n
    \r\n {this.state.productPrice.fee_per_kk}\r\n
    \r\n \r\n {this.state.productPrice.is_used && \r\n
    \r\n *****สินค้านี้ไม่สามารถลบได้ เนื่องจากมีการซื้อ-ขายสินค้านี้*****\r\n
    }\r\n \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.productPrice &&\r\n \r\n
    \r\n \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.productPrice.u3_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('fee_per_kk', e.target.value)}}\r\n />\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({statusDialog: false})}\r\n style={{width:'30vw'}}\r\n >\r\n { this.state.productPrice &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productPrice.is_active === true} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productPrice.is_active === false} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n\r\n onSubmit() {\r\n\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewProductTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n \r\n\r\n\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageProductPrice)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Dialog} from 'primereact/dialog';\r\n\r\nimport { CEInputText, CECalendar, CEDropdown } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\n\r\nclass ManageProductFee extends Component {\r\n static propTypes = {\r\n\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n addressDetail: '',\r\n priceList: [],\r\n\r\n brandSuggestions: null,\r\n wasteTypeSelected: null,\r\n searchProductType: '',\r\n searchProduct: '',\r\n productSelected: null,\r\n priceSelected: '',\r\n weigthSelected: '',\r\n\r\n memberStore: 0,\r\n memberStore1: [\r\n { label: 'เลือกประเภทสินค้า', value: 0 },\r\n { label: 'กระดาษ', value: 1 },\r\n { label: 'พลาสติก', value: 2 },\r\n { label: 'ประเภทที่ 2', value: 3 },\r\n ],\r\n memberStore3: 0,\r\n memberStore4: [\r\n { label: 'เลือกสินค้า', value: 0 },\r\n { label: 'กระดาษขาวดำ', value: 1 },\r\n { label: 'กระดาษจับจั๊ว', value: 2 },\r\n { label: 'กระดาษกล่องลัง', value: 3 },\r\n ],\r\n\r\n weigth1: null,\r\n weigth1Item: [\r\n //{ name: 'เลือกระยะทาง', code: 0 },\r\n { name: 'น้อยกว่า 50 กิโลกรัม', code: 1 },\r\n { name: '50-500 กิโลกรัม', code: 2 },\r\n { name: '500-1000 กิโลกรัม', code: 3 },\r\n { name: 'มากกว่า 1000 กิโลกรัม', code: 4 },\r\n ],\r\n testData: [\r\n {\r\n product_type: 'กระดาษ',\r\n product: 'กระดาษขาว',\r\n weigth: 'น้อยกว่า 50',\r\n buy_per_kk: '2',\r\n },\r\n {\r\n product_type: 'พลาสติก',\r\n product: 'ขวดน้ำพลาสติก',\r\n weigth: '50-100',\r\n buy_per_kk: '2.5',\r\n }\r\n ],\r\n isNotValid: false,\r\n showProgress: false,\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.onWeigth1Change = this.onWeigth1Change.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.getprocessfee = this.getprocessfee.bind(this);\r\n this.onWeightChange = this.onWeightChange.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.getprocessfeeForCheck = this.getprocessfeeForCheck.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onProductTypeUpdate = this.onProductTypeUpdate.bind(this);\r\n this.onProductUpdate = this.onProductUpdate.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getprocessfee();\r\n this.getfeeWeight1Type();\r\n this.getprocessfeeForCheck();\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n searchProductList() {\r\n this.setState({ showProgress: true })\r\n var productList = {\r\n product_code: this.state.searchProductCode,\r\n product_type_code: this.state.searchProductTypeCode,\r\n }\r\n\r\n ServerAPI.searchProuctFee(productList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ priceList: res })\r\n this.setState({ showProgress: false })\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n\r\n }\r\n\r\n onWeigth1Change(e) {\r\n this.setState({ weigth1: e.value });\r\n }\r\n\r\n getprocessfee() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getprocessfee().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ priceList: res }) //table\r\n this.setState({ processFeeList: res }) //for valid add\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n getprocessfeeForCheck() {\r\n ServerAPI.getprocessfee().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ processFeeList: res }) //for valid add\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n getfeeWeight1Type() {\r\n ServerAPI.getFeeWeightType().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ weightTypeList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onProductTypeUpdate(e){\r\n console.log(e)\r\n this.setState({ProductTypeObjUpdate: e.value});\r\n }\r\n onProductUpdate(e){\r\n console.log(e)\r\n this.setState({ProductObjUpdate: e.value});\r\n }\r\n onWeightUpdate(e){\r\n console.log(e)\r\n this.setState({weightObjUpdate: e.value});\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n \r\n
    ;\r\n }\r\n\r\n\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removeprocessfee(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.getprocessfeeForCheck();\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n // if (index !== -1) {\r\n // var array = this.state.priceList;\r\n // array.splice(index, 1);\r\n // this.setState({ priceList: array });\r\n // }\r\n }\r\n\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.productFee)\r\n if(this.state.productFee){\r\n var isNotinput = (\r\n this.state.productFee.fee_per_kk == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var data = {\r\n gid: this.state.productFee.gid,\r\n fee_per_kk: parseFloat(this.state.productFee.fee_per_kk),\r\n }\r\n\r\n ServerAPI.editProcessfee(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getprocessfee();\r\n this.setState({ displayDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n }\r\n }\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.productFee;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateProperty(property, value) {\r\n let productFee = this.state.productFee;\r\n productFee[property] = value;\r\n this.setState({productFee: productFee});\r\n }\r\n\r\n onProductFeeUpdate(e){\r\n console.log(e)\r\n var ProductTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n }\r\n var ProductDropdown = {\r\n product_code: e.product_code,\r\n product_name: e.product_name,\r\n less_than_km: e.less_than_km,\r\n more_than_km: e.more_than_km,\r\n }\r\n var weightDropdown = {\r\n weight_type_id: e.weight_type_id,\r\n weight_type_name: e.weight_type_name,\r\n less_than_km: e.less_than_km,\r\n more_than_km: e.more_than_km,\r\n }\r\n this.setState({\r\n displayDialog:true,\r\n productFee: Object.assign({}, e),\r\n ProductTypeObjUpdate: ProductTypeDropdown,\r\n ProductObjUpdate: ProductDropdown,\r\n weightObjUpdate: weightDropdown,\r\n });\r\n }\r\n onProductFeeDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n productFee: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n console.log(valid)\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.wasteTypeSelected == null ||\r\n this.state.productSelected == null ||\r\n this.state.priceSelected == '' ||\r\n this.state.weigth1 == null ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.getprocessfeeForCheck();\r\n console.log(this.state.processFeeList)\r\n if (this.state.processFeeList)\r\n this.state.processFeeList.forEach(objPriceCost => {\r\n\r\n console.log(objPriceCost);\r\n console.log(objPriceCost.product_type_code);\r\n console.log(this.state.wasteTypeSelected.product_type_code);\r\n console.log(objPriceCost.product_name);\r\n console.log(this.state.productSelected.product_name);\r\n console.log(objPriceCost.weight_type_name);\r\n console.log(this.state.weigth1.weight_name);\r\n\r\n if (objPriceCost.product_type_code == this.state.wasteTypeSelected.product_type_code &&\r\n objPriceCost.product_name == this.state.productSelected.product_name &&\r\n objPriceCost.weight_type_name == this.state.weigth1.weight_name) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var priceList = {\r\n\r\n weight_type_name: this.state.weigth1.name,\r\n weight_type_id: this.state.idweigth,\r\n more_than_kk: this.state.min_per_kk,\r\n less_than_kk: this.state.max_per_kk,\r\n weight_name: this.state.nameWeigth,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_type_name: this.state.wasteTypeSelected.product_type_name,\r\n product_name: this.state.productSelected.product_name,\r\n product_code: this.state.productSelected.product_code,\r\n // wasteType: this.state.wasteTypeSelected.product_type_name,\r\n fee_per_kk: parseFloat(this.state.priceSelected),\r\n }\r\n\r\n ServerAPI.Addprocessfee(priceList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n\r\n\r\n\r\n\r\n }\r\n console.log(priceList)\r\n }\r\n }\r\n\r\n\r\n\r\n clearAllDataInput() {\r\n\r\n this.setState({ wasteTypeSelected: null })\r\n this.setState({ productSelected: null })\r\n this.setState({ priceSelected: '' })\r\n this.setState({ weigth1: null })\r\n this.setState({ idweigth: null })\r\n this.setState({ min_per_kk: null })\r\n this.setState({ max_per_kk: null })\r\n this.setState({ nameWeigth: null })\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberName: null });\r\n this.setState({ priceSelected: '' });\r\n\r\n }\r\n\r\n clearSearchInput() {\r\n\r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n console.log(this.state.searchProductType)\r\n console.log(this.state.searchProduct)\r\n console.log(this.state.searchProductTypeCode)\r\n console.log(this.state.searchProductCode)\r\n this.clearAllDataInput();\r\n }\r\n onWeightChange(e) {\r\n this.setState({ weigth1: e.value });\r\n this.setState({ idweigth: e.value.gid });\r\n this.setState({ nameWeigth: e.value.weight_name });\r\n this.setState({ min_per_kk: e.value.more_than_kk });\r\n this.setState({ max_per_kk: e.value.less_than_kk });\r\n }\r\n\r\n showSearchPanel() {\r\n const {\r\n productType1,\r\n product1,\r\n } = this.props;\r\n return (\r\n\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n\r\n addNewProductTab() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n\r\n\r\n return (\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n this.setState({ priceSelected: e.target.value })}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n showWeightTable() {\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n \r\n \r\n
    )} >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.productFee &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.productFee.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productFee.product_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productFee.weight_type_name}\r\n
    \r\n
    \r\n
    \r\n {this.state.productFee.fee_per_kk}\r\n
    \r\n
    \r\n \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.productFee &&\r\n \r\n
    \r\n \r\n
    คุณต้องการจะแก้ไขข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.productFee.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productFee.product_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productFee.weight_type_name}\r\n
    \r\n
    \r\n
    \r\n {this.updateProperty('fee_per_kk', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n onSubmit() {\r\n\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewProductTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    จัดการค่าบริการ

    \r\n
    \r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageProductFee)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Validators} from '../../utils'\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\nimport {CEFileUpload} from '../../features/widget';\r\n\r\nclass ManageDeliveryCost extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n deliveryCost: '',\r\n deliveryCostList: [],\r\n distanceName: null,\r\n distanceGid: null,\r\n distanceItem: [\r\n //{ name: 'เลือกระยะทาง', code: 0 },\r\n { name: 'น้อยกว่า 5 กิโลเมตร', code: 1 },\r\n { name: '5-9 กิโลเมตร', code: 2 },\r\n { name: 'มากกว่า 10 กิโลเมตร', code: 3 },\r\n ],\r\n weightName: null,\r\n weightGid: null,\r\n weightItem: [\r\n //{ name: 'เลือกน้ำหนัก', code: 0 },\r\n { name: 'น้อยกว่า 10 กิโลกรัม', code: 1 },\r\n { name: '10-50 กิโลกรัม', code: 2 },\r\n { name: '51-500 กิโลกรัม', code: 3 },\r\n { name: '501-1000 กิโลกรัม', code: 4 },\r\n { name: 'มากกว่า 1000 กิโลกรัม', code: 5 },\r\n ],\r\n isNotValid: false,\r\n showProgress: false,\r\n checkedRecalonly: false,\r\n checkedRecalonlyEdit: null,\r\n recalonlyAdd : 0,\r\n };\r\n this.onClickAddDeliveryCost = this.onClickAddDeliveryCost.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.onDistanceChange = this.onDistanceChange.bind(this);\r\n this.onWeightChange = this.onWeightChange.bind(this);\r\n this.clearAllDataInput = this.clearAllDataInput.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onDistanceUpdate = this.onDistanceUpdate.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n componentDidMount() {\r\n this.getTransportFee();\r\n this.getTranspotWeightType();\r\n this.getTranspotDistanceType();\r\n }\r\n getTransportFee(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getTransportFee().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({deliveryCostList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n getTranspotDistanceType(){\r\n ServerAPI.getTranspotDistanceType().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({distanceList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n getTranspotWeightType(){\r\n ServerAPI.getTranspotWeightType().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({weightList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n onDistanceChange(e){\r\n console.log(e)\r\n this.setState({distanceObj: e.value});\r\n this.setState({distanceName: e.value.distance_name});\r\n this.setState({distanceGid: e.value.gid});\r\n this.setState({minDistance: e.value.more_than_km});\r\n this.setState({maxDistance: e.value.less_than_km});\r\n }\r\n onWeightChange(e){\r\n console.log(e)\r\n this.setState({weightObj: e.value});\r\n this.setState({weightName: e.value.weight_name});\r\n this.setState({weightGid: e.value.gid});\r\n this.setState({minWeight: e.value.more_than_kk});\r\n this.setState({maxWeight: e.value.less_than_kk});\r\n }\r\n onDistanceUpdate(e){\r\n console.log(e)\r\n this.setState({distanceObjUpdate: e.value});\r\n // this.setState({distance_type_name: e.value.distance_name});\r\n // this.setState({distance_type_id: e.value.gid});\r\n // this.setState({more_than_km: e.value.more_than_km});\r\n // this.setState({less_than_km: e.value.less_than_km});\r\n }\r\n onWeightUpdate(e){\r\n console.log(e)\r\n this.setState({weightObjUpdate: e.value});\r\n // this.setState({weight_type_name: e.value.weight_name});\r\n // this.setState({weight_type_id: e.value.gid});\r\n // this.setState({more_than_kk: e.value.more_than_kk});\r\n // this.setState({less_than_kk: e.value.less_than_kk});\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n {/* */}\r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removeTransportFee(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getTransportFee();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n // if (index !== -1) {\r\n // var array = this.state.deliveryCostList;\r\n // array.splice(index, 1);\r\n // this.setState({ deliveryCostList: array });\r\n // }\r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.transportFee)\r\n if(this.state.transportFee){\r\n var isNotinput = (\r\n this.state.transportFee.fee_baht == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n // var notValid = false;\r\n // this.state.deliveryCostList.forEach(objDeliveryCost => {\r\n // console.log(objDeliveryCost.distance_type_id);\r\n // console.log( this.state.distanceObjUpdate.gid);\r\n // console.log(objDeliveryCost.weight_type_id);\r\n // console.log(this.state.weightObjUpdate.gid);\r\n // if(objDeliveryCost.gid != this.state.transportFee.gid )\r\n // if(objDeliveryCost.distance_type_id == this.state.distanceObjUpdate.gid && \r\n // objDeliveryCost.weight_type_id == this.state.weightObjUpdate.gid){\r\n // notValid = true;\r\n // }\r\n // });\r\n \r\n // if(notValid){\r\n // this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n // }else{\r\n\r\n var data = {\r\n gid: this.state.transportFee.gid,\r\n recalonly: this.state.checkedRecalonlyEdit,\r\n // weight_type_id: this.state.weightObjUpdate.gid,\r\n // weight_type_name: this.state.weightObjUpdate.weight_name,\r\n // distance_type_id: this.state.distanceObjUpdate.gid,\r\n // distance_type_name: this.state.distanceObjUpdate.distance_name,\r\n // more_than_kk: this.state.weightObjUpdate.more_than_kk,\r\n // less_than_kk: this.state.weightObjUpdate.less_than_kk,\r\n // more_than_km: this.state.distanceObjUpdate.more_than_km,\r\n // less_than_km: this.state.distanceObjUpdate.less_than_km,\r\n fee_baht: parseFloat(this.state.transportFee.fee_baht),\r\n }\r\n\r\n ServerAPI.editTransportFee(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getTransportFee();\r\n this.setState({ displayDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n }\r\n }\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.transportFee;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateProperty(property, value) {\r\n let transportFee = this.state.transportFee;\r\n transportFee[property] = value;\r\n this.setState({transportFee: transportFee});\r\n }\r\n\r\n onDeliveryCostUpdate(e){\r\n console.log('sdfsdfsdfsdfsdf',e)\r\n var distanceDropdown = {\r\n distance_type_id: e.distance_type_id,\r\n distance_type_name: e.distance_type_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n }\r\n var weightDropdown = {\r\n weight_type_id: e.weight_type_id,\r\n weight_type_name: e.weight_type_name,\r\n less_than_km: e.less_than_km,\r\n more_than_km: e.more_than_km,\r\n }\r\n \r\n this.setState({\r\n displayDialog:true,\r\n transportFee: Object.assign({}, e),\r\n distanceObjUpdate: distanceDropdown,\r\n weightObjUpdate: weightDropdown,\r\n });\r\n this.setState({checkedRecalonlyEdit : e.recalonly })\r\n }\r\n onDeliveryCostDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n transportFee: Object.assign({}, e),\r\n });\r\n }\r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n onClickAddDeliveryCost(){\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.distanceGid == null||\r\n this.state.weightGid == null ||\r\n this.state.deliveryCost == '' ||\r\n this.state.isNotValid == true ||\r\n this.state.checkedRecalonly == null \r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.state.deliveryCostList.forEach(objDeliveryCost => {\r\n console.log(objDeliveryCost.distance_type_id);\r\n console.log(this.state.distanceGid);\r\n console.log(objDeliveryCost.weight_type_id);\r\n console.log(this.state.weightGid);\r\n if(objDeliveryCost.distance_type_id == this.state.distanceGid && objDeliveryCost.weight_type_id == this.state.weightGid){\r\n notValid = true;\r\n }\r\n });\r\n\r\n if(notValid){\r\n this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var deliveryCostList = {\r\n // deliveryCost_code: '',\r\n // distance: this.state.distanceName,\r\n // weight: this.state.weightName,\r\n // deliveryCost: parseFloat(this.state.deliveryCost).toFixed(2),\r\n weight_type_id: this.state.weightGid,\r\n weight_type_name: this.state.weightName,\r\n distance_type_id: this.state.distanceGid,\r\n distance_type_name: this.state.distanceName,\r\n more_than_kk: this.state.minWeight,\r\n less_than_kk: this.state.maxWeight,\r\n more_than_km: this.state.minDistance,\r\n less_than_km: this.state.maxDistance,\r\n recalonly: this.state.checkedRecalonly,\r\n fee_baht: parseFloat(this.state.deliveryCost),\r\n\r\n }\r\n console.log(deliveryCostList)\r\n //this.state.deliveryCostList.push(deliveryCostList)\r\n\r\n ServerAPI.AddTransportFee(deliveryCostList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n \r\n this.showSuccess();\r\n this.getTransportFee();\r\n this.clearAllDataInput();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n }\r\n console.log(this.state.deliveryCostList)\r\n }\r\n clearAllDataInput(){\r\n this.setState({ distanceGid: null })\r\n this.setState({ weightGid: null })\r\n this.setState({ distanceName: null })\r\n this.setState({ weightName: null })\r\n \r\n \r\n this.setState({ minWeight: null })\r\n this.setState({ maxWeight: null })\r\n this.setState({ minDistance: null })\r\n this.setState({ maxDistance: null })\r\n\r\n this.setState({ distanceObj: null })\r\n this.setState({ weightObj: null })\r\n\r\n this.setState({ deliveryCost: '' })\r\n this.setState({ isNotValid: false })\r\n\r\n this.setState({ transportFee: null })\r\n this.setState({ distanceObjUpdate: null })\r\n this.setState({ weightObjUpdate: null })\r\n }\r\n\r\n\r\n \r\n showAddDeliveryCost(){\r\n const newWeight = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({deliveryCost: e.target.value})}\r\n />\r\n \r\n
    \r\n
    \r\n this.setState({checkedRecalonly : e.checked})} />\r\n \r\n {console.log('หลัง',this.state.checkedRecalonly)}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n return newWeight;\r\n }\r\n\r\n showDeliveryCostTable(){\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const deliveryCostTable = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.transportFee &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.transportFee.distance_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.transportFee.weight_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.transportFee.fee_baht}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.transportFee &&\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.transportFee.distance_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.transportFee.weight_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('fee_baht', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n this.setState({checkedRecalonlyEdit : e.checked})} />\r\n \r\n
    \r\n \r\n\r\n \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n if(!this.state.showProgress)\r\n return deliveryCostTable;\r\n }\r\n \r\n\r\n render() {\r\n const addDeliveryCostPanel = this.showAddDeliveryCost();\r\n const deliveryCostTablePanel = this.showDeliveryCostTable();\r\n const showProgress = this.showProgressSpinner();\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    จัดการค่าขนส่ง

    \r\n
    \r\n\r\n {addDeliveryCostPanel}\r\n {showProgress}\r\n {deliveryCostTablePanel}\r\n\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageDeliveryCost)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport {Spinner} from 'primereact/spinner';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Validators} from '../../utils'\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\nimport {CEFileUpload} from '../../features/widget';\r\n\r\nclass ManageDeliveryDistance extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n distanceList: [],\r\n distanceLabel: '',\r\n minDistance: '',\r\n maxDistance: '',\r\n isNotValid: false,\r\n isNotValidUpdate: false,\r\n showProgress: false,\r\n };\r\n this.onClickAddDistance = this.onClickAddDistance.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getTranspotDistanceType = this.getTranspotDistanceType.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onUpdateValidation = this.onUpdateValidation.bind(this);\r\n \r\n }\r\n componentDidMount() {\r\n this.getTranspotDistanceType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n getTranspotDistanceType(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getTranspotDistanceType().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({distanceList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n {/* */}\r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n if (rowData !== '') {\r\n console.log(rowData)\r\n var id = rowData.gid;\r\n ServerAPI.removeTranspotDistanceType(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getTranspotDistanceType();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }else{\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n // if (index !== -1) {\r\n // var array = this.state.distanceList;\r\n // array.splice(index, 1);\r\n // this.setState({ distanceList: array });\r\n // }\r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.distance)\r\n console.log(this.state.isNotValidUpdate)\r\n if(this.state.distance){\r\n var isNotinput = (\r\n this.state.distance.distance_name == '' ||\r\n this.state.distance.more_than_km == '' ||\r\n this.state.distance.less_than_km == '' ||\r\n this.state.isNotValidUpdate == true\r\n );\r\n \r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.distance.more_than_km)\r\n var max = parseFloat(this.state.distance.less_than_km)\r\n \r\n if(min >= max){\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n this.state.distanceList.indexOf(\"\")\r\n this.state.distanceList.forEach(objdistanceList => {\r\n var objMin = parseFloat(objdistanceList.more_than_km)\r\n var objMax = parseFloat(objdistanceList.less_than_km)\r\n console.log(min+\" > \"+objMin);\r\n console.log(max+\" > \"+objMin);\r\n console.log(min+\" < \"+objMax);\r\n console.log(max+\" < \"+objMax);\r\n \r\n if(objdistanceList.gid != this.state.distance.gid)\r\n if((min < objMin && max < objMin) || (min > objMax && max > objMax)){\r\n console.log(\"pass!\");\r\n }else if(objMin <= min || objMax >= max){\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n }else if(objMin >= min || objMax <= max){\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n }else console.log(\"pass2!\");\r\n }); \r\n \r\n if(notValid){\r\n this.showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var data = {\r\n gid: this.state.distance.gid,\r\n distance_name: this.state.distance.distance_name,\r\n more_than_km: parseFloat(this.state.distance.more_than_km),\r\n less_than_km: parseFloat(this.state.distance.less_than_km),\r\n }\r\n\r\n ServerAPI.editTransportDistanceType(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getTranspotDistanceType();\r\n this.setState({ displayDialog:false});\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.distance;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateProperty(property, value) {\r\n let distance = this.state.distance;\r\n distance[property] = value;\r\n this.setState({distance: distance});\r\n }\r\n\r\n onDistanceUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n displayDialog:true,\r\n distance: Object.assign({}, e)\r\n });\r\n }\r\n onDistanceDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n distance: Object.assign({}, e)\r\n });\r\n }\r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n onUpdateValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValidUpdate: true })\r\n else this.setState({isNotValidUpdate: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n onClickAddDistance(){\r\n this.setState({ showProgress: true })\r\n var isNotinput = (this.state.distanceLabel == '' ||\r\n this.state.minDistance == '' ||\r\n this.state.maxDistance == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.minDistance)\r\n var max = parseFloat(this.state.maxDistance)\r\n\r\n if(min >= max){\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"ค่าเริ่มต้น ต้องน้อยกว่าค่าสิ้นสุด\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n this.state.distanceList.forEach(objDistance => {\r\n var objMin = parseFloat(objDistance.more_than_km)\r\n var objMax = parseFloat(objDistance.less_than_km)\r\n console.log(min+\" < \"+objMin);\r\n console.log(max+\" < \"+objMin);\r\n console.log(min+\" > \"+objMax);\r\n console.log(max+\" > \"+objMax);\r\n if((min < objMin && max < objMin) || (min > objMax && max > objMax)){\r\n console.log(\"pass!\");\r\n }else if(objMin <= min || objMax >= max){\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n }else if(objMin >= min || objMax <= max){\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n }else console.log(\"pass2!\");\r\n }); \r\n \r\n if(notValid){\r\n this.showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var distanceList = {\r\n // gid: 0,\r\n // distance_code: '',\r\n distance_name: this.state.distanceLabel,\r\n more_than_km: parseFloat(this.state.minDistance),\r\n less_than_km: parseFloat(this.state.maxDistance),\r\n }\r\n //this.state.distanceList.push(distanceList)\r\n\r\n ServerAPI.AddTranspotDistanceType(distanceList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getTranspotDistanceType();\r\n this.setState({ distanceLabel: '' })\r\n this.setState({ minDistance: '' })\r\n this.setState({ maxDistance: '' })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n\r\n \r\n //this.showSuccess();\r\n //this.onSubmit(distanceList);\r\n }\r\n console.log(this.state.distanceList)\r\n }\r\n }\r\n }\r\n\r\n showAddDistance(){\r\n const newDistance = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({distanceLabel: e.target.value})}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({minDistance: e.target.value})}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({maxDistance: e.target.value})}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n return newDistance;\r\n }\r\n\r\n showDistanceTable(){\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const distanceTable = (\r\n
    \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.distance &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.distance.distance_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.distance.more_than_km}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.distance.less_than_km}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.distance &&\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('distance_name', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('more_than_km', e.target.value)}}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('less_than_km', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n if(!this.state.showProgress)\r\n return distanceTable;\r\n }\r\n \r\n\r\n render() {\r\n const addDistancePanel = this.showAddDistance();\r\n const distanceTablePanel = this.showDistanceTable();\r\n const showProgress = this.showProgressSpinner();\r\n \r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าระยะทางขนส่ง

    \r\n
    \r\n \r\n {addDistancePanel}\r\n {showProgress}\r\n {distanceTablePanel}\r\n\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n // dhbUsers: state.dhbAdmin.dhbUsers,\r\n // locationMaster: state.location,\r\n // provinces: state.location.province,\r\n // districts: state.location.district,\r\n // subDistricts: state.location.subDistrict,\r\n // cardProvince: state.location.cardProvince,\r\n // cardDistrict: state.location.cardDistrict,\r\n // cardSubDistrict: state.location.cardSubDistrict,\r\n // authentication: state.authentication,\r\n // userInfo: state.userInfo.data,\r\n // userInfoMaster: state.userInfo,\r\n // updateWasteproProfile: state.updateWasteproProfile,\r\n // banks: state.master.banks,\r\n // productType: state.master.productType,\r\n // product: state.master.product,\r\n // getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageDeliveryDistance)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Validators} from '../../utils'\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\nimport {CEFileUpload} from '../../features/widget';\r\n\r\nclass ManageDeliveryWeight extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n weightList: [],\r\n vehicleType: '',\r\n weightLabel: '',\r\n minWeight: '',\r\n maxWeight: '',\r\n isNotValid: false,\r\n showProgress: false,\r\n };\r\n this.onClickAddWeight = this.onClickAddWeight.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getTranspotWeightType = this.getTranspotWeightType.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightSelect = this.onWeightSelect.bind(this);\r\n // this.onRowSelected = this.onRowSelected.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getTranspotWeightType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n getTranspotWeightType(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getTranspotWeightType().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({weightList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n {/* */}\r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removeTranspotWeightType(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getTranspotWeightType();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.weight)\r\n if(this.state.weight){\r\n var isNotinput = (\r\n this.state.weight.weight_name == '' ||\r\n this.state.weight.more_than_kk == '' ||\r\n this.state.weight.less_than_kk == '' ||\r\n this.state.isNotValid == true\r\n );\r\n \r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.weight.more_than_kk)\r\n var max = parseFloat(this.state.weight.less_than_kk)\r\n \r\n if(min >= max){\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n // this.state.weightList.indexOf(\"\")\r\n // this.state.weightList.forEach(objWeightList => {\r\n // var objMin = parseFloat(objWeightList.more_than_kk)\r\n // var objMax = parseFloat(objWeightList.less_than_kk)\r\n // console.log(min+\" > \"+objMin);\r\n // console.log(max+\" > \"+objMin);\r\n // console.log(min+\" < \"+objMax);\r\n // console.log(max+\" < \"+objMax);\r\n \r\n // if(objWeightList.gid != this.state.weight.gid)\r\n // if((min < objMin && max < objMin) || (min > objMax && max > objMax)){\r\n // console.log(\"pass!\");\r\n // }else if(objMin <= min || objMax >= max){\r\n // console.log(\"not pass!\")\r\n // notValid = true;\r\n // }else if(objMin >= min || objMax <= max){\r\n // console.log(\"not pass2!\")\r\n // notValid = true;\r\n // }else console.log(\"pass2!\");\r\n // }); \r\n \r\n if(notValid){\r\n this.showWarn(\"มีช่วงน้ำหนักที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n\r\n var data = {\r\n gid: this.state.weight.gid,\r\n weight_name: this.state.weight.weight_name,\r\n more_than_kk: parseFloat(this.state.weight.more_than_kk),\r\n less_than_kk: parseFloat(this.state.weight.less_than_kk),\r\n }\r\n\r\n ServerAPI.editTransportWeightType(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getTranspotWeightType();\r\n this.setState({ displayDialog:false});\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.weight;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n\r\n findSelectedWeightIndex() {\r\n return this.state.cars.indexOf(this.state.selectedCar);\r\n }\r\n\r\n updateProperty(property, value) {\r\n let weight = this.state.weight;\r\n weight[property] = value;\r\n this.setState({weight: weight});\r\n }\r\n\r\n onWeightSelect(e){\r\n console.log(e)\r\n this.setState({\r\n displayDialog:true,\r\n weight: Object.assign({}, e)\r\n });\r\n }\r\n onWeightDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n weight: Object.assign({}, e)\r\n });\r\n }\r\n // onRowSelected(e){\r\n // console.log(e)\r\n // // this.newCar = false;\r\n // // this.setState({\r\n // // // deleteDialog:true,\r\n // // weight: Object.assign({}, e.data)\r\n // // });\r\n // }\r\n \r\n \r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n onClickAddWeight(){\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.weightLabel == '' ||\r\n this.state.minWeight == '' ||\r\n this.state.maxWeight == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.minWeight)\r\n var max = parseFloat(this.state.maxWeight)\r\n\r\n if(min >= max){\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var notValid = false;\r\n // this.state.weightList.forEach(objWeightList => {\r\n // var objMin = parseFloat(objWeightList.more_than_kk)\r\n // var objMax = parseFloat(objWeightList.less_than_kk)\r\n // console.log(min+\" > \"+objMin);\r\n // console.log(max+\" > \"+objMin);\r\n // console.log(min+\" < \"+objMax);\r\n // console.log(max+\" < \"+objMax);\r\n // if((min < objMin && max < objMin) || (min > objMax && max > objMax)){\r\n // console.log(\"pass!\");\r\n // }else if(objMin <= min || objMax >= max){\r\n // console.log(\"not pass!\")\r\n // notValid = true;\r\n // }else if(objMin >= min || objMax <= max){\r\n // console.log(\"not pass2!\")\r\n // notValid = true;\r\n // }else console.log(\"pass2!\");\r\n // }); \r\n\r\n if(notValid){\r\n this.showWarn(\"มีช่วงน้ำหนักที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n var weightList = {\r\n weight_name: this.state.weightLabel,\r\n more_than_kk: parseFloat(this.state.minWeight),\r\n less_than_kk: parseFloat(this.state.maxWeight),\r\n }\r\n //this.state.weightList.push(weightList)\r\n\r\n ServerAPI.AddTranspotWeightType(weightList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getTranspotWeightType();\r\n this.setState({ vehicleType: '' })\r\n this.setState({ weightLabel: '' })\r\n this.setState({ minWeight: '' })\r\n this.setState({ maxWeight: '' })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n\r\n \r\n //this.showSuccess();\r\n }\r\n console.log(this.state.weightList)\r\n }\r\n }\r\n }\r\n \r\n showAddWeight(){\r\n const newWeight = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({weightLabel: e.target.value})}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({minWeight: e.target.value})}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({maxWeight: e.target.value})}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n\r\n return newWeight;\r\n }\r\n\r\n showWeightTable(){\r\n\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n\r\n const weightTable = (\r\n
    \r\n \r\n \r\n this.setState({selectedWeight: e.value})} \r\n // // onRowSelect={this.onRowSelected}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.weight &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.weight.weight_name}\r\n
    \r\n
    \r\n
    \r\n {this.state.weight.more_than_kk}\r\n
    \r\n
    \r\n
    \r\n {this.state.weight.less_than_kk}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.weight &&\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('weight_name', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('more_than_kk', e.target.value)}}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('less_than_kk', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n \r\n\r\n render() {\r\n const addWeightPanel = this.showAddWeight();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าน้ำหนักขนส่ง

    \r\n
    \r\n\r\n {addWeightPanel}\r\n {showProgress}\r\n {weightTablePanel}\r\n\r\n\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageDeliveryWeight)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport { Validators } from '../../utils'\r\nimport { CEInputText, CECalendar, CEDropdown } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\nimport { Dialog } from 'primereact/dialog';\r\n\r\nclass ManageFeeWeight extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n weightList: [],\r\n vehicleType: '',\r\n weightFeeLabel: '',\r\n minWeight: '',\r\n maxWeight: '',\r\n isNotValid: false,\r\n showProgress: false,\r\n };\r\n this.onClickAddWeight = this.onClickAddWeight.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getFeeWeightType = this.getFeeWeightType.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.save = this.save.bind(this);\r\n this.onFeeWeightSelect = this.onFeeWeightSelect.bind(this);\r\n \r\n }\r\n componentDidMount() {\r\n this.getFeeWeightType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n getFeeWeightType() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getFeeWeightType().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ weightList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removeFeeWeightType(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getFeeWeightType();\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.weightList;\r\n // array.splice(index, 1);\r\n // this.setState({ weightList: array });\r\n // }\r\n }\r\n\r\n save() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.Feeweight)\r\n if (this.state.Feeweight) {\r\n var isNotinput = (\r\n this.state.Feeweight.weight_name == '' ||\r\n this.state.Feeweight.more_than_kk == '' ||\r\n this.state.Feeweight.less_than_kk == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.Feeweight.more_than_kk)\r\n var max = parseFloat(this.state.Feeweight.less_than_kk)\r\n\r\n if (min >= max) {\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.state.weightList.indexOf(\"\")\r\n this.state.weightList.forEach(objWeightList => {\r\n var objMin = parseFloat(objWeightList.more_than_kk)\r\n var objMax = parseFloat(objWeightList.less_than_kk)\r\n console.log(min + \" > \" + objMin);\r\n console.log(max + \" > \" + objMin);\r\n console.log(min + \" < \" + objMax);\r\n console.log(max + \" < \" + objMax);\r\n\r\n if (objWeightList.gid != this.state.Feeweight.gid)\r\n if ((min < objMin && max < objMin) || (min > objMax && max > objMax)) {\r\n console.log(\"pass!\");\r\n } else if (objMin <= min || objMax >= max) {\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n } else if (objMin >= min || objMax <= max) {\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n } else console.log(\"pass2!\");\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"มีช่วงน้ำหนักที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n\r\n var data = {\r\n gid: this.state.Feeweight.gid,\r\n weight_name: this.state.Feeweight.weight_name,\r\n more_than_kk: parseFloat(this.state.Feeweight.more_than_kk),\r\n less_than_kk: parseFloat(this.state.Feeweight.less_than_kk),\r\n }\r\n\r\n ServerAPI.editFeeWeightType(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getFeeWeightType();\r\n this.setState({ displayDialog: false });\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.Feeweight;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({ deleteDialog: false });\r\n }\r\n\r\n findSelectedWeightIndex() {\r\n return this.state.cars.indexOf(this.state.selectedCar);\r\n }\r\n\r\n updateProperty(property, value) {\r\n let Feeweight = this.state.Feeweight;\r\n Feeweight[property] = value;\r\n this.setState({ Feeweight: Feeweight });\r\n }\r\n\r\n onFeeWeightSelect(e) {\r\n console.log(e)\r\n this.setState({\r\n displayDialog: true,\r\n Feeweight: Object.assign({}, e)\r\n });\r\n }\r\n onFeeWeightDelete(e) {\r\n console.log(e)\r\n this.setState({\r\n deleteDialog: true,\r\n Feeweight: Object.assign({}, e)\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n console.log(valid)\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n onClickAddWeight() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.weightFeeLabel == '' ||\r\n this.state.minWeight == '' ||\r\n this.state.maxWeight == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var min = parseFloat(this.state.minWeight)\r\n var max = parseFloat(this.state.maxWeight)\r\n\r\n if (min >= max) {\r\n console.log(min)\r\n console.log(max)\r\n this.showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.state.weightList.forEach(objWeightList => {\r\n var objMin = parseFloat(objWeightList.more_than_kk)\r\n var objMax = parseFloat(objWeightList.less_than_kk)\r\n console.log(min + \" > \" + objMin);\r\n console.log(max + \" > \" + objMin);\r\n console.log(min + \" < \" + objMax);\r\n console.log(max + \" < \" + objMax);\r\n if ((min < objMin && max < objMin) || (min > objMax && max > objMax)) {\r\n console.log(\"pass!\");\r\n } else if (objMin <= min || objMax >= max) {\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n } else if (objMin >= min || objMax <= max) {\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n } else console.log(\"pass2!\");\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"มีช่วงน้ำหนักที่ซ้ำซ้อนกัน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var weightList = {\r\n weight_name: this.state.weightFeeLabel,\r\n more_than_kk: parseFloat(this.state.minWeight),\r\n less_than_kk: parseFloat(this.state.maxWeight),\r\n }\r\n //this.state.weightList.push(weightList)\r\n\r\n ServerAPI.AddFeeWeightType(weightList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getFeeWeightType();\r\n this.setState({ vehicleType: '' })\r\n this.setState({ weightFeeLabel: '' })\r\n this.setState({ minWeight: '' })\r\n this.setState({ maxWeight: '' })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n\r\n\r\n //this.showSuccess();\r\n }\r\n console.log(this.state.weightList)\r\n }\r\n }\r\n }\r\n showAddFeeWeight() {\r\n const newWeight = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ weightFeeLabel: e.target.value })}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ minWeight: e.target.value })}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ maxWeight: e.target.value })}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n return newWeight;\r\n }\r\n\r\n showFeeWeightTable() {\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ deleteDialog: false })}>\r\n {\r\n this.state.Feeweight &&\r\n\r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.Feeweight.weight_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.Feeweight.more_than_kk}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.Feeweight.less_than_kk}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({ displayDialog: false })}>\r\n {\r\n this.state.Feeweight &&\r\n\r\n
    \r\n
    คุณต้องการจะแก้ไขข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n { this.updateProperty('weight_name', e.target.value) }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n { this.updateProperty('more_than_kk', e.target.value) }}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n { this.updateProperty('less_than_kk', e.target.value) }}\r\n />\r\n\r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n\r\n\r\n render() {\r\n const addFeeWeightPanel = this.showAddFeeWeight();\r\n const feeweightTablePanel = this.showFeeWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าน้ำหนักค่าบริการ

    \r\n
    \r\n\r\n {addFeeWeightPanel}\r\n {showProgress}\r\n {feeweightTablePanel}\r\n\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageFeeWeight)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport { CEInputText, CECalendar, CEDropdown } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\nimport { Dialog } from 'primereact/dialog';\r\n\r\nclass ManageAdminMember extends Component {\r\n static propTypes = {\r\n\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n // value1: 'ผู้ดูแลระบบประจำลำดับที่ 1',\r\n // value2: 'ผู้ดูแลระบบประจำลำดับที่ 2',\r\n // value3: 'ผู้ดูแลระบบประจำลำดับที่ 3',\r\n addressDetail: '',\r\n priceList: [],\r\n manageList: [],\r\n\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n\r\n levelAdministrator: 0,\r\n levelAdmin: [\r\n { label: 'เลือกระดับผู้ดูแล', value: 0 },\r\n { label: 'ระดับที่ 1', value: 1 },\r\n { label: 'ระดับที่ 2', value: 2 },\r\n { label: 'ระดับที่ 3', value: 3 },\r\n ],\r\n\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n this.getAdminPermission = this.getAdminPermission.bind(this);\r\n \r\n\r\n }\r\n componentDidMount() {\r\n this.getAdminPermission();\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n\r\n searchProductList() {\r\n this.setState({ showProgress: true })\r\n var search = {\r\n u3_uid: this.state.memberUid1 || '',\r\n product_code: this.state.searchProductCode || '',\r\n product_type_code: this.state.searchProductTypeCode || '',\r\n }\r\n\r\n ServerAPI.searchSalePriceByU3(search).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ priceList: res })\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false })\r\n this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n\r\n getAdminPermission() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAdminPermission().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({\r\n value1_gid : res.admin_lvl_1.gid,\r\n value1_role_name : res.admin_lvl_1.role_name,\r\n value1_role_key : res.admin_lvl_1.role_key,\r\n value1_manage_administrator : res.admin_lvl_1.manage_administrator,\r\n value1_manage_aproval : res.admin_lvl_1.manage_aproval,\r\n value1_manage_delivery_fee : res.admin_lvl_1.manage_delivery_fee,\r\n value1_manage_invoice : res.admin_lvl_1.manage_invoice,\r\n value1_manage_order : res.admin_lvl_1.manage_order,\r\n value1_manage_password : res.admin_lvl_1.manage_password,\r\n value1_manage_process_fee : res.admin_lvl_1.manage_process_fee,\r\n value1_manage_sale_price : res.admin_lvl_1.manage_sale_price,\r\n value1_manage_transfer : res.admin_lvl_1.manage_transfer,\r\n value1_view_member : res.admin_lvl_1.view_member,\r\n value1_view_report : res.admin_lvl_1.view_report,\r\n //new update value1\r\n value1_chat : res.admin_lvl_1.chat,\r\n value1_create_order : res.admin_lvl_1.create_order,\r\n value1_manage_certificate : res.admin_lvl_1.manage_certificate,\r\n value1_manage_env_account : res.admin_lvl_1.manage_env_account,\r\n value1_manage_faq : res.admin_lvl_1.manage_faq,\r\n value1_manage_master : res.admin_lvl_1.manage_master,\r\n value1_manage_member : res.admin_lvl_1.manage_member,\r\n value1_manage_news : res.admin_lvl_1.manage_news,\r\n value1_manage_reward : res.admin_lvl_1.manage_reward,\r\n value1_view_donate : res.admin_lvl_1.view_donate,\r\n value1_view_user_list : res.admin_lvl_1.view_user_list,\r\n\r\n value2_gid : res.admin_lvl_2.gid,\r\n value2_role_name : res.admin_lvl_2.role_name,\r\n value2_role_key : res.admin_lvl_2.role_key,\r\n value2_manage_administrator : res.admin_lvl_2.manage_administrator,\r\n value2_manage_aproval : res.admin_lvl_2.manage_aproval,\r\n value2_manage_delivery_fee : res.admin_lvl_2.manage_delivery_fee,\r\n value2_manage_invoice : res.admin_lvl_2.manage_invoice,\r\n value2_manage_order : res.admin_lvl_2.manage_order,\r\n value2_manage_password : res.admin_lvl_2.manage_password,\r\n value2_manage_process_fee : res.admin_lvl_2.manage_process_fee,\r\n value2_manage_sale_price : res.admin_lvl_2.manage_sale_price,\r\n value2_manage_transfer : res.admin_lvl_2.manage_transfer,\r\n value2_view_member : res.admin_lvl_2.view_member,\r\n value2_view_report : res.admin_lvl_2.view_report,\r\n //new update value2\r\n value2_chat : res.admin_lvl_2.chat,\r\n value2_create_order : res.admin_lvl_2.create_order,\r\n value2_manage_certificate : res.admin_lvl_2.manage_certificate,\r\n value2_manage_env_account : res.admin_lvl_2.manage_env_account,\r\n value2_manage_faq : res.admin_lvl_2.manage_faq,\r\n value2_manage_master : res.admin_lvl_2.manage_master,\r\n value2_manage_member : res.admin_lvl_2.manage_member,\r\n value2_manage_news : res.admin_lvl_2.manage_news,\r\n value2_manage_reward : res.admin_lvl_2.manage_reward,\r\n value2_view_donate : res.admin_lvl_2.view_donate,\r\n value2_view_user_list : res.admin_lvl_2.view_user_list,\r\n\r\n value3_gid : res.admin_lvl_3.gid,\r\n value3_role_name : res.admin_lvl_3.role_name,\r\n value3_role_key : res.admin_lvl_3.role_key,\r\n value3_manage_administrator : res.admin_lvl_3.manage_administrator,\r\n value3_manage_aproval : res.admin_lvl_3.manage_aproval,\r\n value3_manage_delivery_fee : res.admin_lvl_3.manage_delivery_fee,\r\n value3_manage_invoice : res.admin_lvl_3.manage_invoice,\r\n value3_manage_order : res.admin_lvl_3.manage_order,\r\n value3_manage_password : res.admin_lvl_3.manage_password,\r\n value3_manage_process_fee : res.admin_lvl_3.manage_process_fee,\r\n value3_manage_sale_price : res.admin_lvl_3.manage_sale_price,\r\n value3_manage_transfer : res.admin_lvl_3.manage_transfer,\r\n value3_view_member : res.admin_lvl_3.view_member,\r\n value3_view_report : res.admin_lvl_3.view_report,\r\n //new update value3\r\n value3_chat : res.admin_lvl_3.chat,\r\n value3_create_order : res.admin_lvl_3.create_order,\r\n value3_manage_certificate : res.admin_lvl_3.manage_certificate,\r\n value3_manage_env_account : res.admin_lvl_3.manage_env_account,\r\n value3_manage_faq : res.admin_lvl_3.manage_faq,\r\n value3_manage_master : res.admin_lvl_3.manage_master,\r\n value3_manage_member : res.admin_lvl_3.manage_member,\r\n value3_manage_news : res.admin_lvl_3.manage_news,\r\n value3_manage_reward : res.admin_lvl_3.manage_reward,\r\n value3_view_donate : res.admin_lvl_3.view_donate,\r\n value3_view_user_list : res.admin_lvl_3.view_user_list,\r\n\r\n\r\n })\r\n this.setState({ manageList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n itemTemplate1(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n suggestMemberName1(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onSelectMemberName1(item) {\r\n console.log(item)\r\n this.setState({ memberName1: item.value.search_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n console.log(item);\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onMemberName1Changed(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName1: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName1: search_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e) {\r\n console.log(e)\r\n this.setState({ productTypeObjUpdate: e.value });\r\n }\r\n onWeightUpdate(e) {\r\n console.log(e)\r\n this.setState({ productObjUpdate: e.value });\r\n\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n \r\n
    ;\r\n }\r\n\r\n \r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removesalepricebyu3(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.getsalepricebyu3ForValid()\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.priceList;\r\n // array.splice(index, 1);\r\n // this.setState({ priceList: array });\r\n // }\r\n }\r\n\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.manageList)\r\n if (this.state.manageList) {\r\n var isNotinput = (\r\n this.state.value1_role_name == '' ||\r\n this.state.value2_role_name == '' ||\r\n this.state.value3_role_name == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n console.log(this.state.value1_role_name);\r\n console.log(this.state.value2_role_name);\r\n console.log(this.state.value3_role_name);\r\n \r\n var data = {\r\n admin_lvl_1: {\r\n gid: this.state.value1_gid,\r\n role_key: this.state.value1_role_key,\r\n role_name: this.state.value1_role_name,\r\n manage_order: this.state.value1_manage_order,\r\n manage_invoice: this.state.value1_manage_invoice,\r\n manage_sale_price: this.state.value1_manage_sale_price,\r\n manage_delivery_fee: this.state.value1_manage_delivery_fee,\r\n manage_transfer: this.state.value1_manage_transfer,\r\n manage_process_fee: this.state.value1_manage_process_fee,\r\n manage_administrator:this.state.value1_manage_administrator,\r\n manage_password: this.state.value1_manage_password,\r\n manage_aproval: this.state.value1_manage_aproval,\r\n view_report: this.state.value1_view_report,\r\n view_member: this.state.value1_view_member,\r\n //new\r\n chat : this.state.value1_chat,\r\n create_order : this.state.value1_create_order ,\r\n manage_certificate : this.state.value1_manage_certificate ,\r\n manage_env_account : this.state.value1_manage_env_account ,\r\n manage_faq : this.state.value1_manage_faq ,\r\n manage_master : this.state.value1_manage_master ,\r\n manage_member : this.state.value1_manage_member ,\r\n manage_news : this.state.value1_manage_news ,\r\n manage_reward : this.state.value1_manage_reward ,\r\n view_donate : this.state.value1_view_donate ,\r\n view_user_list : this.state.value1_view_user_list ,\r\n \r\n },\r\n admin_lvl_2: {\r\n gid: this.state.value2_gid,\r\n role_key: this.state.value2_role_key,\r\n role_name: this.state.value2_role_name,\r\n manage_order: this.state.value2_manage_order,\r\n manage_invoice: this.state.value2_manage_invoice,\r\n manage_sale_price: this.state.value2_manage_sale_price,\r\n manage_delivery_fee: this.state.value2_manage_delivery_fee,\r\n manage_transfer: this.state.value2_manage_transfer,\r\n manage_process_fee: this.state.value2_manage_process_fee,\r\n manage_administrator:this.state.value2_manage_administrator,\r\n manage_password: this.state.value2_manage_password,\r\n manage_aproval: this.state.value2_manage_aproval,\r\n view_report: this.state.value2_view_report,\r\n view_member: this.state.value2_view_member,\r\n //new\r\n chat : this.state.value2_chat,\r\n create_order : this.state.value2_create_order ,\r\n manage_certificate : this.state.value2_manage_certificate ,\r\n manage_env_account : this.state.value2_manage_env_account ,\r\n manage_faq : this.state.value2_manage_faq ,\r\n manage_master : this.state.value2_manage_master ,\r\n manage_member : this.state.value2_manage_member ,\r\n manage_news : this.state.value2_manage_news ,\r\n manage_reward : this.state.value2_manage_reward ,\r\n view_donate : this.state.value2_view_donate ,\r\n view_user_list : this.state.value2_view_user_list ,\r\n \r\n },\r\n admin_lvl_3: {\r\n gid: this.state.value3_gid,\r\n role_key: this.state.value3_role_key,\r\n role_name: this.state.value3_role_name,\r\n manage_order: this.state.value3_manage_order,\r\n manage_invoice: this.state.value3_manage_invoice,\r\n manage_sale_price: this.state.value3_manage_sale_price,\r\n manage_delivery_fee: this.state.value3_manage_delivery_fee,\r\n manage_transfer: this.state.value3_manage_transfer,\r\n manage_process_fee: this.state.value3_manage_process_fee,\r\n manage_administrator:this.state.value3_manage_administrator,\r\n manage_password: this.state.value3_manage_password,\r\n manage_aproval: this.state.value3_manage_aproval,\r\n view_report: this.state.value3_view_report,\r\n view_member: this.state.value3_view_member,\r\n //new\r\n chat : this.state.value3_chat,\r\n create_order : this.state.value3_create_order ,\r\n manage_certificate : this.state.value3_manage_certificate ,\r\n manage_env_account : this.state.value3_manage_env_account ,\r\n manage_faq : this.state.value3_manage_faq ,\r\n manage_master : this.state.value3_manage_master ,\r\n manage_member : this.state.value3_manage_member ,\r\n manage_news : this.state.value3_manage_news ,\r\n manage_reward : this.state.value3_manage_reward ,\r\n view_donate : this.state.value3_view_donate ,\r\n view_user_list : this.state.value3_view_user_list ,\r\n \r\n },\r\n \r\n }\r\n this.setState({ showProgress: false })\r\n \r\n\r\n ServerAPI.updateAdminPermission(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n //this.getAdminPermission();\r\n //this.setState({ displayDialog: false });\r\n //this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n\r\n }\r\n }\r\n console.log(JSON.stringify(data))\r\n }\r\n \r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.manageList;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({ deleteDialog: false });\r\n }\r\n updateProperty(property, value) {\r\n let manageList = this.state.manageList;\r\n manageList[property] = value;\r\n this.setState({ manageList: manageList });\r\n }\r\n\r\n onproductPriceUpdate(e) {\r\n console.log(e)\r\n var productTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n }\r\n var productDropdown = {\r\n product_code: e.product_code,\r\n product_name: e.product_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n }\r\n this.setState({\r\n displayDialog: true,\r\n manageList: Object.assign({}, e),\r\n productTypeObjUpdate: productTypeDropdown,\r\n productObjUpdate: productDropdown,\r\n });\r\n }\r\n onproductPriceDelete(e) {\r\n console.log(e)\r\n this.setState({\r\n deleteDialog: true,\r\n manageList: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n console.log(valid)\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n\r\n \r\n\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.wasteTypeSelected == '' ||\r\n this.state.productSelected == '' ||\r\n this.state.priceSelected1 == '' ||\r\n this.state.memberUid == '' ||\r\n this.state.memberName == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.getsalepricebyu3ForValid();\r\n console.log(this.state.productPriceList)\r\n if (this.state.productPriceList)\r\n this.state.productPriceList.forEach(objProductPrice => {\r\n console.log(objProductPrice.u3_uid);\r\n console.log(this.state.memberUid);\r\n console.log(objProductPrice.product_type_code);\r\n console.log(this.state.productTypeCode);\r\n console.log(objProductPrice.product_code);\r\n console.log(this.state.productSelected.product_code);\r\n if (objProductPrice.u3_uid == this.state.memberUid\r\n && objProductPrice.product_type_code == this.state.productTypeCode\r\n && objProductPrice.product_code == this.state.productSelected.product_code) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var priceList = {\r\n gid: this.state.gid,\r\n u3_uid: this.state.memberUid,\r\n u3_name: this.state.memberName,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_type_name: this.state.wasteTypeSelected.product_type_name,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n fee_per_kk: parseFloat(this.state.priceSelected1),\r\n\r\n }\r\n\r\n ServerAPI.Addsalepricebyu3(priceList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.clearAllDataInput();\r\n //this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n console.log(this.state.priceList)\r\n }\r\n\r\n \r\n\r\n\r\n clearAllDataInput() {\r\n\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ priceSelected1: '' })\r\n this.setState({ memberName: '' })\r\n this.setState({ memberUid: '' })\r\n this.setState({ manageList: null })\r\n this.setState({ productTypeObjUpdate: null })\r\n this.setState({ productObjUpdate: null })\r\n\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null });\r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n console.log(this.state.searchProductType)\r\n console.log(this.state.searchProduct)\r\n console.log(this.state.searchProductTypeCode)\r\n console.log(this.state.searchProductCode)\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n addNewAdministratorTab1() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n this.setState({value1_role_name: e.target.value})}/>\r\n
    \r\n\r\n {/* \r\n
    \r\n ระดับที่ 1\r\n
    */}\r\n\r\n\r\n
    \r\n this.setState({value1_manage_order: e.checked})} checked={this.state.value1_manage_order}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_manage_invoice: e.checked})} checked={this.state.value1_manage_invoice}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_manage_transfer: e.checked})} checked={this.state.value1_manage_transfer}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_manage_sale_price: e.checked})} checked={this.state.value1_manage_sale_price}>\r\n \r\n
    \r\n \r\n
    \r\n this.setState({value1_manage_process_fee: e.checked})} checked={this.state.value1_manage_process_fee}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_manage_delivery_fee: e.checked})} checked={this.state.value1_manage_delivery_fee}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_manage_administrator: e.checked})} checked={this.state.value1_manage_administrator}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_view_report: e.checked})} checked={this.state.value1_view_report}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_manage_password: e.checked})} checked={this.state.value1_manage_password}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value1_view_member: e.checked})} checked={this.state.value1_view_member}>\r\n \r\n
    \r\n \r\n
    \r\n this.setState({value1_manage_aproval: e.checked})} checked={this.state.value1_manage_aproval}>\r\n \r\n
    \r\n\r\n {/* new update */}\r\n
    \r\n this.setState({value1_chat: e.checked})} checked={this.state.value1_chat}>\r\n \r\n
    \r\n
    \r\n this.setState({value1_create_order : e.checked})} checked={this.state.value1_create_order }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_certificate : e.checked})} checked={this.state.value1_manage_certificate }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_env_account : e.checked})} checked={this.state.value1_manage_env_account }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_faq : e.checked})} checked={this.state.value1_manage_faq }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_master : e.checked})} checked={this.state.value1_manage_master }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_member : e.checked})} checked={this.state.value1_manage_member }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_news : e.checked})} checked={this.state.value1_manage_news }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_manage_reward : e.checked})} checked={this.state.value1_manage_reward }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_view_donate : e.checked})} checked={this.state.value1_view_donate }>\r\n \r\n
    \r\n
    \r\n this.setState({value1_view_user_list : e.checked})} checked={this.state.value1_view_user_list }>\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n addNewAdministratorTab2() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n this.setState({value2_role_name: e.target.value})}/>\r\n
    \r\n\r\n {/* \r\n
    \r\n ระดับที่ 2\r\n
    */}\r\n\r\n
    \r\n this.setState({value2_manage_order: e.checked})} checked={this.state.value2_manage_order}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_manage_invoice: e.checked})} checked={this.state.value2_manage_invoice}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_manage_transfer: e.checked})} checked={this.state.value2_manage_transfer}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_manage_sale_price: e.checked})} checked={this.state.value2_manage_sale_price}>\r\n \r\n
    \r\n \r\n
    \r\n this.setState({value2_manage_process_fee: e.checked})} checked={this.state.value2_manage_process_fee}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_manage_delivery_fee: e.checked})} checked={this.state.value2_manage_delivery_fee}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_manage_administrator: e.checked})} checked={this.state.value2_manage_administrator}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_view_report: e.checked})} checked={this.state.value2_view_report}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_manage_password: e.checked})} checked={this.state.value2_manage_password}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value2_view_member: e.checked})} checked={this.state.value2_view_member}>\r\n \r\n
    \r\n \r\n
    \r\n this.setState({value2_manage_aproval: e.checked})} checked={this.state.value2_manage_aproval}>\r\n \r\n
    \r\n\r\n {/* new update */}\r\n
    \r\n this.setState({value2_chat: e.checked})} checked={this.state.value2_chat}>\r\n \r\n
    \r\n
    \r\n this.setState({value2_create_order : e.checked})} checked={this.state.value2_create_order }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_certificate : e.checked})} checked={this.state.value2_manage_certificate }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_env_account : e.checked})} checked={this.state.value2_manage_env_account }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_faq : e.checked})} checked={this.state.value2_manage_faq }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_master : e.checked})} checked={this.state.value2_manage_master }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_member : e.checked})} checked={this.state.value2_manage_member }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_news : e.checked})} checked={this.state.value2_manage_news }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_manage_reward : e.checked})} checked={this.state.value2_manage_reward }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_view_donate : e.checked})} checked={this.state.value2_view_donate }>\r\n \r\n
    \r\n
    \r\n this.setState({value2_view_user_list : e.checked})} checked={this.state.value2_view_user_list }>\r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n addNewAdministratorTab3() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n this.setState({value3_role_name: e.target.value})}/>\r\n
    \r\n\r\n {/* \r\n
    \r\n ระดับที่ 3\r\n
    */}\r\n\r\n \r\n
    \r\n this.setState({value3_manage_order: e.checked})} checked={this.state.value3_manage_order}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_manage_invoice: e.checked})} checked={this.state.value3_manage_invoice}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_manage_transfer: e.checked})} checked={this.state.value3_manage_transfer}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_manage_sale_price: e.checked})} checked={this.state.value3_manage_sale_price}>\r\n \r\n
    \r\n \r\n
    \r\n this.setState({value3_manage_process_fee: e.checked})} checked={this.state.value3_manage_process_fee}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_manage_delivery_fee: e.checked})} checked={this.state.value3_manage_delivery_fee}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_manage_administrator: e.checked})} checked={this.state.value3_manage_administrator}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_view_report: e.checked})} checked={this.state.value3_view_report}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_manage_password: e.checked})} checked={this.state.value3_manage_password}>\r\n \r\n
    \r\n\r\n
    \r\n this.setState({value3_view_member: e.checked})} checked={this.state.value3_view_member}>\r\n \r\n
    \r\n \r\n
    \r\n this.setState({value3_manage_aproval: e.checked})} checked={this.state.value3_manage_aproval}>\r\n \r\n
    \r\n\r\n {/* new update */}\r\n
    \r\n this.setState({value3_chat: e.checked})} checked={this.state.value3_chat}>\r\n \r\n
    \r\n
    \r\n this.setState({value3_create_order : e.checked})} checked={this.state.value3_create_order }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_certificate : e.checked})} checked={this.state.value3_manage_certificate }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_env_account : e.checked})} checked={this.state.value3_manage_env_account }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_faq : e.checked})} checked={this.state.value3_manage_faq }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_master : e.checked})} checked={this.state.value3_manage_master }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_member : e.checked})} checked={this.state.value3_manage_member }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_news : e.checked})} checked={this.state.value3_manage_news }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_manage_reward : e.checked})} checked={this.state.value3_manage_reward }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_view_donate : e.checked})} checked={this.state.value3_view_donate }>\r\n \r\n
    \r\n
    \r\n this.setState({value3_view_user_list : e.checked})} checked={this.state.value3_view_user_list }>\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n onSubmit() {\r\n\r\n }\r\n\r\n render() {\r\n const showProgress = this.showProgressSpinner();\r\n const addnew1 = this.addNewAdministratorTab1();\r\n const addnew2 = this.addNewAdministratorTab2();\r\n const addnew3 = this.addNewAdministratorTab3();\r\n\r\n\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าความสามารถ

    \r\n
    \r\n {addnew1}\r\n
    \r\n {addnew2}\r\n
    \r\n {addnew3}\r\n
    \r\n {showProgress}\r\n
    \r\n
    \r\n \r\n
    \r\n {/* {showLevelAdminTable1} */}\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageAdminMember)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport { CEInputText, CECalendar, CEDropdown,CEPassword } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\n\r\nclass ManageLevelAdmin extends Component {\r\n static propTypes = {\r\n\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n priceList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: '',\r\n searchProductType: '',\r\n searchProduct: '',\r\n productSelected: '',\r\n priceSelected1: '',\r\n errorMessageUsername: '',\r\n messageUsername: '',\r\n errorMessagePassword: '',\r\n errorMessageConfirmPassword: '',\r\n cfpassword: '',\r\n\r\n adminNameList: [],\r\n memberAdminName:'',\r\n username:'',\r\n firstnameAdmin:'',\r\n lastnameAdmin:'',\r\n password:'',\r\n confirmPassword:'',\r\n phoneNumberAdmin:'',\r\n emailAdmin:'',\r\n checkedPasswordVisible: false,\r\n typePasswordInput: 'password',\r\n prefixCode_admin:0,\r\n\r\n \r\n\r\n levelAdministrator: [],\r\n \r\n\r\n person:'',\r\n personPrefixs: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n personPrefixs1: [\r\n { name: 'นาย', code: 1 },\r\n { name: 'นาง', code: 2 },\r\n { name: 'นางสาว', code: 3 },\r\n ],\r\n \r\n reportSearchOrders: [],\r\n showProgress: false,\r\n\r\n errorMessageTelephoneNumber1: '',\r\n errorMessageTelephoneNumber: '',\r\n isvalid_telephoneNumber1: false,\r\n\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n this.getAdminRoles = this.getAdminRoles.bind(this);\r\n this.onnameTypeChange = this.onnameTypeChange.bind(this);\r\n this.onnameTypeChange1 = this.onnameTypeChange1.bind(this);\r\n this.onTelephoneNumber1Changed = this.onTelephoneNumber1Changed.bind(this);\r\n this.onTelephoneUpdateChanged = this.onTelephoneUpdateChanged.bind(this);\r\n \r\n \r\n\r\n }\r\n componentDidMount() {\r\n this.getAdminRoles();\r\n this.getAdminPermission();\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps,userServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n userServiceProps.getUserInfo();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n getAdminPermission() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAdminPermission().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n var optionItemAdmin = [\r\n {role_name: res.admin_lvl_1.role_name ,gid: res.admin_lvl_1.gid },\r\n {role_name: res.admin_lvl_2.role_name ,gid: res.admin_lvl_2.gid },\r\n {role_name: res.admin_lvl_3.role_name ,gid: res.admin_lvl_3.gid },\r\n ]\r\n this.setState({ listDropdownAdmin: optionItemAdmin })\r\n this.setState({ manageList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n getAdminRoles(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAdminRoles().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({adminNameList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }\r\n\r\n searchProductList(){\r\n this.setState({ showProgress: true })\r\n var search = {\r\n u3_uid: this.state.memberUid1 || '',\r\n product_code: this.state.searchProductCode || '',\r\n product_type_code: this.state.searchProductTypeCode || '',\r\n }\r\n ServerAPI.searchSalePriceByU3(search).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({priceList: res })\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false })\r\n this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n itemTemplate1(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n onSelectMemberName1(item) {\r\n console.log(item)\r\n this.setState({ memberName1: item.value.search_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n console.log(item);\r\n }\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n suggestMemberName1(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onMemberName1Changed(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName1: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName1: search_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e){\r\n console.log(e)\r\n this.setState({productTypeObjUpdate: e.value});\r\n }\r\n onWeightUpdate(e){\r\n console.log(e)\r\n this.setState({productObjUpdate: e.value});\r\n \r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n {/* */}\r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.removesalepricebyu3(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.searchProductList();\r\n this.getsalepricebyu3ForValid()\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.priceList;\r\n // array.splice(index, 1);\r\n // this.setState({ priceList: array });\r\n // }\r\n \r\n }\r\n \r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.adminList;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n\r\n updateProperty(property, value) {\r\n let adminList = this.state.adminList;\r\n adminList[property] = value;\r\n this.setState({adminList: adminList});\r\n }\r\n \r\n\r\n onproductPriceUpdate(e){\r\n console.log(e)\r\n if(e.prefixCode == 1){\r\n var prefixCodeAdmin = {\r\n code: e.prefixCode,\r\n name: 'นาย',\r\n }\r\n }\r\n if(e.prefixCode == 2){\r\n var prefixCodeAdmin = {\r\n code: e.prefixCode,\r\n name: 'นาง',\r\n }\r\n }\r\n if(e.prefixCode == 3){\r\n var prefixCodeAdmin = {\r\n code: e.prefixCode,\r\n name: 'นางสาว',\r\n }\r\n }\r\n // if(e.role_id == 491){\r\n // var levelAdmin = {\r\n // role_id: e.role_id,\r\n // role_name: e.role_name,\r\n // }\r\n // }\r\n // if(e.role_id == 493){\r\n // var levelAdmin = {\r\n // role_id: e.role_id,\r\n // role_name: e.role_name,\r\n // }\r\n // }\r\n // if(e.role_id == 494){\r\n // var levelAdmin = {\r\n // role_id: e.role_id,\r\n // role_name: e.role_name,\r\n // }\r\n // }\r\n var levelAdmin = {\r\n gid: e.role_id,\r\n role_name: e.role_name,\r\n }\r\n console.log(levelAdmin);\r\n console.log(this.state.listDropdownAdmin);\r\n \r\n this.setState({\r\n displayDialog:true,\r\n adminList: Object.assign({}, e),\r\n prefixCodeAdmin: prefixCodeAdmin,\r\n dropdownlevelAdmin: levelAdmin,\r\n telupdate :e.telephoneNumber1,\r\n errorMessageTelephoneNumber:false,\r\n });\r\n }\r\n onproductPriceDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n adminList: Object.assign({}, e),\r\n });\r\n }\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.adminList)\r\n if(this.state.adminList){\r\n var isNotinput = (\r\n this.state.adminList.firstName == '' ||\r\n // this.state.telupdate == '' ||\r\n this.state.adminList.lastname == '' ||\r\n // this.state.username == '' ||\r\n // this.state.passwordAdmin == '' ||\r\n // this.state.confirmPassword == '' ||\r\n //this.state.phoneNumberAdmin == '' ||\r\n this.state.adminList.email == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput && this.state.displayApproveDialog == false ) {\r\n \r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n \r\n } else {\r\n var data = {\r\n is_verified : this.state.adminList.is_verified, \r\n uid : this.state.adminList.uid,\r\n role_id: this.state.dropdownlevelAdmin.gid,\r\n role_name: this.state.dropdownlevelAdmin.role_name,\r\n prefixCode: this.state.prefixCodeAdmin.code,\r\n firstName : this.state.adminList.firstName,\r\n lastName : this.state.adminList.lastName,\r\n telephoneNumber : this.state.telupdate,\r\n email : this.state.adminList.email,\r\n username : 'P@ssw0rd',\r\n password : 'P@ssw0rd',\r\n confirmPassword : 'P@ssw0rd',\r\n }\r\n //console.log(data)\r\n\r\n ServerAPI.UpdateAdministratorProfile(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getAdminRoles();\r\n this.setState({ displayDialog:false});\r\n this.setState({ displayApproveDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n }\r\n }\r\n\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.prefixCode_admin == 0||\r\n this.state.levelAdministrator.gid == 0||\r\n this.state.levelAdministrator.role_name == ''||\r\n this.state.username == ''||\r\n this.state.firstnameAdmin == ''||\r\n this.state.lastnameAdmin == ''||\r\n this.state.password == ''||\r\n this.state.confirmPassword == ''||\r\n // this.state.phoneNumberAdmin == ''||\r\n this.state.emailAdmin == ''||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var admin = this.state.memberAdminName\r\n var notValid = false;\r\n this.state.adminNameList.forEach(obj => {\r\n if (admin == obj.admin){\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"มีแอดมินนี้ซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false })\r\n } \r\n var data = {\r\n //uid: this.state.uid,\r\n //u3_uid: this.state.memberUid,\r\n //u3_name: this.state.memberName,\r\n prefixCode : this.state.prefixCode_admin,\r\n role_id : this.state.levelAdministrator.gid,\r\n role_name : this.state.levelAdministrator.role_name,\r\n username : this.state.username,\r\n firstname : this.state.firstnameAdmin,\r\n lastname : this.state.lastnameAdmin,\r\n password : this.state.password,\r\n confirmPassword : this.state.confirmPassword,\r\n telephoneNumber : this.state.phoneNumberAdmin,\r\n email : this.state.emailAdmin,\r\n }\r\n //this.state.adminNameList.push(data)\r\n this.showSuccess();\r\n this.setState({ showProgress: false})\r\n\r\n\r\n //console.log(data)\r\n ServerAPI.CreateAdministrator(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getAdminRoles();\r\n //this.searchProductList();\r\n this.clearAllDataInput();\r\n //this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n console.log(JSON.stringify(data))\r\n //console.log(this.state.adminNameList)\r\n }\r\n \r\n \r\n clearAllDataInput() {\r\n this.setState({ levelAdministrator:[]})\r\n this.setState({ lastnameAdmin: '' })\r\n this.setState({ firstnameAdmin: '' })\r\n this.setState({ username: '' })\r\n this.setState({ role_name: '' })\r\n this.setState({ personPrefixs: [] })\r\n this.setState({ personPrefix: '' })\r\n this.setState({ prefixCode_admin: 0 })\r\n this.setState({ prefixCode: '' })\r\n this.setState({ password: '' })\r\n this.setState({ confirmPassword: '' })\r\n this.setState({ phoneNumberAdmin: '' })\r\n this.setState({ emailAdmin: '' })\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ priceSelected1: '' })\r\n this.setState({ memberName: '' })\r\n this.setState({ memberUid: '' })\r\n this.setState({ adminList: null })\r\n this.setState({ productTypeObjUpdate: null })\r\n this.setState({ productObjUpdate: null })\r\n\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null }); \r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n console.log(this.state.searchProductType)\r\n console.log(this.state.searchProduct)\r\n console.log(this.state.searchProductTypeCode)\r\n console.log(this.state.searchProductCode)\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n\r\n onnameTypeChange(e) {\r\n this.setState({ personPrefix: e.value });\r\n this.setState({ prefixCode_admin: e.value.code });\r\n\r\n }\r\n onnameTypeChange1(e) {\r\n this.setState({ prefixCodeAdmin: e.value });\r\n this.setState({ prefixCode: e.value.code });\r\n\r\n }\r\n\r\n setPasswordVisible = (e) => {\r\n\t\tconsole.log(e)\r\n\t\tif (this.state.checkedPasswordVisible) {\r\n\t\t\tthis.setState({ checkedPasswordVisible: false })\r\n\t\t\tthis.setState({ typePasswordInput: 'password' });\r\n\t\t} else {\r\n\t\t\tthis.setState({ checkedPasswordVisible: true })\r\n\t\t\tthis.setState({ typePasswordInput: 'text' });\r\n\t\t}\r\n\t}\r\n\r\n onConfirmPasswordChanged(cfpassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n this.setState({ confirmPassword: \"\" });\r\n\r\n if (this.state.password == cfpassword) {\r\n this.setState({ confirmPassword: cfpassword });\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n this.setState({ confirmPassword: cfpassword });\r\n }\r\n }\r\n\r\n onPasswordChanged(password) {\r\n this.setState({ errorMessagePassword: \"\" });\r\n this.setState({ password: password });\r\n\r\n if (password.length >= 6) {\r\n const re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n const isOk = re.test(password);\r\n if (!isOk) {\r\n this.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n } else {\r\n this.setState({ password: password });\r\n this.setState({ errorMessagePassword: \"\" });\r\n\r\n if (password == this.state.confirmPassword) {\r\n this.setState({ errorMessageConfirmPassword: \"\" });\r\n } else {\r\n this.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n }\r\n }\r\n } else {\r\n this.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n }\r\n }\r\n\r\n onUsernameChanged(username) {\r\n this.setState({ errorMessageUsername: \"\" });\r\n this.setState({ messageUsername: \"\" });\r\n this.setState({ username: username });\r\n if (username.length >= 6) {\r\n const re = new RegExp(\"^[A-Za-z][A-Za-z0-9]*$\");\r\n const isOk = re.test(username);\r\n if (!isOk){\r\n this.setState({ errorMessageUsername: \"ตัวอักษรภาษาอังกฤษและตัวเลข โดยตัวแรกต้องเป็นภาษาอังกฤษเท่านั้น\" });\r\n this.setState({ messageUsername: \"\" });\r\n }\r\n } else {\r\n this.setState({ errorMessageUsername: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษและตัวเลข)\" });\r\n this.setState({ messageUsername: \"\" });\r\n }\r\n }\r\n\r\n isNotvalidStep2() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputStep2 = !((this.state.telephoneNumber1 == '') || !this.state.isvalid_telephoneNumber1 || (!this.state.isvalid_email && this.state.email!=\"\"));\r\n var hasErrorMsg = this.state.errorMessageTelephoneNumber1 != '';\r\n if (!inputStep2 || hasErrorMsg) {\r\n this.setState({ errorMessageLastStep: \"กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน\" });\r\n } else\r\n this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputStep2 || hasErrorMsg;\r\n }\r\n\r\n\r\n\r\n onTelephoneNumber1Changed(telephoneNumber,valid) {\r\n // this.setState({ errorMessageTelephoneNumber1: \"\" });\r\n this.setState({ phoneNumberAdmin: telephoneNumber });\r\n\r\n // if (telephoneNumber.length == 10 && valid) {\r\n\r\n // console.log(this.state.isvalid_telephoneNumber1);\r\n // var telNameModel = {\r\n // telephoneNumber: telephoneNumber\r\n // }\r\n // ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n // console.log(res);\r\n // if (res.length > 0) {\r\n // this.setState({ errorMessageTelephoneNumber1: \"หมายเลข \" + telephoneNumber + \" มีอยู่แล้วในระบบ\" });\r\n // } else {\r\n // this.setState({ phoneNumberAdmin: telephoneNumber });\r\n // this.setState({ errorMessageTelephoneNumber1: \"\" });\r\n // }\r\n // }).catch((error) => {\r\n // this.setState({ errorMessageTelephoneNumber1: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n // this.setState({ messageTelephoneNumber1: \"\" });\r\n // })\r\n // } else {\r\n // this.setState({ errorMessageTelephoneNumber1: \"กรุณากรอกหมายเลขโทรศัพท์เคลื่อนที่ 10 ตัวเลข (ขึ้นต้นด้วยเลข 0)\" });\r\n // }\r\n }\r\n\r\n onTelephoneUpdateChanged(telephoneNumber,valid) {\r\n // this.setState({ errorMessageTelephoneNumber1: \"\" });\r\n this.setState({ telupdate : telephoneNumber });\r\n\r\n // if (telephoneNumber.length == 10 && valid) {\r\n\r\n // console.log(this.state.isvalid_telephoneNumber1);\r\n // var telNameModel = {\r\n // telephoneNumber: telephoneNumber\r\n // }\r\n // ServerAPI.checkExitPhoneAndName(telNameModel).then((res) => {\r\n // console.log(res);\r\n // if (res.length > 0) {\r\n // this.setState({ errorMessageTelephoneNumber: \"หมายเลข \" + telephoneNumber + \" มีอยู่แล้วในระบบ\" });\r\n // } else {\r\n // this.setState({ telupdate : telephoneNumber });\r\n // this.setState({ errorMessageTelephoneNumber: \"\" });\r\n // }\r\n // }).catch((error) => {\r\n // this.setState({ errorMessageTelephoneNumber: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n // this.setState({ messageTelephoneNumber1: \"\" });\r\n // })\r\n // } else {\r\n // this.setState({ errorMessageTelephoneNumber: \"กรุณากรอกหมายเลขโทรศัพท์เคลื่อนที่ 10 ตัวเลข (ขึ้นต้นด้วยเลข 0)\" });\r\n // }\r\n }\r\n \r\n onStatusUpdate(e){\r\n console.log(e)\r\n if(e.prefixCode == 1){\r\n var prefixCodeAdmin = {\r\n code: e.prefixCode,\r\n name: 'นาย',\r\n }\r\n }\r\n if(e.prefixCode == 2){\r\n var prefixCodeAdmin = {\r\n code: e.prefixCode,\r\n name: 'นาง',\r\n }\r\n }\r\n if(e.prefixCode == 3){\r\n var prefixCodeAdmin = {\r\n code: e.prefixCode,\r\n name: 'นางสาว',\r\n }\r\n }\r\n var levelAdmin = {\r\n gid: e.role_id,\r\n role_name: e.role_name,\r\n }\r\n console.log(levelAdmin);\r\n console.log(this.state.listDropdownAdmin);\r\n \r\n this.setState({\r\n displayApproveDialog: true,\r\n adminList: Object.assign({}, e),\r\n prefixCodeAdmin: prefixCodeAdmin,\r\n dropdownlevelAdmin: levelAdmin,\r\n telupdate :e.telephoneNumber1,\r\n errorMessageTelephoneNumber:false,\r\n });\r\n\r\n }\r\n statusApproveTemplate(rowData, column) {\r\n console.log(this.props);\r\n return
    \r\n {rowData.is_verified ? \r\n \r\n : \r\n }\r\n
    ;\r\n }\r\n\r\n dialogApprovePanel(){\r\n let dialogApproveFooter =
    \r\n
    ;\r\n return(\r\n this.setState({displayApproveDialog: false})}>\r\n \r\n { this.state.adminList &&\r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n {this.updateProperty('is_verified', e.target.value)}}\r\n //onChange={(e) => this.setState({ personType: e.value })}\r\n checked={this.state.adminList.is_verified === true}\r\n />\r\n \r\n {this.updateProperty('is_verified', e.target.value)}}\r\n //onChange={(e) => this.setState({ personType: e.value })}\r\n checked={this.state.adminList.is_verified === false} />\r\n \r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n \r\n showSearchPanel() {\r\n const {\r\n productType1,\r\n product1,\r\n } = this.props;\r\n \r\n return (\r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberName1Changed(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n )\r\n }\r\n\r\n\r\n addNewAdministratorTab() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n console.log(\"Dropdown:\"+ valid)}\r\n className=\"input-101\"\r\n value={this.state.personPrefix}\r\n // options={this.state.provinceSelectItems} \r\n options={this.state.personPrefixs}\r\n //onChange={(e)=> this.setState({person: e.target.value})}\r\n onChange={this.onnameTypeChange} \r\n optionLabel=\"name\" \r\n placeholder=\"เลือกคำนำหน้า\" />\r\n
    \r\n \r\n
    \r\n console.log(\"Dropdown:\"+ valid)}\r\n className=\"input-101\"\r\n value={this.state.levelAdministrator}\r\n // options={this.state.provinceSelectItems} \r\n options={this.state.listDropdownAdmin}\r\n onChange={(e)=> this.setState({levelAdministrator: e.target.value})}\r\n //onChange={this.onnameTypeChange} \r\n optionLabel= \"role_name\"\r\n placeholder=\"เลือกระดับผู้ดูแล\" />\r\n
    \r\n \r\n \r\n
    \r\n {/* this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" /> */}\r\n this.setState({firstnameAdmin: e.target.value})}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n {/* this.setState({phoneNumberAdmin: e.target.value})}\r\n placeholder=\"ระบุ เบอร์โทร\" /> */}\r\n {this.state.errorMessageTelephoneNumber1} \r\n this.onTelephoneNumber1Changed(e.target.value,v)}\r\n isvalid={(valid) => this.setState({isvalid_telephoneNumber1:valid})}\r\n // onChange={(e)=> this.setState({phoneNumberAdmin: e.target.value})}\r\n // isvalid={this.onValidation}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n this.setState({lastnameAdmin: e.target.value})}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n\r\n \r\n
    \r\n {/* this.setState({emailAdmin: e.target.value})}\r\n placeholder=\"ระบุ Email\" /> */}\r\n\r\n this.setState({emailAdmin: e.target.value})}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n {this.state.errorMessageUsername} \r\n
    \r\n this.onUsernameChanged( e.target.value)}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {this.state.errorMessagePassword} \r\n
    \r\n this.onPasswordChanged(e.target.value)}\r\n isvalid={this.onValidation}\r\n />\r\n\r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n
    \r\n {this.state.errorMessageConfirmPassword} \r\n
    \r\n this.onConfirmPasswordChanged(e.target.value)}\r\n isvalid={this.onValidation}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n\r\n showWeightTable() {\r\n const dialogApprovePanel = this.dialogApprovePanel();\r\n let dialogFooter =
    \r\n
    ;\r\n // let deleteDialogFooter =
    \r\n //
    ;\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })}\r\n responsive={true} emptyMessage={(
    \r\n \r\n
    )} >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {/* this.setState({deleteDialog: false})}>\r\n {\r\n this.state.adminList &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.username}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.firstnameAdmin}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.lastnameAdmin}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.phoneNumberAdmin}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.emailAdmin}\r\n
    \r\n\r\n \r\n
    \r\n }\r\n
    */}\r\n this.setState({displayDialog: false})}>\r\n \r\n \r\n {\r\n this.state.adminList &&\r\n
    \r\n {console.log(this.state.adminList)}\r\n
    คุณต้องการจะแก้ไขข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n console.log(\"Dropdown:\"+ valid)}\r\n className=\"input-101\"\r\n value={this.state.prefixCodeAdmin}\r\n // options={this.state.provinceSelectItems} \r\n options={this.state.personPrefixs1}\r\n //onChange={(e)=> this.setState({person: e.target.value})}\r\n onChange={this.onnameTypeChange1} \r\n optionLabel=\"name\" \r\n placeholder=\"เลือกคำนำหน้า\" />\r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('firstName', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('lastName', e.target.value)}}\r\n />\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n console.log(\"Dropdown:\"+ valid)}\r\n className=\"input-101\"\r\n value={this.state.dropdownlevelAdmin}\r\n // options={this.state.provinceSelectItems} \r\n options={this.state.listDropdownAdmin}\r\n onChange={(e)=> this.setState({dropdownlevelAdmin: e.target.value})}\r\n //onChange={this.onnameTypeChange} \r\n optionLabel= \"role_name\"\r\n placeholder=\"เลือกระดับผู้ดูแล\" />\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.errorMessageTelephoneNumber} \r\n this.onTelephoneUpdateChanged(e.target.value,v)}\r\n isvalid={(valid) => this.setState({isvalid_telephoneNumber1:valid})}\r\n\r\n // isvalid={this.onValidation}\r\n // onChange={(e) => {this.updateProperty('telephoneNumber1', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {this.updateProperty('email', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n }\r\n
    \r\n {dialogApprovePanel}\r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n\r\n onSubmit() {\r\n\r\n }\r\n\r\n render() {\r\n \r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewAdministratorTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n\r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าระดับผู้ดูแลระบบ

    \r\n
    \r\n {/* {searchPanel} */}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n \r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n \r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageLevelAdmin)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Chips } from 'primereact/chips';\r\nimport {DataTable} from 'primereact/components/datatable/DataTable';\r\nimport {Column} from 'primereact/components/column/Column';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as ReportService from './service'\r\nimport * as ServerAPI from './service';\r\nimport * as UserService from '../../service/user.service';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {MultiSelect} from 'primereact/multiselect';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nimport { Calendar } from 'primereact/calendar';\r\n\r\nclass ManageMemberContainer extends Component {\r\n\tstatic propTypes = {\r\n\r\n }\r\n \r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.tickerLoad = true;\r\n this.state = {\r\n dataTableValue:[],\r\n memberType: 0,\r\n memberTypeItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ผู้รักษ์โลก', value: 1 },\r\n { label: 'ทีมขนส่งซีซาเล้ง', value: 2 },\r\n { label: 'ศูนย์จัดการฯซีซาเล้ง', value: 3 },\r\n { label: 'ผู้ดูแลระบบ', value: 4 },\r\n ],\r\n selectedMemberType: null,\r\n uid: '',\r\n showProgress: true,\r\n showReportTable: true,\r\n showReportPanel: true,\r\n mapGenZoom: 11,\r\n mapGenMarker: {},\r\n mapGenCenter: { lat: 13.7734283, lng: 100.57383099999993 },\r\n mapMarker: { lat: 13.7734283, lng: 100.57383099999993 },\r\n locationRecycle: [\r\n { inputId: 1, value: \"บ้านในโครงการจัดสรร\" },\r\n { inputId: 2, value: \"คอนโดมีเนียม / อพาร์ทเม้นท์\" },\r\n { inputId: 3, value: \"ร้านค้า / ร้านอาหาร\" },\r\n { inputId: 4, value: \"อื่นๆ\" },\r\n { inputId: 5, value: \"บ้านพักอาศัยทั่วไป\" },\r\n { inputId: 6, value: \"อาคารสำนักงาน / โรงงาน\" },\r\n { inputId: 7, value: \"สถานศึกษา / สถานที่ราชการ\" }\r\n ],\r\n provinceChipSelected: {},\r\n districtChipSelected: null,\r\n districtsChipSelected: [],\r\n sendPasswordItemSelected: [],\r\n sendPasswordItem: [\r\n { label: 'เบอร์โทร', value: 1 },\r\n { label: 'อีเมล', value: 2 },\r\n ],\r\n isVerified: false,\r\n disableEmail: false,\r\n memberUid:null,\r\n fullname:null,\r\n remarkDetail:'',\r\n\t\t};\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.onOrderSelected = this.onMemberSelected.bind(this);\r\n this.showReportResult = this.showReportResult.bind(this);\r\n this.getMemberDetail = this.getMemberDetail.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.customChipRemove = this.customChipRemove.bind(this);\r\n this.onChipProvinceChanged = this.onChipProvinceChanged.bind(this);\r\n this.onChipDistrictChanged = this.onChipDistrictChanged.bind(this);\r\n this.onCheckChange = this.onCheckChange.bind(this);\r\n this.onMemberType = this.onMemberType.bind(this);\r\n\r\n this.updateSystemAllowed = this.updateSystemAllowed.bind(this);\r\n this.resetPassWord = this.resetPassWord.bind(this);\r\n this.getRemark = this.getRemark.bind(this);\r\n \r\n // this.searchUser = this.searchUser().bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n this.searchUser();\r\n const { locationServiceProps ,userServiceProps} = this.props\r\n \r\n locationServiceProps.getProvice()\r\n userServiceProps.getUserInfo();\r\n\t\t\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if(nextProps.userInfo.data && !nextProps.userInfo.isFetching && this.tickerLoad){\r\n \r\n const currentUserInfo = nextProps.userInfo.data.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE['administrator'])\r\n\r\n if(currentUserInfo.wasteType == 4){\r\n this.setState({adminpermission: nextProps.userInfo.data.permission})\r\n }\r\n this.tickerLoad = false;\r\n }\r\n }\r\n\r\n //district dropdown\r\n onChipDistrictChanged(e) {\r\n this.setState({ districtChipSelected: e.value });\r\n \r\n var districtChipSelected = e.value;\r\n var isNotvalid = false;\r\n console.log(districtChipSelected.districtCode)\r\n console.log(this.state.districtsChipSelected)\r\n if(this.state.districtsChipSelected.length != 0){\r\n this.state.districtsChipSelected.forEach(districts => {\r\n console.log(districts.districtCode)\r\n console.log(districtChipSelected.districtCode)\r\n if(districts.districtCode == districtChipSelected.districtCode){\r\n isNotvalid = true;\r\n }\r\n });\r\n if(isNotvalid){\r\n this.showWarn(\"ในรายการมีพื่นที่นี้อยู่แล้ว\");\r\n }else{\r\n this.state.districtsChipSelected.push(districtChipSelected);\r\n }\r\n }else{\r\n this.state.districtsChipSelected.push(districtChipSelected);\r\n }\r\n\r\n //this.state.districtsChipSelected.push(e.value);\r\n this.setState({ districtCode: e.value.districtCode });\r\n }\r\n\r\n onChipProvinceChanged(e) {\r\n console.log(e);\r\n const { locationServiceProps } = this.props\r\n this.setState({ provinceChipSelected: e.value });\r\n locationServiceProps.getDistrict(e.value.provinceCode);\r\n this.setState({ provinceCode: e.value.provinceCode });\r\n }\r\n\r\n customChipRemove(e) {\r\n console.log(e.value);\r\n\r\n var array = this.state.districtsChipSelected; // make a separate copy of the array\r\n var index = array.indexOf(e.value[0])\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n this.setState({ districtsChipSelected: array });\r\n }\r\n console.log(array);\r\n }\r\n customChip(item) {\r\n return (\r\n
    \r\n {item.districtName} {item.provinceName} \r\n \r\n
    \r\n );\r\n }\r\n\r\n\ttoFormatDateTime(dateTime){\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if(year==-1899)\r\n return
    ;\r\n else \r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ; \r\n }\r\n\tto_created_date(rowData, column){\r\n return this.toFormatDateTime(rowData.created_date);\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n \r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n \r\n // if(this.state.brandSuggestions){\r\n // let results = this.state.brandSuggestions.filter((brand) => {\r\n // return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n // });\r\n // }\r\n\r\n // this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n console.log(\"onSelect\")\r\n console.log(item)\r\n let searchName = item.value.search_name\r\n var searchNameArr = searchName.split(\" \");\r\n var fullname = \"\";\r\n if(searchNameArr.length > 2){\r\n fullname = searchNameArr[2]\r\n }\r\n if(searchNameArr.length > 3){\r\n fullname += \" \"+searchNameArr[3]\r\n }\r\n // searchName.split\r\n\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n this.setState({ fullname: fullname });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onMemberSelected(e) {\r\n this.setState({ showReportTable: false })\r\n this.setState({ showProgress: true })\r\n this.setState({ showReportPanel: false })\r\n console.log(e.value);\r\n this.setState({ memberSelection: e.value })\r\n this.setState({ uid: e.value.uid })\r\n \r\n this.getMemberDetail(e.value.uid)\r\n }\r\n\r\n showReportResult() {\r\n console.log(this.state.showReportTable)\r\n this.setState({ showReportTable: !this.state.showReportTable })\r\n }\r\n\r\n getMemberDetail(uid){\r\n ServerAPI.getProfile(uid).then((obj) => {\r\n console.log(obj);\r\n\r\n this.setState({ addressDetail: obj.addr_current_detail })\r\n this.setState({ provinceCode: obj.addr_current_province_code })\r\n this.setState({ districtCode: obj.addr_current_district_code })\r\n this.setState({ subDistrictCode: obj.addr_current_subdistrict_code })\r\n this.setState({ lineId: obj.line_id })\r\n this.setState({ email: obj.email })\r\n this.setState({ genImg: obj.img_person_name })\r\n this.setState({ genPhone: obj.telephone_no1 })\r\n this.setState({ genFname: obj.person_first_name })\r\n this.setState({ genLname: obj.person_last_name })\r\n this.setState({ personType: obj.person_type })\r\n this.setState({ isVerified: obj.is_verified })\r\n this.setState({ personPrefixCode: obj.person_prefix_code })\r\n this.setState({ personIdcard: obj.person_idcard })\r\n this.setState({ latitude: obj.latitude })\r\n this.setState({ longitude: obj.longitude })\r\n this.setState({ location_type_code: obj.location_type_code})\r\n\r\n if (this.state.personPrefixCode == 1) {\r\n this.setState({ personPrefix: 'นาย' })\r\n } if (this.state.personPrefixCode == 2) {\r\n this.setState({ personPrefix: 'นาง' })\r\n } if (this.state.personPrefixCode == 3) {\r\n this.setState({ personPrefix: 'นางสาว' })\r\n }\r\n this.setState({ orgTypeCode: obj.org_type })\r\n if (this.state.orgTypeCode == 1) {\r\n this.setState({ orgType: 'บริษัทจำกัด' })\r\n } if (this.state.orgTypeCode == 2) {\r\n this.setState({ orgType: 'ห้างหุ้นส่วน' })\r\n } if (this.state.orgTypeCode == 3) {\r\n this.setState({ orgType: 'บริษัทมหาชน' })\r\n } if (this.state.orgTypeCode === 4) {\r\n this.setState({ orgType: 'ห้างร้าน' })\r\n }\r\n this.setState({ orgName: obj.org_name })\r\n\r\n var genMarder = { lat: obj.latitude, lng: obj.longitude };\r\n this.setState({ mapGenCenter: genMarder })\r\n this.setState({ mapGenMarker: genMarder })\r\n if (this.state.mapGenZoom === 12) {\r\n this.setState({ mapGenZoom: 12 });\r\n } else {\r\n this.setState({ mapGenZoom: 13 });\r\n }\r\n\r\n ServerAPI.getDistrict(obj.addr_current_province_code).then((res) => {\r\n this.setState({ districtList: res });\r\n ServerAPI.getSubDistrict(obj.addr_current_district_code).then((res) => {\r\n this.setState({ subDistrictList: res });\r\n this.bindingProfile();\r\n });\r\n });\r\n\r\n this.setState({ showProgress: false });\r\n this.setState({ showReportPanel: true })\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n bindingProfile() {\r\n const {\r\n locationMaster,\r\n provinces,\r\n } = this.props\r\n if (this.state.provinceCode && !locationMaster.isFetching) {\r\n provinces.forEach(objProvince => {\r\n // console.log(JSON.stringify(objProvince));\r\n if (objProvince.provinceCode == this.state.provinceCode) {\r\n this.setState({ provinceSelected: objProvince });\r\n this.setState({ genAddressProvince: objProvince.province_name })\r\n }\r\n });\r\n }\r\n if (this.state.districtCode) {\r\n this.state.districtList.forEach(objDistrict => {\r\n if (objDistrict.districtCode == this.state.districtCode) {\r\n this.setState({ districtSelected: objDistrict });\r\n this.setState({ genAddressDistrict: objDistrict.districtName })\r\n }\r\n });\r\n }\r\n if (this.state.subDistrictCode) {\r\n this.state.subDistrictList.forEach(objSubDistrict => {\r\n if (objSubDistrict.subDistrictCode == this.state.subDistrictCode) {\r\n this.setState({ subDistrictSelected: objSubDistrict });\r\n }\r\n });\r\n }\r\n }\r\n\r\n onChangeInputText = (e) => {\r\n const { name, value } = e.target\r\n this.setState({ [name]: value })\r\n }\r\n\r\n onCheckChange(e) {\r\n console.log(e);\r\n\r\n let showPassCheck = this.state.sendPasswordItemSelected;\r\n\r\n if (e.checked) {\r\n //his.state.sendPasswordItemSelected.checked=true;\r\n showPassCheck.push(e.value);\r\n }\r\n else {\r\n\r\n var index = this.state.sendPasswordItem.indexOf(e.value);\r\n //this.state.wasteTypes.check\r\n showPassCheck.splice(showPassCheck.indexOf(e.value), 1);\r\n }\r\n this.setState({ sendPasswordItemSelected: showPassCheck },this.isNotvalidStep2);\r\n\r\n var intChecked = [];\r\n for (let index = 0; index < showPassCheck.length; index++) {\r\n intChecked.push(showPassCheck[index].value);\r\n\r\n }\r\n\r\n this.setState({ sendPasswordListString: JSON.stringify(intChecked) });\r\n console.log(JSON.stringify(intChecked));\r\n }\r\n actionTemplate(rowData, column) {\r\n const {\r\n userInfo\r\n } = this.props\r\n\r\n return
    \r\n {(this.state.adminpermission ? this.state.adminpermission.view_member:null)&&\r\n \r\n }\r\n {(this.state.adminpermission ? this.state.adminpermission.manage_password:null)&&\r\n \r\n }\r\n \r\n
    ;\r\n }\r\n getRemark(uid){\r\n ServerAPI.getProfileState(uid).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({remarkShowDetail: res[0].remark })\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false })\r\n // this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n systemAllowedTemplate(rowData, column) {\r\n const {\r\n userInfo\r\n } = this.props\r\n var dissable = false;\r\n var label = '';\r\n var classname = '';\r\n var icons = '';\r\n if(rowData.is_verified == 0){\r\n label = 'ไม่ใช้งาน';\r\n classname = 'p-button-warning';\r\n icons = 'pi pi-times';\r\n }\r\n if(rowData.is_verified == 1){\r\n label = 'ใช้งาน';\r\n classname = 'p-button';\r\n icons = 'pi pi-check';\r\n }\r\n if(rowData.is_verified == 2){\r\n label = 'ระงับ';\r\n classname = 'p-button-warning';\r\n icons = 'pi pi-times';\r\n }\r\n if(rowData.is_verified == 3){\r\n label = 'บล็อก';\r\n classname = 'p-button-danger';\r\n icons = 'pi pi-times';\r\n }\r\n if(this.state.adminpermission)\r\n if(!this.state.adminpermission.manage_aproval){\r\n dissable = true\r\n }\r\n return
    \r\n {/* {userInfo.data.permission.manage_aproval ? ( rowData.is_verified ? \r\n \r\n : \r\n ) : ( rowData.is_verified ? \r\n \r\n : \r\n )\r\n } */}\r\n \r\n\r\n
    ;\r\n }\r\n\r\n statusMemberTypeTemplate(rowData, column) {\r\n\r\n let memberType = this.state.memberTypeItem\r\n let value;\r\n for (let index = 0 ; index < memberType.length;index++) {\r\n if(memberType[index].value === rowData.user_waste_type_id){\r\n value = memberType[index].label\r\n break;\r\n }\r\n }\r\n\r\n return
    \r\n {value}\r\n
    ;\r\n }\r\n\r\n\r\n onSystemAllowedClick(e){\r\n console.log(e);\r\n this.getRemark(e.uid);\r\n this.setState({\r\n remarkDetail:null,\r\n displaySystemAllowedDialog: true,\r\n isVerified:e.is_verified,\r\n systemAllowedData: Object.assign({}, e),\r\n });\r\n }\r\n onViewScreenClick(e){\r\n console.log(e)\r\n this.setState({\r\n displayUserScreenDialog: true,\r\n userScreenData: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onResetPassword(e){\r\n console.log(e)\r\n this.setState({\r\n displayResetPassDialog: true,\r\n resetPassData: Object.assign({}, e),\r\n sendPasswordItemSelected: [],\r\n sendPasswordListString: '',\r\n });\r\n\r\n if(e.email){\r\n this.setState({ disableEmail: false})\r\n }else{\r\n this.setState({ disableEmail: true})\r\n }\r\n }\r\n \r\n showSearchPanel() {\r\n const searchResult = this.showSearchResult();\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n this.setState({createStartDate: e.value})} >\r\n
    \r\n
    \r\n \r\n this.setState({createEndDate: e.value})} >\r\n
    \r\n\r\n
    \r\n
    \r\n this.searchUser()} />\r\n this.clearSearchInput()}\r\n />\r\n
    \r\n
    \r\n {searchResult}\r\n
    \r\n
    \r\n )\r\n }\r\n\r\n searchUser(){\r\n\r\n this.setState({ showProgress: true })\r\n\r\n console.log(\"Do searching user.\")\r\n const {serverAPIProps} = this.props\r\n\r\n let body = {\r\n \"user_waste_type_id\": this.state.memberType,\r\n \"user_id\": this.state.memberUid,\r\n \"name\": (this.state.fullname)?this.state.fullname:this.state.memberName,\r\n }\r\n if (this.state.createStartDate) {\r\n //Bankok Time zone (+7hrs)\r\n var createStartDate = new Date(this.state.createStartDate.getTime() + 7 * 60 * 60000);\r\n body.created_date_start = createStartDate.toISOString();\r\n }\r\n if (this.state.createEndDate) {\r\n var createEndDate = new Date(this.state.createEndDate.getTime() + 7 * 60 * 60000);\r\n body.created_date_end = createEndDate.toISOString();\r\n }\r\n\r\n serverAPIProps.getUsersAllForManagement(body).then((res) => {\r\n this.setState({ showProgress: false })\r\n });\r\n \r\n }\r\n\r\n updateSystemAllowed(){\r\n\r\n this.setState({ showProgress: true })\r\n var data = {\r\n waste_uid : this.state.systemAllowedData.uid,\r\n is_verified : this.state.isVerified,\r\n remark : (this.state.isVerified == 1 || this.state.isVerified == 0 )? null:this.state.remarkShowDetail,\r\n }\r\n if(data.remark !== null || data.is_verified == 0 || data.is_verified == 1 ){\r\n ServerAPI.setProfileStateChange(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index === -1) {\r\n this.searchUser();\r\n this.setState({ displaySystemAllowedDialog:false});\r\n this.showSuccess();\r\n // this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }else{\r\n this.showWarn('กรุณากรอกหมายเหตุ');\r\n }\r\n \r\n \r\n }\r\n\r\n resetPassWord(){\r\n\r\n this.setState({ showProgress: true })\r\n\r\n let resetType;\r\n if(this.state.sendPasswordItemSelected.indexOf(this.state.sendPasswordItem[0]) !== -1\r\n && this.state.sendPasswordItemSelected.indexOf(this.state.sendPasswordItem[1]) !== -1\r\n ){\r\n resetType = 3;\r\n }else if(this.state.sendPasswordItemSelected.indexOf(this.state.sendPasswordItem[0]) !== -1){\r\n resetType = 1;\r\n }else if(this.state.sendPasswordItemSelected.indexOf(this.state.sendPasswordItem[1]) !== -1){\r\n resetType = 2;\r\n }\r\n\r\n ServerAPI.resetpassword(this.state.resetPassData.username,resetType).then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index === -1) {\r\n this.searchUser();\r\n this.setState({ displayResetPassDialog:false});\r\n this.showSuccess();\r\n // this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n\r\n clearSearchInput(){\r\n this.setState({ memberType: 0})\r\n this.setState({ memberUid: null})\r\n this.setState({ memberName: null})\r\n this.setState({ fullname: null})\r\n this.setState({ createStartDate: null})\r\n this.setState({ createEndDate: null})\r\n }\r\n \r\n onMemberType(event) {\r\n this.dt.filter(event.value, 'user_waste_type_id', 'in');\r\n this.setState({selectedMemberType: event.value});\r\n }\r\n\r\n showSearchResult(){\r\n const { allUserLists } = this.props\r\n const dialogSystemAllowedPanel = this.dialogSystemAllowedPanel();\r\n const dialogResetPassPanel = this.dialogResetPassPanel();\r\n const dialogUserScreenPanel = this.dialogUserScreenPanel();\r\n\r\n const memberTypeFilter = ;\r\n\r\n \r\n return (
    \r\n\r\n \r\n \r\n this.onMemberSelected(e)}\r\n emptyMessage={(
    \r\n \r\n
    )}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n */}\r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {dialogSystemAllowedPanel}\r\n {dialogResetPassPanel}\r\n {dialogUserScreenPanel}\r\n
    )\r\n }\r\n\r\n dialogSystemAllowedPanel(){\r\n let dialogApproveFooter =
    \r\n
    ;\r\n return(\r\n this.setState({displaySystemAllowedDialog: false})}\r\n style={{width:'30vw'}}\r\n >\r\n \r\n { this.state.systemAllowedData &&\r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n this.setState({ isVerified: e.value })}\r\n checked={this.state.isVerified === 1} />\r\n \r\n
    \r\n
    \r\n this.setState({ isVerified: e.value })}\r\n checked={this.state.isVerified === 0} />\r\n \r\n
    \r\n
    \r\n this.setState({ isVerified: e.value })}\r\n checked={this.state.isVerified === 2} />\r\n \r\n
    \r\n {this.state.isVerified == 2 &&\r\n this.setState({remarkShowDetail: e.target.value})} \r\n />\r\n }\r\n \r\n
    \r\n
    \r\n this.setState({ isVerified: e.value ,remarkDetail:\"\"})}\r\n checked={this.state.isVerified === 3} />\r\n \r\n
    \r\n {this.state.isVerified == 3 &&\r\n this.setState({remarkShowDetail: e.target.value})} \r\n />\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n\r\n dialogUserScreenPanel(){\r\n let dialogUserScreenFooter =
    \r\n
    ;\r\n return(\r\n this.setState({displayUserScreenDialog: false})}>\r\n \r\n { this.state.userScreenData &&\r\n
    \r\n {/*
    */}\r\n
    \r\n ต้องการไปที่หน้าจอสมาชิก ?\r\n
    \r\n {this.state.getTokenfail &&
    \r\n เกิดข้อผิดพลาด\r\n
    }\r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n\r\n dialogResetPassPanel(){\r\n let dialogResetPassFooter =
    \r\n
    ;\r\n return(\r\n this.setState({displayResetPassDialog: false})}>\r\n \r\n { this.state.resetPassData &&\r\n
    \r\n\r\n
    \r\n เลือกช่องทางในการส่งรหัสผ่านใหม่\r\n
    \r\n\r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.sendPasswordItemSelected.indexOf(this.state.sendPasswordItem[0]) !== -1}/>\r\n \r\n
    \r\n
    \r\n { this.onCheckChange(e) }}\r\n checked={this.state.sendPasswordItemSelected.indexOf(this.state.sendPasswordItem[1]) !== -1}\r\n // disabled={this.state.disableEmail}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n )\r\n }\r\n setPasswordVisible(e) {\r\n\r\n this.setState({ checkedPasswordVisible: e.value })\r\n if (e.value) {\r\n this.setState({ typePasswordInput: 'text' });\r\n } else {\r\n this.setState({ typePasswordInput: 'password' });\r\n }\r\n }\r\n\r\n getToken(e){\r\n // const { adminServiceProps } = this.props\r\n if(this.state.userScreenData){\r\n ServerAPI.getToken(this.state.userScreenData.username).then((res) => {\r\n if(res){\r\n\r\n UserService.getUserTypeFunction().then((re)=>{\r\n if(re){\r\n const userType = localStorage.getItem('user-type');\r\n console.log(userType);\r\n window.location = '#/'+userType;\r\n\r\n // this.props.history.push({\r\n // pathname: '/'+userType,\r\n // })\r\n }\r\n this.setState({getTokenfail: true })\r\n });\r\n\r\n \r\n }else{\r\n this.setState({getTokenfail: true })\r\n }\r\n }).catch((error) => {\r\n console.log(error)\r\n this.setState({getTokenfail: true })\r\n })\r\n }\r\n \r\n }\r\n\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const showProgress = this.showProgressSpinner();\r\n \r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {showProgress}\r\n
    \r\n ) \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n allUserLists: state.getUsersAllForManagement.data,\r\n locationMaster: state.location,\r\n userInfo: state.userInfo\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\tlocationServiceProps: bindActionCreators(LocationService, dispatch),\r\n reportServiceProps: bindActionCreators(ReportService, dispatch),\r\n serverAPIProps: bindActionCreators(ServerAPI, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageMemberContainer)","import React, { useState, useEffect, useRef } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport 'moment-timezone'\r\nimport { Button } from 'primereact/button'\r\nimport { Growl } from 'primereact/growl'\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { Accordion, AccordionTab } from 'primereact/accordion'\r\nimport { Panel } from 'primereact/components/panel/Panel'\r\nimport { DataTable } from 'primereact/components/datatable/DataTable'\r\nimport { Column } from 'primereact/components/column/Column'\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown'\r\nimport { FileUpload } from 'primereact/fileupload'\r\nimport { ProgressSpinner } from 'primereact/progressspinner'\r\nimport {\r\n getCertTemplateAll,\r\n getCertTemplateById,\r\n createCertTemplate,\r\n updateCertTemplate,\r\n deleteCertTemplate\r\n} from './service'\r\nimport { CEInputText } from '../../features/input'\r\nimport { Dialog } from 'primereact/dialog'\r\nimport { Slider } from 'primereact/slider'\r\nimport moment from 'moment'\r\nimport { orderBy } from 'lodash'\r\n\r\nexport default function ManageCertificate() {\r\n\r\n const { adminCertTemplate } = useSelector(state => state)\r\n const dispatch = useDispatch()\r\n\r\n const [certificationList, setCertificationList] = useState([])\r\n const [isNotValid, setIsNotValid] = useState(false)\r\n const [showProgress, setShowProgress] = useState(false)\r\n const [statusItem, setStatusItem] = useState([\r\n { label: 'เปิดใช้งาน', value: true },\r\n { label: 'ปิดการใช้งาน', value: false }\r\n ])\r\n const [gid, setGid] = useState(0)\r\n const [certName, setCertName] = useState('')\r\n const [certText, setCertText] = useState('')\r\n const [carbonCreditStart, setCarbonCreditStart] = useState()\r\n const [isValidCreditStart, setIsValidCreditStart] = useState(false)\r\n const [carbonCreditEnd, setCarbonCreditEnd] = useState()\r\n const [isValidCreditEnd, setIsValidCreditEnd] = useState(false)\r\n const [certImageAxisX, setCertImageAxisX] = useState(339)\r\n const [certImageAxisY, setCertImageAxisY] = useState(98)\r\n const [certImageHeight, setCertImageHeight] = useState(159)\r\n const [certImageWidth, setCertImageWidth] = useState(119)\r\n const [holderNameAxisX, setHolderNameAxisX] = useState(238)\r\n const [holderNameAxisY, setHolderNameAxisY] = useState(264)\r\n const [holderNameFontSize, setHolderNameFontSize] = useState(32.0)\r\n const [certDateAxisX, setCertDateAxisX] = useState(331)\r\n const [certDateAxisY, setCertDateAxisY] = useState(309)\r\n const [certDateFontSize, setCertDateFontSize] = useState(24.0)\r\n const [isActive, setIsActive] = useState(true)\r\n const [templateImage, setTemplateImage] = useState(null)\r\n const [certTemplateImage, setCertTemplateImage] = useState('')\r\n const [cert, setCert] = useState(0)\r\n\r\n const [activeIndex, setActiveIndex] = useState(null)\r\n const [deleteDialog, setDeleteDialog] = useState(false)\r\n const [imageDialog, setImageDialog] = useState(false)\r\n const [showAdd, setShowAdd] = useState(false)\r\n const [isShowSlide, setIsShowSlide] = useState(false)\r\n\r\n const growl = useRef(null)\r\n const canvasRef = useRef(null)\r\n \r\n useEffect(() => {\r\n dispatch(getCertTemplateAll())\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (adminCertTemplate.data &&\r\n !adminCertTemplate.isLoading &&\r\n !adminCertTemplate.isFailed) {\r\n setCertificationList(orderBy(adminCertTemplate.data, 'carbon_credit_start', 'asc'))\r\n }\r\n }, [adminCertTemplate])\r\n\r\n useEffect(() => {\r\n if (templateImage !== null || certTemplateImage !== '') {\r\n setIsShowSlide(true)\r\n } else {\r\n setIsShowSlide(false)\r\n }\r\n }, [templateImage, certTemplateImage])\r\n\r\n useEffect(() => {\r\n if (certName == '' || carbonCreditStart == '' || carbonCreditEnd == '') {\r\n setIsNotValid(true)\r\n } else {\r\n setIsNotValid(false)\r\n }\r\n }, [certName, carbonCreditStart, carbonCreditEnd])\r\n\r\n useEffect(() => {\r\n if (parseFloat(carbonCreditStart) == 'NaN' || parseFloat(carbonCreditEnd) == 'NaN') {\r\n setCarbonCreditStart(parseFloat(carbonCreditStart))\r\n setCarbonCreditEnd(parseFloat(carbonCreditEnd))\r\n }\r\n }, [carbonCreditStart, carbonCreditEnd])\r\n\r\n const showProgressSpinner = () => {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (showProgress) {\r\n return (Progress)\r\n } else\r\n return (
    )\r\n }\r\n\r\n const actionTemplate = (rowData, column) => {\r\n return
    \r\n onCertUpdate(column.rowData)}\r\n icon=\"pi pi-pencil\"\r\n className=\"p-button\"\r\n >\r\n onDeleteClick(column.rowData)}\r\n icon=\"fa fa-trash\"\r\n className=\"p-button-warning\"\r\n >\r\n
    ;\r\n }\r\n\r\n const onUpdate = () => {\r\n setShowProgress(true)\r\n if (isNotValid) {\r\n showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n setShowProgress(false)\r\n } else {\r\n var min = parseFloat(carbonCreditStart)\r\n var max = parseFloat(carbonCreditEnd)\r\n\r\n if (min >= max) {\r\n console.log(min)\r\n console.log(max)\r\n showWarn(\"น้ำหนักต่ำสุด ต้องน้อยกว่าน้ำหนักสูงสุด\");\r\n setShowProgress(false)\r\n } else {\r\n var notValid = false;\r\n certificationList.indexOf(\"\")\r\n certificationList.forEach(objCertList => {\r\n var objMin = parseFloat(objCertList.carbon_credit_start)\r\n var objMax = parseFloat(objCertList.carbon_credit_end)\r\n // console.log(min + \" > \" + objMin);\r\n // console.log(max + \" > \" + objMin);\r\n // console.log(min + \" < \" + objMax);\r\n // console.log(max + \" < \" + objMax);\r\n if (objCertList.gid != gid)\r\n if ((min < objMin && max < objMin) || (min > objMax && max > objMax)) {\r\n console.log(\"pass!\");\r\n } else if (objMin <= min || objMax >= max) {\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n } else if (objMin >= min || objMax <= max) {\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n } else console.log(\"pass2!\");\r\n });\r\n\r\n if (notValid) {\r\n showWarn(\"มีช่วงระยะทางที่ซ้ำซ้อนกัน\");\r\n setShowProgress(false)\r\n } else {\r\n createUpdateCert()\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onCertUpdate = (e) => {\r\n onClearAll()\r\n dispatch(getCertTemplateById(e.gid)).then((res) => {\r\n setShowAdd(true)\r\n setGid(res.gid)\r\n setCertName(res.cert_name)\r\n setCertText(res.cert_text)\r\n setCarbonCreditStart(res.carbon_credit_start)\r\n setCarbonCreditEnd(res.carbon_credit_end)\r\n setCertImageAxisX(res.cert_image_axis_x)\r\n setCertImageAxisY(res.cert_image_axis_y)\r\n setCertImageHeight(res.cert_image_height)\r\n setCertImageWidth(res.cert_image_width)\r\n setHolderNameAxisX(res.holder_name_axis_x)\r\n setHolderNameAxisY(res.holder_name_axis_y)\r\n setHolderNameFontSize(res.holder_name_font_size)\r\n setCertDateAxisX(res.cert_date_axis_x)\r\n setCertDateAxisY(res.cert_date_axis_y)\r\n setCertDateFontSize(res.cert_date_font_size)\r\n setIsActive(res.is_active)\r\n setTemplateImage(null)\r\n setCertTemplateImage(res.cert_template_image)\r\n }).catch((error) => {\r\n setShowProgress(false)\r\n })\r\n }\r\n\r\n const onDeleteClick = (e) => {\r\n setDeleteDialog(true)\r\n setCert(Object.assign({}, e))\r\n }\r\n\r\n const onCertDelete = () => {\r\n dispatch(deleteCertTemplate(cert.gid)).then(res => {\r\n showSuccess()\r\n setDeleteDialog(false)\r\n dispatch(getCertTemplateAll())\r\n }).catch(error => {\r\n showWarn()\r\n })\r\n }\r\n\r\n const showSuccess = (message) => {\r\n growl.current.show({\r\n severity: 'success',\r\n summary: 'สถานะ',\r\n detail: message ? message : 'ทำรายการสำเร็จ'\r\n })\r\n }\r\n const showWarn = (message) => {\r\n growl.current.show({\r\n severity: 'warn',\r\n summary: 'สถานะ',\r\n detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ'\r\n })\r\n }\r\n\r\n const onSave = () => {\r\n setShowProgress(true)\r\n\r\n if (isNotValid) {\r\n showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n setShowProgress(false)\r\n } else {\r\n var min = parseFloat(carbonCreditStart)\r\n var max = parseFloat(carbonCreditEnd)\r\n\r\n if (min >= max) {\r\n console.log(min)\r\n console.log(max)\r\n showWarn(\"ค่าเริ่มต้น ต้องน้อยกว่าค่าสิ้นสุด\");\r\n setShowProgress(false)\r\n } else {\r\n var notValid = false;\r\n certificationList.forEach(objCert => {\r\n var objMin = parseFloat(objCert.carbon_credit_start)\r\n var objMax = parseFloat(objCert.carbon_credit_end)\r\n // console.log(min + \" < \" + objMin)\r\n // console.log(max + \" < \" + objMin)\r\n // console.log(min + \" > \" + objMax)\r\n // console.log(max + \" > \" + objMax)\r\n if ((min < objMin && max < objMin) || (min > objMax && max > objMax)) {\r\n console.log(\"pass!\");\r\n } else if (objMin <= min || objMax >= max) {\r\n console.log(\"not pass!\")\r\n notValid = true;\r\n } else if (objMin >= min || objMax <= max) {\r\n console.log(\"not pass2!\")\r\n notValid = true;\r\n } else console.log(\"pass2!\");\r\n });\r\n\r\n if (notValid) {\r\n showWarn(\"มีช่วงคาร์บอนเครดิตที่ซ้ำซ้อนกัน\");\r\n setShowProgress(false)\r\n } else {\r\n\r\n if (!templateImage && certTemplateImage == '') {\r\n showWarn(\"กรุณาแนบไฟล์รูปใบประกาศ\");\r\n setShowProgress(false)\r\n } else {\r\n createUpdateCert()\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const onSelectTemplateImage = (e) => {\r\n console.log(e)\r\n setTemplateImage(e.files[0])\r\n }\r\n\r\n const onDeleteCertImage = (e) => {\r\n setCertTemplateImage('')\r\n setTemplateImage(null)\r\n }\r\n\r\n const openImage = (rowData, column) => {\r\n return
    \r\n onOpenImage(column.rowData)}\r\n icon=\"pi pi-images\"\r\n label=\"เปิดดูภาพ\"\r\n className=\"p-buttong\"\r\n >\r\n
    ;\r\n }\r\n\r\n const onOpenImage = (data) => {\r\n setCert(data)\r\n setImageDialog(true)\r\n }\r\n\r\n const statusColumn = (rowData, column) => {\r\n return
    \r\n {rowData.is_active ?\r\n \r\n :\r\n \r\n }\r\n
    ;\r\n }\r\n\r\n const onChangeSlider = (e, key) => {\r\n let newValue;\r\n if (e.target && e.target.nodeName === \"INPUT\") {\r\n newValue = e.target.value\r\n }\r\n else {\r\n newValue = e.value\r\n }\r\n key(newValue)\r\n }\r\n\r\n const customStyle = (header, value, key, maxLength) => {\r\n const customView = (\r\n
    \r\n {header}\r\n onChangeSlider(e, key)}\r\n style={{ width: '100%' }} />\r\n
    \r\n )\r\n return customView;\r\n }\r\n\r\n const resetCustomImage = () => {\r\n setCertImageWidth(119)\r\n setCertImageHeight(159)\r\n setCertImageAxisX(339)\r\n setCertImageAxisY(98)\r\n }\r\n const resetCustomHolderName = () => {\r\n setHolderNameFontSize(32)\r\n setHolderNameAxisX(238)\r\n setHolderNameAxisY(264)\r\n }\r\n const resetCustomDate = () => {\r\n setCertDateFontSize(24)\r\n setCertDateAxisX(331)\r\n setCertDateAxisY(309)\r\n }\r\n\r\n const createUpdateCert = () => {\r\n const formData = new FormData()\r\n formData.append('TemplateImages', templateImage)\r\n formData.set('gid', gid)\r\n formData.set('cert_name', certName)\r\n formData.set('cert_text', certText)\r\n formData.set('carbon_credit_start', carbonCreditStart)\r\n formData.set('carbon_credit_end', carbonCreditEnd)\r\n formData.set('cert_template_image', certTemplateImage)\r\n formData.set('cert_image_width', parseInt(certImageHeight*0.75,0))\r\n formData.set('cert_image_height', certImageHeight)\r\n formData.set('cert_image_axis_x', certImageAxisX)\r\n formData.set('cert_image_axis_y', certImageAxisY)\r\n formData.set('holder_name_font_size', holderNameFontSize)\r\n formData.set('holder_name_axis_x', holderNameAxisX)\r\n formData.set('holder_name_axis_y', holderNameAxisY)\r\n formData.set('cert_date_font_size', certDateFontSize)\r\n formData.set('cert_date_axis_x', certDateAxisX)\r\n formData.set('cert_date_axis_y', certDateAxisY)\r\n formData.set('is_active', isActive)\r\n\r\n if (gid == 0) {\r\n dispatch(createCertTemplate(formData)).then((res) => {\r\n if (res == 'success') {\r\n onClearAll()\r\n showSuccess()\r\n dispatch(getCertTemplateAll())\r\n setShowProgress(false)\r\n } else {\r\n showWarn()\r\n setShowProgress(false)\r\n }\r\n })\r\n } else {\r\n dispatch(updateCertTemplate(formData)).then((res) => {\r\n if (res == 'success') {\r\n onClearAll()\r\n showSuccess()\r\n dispatch(getCertTemplateAll())\r\n setShowProgress(false)\r\n } else {\r\n showWarn()\r\n setShowProgress(false)\r\n }\r\n })\r\n }\r\n }\r\n\r\n const onClearAll = () => {\r\n if (!templateImage) {\r\n setShowAdd(false)\r\n }\r\n setGid(0)\r\n setCertName('')\r\n setCertText('')\r\n setCarbonCreditStart('')\r\n setCarbonCreditEnd('')\r\n setCertImageAxisX(304)\r\n setCertImageAxisY(59)\r\n setCertImageHeight(190)\r\n setCertImageWidth(142.5)\r\n setHolderNameAxisX(274)\r\n setHolderNameAxisY(269)\r\n setHolderNameFontSize(26)\r\n setCertDateAxisX(641)\r\n setCertDateAxisY(553)\r\n setCertDateFontSize(26)\r\n setIsActive(true)\r\n setTemplateImage(null)\r\n setCertTemplateImage('')\r\n setCert(null)\r\n }\r\n\r\n useEffect(() => {\r\n if (cert.gid > 0) {\r\n const canvas = canvasRef.current\r\n const ctx = canvas.getContext(\"2d\")\r\n function drawText(text, centerX, centerY, fontSize, fontFace) {\r\n ctx.save();\r\n ctx.font = fontSize + 'px ' + fontFace;\r\n ctx.fillText(text, centerX, centerY + fontSize);\r\n ctx.restore();\r\n }\r\n var img = new Image\r\n var avt = new Image\r\n img.crossOrigin = '*';\r\n avt.crossOrigin = '*';\r\n img.onload = function () {\r\n ctx.drawImage(img, 0, 0, 800, 600)\r\n ctx.drawImage(\r\n avt,\r\n cert.cert_image_axis_x,\r\n cert.cert_image_axis_y,\r\n cert.cert_image_width,\r\n cert.cert_image_height\r\n )\r\n drawText(\r\n 'xxxxxxxx xxxxxxxxxx',\r\n cert.holder_name_axis_x,\r\n cert.holder_name_axis_y,\r\n cert.holder_name_font_size,\r\n 'Kanit'\r\n )\r\n drawText(\r\n moment(Date()).format('DD MMM YYYY'),\r\n cert.cert_date_axis_x,\r\n cert.cert_date_axis_y,\r\n cert.cert_date_font_size,\r\n 'Kanit'\r\n )\r\n }\r\n img.src = `${API_ROOT}/certification/getfile/${cert.cert_template_image}`\r\n avt.src = `/assets/avatar/avatarCert.png`\r\n }\r\n }, [imageDialog])\r\n\r\n const onAmountChange = (state, value) => {\r\n const amount = value.target.value;\r\n if (!amount || amount.match(/^\\d{1,}(\\.\\d{0,4})?$/)) {\r\n state(amount)\r\n }\r\n }\r\n\r\n const showAddCert = () => {\r\n const newDistance = (\r\n
    \r\n {\r\n setShowAdd(!showAdd)\r\n setCert(null)\r\n }}>\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n setCertName(e.target.value)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n setIsActive(e.value)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n setIsValidCreditStart(e)}\r\n onChange={(e) => onAmountChange(setCarbonCreditStart, e)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n setIsValidCreditEnd(e)}\r\n onChange={(e) => onAmountChange(setCarbonCreditEnd, e)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {isShowSlide &&\r\n \r\n \r\n }\r\n {isShowSlide &&\r\n \r\n xxxxxxxx xxxxxxxxxx\r\n }\r\n {isShowSlide &&\r\n \r\n {moment(Date()).format('DD MMM YYYY')}\r\n }\r\n {templateImage &&\r\n \r\n }\r\n {!templateImage && certTemplateImage !== '' &&\r\n \r\n }\r\n
    \r\n
    \r\n {isShowSlide &&\r\n
    \r\n setActiveIndex(e.index)}>\r\n \r\n {customStyle(\"ขนาดรูป\", certImageHeight, setCertImageHeight, 800)}\r\n {customStyle(\"แกน x\", certImageAxisX, setCertImageAxisX, 800)}\r\n {customStyle(\"แกน y\", certImageAxisY, setCertImageAxisY, 600)}\r\n
    \r\n \r\n
    \r\n \r\n {customStyle(\"ขนาดชื่อ\", holderNameFontSize, setHolderNameFontSize, 100)}\r\n {customStyle(\"แกน x\", holderNameAxisX, setHolderNameAxisX, 800)}\r\n {customStyle(\"แกน y\", holderNameAxisY, setHolderNameAxisY, 600)}\r\n
    \r\n \r\n
    \r\n \r\n {customStyle(\"ขนาดวันที่\", certDateFontSize, setCertDateFontSize, 100)}\r\n {customStyle(\"แกน x\", certDateAxisX, setCertDateAxisX, 800)}\r\n {customStyle(\"แกน y\", certDateAxisY, setCertDateAxisY, 600)}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n }\r\n {gid !== 0 ?\r\n
    \r\n \r\n \r\n
    :\r\n
    \r\n \r\n {templateImage &&\r\n \r\n }\r\n
    }\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n );\r\n return newDistance;\r\n }\r\n\r\n const showCertTable = () => {\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const certTable = (\r\n
    \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n setImageDialog(false)}>\r\n
    \r\n \r\n
    \r\n
    \r\n setDeleteDialog(false)}>\r\n {\r\n cert &&\r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {cert.cert_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {cert.carbon_credit_start}\r\n
    \r\n\r\n
    \r\n
    \r\n {cert.carbon_credit_end}\r\n
    \r\n
    \r\n }\r\n
    \r\n \r\n )\r\n if (!showProgress)\r\n return certTable;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    ตั้งค่าใบรับรอง/เหรียญ

    \r\n
    \r\n {showAddCert()}\r\n {showProgressSpinner()}\r\n {showCertTable()}\r\n
    \r\n )\r\n}\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport 'moment-timezone'\r\nimport { Button } from 'primereact/button'\r\nimport { Growl } from 'primereact/growl'\r\nimport { Panel } from 'primereact/components/panel/Panel'\r\nimport { DataTable } from 'primereact/components/datatable/DataTable'\r\nimport { Column } from 'primereact/components/column/Column'\r\nimport { ProgressSpinner } from 'primereact/progressspinner'\r\nimport {\r\n getCertResult\r\n} from './service'\r\n\r\nexport default function ManageCertificateResult() {\r\n\r\n const { adminCertResult } = useSelector(state => state)\r\n const dispatch = useDispatch()\r\n const [certificationList, setCertificationList] = useState([])\r\n const [showProgress, setShowProgress] = useState(false)\r\n const growl = useRef(null)\r\n\r\n useEffect(() => {\r\n dispatch(getCertResult())\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (adminCertResult.data &&\r\n !adminCertResult.isLoading &&\r\n !adminCertResult.isFailed) {\r\n setCertificationList(adminCertResult.data)\r\n }\r\n }, [adminCertResult])\r\n\r\n const showProgressSpinner = () => {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (showProgress) {\r\n return (Progress)\r\n } else\r\n return (
    )\r\n }\r\n\r\n const showSuccess = (message) => {\r\n growl.current.show({\r\n severity: 'success',\r\n summary: 'สถานะ',\r\n detail: message ? message : 'ทำรายการสำเร็จ'\r\n })\r\n }\r\n const showWarn = (message) => {\r\n growl.current.show({\r\n severity: 'warn',\r\n summary: 'สถานะ',\r\n detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ'\r\n })\r\n }\r\n\r\n const viewResult = () => {\r\n return (\r\n
    \r\n \r\n {!showProgress && \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n }\r\n {showProgressSpinner()}\r\n \r\n \r\n )\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    สรุปใบรับรอง/เหรียญ

    \r\n
    \r\n {viewResult()}\r\n
    \r\n )\r\n}\r\n","import React, { useState, useEffect, useRef } from 'react'\r\nimport { useDispatch, useSelector } from 'react-redux'\r\nimport 'moment-timezone'\r\nimport { Button } from 'primereact/button'\r\nimport { Growl } from 'primereact/growl'\r\nimport { Panel } from 'primereact/components/panel/Panel'\r\nimport { DataTable } from 'primereact/components/datatable/DataTable'\r\nimport { Column } from 'primereact/components/column/Column'\r\nimport { ProgressSpinner } from 'primereact/progressspinner'\r\nimport {\r\n getSettingParameterAll,\r\n updateSettingParameter\r\n} from '../../service/MasterService'\r\nimport { CEInputText } from '../../features/input'\r\nimport { Dialog } from 'primereact/dialog'\r\nexport default function ManageSettingParameter() {\r\n const { settingParameter } = useSelector(state => state)\r\n const [showProgress, setShowProgress] = useState(false)\r\n const [selectItem, setSelectItem] = useState(null)\r\n const [isEdit, setIsEdit] = useState(false)\r\n const [isValid, setIsValid] = useState(true)\r\n const [selectRow, setSelectRow] = useState(null)\r\n const growl = useRef(null)\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n setShowProgress(true)\r\n dispatch(getSettingParameterAll()).then(res => {\r\n setShowProgress(false)\r\n })\r\n }, [])\r\n\r\n const onSelectItem = (data) => {\r\n setSelectItem(data)\r\n setIsEdit(true)\r\n }\r\n\r\n const onChangeValue = (value) => {\r\n setSelectItem({ ...selectItem, param_value: value })\r\n }\r\n\r\n const showProgressSpinner = () => {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (showProgress) {\r\n return (Progress)\r\n } else\r\n return (
    )\r\n }\r\n\r\n const actionTemplate = (rowData, column) => {\r\n return
    \r\n onSelectItem(column.rowData)}\r\n icon=\"pi pi-pencil\"\r\n className=\"p-button\"\r\n >\r\n
    ;\r\n }\r\n\r\n const onUpdate = () => {\r\n if (!isValid) {\r\n showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n setShowProgress(false)\r\n } else {\r\n dispatch(updateSettingParameter(selectItem)).then(res => {\r\n dispatch(getSettingParameterAll())\r\n setIsEdit(false)\r\n showSuccess()\r\n })\r\n }\r\n }\r\n\r\n const showSuccess = (message) => {\r\n growl.current.show({\r\n severity: 'success',\r\n summary: 'สถานะ',\r\n detail: message ? message : 'ทำรายการสำเร็จ'\r\n })\r\n }\r\n const showWarn = (message) => {\r\n growl.current.show({\r\n severity: 'warn',\r\n summary: 'สถานะ',\r\n detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ'\r\n })\r\n }\r\n\r\n const showSettingTable = () => {\r\n let editDialogFooter =
    \r\n
    ;\r\n const settingTable = (\r\n
    \r\n \r\n setSelectRow(e.value)}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n setIsEdit(false)}>\r\n {\r\n selectItem &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n setIsValid(e)}\r\n onChange={(e) => onChangeValue(e.target.value)}\r\n />\r\n
    \r\n
    \r\n {selectItem.param_uom}\r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n )\r\n if (!showProgress)\r\n return settingTable;\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    การตั้งค่าพารามิเตอร์

    \r\n
    \r\n {showProgressSpinner()}\r\n {showSettingTable()}\r\n
    \r\n )\r\n}\r\n","\r\n\r\nimport React, { useState } from 'react';\r\n\r\nimport { Panel } from 'primereact/panel';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { Button } from 'primereact/button';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Chips } from 'primereact/chips';\r\n\r\n\r\nexport const ChatAdminView = ({ valueDd, listDd, onChangeDd, valueMessage, onChangeMessage, onSubmit, classNameRequired,\r\n valueMemberName, onChangeMemberName, onAddMember, customChipRemove, valueChips, valueProvince, provinceList, onChangedProvinceDb,\r\n valueDistrict, districtList, onChangedDistrictDb }) => {\r\n const handleEnter = (e) => {\r\n if (e.key === 'Enter') {\r\n return onsubmit\r\n }\r\n }\r\n\r\n const showChatMassage = (\r\n
    \r\n
    \r\n {/*
    */}\r\n
      \r\n
    • \r\n \"Contact\r\n \"สวัสดีค่ะ มีเรื่องจะสอบถามหน่อยค่ะ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"ยินดีให้บริการครับ\"\r\n
    • \r\n
    • \r\n \"Contact\r\n \"จะเปลี่ยนรหัสผ่านได้ยังไงคะ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"login เข้าสู่ระบบ ไปที่หน้า profile เลื่อนลงมาข้างล่างสุด
      จะเห็นข้อความเปลี่ยนรหัสผ่าน ให้เช็คถูก แล้วทำตามขั้นตอนได้เลยครับ\"
      \r\n
    • \r\n
    • \r\n \"Contact\r\n \"ค่ะ ขอบคุณมากๆค่ะ\"\r\n
    • \r\n
    • \r\n \"User\"\r\n \"ยินดีให้บริการครับ\"\r\n
    • \r\n \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n \r\n )\r\n // const header = (\r\n //
    \r\n //
    Eisya wastegen U1 ( ผู้รักษ์โลก )
    \r\n //
    \r\n // )\r\n\r\n \r\n var header =
    \r\n Eisya wastegen U1 ( ผู้รักษ์โลก )\r\n
    ;\r\n\r\n return (\r\n \r\n
    \r\n {/* ROW2 */}\r\n
    \r\n {showChatMassage}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport 'moment-timezone';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as DashBoardService from './service'\r\nimport { Growl } from 'primereact/growl';\r\nimport { DatatableRankView } from '../data-table/DatatableRankView';\r\nimport { DatatableOutBalanceView } from '../data-table/DatatableOutBalanceView';\r\nimport { Validators, SecureUtils } from '../../utils';\r\nimport { ChatAdminView } from '../message/ChatAdminView';\r\nimport { ChatRoom } from '../message/ChatRoom';\r\nimport { Card } from 'primereact/card';\r\nimport { Panel } from 'primereact/panel';\r\nimport {ListBox} from 'primereact/listbox';\r\nimport {OrderList} from 'primereact/orderlist';\r\nimport {InputText} from 'primereact/inputtext';\r\nimport { Button } from 'primereact/button';\r\nimport * as AdminService from '../../service/admin.service'\r\nimport { dateFormat } from '../../utils/utilFunctions';\r\nimport * as ServerAPI from './service';\r\nimport moment from 'moment'\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nimport { DataScroller } from 'primereact/datascroller';\r\nimport { minBy, get } from 'lodash'\r\nclass ChatAdministrator extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n userList: '',\r\n };\r\n\r\n }\r\n\r\n componentDidMount() {\r\n //console.log(\"ChatAdministrator :componentDidMount\")\r\n this.getuserList()\r\n\r\n const { dashBoardServiceProps, adminServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n adminServiceProps.getAdminDashSummaryWithdraw();\r\n // console.log(userList)\r\n // if(userList.length == 0){\r\n // console.log('userList == 0 Load new Data')\r\n // const body = {\r\n // per_page: 20,\r\n // time_stamp: moment()\r\n // .add(1, 'days')\r\n // .format('YYYY-MM-DDTHH:mm:ss'),\r\n // }\r\n //adminServiceProps.getUsersAllForManagement();\r\n // }\r\n // const listBoxElement = document.getElementsByClassName(\"p-listbox-list-wrapper\")\r\n // listBoxElement[0].addEventListener('scroll', (e)=>this.handleScroll(e));\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n //console.log(\"ChatAdministrator :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(nextProps)\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n //console.log(\"ChatAdministrator :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n //console.log(\"ChatAdministrator :componentDidUpdate\")\r\n }\r\n\r\n // handleScroll(e){\r\n // const { userList,adminServiceProps } = this.props\r\n // if(userList.length > 0){\r\n // let scrollHeight = parseInt(e.srcElement.scrollHeight)\r\n // let scrollTop = parseInt(e.srcElement.scrollTop)\r\n // let clientHeight = parseInt(e.srcElement.clientHeight)\r\n // // console.log(scrollHeight)\r\n // // console.log(scrollTop)\r\n // // console.log(clientHeight)\r\n // if(scrollHeight-scrollTop == clientHeight || scrollHeight-scrollTop == clientHeight+1 || scrollHeight-scrollTop == clientHeight-1){\r\n // console.log('load more old userList')\r\n // //this.getMoreChatMessage(this.props.roomId, this.pageSize)\r\n // const body = {\r\n // per_page: 20,\r\n // time_stamp: get(minBy(userList, 'last_chat.message_time'), 'last_chat.message_time', moment().format('YYYY-MM-DDTHH:mm:ss'))\r\n // }\r\n // // console.log(userList)\r\n // // console.log(userList[19].last_chat.message_time)\r\n // // console.log(body.time_stamp)\r\n // adminServiceProps.getUsersAllForManagement(body);\r\n // }\r\n // }\r\n // }\r\n\r\n // ======= SHOW MESSAGE BOX =======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n getuserList() {\r\n this.setState({ showProgress: true })\r\n const body = {\r\n per_page: 20,\r\n time_stamp: moment()\r\n .add(1, 'days')\r\n .format('YYYY-MM-DDTHH:mm:ss'),\r\n }\r\n ServerAPI.searchChatWasteAll(body).then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n //console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ userList: res })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n nameChatTemplate(option) {\r\n let avatar;\r\n const src = `${API_ROOT}/user/avatar/getfile/resize/100/${option.last_chat.receiver_img}`; \r\n const ext = new RegExp(/\\.(JPG|JPEG|PNG|jpg|jpeg|gif|png|tiff|svg)$/);\r\n const isCorrect = ext.test(src);\r\n \r\n if(isCorrect){\r\n avatar = src\r\n }else{\r\n avatar = \"assets/avatar/user.png\"\r\n }\r\n return (\r\n
    \r\n \"Profile\" e.target.src='assets/avatar/user.png'}\r\n style={{float:'left',display:'inline-block',marginTop:'2px',width:'50px',height:'50px',marginRight: '5px'}} />\r\n \r\n \r\n {option.applicant_name}\r\n \r\n
    \r\n \r\n {option.username}\r\n \r\n \r\n {option.last_chat.count_unread != 0 && \r\n
    \r\n \r\n {option.last_chat.count_unread}\r\n
    }\r\n
    \r\n {moment(option.last_chat.message_time).format('DD/MM/YYYY HH:mm:ss')}\r\n \r\n
    \r\n );\r\n }\r\n emptyChatList(){\r\n const header = (\r\n
    \r\n {'แชท'}\r\n
    \r\n )\r\n const firstMessage = [{name:'เลือกคู่สนทนาจากรายชื่อ เพื่อเริ่มการสนทนา'}]\r\n const emptyChat = (\r\n \r\n );\r\n const inputMessage = (\r\n
    \r\n
    \r\n );\r\n\r\n return (\r\n
    \r\n
    \r\n {emptyChat}\r\n
    \r\n
    \r\n {inputMessage}\r\n
    \r\n\r\n
    \r\n
    )\r\n }\r\n firstMessageTemplate(firstMessage){\r\n return
    \r\n

    {firstMessage.name}

    \r\n
    \r\n }\r\n chatList(){\r\n const { userList } = this.props\r\n const item = this.state.userSelected\r\n let otherWasteType = ''\r\n if(item){\r\n switch (item.user_waste_type_id) {\r\n case 1:\r\n otherWasteType = 'wastegen'\r\n break;\r\n case 2:\r\n otherWasteType = 'wastetran'\r\n break;\r\n case 3:\r\n otherWasteType = 'wastepro'\r\n break;\r\n default:\r\n otherWasteType = 'administrator'\r\n break;\r\n }\r\n return (\r\n this.updateRead(e)}\r\n />\r\n ) \r\n }else {\r\n return this.emptyChatList()\r\n }\r\n \r\n }\r\n onSelectListBox(e){\r\n if(e.value && e.value != null){\r\n this.setState({userSelected: e.target.value})\r\n }\r\n \r\n \r\n }\r\n\r\n updateRead(e){\r\n console.log(e)\r\n if(e.type == 0){\r\n this.props.adminServiceProps.updateUsersAll(e.userList, e.roomId, e.type)\r\n }\r\n \r\n\r\n if(e.type == 1){\r\n this.props.adminServiceProps.updateUsersAll(e.userList, e.roomId, e.type, e.message)\r\n }\r\n }\r\n\r\n render() {\r\n const { userList } = this.props\r\n console.log(this.props)\r\n const _userList = this.state.userList\r\n const _chatList = this.chatList()\r\n \r\n return (\r\n
    \r\n

    Chat massage

    \r\n this.growl = el} />\r\n
    \r\n
    \r\n \r\n this.onSelectListBox(e)} \r\n itemTemplate={this.nameChatTemplate}\r\n style={{width: '100%'}} \r\n />\r\n {/* */}\r\n
    \r\n
    \r\n {_chatList}\r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n adminAnnounceAdd: state.adminAnnounceAdd,\r\n getAdminDashSummaryAreaSearch: state.getAdminDashSummaryAreaSearch,\r\n getAdminDashSummaryWithdraw: state.getAdminDashSummaryWithdraw,\r\n userList: state.getUsersAll.data,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n adminServiceProps: bindActionCreators(AdminService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ChatAdministrator)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux';\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport {Avatar} from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { MapWithASearchBoxAndMarkers } from '../../features/map/MapWithASearchBoxAndMarkers'\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport {Validators} from '../../utils'\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\nimport {CEFileUpload} from '../../features/widget';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {InputSwitch} from 'primereact/inputswitch';\r\nimport {RadioButton} from 'primereact/radiobutton';\r\nimport {Card} from 'primereact/card';\r\nimport { Checkbox } from 'primereact/checkbox';\r\nimport {InputTextarea} from 'primereact/inputtextarea';\r\nimport { FileView } from '../../features/widget/FileView';\r\nimport ImageInfoView from '../profile/ImageInfoView';\r\n\r\n class ManageFAQ extends Component {\r\n static propTypes = {\r\n\r\n }\r\n static defaultProps = {\r\n\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n question: '',\r\n answer: '',\r\n faqList: [],\r\n isNotValid: false,\r\n isNotValidUpdate: false,\r\n showProgress: false,\r\n vehicle_img_name: '',\r\n };\r\n this.onClickAddDistance = this.onClickAddDistance.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getAllfaq = this.getAllfaq.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onUpdateValidation = this.onUpdateValidation.bind(this);\r\n \r\n }\r\n componentDidMount() {\r\n this.getAllfaq();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n \r\n getAllfaq(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAllfaq().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({faqList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }\r\n actionTemplate(rowData, column) {\r\n return
    \r\n {/* */}\r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n if (rowData !== '') {\r\n console.log(rowData)\r\n var id = rowData.gid;\r\n ServerAPI.removeFAQ(id).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getAllfaq();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n }else{\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n // if (index !== -1) {\r\n // var array = this.state.distanceList;\r\n // array.splice(index, 1);\r\n // this.setState({ distanceList: array });\r\n // }\r\n }\r\n\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.manageFAQ)\r\n if(this.state.manageFAQ){\r\n var isNotinput = (\r\n this.state.manageFAQ.question == '' ||\r\n this.state.manageFAQ.answer == '' \r\n // ||this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน !! \");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var data = {\r\n gid: this.state.manageFAQ.gid,\r\n question: this.state.manageFAQ.question,\r\n answer: this.state.manageFAQ.answer,\r\n }\r\n\r\n ServerAPI.editFAQ(data).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getAllfaq();\r\n this.setState({ displayDialog:false});\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n }\r\n \r\n \r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.manageFAQ;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateProperty(property, value) {\r\n let manageFAQ = this.state.manageFAQ;\r\n manageFAQ[property] = value;\r\n this.setState({manageFAQ: manageFAQ});\r\n }\r\n\r\n onDistanceUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n displayDialog:true,\r\n manageFAQ: Object.assign({}, e)\r\n });\r\n }\r\n onDistanceDelete(e){\r\n console.log(e)\r\n this.setState({\r\n deleteDialog:true,\r\n manageFAQ: Object.assign({}, e)\r\n });\r\n }\r\n onValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValid: true })\r\n else this.setState({isNotValid: false })\r\n }\r\n onUpdateValidation(valid){\r\n console.log(valid)\r\n if(!valid) this.setState({isNotValidUpdate: true })\r\n else this.setState({isNotValidUpdate: false })\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n \r\n\r\n onClickAddDistance(){\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.question == '' ||\r\n this.state.answer == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var quest = this.state.question\r\n var notValid = false;\r\n this.state.faqList.forEach(obj => {\r\n if(quest == obj.question){\r\n notValid = true;\r\n }\r\n });\r\n if(notValid){\r\n this.showWarn(\"มีคำถามนี้อยู่แล้ว กรุณากรอกใหม่\");\r\n this.setState({ showProgress: false })\r\n }else{\r\n\r\n var faqList = {\r\n // gid: 0,\r\n // distance_code: '',\r\n \r\n question: this.state.question,\r\n answer: this.state.answer,\r\n \r\n }\r\n this.state.faqList.push(faqList)\r\n this.showSuccess();\r\n this.setState({ showProgress: false})\r\n\r\n ServerAPI.addFAQ(faqList).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getAllfaq();\r\n this.setState({ question: '' })\r\n this.setState({ answer: '' })\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n \r\n }\r\n console.log(this.state.faqList)\r\n \r\n }\r\n }\r\n \r\n onSelectFileImgVehicle = (e) => {\r\n this.setState({ fileImgVehicle: e.files[0] });\r\n }\r\n onRefreshVehicle = (e) => {\r\n this.setState({ vehicle_img_name: this.state.vehicle_img_name })\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(item => item != this.state.vehicle_img_name)\r\n })\r\n }\r\n onDeleteVehicle = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name)\r\n this.setState({ vehicle_img_name: null })\r\n this.setState({ fileImgVehicle: null });\r\n }\r\n\r\n showAddCertificate(){\r\n const newDistance = (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({question: e.target.value})}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({answer: e.target.value})}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n return newDistance;\r\n }\r\n\r\n showDistanceTable(){\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const distanceTable = (\r\n
    \r\n \r\n \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.manageFAQ &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.manageFAQ.question}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.manageFAQ.answer}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.manageFAQ &&\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n {this.updateProperty('question', e.target.value)}}\r\n />\r\n
    */}\r\n\r\n
    \r\n {this.updateProperty('question', e.target.value)}}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n {/* {this.updateProperty('answer', e.target.value)}}\r\n /> */}\r\n \r\n {this.updateProperty('answer', e.target.value)}}\r\n \r\n />\r\n
    \r\n\r\n \r\n
    \r\n }\r\n
    \r\n \r\n );\r\n if(!this.state.showProgress)\r\n return distanceTable;\r\n }\r\n\r\n render() {\r\n const showAddCertificatePanel = this.showAddCertificate();\r\n const distanceTablePanel = this.showDistanceTable();\r\n const showProgress = this.showProgressSpinner();\r\n \r\n return
    \r\n this.growl = el} />\r\n
    \r\n

    ตั้งค่าคำถามที่พบบ่อย (FAQ)

    \r\n
    \r\n {showAddCertificatePanel}\r\n {showProgress}\r\n {distanceTablePanel}\r\n\r\n
    \r\n }\r\n \r\n}\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageFAQ)\r\n\r\n","import React, { Component } from \"react\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\nimport Moment from \"react-moment\";\r\nimport \"moment-timezone\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { Avatar } from \"../../features/widget/Avatar\";\r\nimport { API_ROOT } from \"../../constants/api\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { Panel } from \"primereact/components/panel/Panel\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { MapWithASearchBoxAndMarkers } from \"../../features/map/MapWithASearchBoxAndMarkers\";\r\nimport { Dropdown } from \"primereact/components/dropdown/Dropdown\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport * as ServerAPI from \"./service\";\r\nimport * as LocationService from \"../../service/LocationService\";\r\nimport * as UserService from \"../../service/user.service\";\r\nimport * as FileService from \"../../service/file.service\";\r\nimport * as DashBoardService from \"./service\";\r\nimport * as MasterService from \"../../service/MasterService\";\r\nimport { isEmpty } from \"../../utils/validators\";\r\nimport { Validators } from \"../../utils\";\r\nimport { CEInputText, CECalendar, CEDropdown } from \"../../features/input\";\r\nimport { CEFileUpload } from \"../../features/widget\";\r\nimport { CEFileUploadWithImg } from \"../../features/widget\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { Card } from \"primereact/card\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { FileView } from \"../../features/widget/FileView\";\r\nimport ImageInfoView from \"../profile/ImageInfoView\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { ScrollPanel } from \"primereact/scrollpanel\";\r\nimport scrollToComponent from \"react-scroll-to-component\";\r\nimport { Galleria } from \"primereact/galleria\";\r\nimport { Editor } from \"primereact/editor\";\r\nimport Quill from \"quill\";\r\n\r\n// configure Quill to use inline styles so the email's format properly\r\nvar DirectionAttribute = Quill.import(\"attributors/attribute/direction\");\r\nQuill.register(DirectionAttribute, true);\r\n\r\nvar AlignClass = Quill.import(\"attributors/class/align\");\r\nQuill.register(AlignClass, true);\r\n\r\nvar BackgroundClass = Quill.import(\"attributors/class/background\");\r\nQuill.register(BackgroundClass, true);\r\n\r\nvar ColorClass = Quill.import(\"attributors/class/color\");\r\nQuill.register(ColorClass, true);\r\n\r\nvar DirectionClass = Quill.import(\"attributors/class/direction\");\r\nQuill.register(DirectionClass, true);\r\n\r\nvar FontClass = Quill.import(\"attributors/class/font\");\r\nQuill.register(FontClass, true);\r\n\r\nvar SizeClass = Quill.import(\"attributors/class/size\");\r\nQuill.register(SizeClass, true);\r\n\r\nvar AlignStyle = Quill.import(\"attributors/style/align\");\r\nQuill.register(AlignStyle, true);\r\n\r\nvar BackgroundStyle = Quill.import(\"attributors/style/background\");\r\nQuill.register(BackgroundStyle, true);\r\n\r\nvar ColorStyle = Quill.import(\"attributors/style/color\");\r\nQuill.register(ColorStyle, true);\r\n\r\nvar DirectionStyle = Quill.import(\"attributors/style/direction\");\r\nQuill.register(DirectionStyle, true);\r\n\r\nvar FontStyle = Quill.import(\"attributors/style/font\");\r\nQuill.register(FontStyle, true);\r\n\r\nvar SizeStyle = Quill.import(\"attributors/style/size\");\r\nQuill.register(SizeStyle, true);\r\n\r\n// create new Quill instance here...\r\n\r\nclass ManageNews extends Component {\r\n static propTypes = {};\r\n static defaultProps = {};\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n newsHeader: \"\",\r\n answer: \"\",\r\n newsDataList: [],\r\n isNotValid: false,\r\n isNotValidUpdate: false,\r\n showProgress: false,\r\n vehicle_img_name: \"\",\r\n newsBody: \"\",\r\n listFileDelete: [],\r\n vehicle_img_name: \"\",\r\n fileImgWaste: [],\r\n selectedMasterIndex: null,\r\n userType: [\r\n { name: \"ผู้รักษ์โลก\", code: \"1\" },\r\n { name: \"ทีมขนส่งซีซาเล้ง\", code: \"2\" },\r\n { name: \"ศูนย์จัดการฯซีซาเล้ง\", code: \"3\" },\r\n ],\r\n userTypeItem: [\r\n // { name: 'ทุกกลุ่ม', code: '0' },\r\n { name: \"ผู้รักษ์โลก\", code: \"1\" },\r\n { name: \"ทีมขนส่งซีซาเล้ง\", code: \"2\" },\r\n { name: \"ศูนย์จัดการฯซีซาเล้ง\", code: \"3\" },\r\n ],\r\n showAddNewsPanel: false,\r\n newsCode: \"\",\r\n deletedGid: [],\r\n filesData: null,\r\n };\r\n this.onClickAddDistance = this.onClickAddDistance.bind(this);\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getNewsList = this.getNewsList.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onUpdateValidation = this.onUpdateValidation.bind(this);\r\n this.clearAllDataInput = this.clearAllDataInput.bind(this);\r\n this.onToggleAccordion = this.onToggleAccordion.bind(this);\r\n this.itemTemplate = this.itemTemplate.bind(this);\r\n this.newUpdate = this.newUpdate.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getNewsList();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return Progress;\r\n } else return
    ;\r\n }\r\n getNewsList() {\r\n this.setState({ showProgress: true });\r\n ServerAPI.getAllNews()\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n var list = [];\r\n\r\n res.forEach((obj, index) => {\r\n let userType = [];\r\n let wastegen = \"\";\r\n let wastetran = \"\";\r\n let wastepro = \"\";\r\n let userTypeLabel = \"\";\r\n let newFileObj = [];\r\n if (obj.isWasteGen) {\r\n let type = { name: \"ผู้รักษ์โลก\", code: \"1\" };\r\n userType.push(type);\r\n wastegen = \"ผู้รักษ์โลก\";\r\n }\r\n if (obj.isWasteTran) {\r\n let type = { name: \"ทีมขนส่งซีซาเล้ง\", code: \"2\" };\r\n userType.push(type);\r\n wastetran = \"ทีมขนส่งซีซาเล้ง\";\r\n }\r\n if (obj.isWastePro) {\r\n let type = { name: \"ศูนย์จัดการฯซีซาเล้ง\", code: \"3\" };\r\n userType.push(type);\r\n wastepro = \"ศูนย์จัดการฯซีซาเล้ง\";\r\n }\r\n\r\n if (wastegen && wastetran && wastepro) {\r\n userTypeLabel = \"ทุกกลุ่ม\";\r\n } else {\r\n userTypeLabel = wastegen + \"\\n\" + wastetran + \"\\n\" + wastepro;\r\n }\r\n\r\n obj.newsImageDetails.forEach((item) => {\r\n let newValiable = {\r\n defaultImage: item.defaultImage,\r\n gid: item.gid,\r\n name: item.imageName,\r\n imageName: item.imageName,\r\n isDeleted: item.isDeleted,\r\n };\r\n newFileObj.push(newValiable);\r\n });\r\n\r\n let arr = {\r\n gid: obj.gid,\r\n newsCode: obj.newsCode,\r\n newsTitle: obj.newsTitle,\r\n updateDate: obj.updateDate,\r\n createdDate: obj.createdDate,\r\n newsDetail: obj.newsDetail,\r\n\r\n defaultImageIndex: obj.defaultImageIndex,\r\n defaultImageName: obj.defaultImageName,\r\n newsImageDetails: newFileObj,\r\n\r\n userType: userType,\r\n userTypeLabel: userTypeLabel,\r\n isWasteGen: obj.isWasteGen,\r\n isWasteTran: obj.isWasteTran,\r\n isWastePro: obj.isWastePro,\r\n };\r\n list.push(arr);\r\n });\r\n console.log(list);\r\n this.setState({ newsDataList: list.reverse() });\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n actionTemplate(rowData, column) {\r\n return (\r\n
    \r\n (\r\n scrollToComponent(this.createNewsPanel, {\r\n offset: 0,\r\n align: \"top\",\r\n duration: 500,\r\n }),\r\n this.onRowClickUpdate(column.rowData)\r\n )}\r\n icon=\"pi pi-pencil\"\r\n className=\"p-button\"\r\n />\r\n {/* */}\r\n this.onDistanceDelete(column.rowData)}\r\n icon=\"fa fa-trash\"\r\n className=\"p-button-warning\"\r\n />\r\n
    \r\n );\r\n }\r\n openNewsBody(rowData, column) {\r\n return (\r\n
    \r\n this.onOpenNewsBody(column.rowData)}\r\n icon=\"pi pi-file\"\r\n label=\"ดูเนื้อหา\"\r\n className=\"p-button\"\r\n />\r\n
    \r\n );\r\n }\r\n openFiles(rowData, column) {\r\n return (\r\n
    \r\n this.onOpenFiles(column.rowData)}\r\n icon=\"pi pi-images\"\r\n label=\"เปิดดูไฟล์\"\r\n className=\"p-buttong\"\r\n />\r\n
    \r\n );\r\n }\r\n onClickDeleteItem(rowData) {\r\n if (rowData !== \"\") {\r\n console.log(rowData);\r\n var gid = rowData.gid;\r\n ServerAPI.deleteNews(gid)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getNewsList();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n }\r\n update() {\r\n this.setState({ showProgress: true });\r\n var isNotinput =\r\n this.state.newsHeader == \"\" ||\r\n this.state.newsBody == \"\" ||\r\n this.state.userType.length == 0 ||\r\n this.state.isNotValid == true;\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n if (this.state.selectedMasterIndex == null) {\r\n this.showWarn(\"กรุณาแนบไฟล์รูปและเลือกหน้าปก\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n const userTypeSelected = this.state.userType;\r\n var genSelected = false;\r\n var tranSelected = false;\r\n var proSelected = false;\r\n\r\n userTypeSelected.forEach((item) => {\r\n switch (item.code) {\r\n case \"1\":\r\n genSelected = true;\r\n break;\r\n case \"2\":\r\n tranSelected = true;\r\n break;\r\n case \"3\":\r\n proSelected = true;\r\n break;\r\n }\r\n });\r\n const formData = new FormData();\r\n\r\n if (this.state.fileImgWaste != null)\r\n for (let index = 0; index < this.state.fileImgWaste.length; index++) {\r\n if (this.state.fileImgWaste[index].objectURL) {\r\n const file = this.state.fileImgWaste[index];\r\n formData.append(\"newsImages\", file);\r\n }\r\n }\r\n formData.set(\"gid\", this.state.gid || \"\");\r\n formData.set(\"newsCode\", this.state.newsCode || \"\");\r\n\r\n if (this.state.deletedGid.length != 0)\r\n for (let index = 0; index < this.state.deletedGid.length; index++) {\r\n if (this.state.deletedGid[index]) {\r\n const gid = this.state.deletedGid[index];\r\n formData.append(\"deleteImageGid\", gid);\r\n }\r\n }\r\n\r\n formData.set(\"newsTitle\", this.state.newsHeader || \"\");\r\n formData.set(\"newsDetail\", this.state.newsBody || \"\");\r\n formData.set(\"isWasteGen\", genSelected || false);\r\n formData.set(\"isWasteTran\", tranSelected || false);\r\n formData.set(\"isWastePro\", proSelected || false);\r\n formData.set(\"defaultImageIndex\", this.state.selectedMasterIndex || 0);\r\n // formData.set('defaultImageName', rowData.defaultImageName || '');\r\n\r\n console.log(this.state.fileImgWaste);\r\n console.log(this.state.selectedMasterIndex);\r\n console.log(this.state.deletedGid);\r\n // this.showSuccess();\r\n // this.setState({showProgress: false})\r\n ServerAPI.editNews(formData)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getNewsList();\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true });\r\n var data = this.state.deleteData;\r\n this.onClickDeleteItem(data);\r\n this.setState({ deleteDialog: false });\r\n }\r\n updateProperty(property, value) {\r\n let distance = this.state.distance;\r\n distance[property] = value;\r\n this.setState({ distance: distance });\r\n }\r\n //edit news\r\n onRowClickUpdate(rowData) {\r\n console.log(rowData);\r\n let code = rowData.newsCode;\r\n this.clearAllDataInput();\r\n ServerAPI.getNewsByCode(code)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n let userType = [];\r\n let newFileObj = [];\r\n res.forEach((obj, index) => {\r\n if (obj.isWasteGen) {\r\n let type = { name: \"ผู้รักษ์โลก\", code: \"1\" };\r\n userType.push(type);\r\n }\r\n if (obj.isWasteTran) {\r\n let type = { name: \"ทีมขนส่งซีซาเล้ง\", code: \"2\" };\r\n userType.push(type);\r\n }\r\n if (obj.isWastePro) {\r\n let type = { name: \"ศูนย์จัดการฯซีซาเล้ง\", code: \"3\" };\r\n userType.push(type);\r\n }\r\n\r\n obj.newsImageDetails.forEach((item) => {\r\n let newValiable = {\r\n defaultImage: item.defaultImage,\r\n gid: item.gid,\r\n name: item.imageName,\r\n imageName: item.imageName,\r\n isDeleted: item.isDeleted,\r\n };\r\n newFileObj.push(newValiable);\r\n });\r\n\r\n this.setState({\r\n newsHeader: obj.newsTitle,\r\n newsBody: obj.newsDetail,\r\n\r\n userType: userType,\r\n fileImgWaste: newFileObj,\r\n\r\n selectedMasterIndex: obj.defaultImageIndex,\r\n newsCode: obj.newsCode,\r\n gid: obj.gid,\r\n showAddNewsPanel: true,\r\n selectedMaster: null,\r\n });\r\n });\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n onDistanceUpdate(e) {\r\n console.log(e);\r\n this.setState({\r\n displayDialog: true,\r\n distance: Object.assign({}, e),\r\n });\r\n }\r\n onDistanceDelete(e) {\r\n console.log(e);\r\n this.setState({\r\n deleteDialog: true,\r\n deleteData: Object.assign({}, e),\r\n });\r\n }\r\n onOpenNewsBody(e) {\r\n console.log(e);\r\n this.setState({\r\n newsBodyDialog: true,\r\n newsbodyData: Object.assign({}, e),\r\n });\r\n }\r\n onOpenFiles(e) {\r\n console.log(e);\r\n\r\n var imgList = [];\r\n e.newsImageDetails.forEach((item, index) => {\r\n let array = {\r\n url: `${API_ROOT}/user/news/getfile/${item.imageName}`,\r\n name: item.name,\r\n gid: item.gid,\r\n index: index,\r\n };\r\n imgList.push(array);\r\n });\r\n console.log(imgList);\r\n if (imgList.length != 0) {\r\n this.setState({\r\n filesDialog: true,\r\n filesData: Object.assign({}, e),\r\n fileImgList: imgList,\r\n });\r\n } else {\r\n this.showWarn(\"ไม่พบไฟล์รูปภาพ\");\r\n }\r\n }\r\n onValidation(valid) {\r\n console.log(valid);\r\n if (!valid) this.setState({ isNotValid: true });\r\n else this.setState({ isNotValid: false });\r\n }\r\n onUpdateValidation(valid) {\r\n console.log(valid);\r\n if (!valid) this.setState({ isNotValidUpdate: true });\r\n else this.setState({ isNotValidUpdate: false });\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"มีบางอย่างผิดพลาด กรุณาตรวจสอบ\",\r\n });\r\n };\r\n\r\n onClickAddDistance() {\r\n console.log(this.state.userType);\r\n this.setState({ showProgress: true });\r\n var isNotinput =\r\n this.state.newsHeader == \"\" ||\r\n this.state.newsBody == \"\" ||\r\n this.state.userType.length == 0 ||\r\n this.state.isNotValid == true;\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n if (this.state.selectedMasterIndex == null) {\r\n this.showWarn(\"กรุณาแนบไฟล์รูปและเลือกหน้าปก\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n console.log(this.state.fileImgWaste);\r\n // var date = new Date().toLocaleString()\r\n const userTypeSelected = this.state.userType;\r\n var genSelected = false;\r\n var tranSelected = false;\r\n var proSelected = false;\r\n\r\n userTypeSelected.forEach((item) => {\r\n switch (item.code) {\r\n case \"1\":\r\n genSelected = true;\r\n break;\r\n case \"2\":\r\n tranSelected = true;\r\n break;\r\n case \"3\":\r\n proSelected = true;\r\n break;\r\n }\r\n });\r\n const formData = new FormData();\r\n if (this.state.fileImgWaste != null)\r\n for (let index = 0; index < this.state.fileImgWaste.length; index++) {\r\n const file = this.state.fileImgWaste[index];\r\n formData.append(\"newsImages\", file);\r\n }\r\n formData.set(\"newsTitle\", this.state.newsHeader || \"\");\r\n formData.set(\"newsDetail\", this.state.newsBody || \"\");\r\n formData.set(\"isWasteGen\", genSelected || false);\r\n formData.set(\"isWasteTran\", tranSelected || false);\r\n formData.set(\"isWastePro\", proSelected || false);\r\n formData.set(\"defaultImageIndex\", this.state.selectedMasterIndex || 0);\r\n\r\n console.log(formData);\r\n ServerAPI.createNews(formData)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.getNewsList();\r\n this.clearAllDataInput();\r\n this.setState({ showProgress: false });\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n }\r\n\r\n clearAllDataInput() {\r\n this.setState({\r\n newsHeader: \"\",\r\n newsBody: \"\",\r\n wasteType: null,\r\n fileImgWaste: [],\r\n selectedMasterIndex: null,\r\n newsCode: \"\",\r\n showAddNewsPanel: false,\r\n showProgress: false,\r\n userType: [\r\n { name: \"ผู้รักษ์โลก\", code: \"1\" },\r\n { name: \"ทีมขนส่งซีซาเล้ง\", code: \"2\" },\r\n { name: \"ศูนย์จัดการฯซีซาเล้ง\", code: \"3\" },\r\n ],\r\n deletedGid: [],\r\n gid: 0,\r\n });\r\n }\r\n\r\n imgButton(rowData, column) {\r\n console.log(rowData);\r\n if (rowData.fileImg) {\r\n //const path = '/api/account/transfer/'+rowData.fileImg;\r\n const path = rowData.fileImg.objectURL;\r\n return (\r\n
    \r\n window.open(path, \"_blank\")}\r\n />\r\n
    \r\n );\r\n }\r\n }\r\n onSelectFileImgVehicle = (e) => {\r\n this.setState({ fileImgVehicle: e.files[0] });\r\n };\r\n onRefreshVehicle = (e) => {\r\n this.setState({ vehicle_img_name: this.state.vehicle_img_name });\r\n this.setState({\r\n listFileDelete: this.state.listFileDelete.filter(\r\n (item) => item != this.state.vehicle_img_name\r\n ),\r\n });\r\n };\r\n onDeleteVehicle = (e) => {\r\n this.state.listFileDelete.push(this.state.vehicle_img_name);\r\n this.setState({ vehicle_img_name: null });\r\n this.setState({ fileImgVehicle: null });\r\n };\r\n\r\n onFileDelete(index) {\r\n let array = this.state.fileImgWaste;\r\n\r\n if (array[index].gid) {\r\n let arrayGid = this.state.deletedGid;\r\n arrayGid.push(array[index].gid);\r\n this.setState({ deletedGid: arrayGid });\r\n console.log(arrayGid);\r\n }\r\n\r\n array.splice(index, 1);\r\n this.setState({ fileImgWaste: array });\r\n\r\n var currentIndex = this.state.selectedMasterIndex;\r\n if (index == currentIndex) {\r\n this.setState({ selectedMasterIndex: null });\r\n } else if (index < currentIndex) {\r\n currentIndex--;\r\n this.setState({ selectedMasterIndex: currentIndex });\r\n }\r\n\r\n console.log(\"delete index : \" + index);\r\n console.log(\"current index : \" + currentIndex);\r\n }\r\n onFileWasteChanged(e) {\r\n console.log(e.files);\r\n //this.setState({ fileImgIden: e.target.files[0] });\r\n var list = [];\r\n for (let index = 0; index < e.files.length; index++) {\r\n const file = e.files[index];\r\n console.log(file);\r\n list.push(file);\r\n }\r\n if (this.state.fileImgWaste) {\r\n var arr = this.state.fileImgWaste.concat(list);\r\n this.setState({ fileImgWaste: arr });\r\n } else {\r\n this.setState({ fileImgWaste: list });\r\n }\r\n }\r\n onSelectMaster(e) {\r\n console.log(e);\r\n if (e.value.name)\r\n this.state.fileImgWaste.forEach((list, index) => {\r\n if (list.name == e.value.name) {\r\n this.setState({ selectedMaster: e.value });\r\n this.setState({ selectedMasterIndex: index });\r\n console.log(index);\r\n }\r\n });\r\n\r\n if (e.value.imageName)\r\n this.state.fileImgWaste.forEach((list, index) => {\r\n console.log(list);\r\n if (list.imageName == e.value.imageName) {\r\n this.setState({ selectedMaster: null });\r\n this.setState({ selectedMasterIndex: index });\r\n console.log(index);\r\n }\r\n });\r\n }\r\n\r\n toFormatDateTime(dateTime) {\r\n return (\r\n
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    \r\n );\r\n }\r\n to_update_date(rowData, column) {\r\n // let delivery_date = new Date(rowData.delivery_date);\r\n // let year = delivery_date.getYear();\r\n // if(year==-1899)\r\n // return
    ;\r\n // else\r\n return this.toFormatDateTime(rowData.updateDate);\r\n }\r\n\r\n to_create_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.createdDate);\r\n }\r\n\r\n onToggleAccordion() {\r\n if (this.state.showAddNewsPanel) {\r\n this.setState({ showAddNewsPanel: false });\r\n } else {\r\n this.setState({ showAddNewsPanel: true });\r\n }\r\n }\r\n\r\n itemTemplate(item) {\r\n if (item.index == this.state.filesData.defaultImageIndex) {\r\n return (\r\n
    \r\n รูปปก\r\n \r\n
    \r\n );\r\n } else\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n previewTemplate(item) {\r\n if (item) return ;\r\n }\r\n\r\n newUpdate(newData) {\r\n if (newData !== null)\r\n {\r\n let replaceOne = newData.replaceAll(\">\", \">\");\r\n let replaceTwo = replaceOne.replaceAll(\"<\", \"<\");\r\n let replaceThree = replaceTwo.replaceAll(\"

    \", '

    ')\r\n this.setState({ newsBody: replaceThree })\r\n }\r\n }\r\n\r\n showAddCertificate() {\r\n const newDistance = (\r\n

    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n this.setState({ userType: e.value })}\r\n />\r\n {/* this.setState({wasteType: e.value})}\r\n /> */}\r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n this.setState({ newsHeader: e.target.value })\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.newUpdate(e.htmlValue)}\r\n />\r\n {/* this.setState({ newsBody: e.target.value })}\r\n /> */}\r\n
    \r\n {/*
    */}\r\n\r\n
    \r\n this.onFileWasteChanged(e)}\r\n onDelete={(index) => this.onFileDelete(index)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={true}\r\n accept=\"image/*\"\r\n maxFileSize={10000000}\r\n onSelectCover={(e) => this.onSelectMaster(e)}\r\n />\r\n
    \r\n {this.state.selectedMasterIndex != null && (\r\n
    \r\n

    รูปหน้าปก

    \r\n {this.state.selectedMaster ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n\r\n {this.state.newsCode ? (\r\n
    \r\n \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n return newDistance;\r\n }\r\n\r\n showDistanceTable() {\r\n const responsiveOptions = [\r\n {\r\n breakpoint: \"1024px\",\r\n numVisible: 5,\r\n },\r\n {\r\n breakpoint: \"768px\",\r\n numVisible: 3,\r\n },\r\n {\r\n breakpoint: \"560px\",\r\n numVisible: 1,\r\n },\r\n ];\r\n let dialogFooter = (\r\n
    \r\n
    \r\n );\r\n let deleteDialogFooter = (\r\n
    \r\n
    \r\n );\r\n\r\n const distanceTable = (\r\n
    \r\n \r\n \r\n \r\n
    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ deleteDialog: false })}\r\n >\r\n {this.state.deleteData && (\r\n
    \r\n
    \r\n คุณต้องการจะลบข่าวนี้\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.deleteData.newsTitle}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.deleteData.userTypeLabel}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {this.toFormatDateTime(this.state.deleteData.createdDate)}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {this.toFormatDateTime(this.state.deleteData.updateDate)}\r\n \r\n
    \r\n
    \r\n )}\r\n \r\n this.setState({ displayDialog: false })}\r\n >\r\n {this.state.distance &&
    hello
    }\r\n \r\n this.setState({ newsBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.newsbodyData && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n this.setState({ filesDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.filesData && this.state.fileImgList.length != 0 && (\r\n
    \r\n
    \r\n this.setState({ activeIndex: e.index })}\r\n numVisible={5}\r\n responsiveOptions={responsiveOptions}\r\n thumbnailsPosition=\"top\"\r\n indicatorItemTemplate={this.indicatorTemplate}\r\n />\r\n {/* {this.state.fileImgList.map((item,index)=>\r\n \r\n )} */}\r\n
    \r\n\r\n {/*
    \r\n
    รูปหน้าปก
    \r\n \r\n \r\n
    */}\r\n
    \r\n )}\r\n \r\n \r\n );\r\n if (!this.state.showProgress) return distanceTable;\r\n }\r\n\r\n render() {\r\n const showAddCertificatePanel = this.showAddCertificate();\r\n const distanceTablePanel = this.showDistanceTable();\r\n const showProgress = this.showProgressSpinner();\r\n console.log(this.state.newsBody)\r\n\r\n return (\r\n {\r\n this.createNewsPanel = section;\r\n }}\r\n >\r\n (this.growl = el)} />\r\n
    \r\n

    ตั้งค่าข่าว

    \r\n
    \r\n {showAddCertificatePanel}\r\n {showProgress}\r\n {distanceTablePanel}\r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { forwardRef: true }\r\n)(ManageNews);\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { CEInputText} from '../../features/input';\r\nimport {Dialog} from 'primereact/dialog';\r\n\r\nclass ManageProductPrice extends Component {\r\n static propTypes = {\r\n\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n addressDetail: '',\r\n priceList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: '',\r\n searchProductType: '',\r\n searchProduct: '',\r\n productSelected: '',\r\n priceSelected1: '',\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getReward = this.getReward.bind(this);\r\n this.searchReward = this.searchReward.bind(this);\r\n this.getsalepricebyu3ForValid = this.getsalepricebyu3ForValid.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n\r\n }\r\n componentDidMount() {\r\n this.getReward();\r\n this.getsalepricebyu3ForValid();\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n searchReward(){\r\n this.setState({ showProgress: true })\r\n var search = {\r\n product_code: this.state.searchProductCode || '',\r\n product_type_code: this.state.searchProductTypeCode || '',\r\n }\r\n\r\n ServerAPI.searchReward(search).then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n this.setState({priceList: res })\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false })\r\n this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n getReward() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getReward().then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n this.setState({ priceList: res })\r\n this.setState({ productPriceList: res})\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n getsalepricebyu3ForValid() {\r\n ServerAPI.getReward().then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n this.setState({ productPriceList: res})\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n itemTemplate1(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n onSelectMemberName1(item) {\r\n this.setState({ memberName1: item.value.search_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n suggestMemberName(event) {\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n suggestMemberName1(event) {\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onMemberName1Changed(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName1: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName1: search_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e){\r\n this.setState({productTypeObjUpdate: e.value});\r\n }\r\n onWeightUpdate(e){\r\n this.setState({productObjUpdate: e.value});\r\n \r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n if (rowData !== '') {\r\n var id = rowData.gid\r\n ServerAPI.deleteReward(id).then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n this.searchReward();\r\n this.getsalepricebyu3ForValid()\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }\r\n\r\n update() {\r\n this.setState({ showProgress: true })\r\n if(this.state.productPrice){\r\n var isNotinput = (\r\n this.state.productPrice.reward_per_kk == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var data = {\r\n gid: this.state.productPrice.gid,\r\n reward_per_kk: parseFloat(this.state.productPrice.reward_per_kk),\r\n }\r\n\r\n ServerAPI.editReward(data).then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n this.getReward();\r\n this.setState({ displayDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n \r\n }\r\n }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.productPrice;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n\r\n updateProperty(property, value) {\r\n let productPrice = this.state.productPrice;\r\n productPrice[property] = value;\r\n this.setState({productPrice: productPrice});\r\n }\r\n\r\n onproductPriceUpdate(e){\r\n var productTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk, \r\n }\r\n var productDropdown = {\r\n product_code: e.product_code,\r\n product_name: e.product_name,\r\n less_than_kk: e.less_than_kk,\r\n more_than_kk: e.more_than_kk,\r\n }\r\n this.setState({\r\n displayDialog:true,\r\n productPrice: Object.assign({}, e),\r\n productTypeObjUpdate: productTypeDropdown,\r\n productObjUpdate: productDropdown,\r\n });\r\n }\r\n\r\n onproductPriceDelete(e){\r\n this.setState({\r\n deleteDialog:true,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.wasteTypeSelected == '' ||\r\n this.state.productSelected == '' ||\r\n // this.state.priceSelected1 == '' ||\r\n // this.state.memberUid == '' ||\r\n // this.state.memberName == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.getsalepricebyu3ForValid();\r\n if(this.state.productPriceList)\r\n this.state.productPriceList.forEach(objProductPrice => {\r\n if (objProductPrice.u3_uid == this.state.memberUid\r\n && objProductPrice.product_type_code == this.state.productTypeCode\r\n && objProductPrice.product_code == this.state.productSelected.product_code) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"ข้อมูลซ้ำ! กรุณาเลือกใหม่อีกครั้ง\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var priceList = {\r\n gid: this.state.gid,\r\n u3_uid: this.state.memberUid,\r\n u3_name: this.state.memberName,\r\n product_type_code: this.state.wasteTypeSelected.product_type_code,\r\n product_type_name: this.state.wasteTypeSelected.product_type_name,\r\n product_code: this.state.productSelected.product_code,\r\n product_name: this.state.productSelected.product_name,\r\n reward_per_kk: parseFloat(this.state.priceSelected1),\r\n\r\n }\r\n\r\n ServerAPI.AddReward(priceList).then((res) => {\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n this.searchReward();\r\n this.clearAllDataInput();\r\n //this.showSuccess();\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n }\r\n\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n this.setState({ searchProductName: e.value.product_name });\r\n }\r\n\r\n clearAllDataInput() {\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ priceSelected1: '' })\r\n this.setState({ memberName: '' })\r\n this.setState({ memberUid: '' })\r\n this.setState({ productPrice: null })\r\n this.setState({ productTypeObjUpdate: null })\r\n this.setState({ productObjUpdate: null })\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null }); \r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n showSearchPanel() {\r\n const {\r\n productType1,\r\n product1,\r\n } = this.props;\r\n return (\r\n\r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n this.onMemberName1Changed(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n\r\n addNewProductTab() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n\r\n return (\r\n \r\n \r\n
    \r\n {/* \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    */}\r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n this.setState({ priceSelected1: e.target.value })}\r\n />\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n showWeightTable() {\r\n let newList = this.state.priceList\r\n newList.forEach((item,index) => {\r\n if(item.product_code == null || item.product_type_code == null ){\r\n newList.splice(index,1);\r\n }\r\n });\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })}\r\n responsive={true} emptyMessage={(
    \r\n \r\n
    )} >\r\n {/* */}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.productPrice &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n {/*
    \r\n
    \r\n {this.state.productPrice.u3_name}\r\n
    */}\r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_name}\r\n
    \r\n
    \r\n
    \r\n {this.state.productPrice.reward_per_kk}\r\n
    \r\n
    \r\n }\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.productPrice &&\r\n \r\n
    \r\n \r\n {/*
    คุณต้องการจะลบข้อมูลต่อไปนี้
    */}\r\n {/*
    \r\n
    \r\n {this.state.productPrice.u3_name}\r\n
    */}\r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_type_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.state.productPrice.product_name}\r\n
    \r\n\r\n
    \r\n
    \r\n {this.updateProperty('reward_per_kk', e.target.value)}}\r\n />\r\n \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n\r\n onSubmit() {\r\n\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewProductTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n
    \r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageProductPrice)","import React, { Component } from \"react\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Panel } from \"primereact/components/panel/Panel\";\r\nimport { Checkbox } from \"primereact/components/checkbox/Checkbox\";\r\nimport { Button } from \"primereact/components/button/Button\";\r\n\r\nimport { InputText } from \"primereact/components/inputtext/InputText\";\r\nimport { InputTextarea } from \"primereact/components/inputtextarea/InputTextarea\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { FullCalendar } from \"primereact/fullcalendar\";\r\nimport { Card } from \"primereact/card\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MapWithASearchBox } from \"../../features/map/MapWithASearchBox\";\r\nimport { MapMarkers } from \"../../features/map/MapMarkers\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Avatar } from \"../../features/widget/Avatar\";\r\nimport { API_ROOT } from \"../../constants/api\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport * as ServerAPI from \"./service\";\r\nimport * as LocationService from \"../../service/LocationService\";\r\nimport * as UserService from \"../../service/user.service\";\r\nimport * as MasterService from \"../../service/MasterService\";\r\nimport * as FileService from \"../../service/file.service\";\r\nimport * as DashBoardService from \"./service\";\r\nimport { isEmpty } from \"../../utils/validators\";\r\nimport { CEInputText, CECalendar, CEDropdown } from \"../../features/input\";\r\nimport { CEFileUpload } from \"../../features/widget\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport * as Validators from \"../../utils/validators\";\r\n\r\nclass ManageEnvironmentalCorporateAccount extends Component {\r\n static propTypes = {};\r\n constructor() {\r\n super();\r\n this.state = {\r\n priceList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: \"\",\r\n searchProductType: \"\",\r\n searchProduct: \"\",\r\n productSelected: \"\",\r\n priceSelected1: \"\",\r\n\r\n\r\n memberStore1: [\r\n { label: \"เลือกประเภทสินค้า\", value: 0 },\r\n { label: \"กระดาษ\", value: 1 },\r\n { label: \"พลาสติก\", value: 2 },\r\n { label: \"ประเภทที่ 2\", value: 3 },\r\n ],\r\n memberStore3: 0,\r\n memberStore4: [\r\n { label: \"เลือกสินค้า\", value: 0 },\r\n { label: \"กระดาษขาวดำ\", value: 1 },\r\n { label: \"กระดาษจับจั๊ว\", value: 2 },\r\n { label: \"กระดาษกล่องลัง\", value: 3 },\r\n ],\r\n\r\n testData: [\r\n {\r\n nameStore: \"ร้านมารวย\",\r\n product_type: \"กระดาษ\",\r\n product: \"กระดาษขาว\",\r\n buy_per_kk: \"10\",\r\n },\r\n {\r\n nameStore: \"ร้านมาจน\",\r\n product_type: \"พลาสติก\",\r\n product: \"ขวดน้ำพลาสติก\",\r\n buy_per_kk: \" 8\",\r\n },\r\n ],\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n environmentalDetail: \"\",\r\n environmentalDetail1: \"\",\r\n environmental_account_no: null,\r\n environmental_account_no1: null,\r\n environmental_name: \"\",\r\n listAccount: [],\r\n\r\n //Validate\r\n isValidateError: false,\r\n\r\n //error massage\r\n errorMessageLastStep: \"\",\r\n\r\n //bank\r\n selectedBank: null,\r\n bankAccountName: \"\",\r\n bankAccountNo: \"\",\r\n //bank update\r\n selectedBank1: null,\r\n\r\n // add new account\r\n telephoneNumber1: \"\",\r\n telephoneNumber2: \"\",\r\n email: \"\",\r\n locationType: 0,\r\n placeTypes: null,\r\n provinceSelected: {},\r\n districtSelected: null,\r\n districtsSelected: [],\r\n districtsSelectedUpdate: [],\r\n subDistrictSelected: null,\r\n subDistrictsSelected: [],\r\n subDistrictsSelectedUpdate: [],\r\n addressDetail: \"\",\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getOrganizationAccountDonate = this.getOrganizationAccountDonate.bind(\r\n this\r\n );\r\n this.searchAccountList = this.searchAccountList.bind(this);\r\n this.getOrganizationAccountDonateForValid = this.getOrganizationAccountDonateForValid.bind(\r\n this\r\n );\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n\r\n this.ondistrictChange = this.ondistrictChange.bind(this);\r\n this.onprovinceChanged = this.onprovinceChanged.bind(this);\r\n this.onSubDistrictChanged = this.onSubDistrictChanged.bind(this);\r\n\r\n this.ondistrictChangeUpdate = this.ondistrictChangeUpdate.bind(this);\r\n this.onprovinceChangedUpdate = this.onprovinceChangedUpdate.bind(this);\r\n this.onSubDistrictChangedUpdate = this.onSubDistrictChangedUpdate.bind(\r\n this\r\n );\r\n\r\n this.isNotvalidStep2 = this.isNotvalidStep2.bind(this);\r\n this.isNotvalidStep3 = this.isNotvalidStep3.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getOrganizationAccountDonate();\r\n this.getOrganizationAccountDonateForValid();\r\n const {\r\n dashBoardServiceProps,\r\n locationServiceProps,\r\n masterServiceProps,\r\n } = this.props;\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n masterServiceProps.getBanks();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return Progress;\r\n } else return
    ;\r\n }\r\n\r\n\r\n searchAccountList() {\r\n this.setState({ showProgress: true });\r\n var search = {\r\n org_name : this.state.memberName1 || \"\",\r\n bank_account_no: this.state.environmental_account_no || \"\",\r\n };\r\n\r\n ServerAPI.searchDonateAccount(search)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ listAccount : res });\r\n // this.getprocessfee();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false });\r\n this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n getOrganizationAccountDonate() {\r\n this.setState({ showProgress: true });\r\n ServerAPI.getOrganizationAccount()\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ listAccount: res });\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n getOrganizationAccountDonateForValid() {\r\n ServerAPI.getOrganizationAccount()\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ listAccount: res });\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n itemTemplate1(item) {\r\n return
    {item.search_name}
    ;\r\n }\r\n\r\n onSelectMemberName1(item) {\r\n console.log('check item for find name');\r\n console.log(item);\r\n\r\n this.setState({ memberName1: item.value.search_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n console.log(item);\r\n }\r\n\r\n\r\n suggestMemberName1(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberName1Changed(search_name) {\r\n console.log(search_name);\r\n console.log(typeof search_name);\r\n if (typeof search_name != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName1: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchOrgAll(search_name)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions1: res });\r\n })\r\n .catch((error) => {});\r\n }\r\n } else {\r\n this.setState({ memberName1: search_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n update() {\r\n this.setState({ showProgress: true });\r\n console.log(this.state.donateDialog);\r\n if (this.state.donateDialog) {\r\n if (!this.state.isvalid_email) {\r\n this.showWarn(\"กรุณากรอกอีเมลให้ถูกต้อง\");\r\n this.setState({ showProgress: false });\r\n } else if (\r\n this.state.donateDialog.org_name == \"\" ||\r\n this.state.donateDialog.telephone_no1 == \"\" ||\r\n this.state.donateDialog.telephone_no2 == \"\" ||\r\n this.state.donateDialog.email == \"\" ||\r\n this.state.location_type_code == 0 ||\r\n this.state.provinceCodeUpdate == \"\" ||\r\n this.state.districtCodeUpdate == \"\" ||\r\n this.state.subDistrictCodeUpdate == \"\" ||\r\n this.state.donateDialog.addr_current_detail == \"\" ||\r\n this.state.donateDialog.bank_account_name == \"\" ||\r\n this.state.donateDialog.bank_account_no == \"\" ||\r\n this.state.bank_code == \"\"\r\n ) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n var data = {\r\n gid: this.state.donateDialog.gid,\r\n uid: this.state.donateDialog.uid,\r\n org_name: this.state.donateDialog.org_name,\r\n telephone_no1: this.state.donateDialog.telephone_no1,\r\n telephone_no2: this.state.donateDialog.telephone_no2,\r\n email: this.state.donateDialog.email,\r\n location_type_code: this.state.location_type_code,\r\n addr_current_province_code: this.state.provinceCodeUpdate,\r\n addr_current_district_code: this.state.districtCodeUpdate,\r\n addr_current_subdistrict_code: this.state.subDistrictCodeUpdate,\r\n addr_current_detail: this.state.donateDialog.addr_current_detail,\r\n bank_account_name: this.state.donateDialog.bank_account_name,\r\n bank_account_no: this.state.donateDialog.bank_account_no,\r\n bank_code: this.state.bank_code,\r\n };\r\n\r\n console.log(\"data : \", data);\r\n\r\n ServerAPI.updateDonateOrganizationAccount(data)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getOrganizationAccountDonate();\r\n this.setState({ displayDialog: false });\r\n //this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e) {\r\n console.log(e);\r\n this.setState({ productTypeObjUpdate: e.value });\r\n }\r\n onWeightUpdate(e) {\r\n console.log(e);\r\n this.setState({ productObjUpdate: e.value });\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n console.log(\"column : \", column);\r\n return (\r\n
    \r\n this.ondonateUpdate(column.rowData)}\r\n icon=\"pi pi-pencil\"\r\n className=\"p-button\"\r\n />\r\n this.onAccountDelete(column.rowData)}\r\n icon=\"fa fa-trash\"\r\n className=\"p-button-warning\"\r\n />\r\n
    \r\n );\r\n }\r\n\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData);\r\n if (rowData !== \"\") {\r\n var gid = rowData.gid;\r\n ServerAPI.removeDonateOrganizationAccount(gid)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n //this.searchAccountList();\r\n this.getOrganizationAccountDonateForValid();\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {});\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.priceList;\r\n // array.splice(index, 1);\r\n // this.setState({ priceList: array });\r\n // }\r\n }\r\n\r\n delete() {\r\n this.setState({ showProgress: true });\r\n var data = this.state.deleteData;\r\n this.onClickDeleteItem(data);\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({ deleteDialog: false });\r\n }\r\n\r\n updateProperty(property, value) {\r\n let donateDialog = this.state.donateDialog;\r\n donateDialog[property] = value;\r\n this.setState({ donateDialog: donateDialog });\r\n }\r\n\r\n ondonateUpdate(e) {\r\n console.log(e);\r\n const { locationServiceProps } = this.props;\r\n locationServiceProps.getDistrict(e.addr_current_province_code);\r\n locationServiceProps.getSubDistrict(e.addr_current_district_code);\r\n const { banks, province, district, subDistrict } = this.props;\r\n let distselect = {};\r\n district.forEach((element) => {\r\n console.log(element);\r\n if (element.districtCode == e.addr_current_district_code) {\r\n distselect = element;\r\n }\r\n });\r\n\r\n let bankselected = {\r\n bank_code: e.bank_code,\r\n bank_name: e.bank_name,\r\n };\r\n let provselect = {\r\n provinceCode: e.addr_current_province_code,\r\n province_name: e.addr_current_province_name,\r\n };\r\n\r\n let distselected = {\r\n districtCode: e.addr_current_district_code,\r\n districtName: e.add_current_district_name,\r\n };\r\n\r\n let subdistselect = {\r\n subDistrictCode: e.addr_current_subdistrict_code,\r\n subDistrictName: e.addr_current_subdistrict_name,\r\n districtCode: e.addr_current_district_code,\r\n districtName: e.add_current_district_name,\r\n provinceCode: e.addr_current_province_code,\r\n provinceName: e.addr_current_province_name,\r\n };\r\n\r\n console.log(provselect);\r\n console.log(distselected);\r\n console.log(subdistselect);\r\n\r\n console.log(distselected);\r\n this.setState({\r\n displayDialog: true,\r\n donateDialog: Object.assign({}, e),\r\n bankselected_update: bankselected,\r\n location_type_code: e.location_type_code,\r\n prov_sh_update: provselect,\r\n dist_sh_update: distselected,\r\n subdist_sh_update: subdistselect,\r\n bank_code: e.bank_code,\r\n provinceCodeUpdate: e.addr_current_province_code,\r\n districtCodeUpdate: e.addr_current_district_code,\r\n subDistrictCodeUpdate: e.addr_current_subdistrict_code,\r\n });\r\n }\r\n onAccountDelete(e) {\r\n console.log(e);\r\n this.setState({\r\n deleteDialog: true,\r\n deleteData: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n console.log(valid);\r\n if (!valid) this.setState({ isNotValid: true });\r\n else this.setState({ isNotValid: false });\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"มีบางอย่างผิดพลาด กรุณาตรวจสอบ\",\r\n });\r\n };\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true });\r\n if (!this.state.isvalid_email) {\r\n this.showWarn(\"กรุณากรอกอีเมลให้ถูกต้อง\");\r\n this.setState({ showProgress: false });\r\n } else if (\r\n this.state.environmental_name == \"\" ||\r\n this.state.telephoneNumber1 == \"\" ||\r\n this.state.telephoneNumber2 == \"\" ||\r\n this.state.email == \"\" ||\r\n this.state.bankAccountName == \"\" ||\r\n this.state.bankAccountNo == \"\" ||\r\n this.state.bank_code == null ||\r\n this.state.locationType == 0 ||\r\n this.state.districtCode == 0 ||\r\n this.state.subDistrictCode == 0 ||\r\n this.state.provinceCode == 0 ||\r\n this.state.addressDetail == \"\"\r\n ) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n var data = {\r\n org_name: this.state.environmental_name,\r\n telephone_no1: this.state.telephoneNumber1,\r\n telephone_no2: this.state.telephoneNumber2,\r\n email: this.state.email,\r\n location_type_code: this.state.locationType,\r\n addr_current_province_code: this.state.provinceCode,\r\n addr_current_district_code: this.state.districtCode,\r\n addr_current_subdistrict_code: this.state.subDistrictCode,\r\n addr_current_detail: this.state.addressDetail,\r\n bank_account_name: this.state.bankAccountName,\r\n bank_account_no: this.state.bankAccountNo,\r\n bank_code: this.state.bank_code,\r\n };\r\n\r\n ServerAPI.CreateOrganizationDonateAccount(data)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getOrganizationAccountDonate();\r\n this.showSuccess();\r\n this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n this.setState({ showProgress: false });\r\n console.log(this.state.data);\r\n }\r\n\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n this.setState({ searchProductName: e.value.product_name });\r\n }\r\n\r\n clearAllDataInput() {\r\n this.setState({\r\n environmental_name: \"\",\r\n telephoneNumber1: \"\",\r\n telephoneNumber2: \"\",\r\n email: \"\",\r\n bankAccountName: \"\",\r\n bankAccountNo: \"\",\r\n bank_code: null,\r\n bank_name: null,\r\n selectedBank: \"\",\r\n locationType: 0,\r\n districtCode: 0,\r\n placeTypes: null,\r\n subDistrictCode: 0,\r\n provinceCode: 0,\r\n addressDetail: \"\",\r\n isNotValid: true,\r\n provinceSelected: null,\r\n districtSelected: null,\r\n subDistrictSelected: null,\r\n });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null });\r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n\r\n this.setState({ environmentalDetail: \"\" });\r\n this.setState({ environmental_account_no: \"\" });\r\n this.setState({ environmental_name: \"\" });\r\n\r\n console.log(this.state.searchProductType);\r\n console.log(this.state.searchProduct);\r\n console.log(this.state.searchProductTypeCode);\r\n console.log(this.state.searchProductCode);\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n // district SubDistrict province start\r\n onprovinceChanged(e) {\r\n const { locationServiceProps } = this.props;\r\n this.setState({ provinceSelected: e.value });\r\n this.setState({ districtSelected: null });\r\n this.setState({ subDistrictSelected: null });\r\n this.setState({ districtCode: 0 });\r\n this.setState({ subDistrictCode: 0 });\r\n locationServiceProps.getDistrict(e.value.provinceCode);\r\n this.setState({ provinceCode: e.value.provinceCode }, this.isNotvalidStep3);\r\n }\r\n ondistrictChange(e) {\r\n const { locationServiceProps } = this.props;\r\n this.setState({ districtSelected: e.value });\r\n this.state.districtsSelected.push(e.value);\r\n this.setState({ subDistrictSelected: null });\r\n this.setState({ subDistrictCode: 0 });\r\n locationServiceProps.getSubDistrict(e.value.districtCode);\r\n this.setState({ districtCode: e.value.districtCode }, this.isNotvalidStep3);\r\n }\r\n onSubDistrictChanged(e) {\r\n this.setState({ subDistrictSelected: e.value });\r\n this.state.subDistrictsSelected.push(e.value);\r\n this.setState(\r\n { subDistrictCode: e.value.subDistrictCode },\r\n this.isNotvalidStep3\r\n );\r\n }\r\n // district SubDistrict province end\r\n\r\n //***UPDATE*** district SubDistrict province start\r\n onprovinceChangedUpdate(e) {\r\n console.log(e);\r\n const { locationServiceProps } = this.props;\r\n this.setState({ prov_sh_update: e.value });\r\n this.setState({ dist_sh_update: null });\r\n this.setState({ subdist_sh_update: null });\r\n this.setState({ districtCodeUpdate: 0 });\r\n this.setState({ subDistrictCodeUpdate: 0 });\r\n locationServiceProps.getDistrict(e.value.provinceCode);\r\n this.setState(\r\n { provinceCodeUpdate: e.value.provinceCode },\r\n this.isNotvalidStep3\r\n );\r\n }\r\n ondistrictChangeUpdate(e) {\r\n console.log(e.value);\r\n const { locationServiceProps } = this.props;\r\n this.setState({ dist_sh_update: e.value });\r\n this.state.districtsSelectedUpdate.push(e.value);\r\n this.setState({ subdist_sh_update: null });\r\n this.setState({ subDistrictCodeUpdate: 0 });\r\n locationServiceProps.getSubDistrict(e.value.districtCode);\r\n this.setState(\r\n { districtCodeUpdate: e.value.districtCode },\r\n this.isNotvalidStep3\r\n );\r\n }\r\n\r\n onSubDistrictChangedUpdate(e) {\r\n console.log(e.value);\r\n this.setState({ subdist_sh_update: e.value });\r\n this.state.subDistrictsSelectedUpdate.push(e.value);\r\n this.setState(\r\n { subDistrictCodeUpdate: e.value.subDistrictCode },\r\n this.isNotvalidStep3\r\n );\r\n }\r\n //***UPDATE*** */ district SubDistrict province end\r\n\r\n // ========= Event =========\r\n onChangeInputText = (e) => {\r\n const { name, value, required } = e.target;\r\n this.setState({ [name]: value });\r\n if (required) {\r\n if (Validators.isEmpty(value)) {\r\n this.setState({ isValidateError: true });\r\n } else {\r\n this.setState({ isValidateError: false });\r\n }\r\n }\r\n };\r\n onChanageBank = (e) => {\r\n const { name, value } = e.target;\r\n this.setState({ selectedBank: value });\r\n this.setState({ bank_code: value.bank_code });\r\n };\r\n onChanageBank1 = (e) => {\r\n const { name, value } = e.target;\r\n this.setState({ bankselected_update: value });\r\n this.setState({ bank_code: value.bank_code });\r\n };\r\n\r\n onTelephoneNumber1Changed(telephoneNumber, valid) {\r\n this.setState({ telephoneNumber1: telephoneNumber });\r\n if (telephoneNumber.length == 10 && valid) {\r\n console.log(this.state.isvalid_telephoneNumber1);\r\n\r\n this.setState(\r\n { telephoneNumber1: telephoneNumber },\r\n this.isNotvalidStep2\r\n );\r\n } else {\r\n this.setState(\r\n {\r\n errorMessageTelephoneNumber1:\r\n \"กรุณากรอกหมายเลขโทรศัพท์เคลื่อนที่ 10 ตัวเลข (ขึ้นต้นด้วยเลข 0)\",\r\n },\r\n this.isNotvalidStep2\r\n );\r\n }\r\n }\r\n\r\n //valid valid valid strat\r\n isNotvalidStep2() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n var inputStep2 = !(\r\n this.state.telephoneNumber1 == \"\" ||\r\n this.state.locationType == 0 ||\r\n !this.state.isvalid_telephoneNumber1 ||\r\n (!this.state.isvalid_email && this.state.email != \"\")\r\n );\r\n var hasErrorMsg = this.state.errorMessageTelephoneNumber1 != \"\";\r\n if (!inputStep2 || hasErrorMsg) {\r\n this.setState({\r\n errorMessageLastStep: \"กรุณากรอกข้อมูลครบถ้วน\",\r\n });\r\n } else this.setState({ errorMessageLastStep: \"\" });\r\n\r\n return !inputStep2 || hasErrorMsg;\r\n }\r\n\r\n isNotvalidStep3() {\r\n this.setState({ errorMessageLastStep: \"\" });\r\n //console.log(this.state.provinceCode+\":\"+this.state.districtCode+\":\"+this.state.subDistrictCode)\r\n var inputStep3 = !(\r\n this.state.subDistrictCode == 0 ||\r\n this.state.districtCode == 0 ||\r\n this.state.provinceCode == 0 ||\r\n this.state.addressDetail == \"\"\r\n );\r\n if (!inputStep3) {\r\n this.setState({\r\n errorMessageLastStep: \"กรุณากรอกข้อมูลให้ครบถ้วน\",\r\n });\r\n } else this.setState({ errorMessageLastStep: \"\" });\r\n return !inputStep3;\r\n }\r\n\r\n //valid valid valid end\r\n\r\n showSearchPanel() {\r\n const { productType1, product1 } = this.props;\r\n return (\r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n this.onMemberName1Changed(e.target.value)}\r\n itemTemplate={this.itemTemplate1.bind(this)}\r\n placeholder=\"ระบุชื่อองค์กร\"\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n this.setState({ environmental_account_no: e.target.value })\r\n }\r\n // onChange={this.onChangeInputText}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n addNewAccountTab() {\r\n const { province, district, subDistrict, banks } = this.props;\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ environmental_name: e.target.value })\r\n }\r\n // onChange={this.onChangeInputText}\r\n />\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ telephoneNumber1: e.target.value })\r\n }\r\n //onChange={(e,v)=> this.onTelephoneNumber1Changed(e.target.value,v)}\r\n isvalid={(valid) =>\r\n this.setState({ isvalid_telephoneNumber1: valid })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ telephoneNumber2: e.target.value })\r\n }\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.setState({ email: e.target.value })}\r\n isvalid={(valid) => this.setState({ isvalid_email: valid })}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ bankAccountName: e.target.value })\r\n }\r\n //onChange={this.onChangeInputText}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState({ bankAccountNo: e.target.value })\r\n }\r\n // onChange={this.onChangeInputText}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n ประเภทสถานที่ตั้งองค์กร\r\n \r\n \r\n \r\n this.setState(\r\n { locationType: 1, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"1\"}\r\n />\r\n \r\n
    \r\n \r\n \r\n this.setState(\r\n { locationType: 2, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"2\"}\r\n />\r\n \r\n
    \r\n \r\n \r\n this.setState(\r\n { locationType: 3, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"3\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { locationType: 4, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"4\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { locationType: 5, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"5\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { locationType: 6, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"6\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { locationType: 7, placeTypes: e.value },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.placeTypes === \"7\"}\r\n />\r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* */}\r\n\r\n console.log(valid)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n this.setState(\r\n { addressDetail: e.target.value },\r\n this.isNotvalidStep3\r\n )\r\n }\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\" \"}\r\n {this.state.errorMessageLastStep}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n onopenContectDetail(e) {\r\n console.log(e);\r\n this.setState({\r\n contactDetailBodyDialog: true,\r\n contactBodyData: Object.assign({}, e),\r\n });\r\n }\r\n onopenAddressDetail(e) {\r\n console.log(e);\r\n this.setState({\r\n addressDetailBodyDialog: true,\r\n AddressBodyData: Object.assign({}, e),\r\n });\r\n }\r\n openContectDetail(rowData, column) {\r\n return (\r\n
    \r\n this.onopenContectDetail(column.rowData)}\r\n icon=\"fa fa-address-book\"\r\n label=\"\"\r\n className=\"p-button\"\r\n />\r\n
    \r\n );\r\n }\r\n openAddressDetail(rowData, column) {\r\n return (\r\n
    \r\n this.onopenAddressDetail(column.rowData)}\r\n icon=\"fa fa-map-marker\"\r\n label=\"\"\r\n className=\"p-button\"\r\n />\r\n
    \r\n );\r\n }\r\n\r\n locationType(code) {\r\n var locationTypeName = \"\";\r\n switch (code) {\r\n case 1:\r\n locationTypeName = \"บ้านในโครงการจัดสรร\";\r\n break;\r\n case 2:\r\n locationTypeName = \"บ้านพักอาศัยทั่วไป\";\r\n break;\r\n case 3:\r\n locationTypeName = \"คอนโดมีเนียม / อพาร์ทเม้นท์\";\r\n break;\r\n case 4:\r\n locationTypeName = \"อาคารสำนักงาน / โรงงาน\";\r\n break;\r\n case 5:\r\n locationTypeName = \"ร้านค้า / ร้านอาหาร\";\r\n break;\r\n case 6:\r\n locationTypeName = \"สถานศึกษา / สถานที่ราชการ\";\r\n break;\r\n case 7:\r\n locationTypeName = \"อื่นๆ\";\r\n break;\r\n }\r\n return locationTypeName;\r\n }\r\n\r\n showWeightTable() {\r\n const { province, district, subDistrict, banks } = this.props;\r\n let districtList = [];\r\n district.forEach((dist) => {\r\n let item = {\r\n districtCode: dist.districtCode,\r\n districtName: dist.districtName,\r\n };\r\n districtList.push(item);\r\n });\r\n\r\n var list = this.state.listAccount;\r\n console.log(list);\r\n list.forEach((element, index) => {\r\n let location_name = this.locationType(element.location_type_code);\r\n var newlist = {\r\n gid: element.gid,\r\n uid: element.uid,\r\n org_name: element.org_name,\r\n telephone_no1: element.telephone_no1,\r\n telephone_no2: element.telephone_no2,\r\n email: element.email,\r\n location_type_code: element.location_type_code,\r\n addr_current_province_code: element.addr_current_province_code,\r\n addr_current_district_code: element.addr_current_district_code,\r\n addr_current_subdistrict_code: element.addr_current_subdistrict_code,\r\n addr_current_province_name: element.addr_current_province_name,\r\n add_current_district_name: element.add_current_district_name,\r\n addr_current_subdistrict_name: element.addr_current_subdistrict_name,\r\n addr_current_detail: element.addr_current_detail,\r\n bank_account_name: element.bank_account_name,\r\n bank_account_no: element.bank_account_no,\r\n bank_code: element.bank_code,\r\n bank_name: element.bank_name,\r\n created_date: element.created_date,\r\n update_date: element.update_date,\r\n update_by_uid: element.update_by_uid,\r\n is_deleted: element.is_deleted,\r\n location_name: location_name,\r\n };\r\n list[index] = newlist;\r\n });\r\n console.log(\"list : \", list);\r\n\r\n let dialogFooter = (\r\n
    \r\n
    \r\n );\r\n let deleteDialogFooter = (\r\n
    \r\n
    \r\n );\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })} responsive={true}\r\n emptyMessage={\r\n
    \r\n \r\n
    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n this.setState({ contactDetailBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.contactBodyData && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.contactBodyData.telephone_no1}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.contactBodyData.telephone_no2}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.contactBodyData.email}\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n this.setState({ addressDetailBodyDialog: false })}\r\n dismissableMask={true}\r\n >\r\n {this.state.AddressBodyData && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.AddressBodyData.location_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.AddressBodyData.addr_current_province_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.AddressBodyData.add_current_district_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.AddressBodyData.addr_current_subdistrict_name}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.AddressBodyData.addr_current_detail}\r\n
    \r\n
    \r\n )}\r\n \r\n\r\n {/* แก้ไขนะ ---------------------------------------------------------------------------------------------------------- */}\r\n {/* แก้ไข ---------------------------------------------------------------------------------------------------------- */}\r\n this.setState({ displayDialog: false })}\r\n >\r\n {this.state.donateDialog && (\r\n
    \r\n
    \r\n คุณต้องการจะแก้ไขข้อมูลต่อไปนี้\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"org_name\", e.target.value);\r\n }}\r\n\r\n // onChange={(e) => this.setState({ environmental_name: e.target.value })}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"telephone_no1\", e.target.value);\r\n }}\r\n //onChange={(e,v)=> this.onTelephoneNumber1Changed(e.target.value,v)}\r\n isvalid={(valid) =>\r\n this.setState({ isvalid_telephoneNumber1: valid })\r\n }\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"telephone_no2\", e.target.value);\r\n }}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"email\", e.target.value);\r\n }}\r\n isvalid={(valid) => this.setState({ isvalid_email: valid })}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"bank_account_name\", e.target.value);\r\n }}\r\n //onChange={this.onChangeInputText}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\"bank_account_no\", e.target.value);\r\n }}\r\n // onChange={this.onChangeInputText}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n ประเภทสถานที่ตั้งองค์กร\r\n \r\n \r\n \r\n this.setState(\r\n { location_type_code: 1 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"1\"}\r\n />\r\n \r\n
    \r\n \r\n \r\n this.setState(\r\n { location_type_code: 2 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"2\"}\r\n />\r\n \r\n
    \r\n \r\n \r\n this.setState(\r\n { location_type_code: 3 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"3\"}\r\n />\r\n \r\n
    \r\n \r\n \r\n this.setState(\r\n { location_type_code: 4 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"4\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { location_type_code: 5 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"5\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { location_type_code: 6 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"6\"}\r\n />\r\n \r\n \r\n \r\n \r\n this.setState(\r\n { location_type_code: 7 },\r\n this.isNotvalidStep2\r\n )\r\n }\r\n checked={this.state.location_type_code == \"7\"}\r\n />\r\n \r\n \r\n\r\n {console.log(\"province_name\", this.state.prov_sh_update)}\r\n {console.log(\"province_name\", province)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n
    \r\n\r\n {console.log(\"districtName\", this.state.dist_sh_update)}\r\n {console.log(\"districtName\", districtList)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n
    \r\n\r\n {console.log(\"subDistrictName\", this.state.subdist_sh_update)}\r\n {console.log(\"subDistrictName\", subDistrict)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n console.log(valid)}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.updateProperty(\r\n \"addr_current_detail\",\r\n e.target.value\r\n );\r\n }}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n {/* แก้ไขนะ ---------------------------------------------------------------------------------------------------------- */}\r\n {/* แก้ไข ---------------------------------------------------------------------------------------------------------- */}\r\n\r\n this.setState({ deleteDialog: false })}\r\n >\r\n {this.state.deleteData && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n คุณต้องการจะลบข้อมูลบัญชีองค์กรนี้ใช่หรือไม่\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n \r\n );\r\n if (!this.state.showProgress) return weightTable;\r\n }\r\n\r\n onSubmit() {}\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewAccountTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n return (\r\n
    \r\n

    ตั้งค่าบัญชีองค์กรสิ่งแวดล้อม

    \r\n (this.growl = el)} />\r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n province: state.location.province,\r\n district: state.location.district,\r\n subDistrict: state.location.subDistrict,\r\n\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { forwardRef: true }\r\n)(ManageEnvironmentalCorporateAccount);\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { MapMarkers } from '../../features/map/MapMarkers'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Avatar } from '../../features/widget/Avatar';\r\nimport { API_ROOT } from '../../constants/api'\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport * as ServerAPI from './service';\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { isEmpty } from '../../utils/validators';\r\nimport { CEInputText, CECalendar, CEDropdown } from '../../features/input';\r\nimport { CEFileUpload } from '../../features/widget';\r\nimport {Dialog} from 'primereact/dialog';\r\nimport {CEFileUploadWithImg} from '../../features/widget';\r\nimport {Galleria} from 'primereact/galleria';\r\nimport { RadioButton } from 'primereact/radiobutton';\r\n\r\nclass ManageProduct extends Component {\r\n static propTypes = {\r\n\r\n }\r\n constructor() {\r\n super();\r\n this.state = {\r\n addressDetail: '',\r\n productList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: '',\r\n searchProductType: '',\r\n searchProduct: '',\r\n productSelected: '',\r\n priceSelected1: '',\r\n memberName1:null,\r\n searchProductTypeCode:0,\r\n\r\n memberStore1: [\r\n { label: 'เลือกประเภทสินค้า', value: 0 },\r\n { label: 'กระดาษ', value: 1 },\r\n { label: 'พลาสติก', value: 2 },\r\n { label: 'ประเภทที่ 2', value: 3 },\r\n ],\r\n memberStore3: 0,\r\n memberStore4: [\r\n { label: 'เลือกสินค้า', value: 0 },\r\n { label: 'กระดาษขาวดำ', value: 1 },\r\n { label: 'กระดาษจับจั๊ว', value: 2 },\r\n { label: 'กระดาษกล่องลัง', value: 3 },\r\n ],\r\n\r\n testData: [\r\n {\r\n nameStore: 'ร้านมารวย',\r\n product_type: 'กระดาษ',\r\n product: 'กระดาษขาว',\r\n buy_per_kk: '10',\r\n },\r\n {\r\n nameStore: 'ร้านมาจน',\r\n product_type: 'พลาสติก',\r\n product: 'ขวดน้ำพลาสติก',\r\n buy_per_kk: ' 8',\r\n }\r\n ],\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n\r\n productStatus:true,\r\n\r\n productStatusSelect: [\r\n { label: 'ใช้งาน', value: true },\r\n { label: 'ไม่ใช้งาน', value: false },\r\n ],\r\n productStatusSelect1: [\r\n { name: 'ใช้งาน', code: 1 ,is_active : true},\r\n { name: 'ไม่ใช้งาน', code: 0 ,is_active : false},\r\n ],\r\n\r\n productName :'',\r\n\r\n //image\r\n fileImgPorduct: [],\r\n\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.addDataToTable = this.addDataToTable.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.getproductAll = this.getproductAll.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.getproductAllForValid = this.getproductAllForValid.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n this.onproductsStatusChange = this.onproductsStatusChange.bind(this);\r\n this.onproductsStatusChange1 = this.onproductsStatusChange1.bind(this);\r\n this.onWasteTypeEditChange = this.onWasteTypeEditChange.bind(this);\r\n this.onFileDelete = this.onFileDelete.bind(this);\r\n this.updateStatus = this.updateStatus.bind(this);\r\n\r\n \r\n\r\n }\r\n componentDidMount() {\r\n this.getproductAll();\r\n this.getproductAllForValid();\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n locationServiceProps.getProvice();\r\n masterServiceProps.getProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n searchProductList(){\r\n this.setState({ showProgress: true })\r\n var search = {\r\n search_name: this.state.memberName1 || null,\r\n product_type_code: this.state.searchProductTypeCode || 0,\r\n }\r\n console.log(this.state.searchProductCode);\r\n console.log(this.state.searchProductTypeCode);\r\n\r\n if((this.state.memberName1 == null && this.state.searchProductTypeCode == 0)){\r\n this.getproductAll();\r\n }else{\r\n ServerAPI.searchProductList(this.state.searchProductTypeCode,search.search_name).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({productList: res })\r\n //this.getproductAll();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false })\r\n // this.showSuccess();\r\n \r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n}\r\n\r\n getproductAll() {\r\n this.setState({ showProgress: true })\r\n ServerAPI.getproductAll().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ productList: res })\r\n this.setState({ productPriceList: res})\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n getproductAllForValid() {\r\n ServerAPI.getproductAll().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({ productPriceList: res})\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n itemTemplate1(item) {\r\n return (\r\n
    \r\n {item.product_name}\r\n
    \r\n );\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n onSelectMemberName1(item) {\r\n console.log(item)\r\n this.setState({ memberName1: item.value.product_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n console.log(item);\r\n }\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n suggestMemberName1(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onMemberName1Changed(product_name) {\r\n console.log(product_name)\r\n console.log(typeof (product_name))\r\n if (typeof (product_name) != \"object\")\r\n if (product_name.trim() != \"\") {\r\n this.setState({ memberName1: product_name });\r\n if (product_name.length >= 2) {\r\n ServerAPI.searchProduct(product_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions1: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName1: product_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e){\r\n console.log(e)\r\n this.setState({productTypeObjUpdate: e.value});\r\n }\r\n\r\n onWeightUpdate(e){\r\n console.log(e)\r\n this.setState({productObjUpdate: e.value});\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return
    \r\n \r\n \r\n
    ;\r\n }\r\n statusTemplate(rowData, column) {\r\n var label = 'test';\r\n var classname = 'p-button';\r\n var icons = 'pi pi-eye';\r\n if(rowData.is_active == false){\r\n label = 'ไม่ใช้งาน';\r\n classname = 'p-button-warning';\r\n icons = 'pi pi-times';\r\n }\r\n if(rowData.is_active == true){\r\n label = 'ใช้งาน';\r\n classname = 'p-button';\r\n icons = 'pi pi-check';\r\n }\r\n return
    \r\n \r\n
    ;\r\n }\r\n openFiles(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n\r\n onClickDeleteItem(rowData) {\r\n console.log(rowData)\r\n if (rowData !== '') {\r\n var gid = rowData.gid\r\n ServerAPI.removeProduct(gid).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getproductAll()\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n // if (index !== -1) {\r\n // var array = this.state.productList;\r\n // array.splice(index, 1);\r\n // this.setState({ productList: array });\r\n // }\r\n \r\n }\r\n update() {\r\n this.setState({ showProgress: true })\r\n console.log(this.state.productEdit)\r\n if(this.state.productEdit){\r\n var isNotinput = (\r\n this.state.product_type_code == '' ||\r\n this.state.productEdit.product_name == '' ||\r\n //this.state.is_active_foredit == '' ||\r\n this.state.isNotValid == true\r\n );\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n let isValid = false;\r\n this.state.productPriceList.forEach((item) => {\r\n if (item.product_name == this.state.productEdit.product_name && item.product_code != this.state.productEdit.product_code) {\r\n isValid = true;\r\n }\r\n });\r\n if (isValid) {\r\n this.showWarn(\"ชื่อสินค้าซ้ำกับรายการอื่น\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n \r\n const formData = new FormData();\r\n if(this.state.fileImgNameUpdateNew){\r\n formData.append('ProductImages', this.state.fileImgNameUpdateNew);\r\n }\r\n formData.set('gid', this.state.productEdit.gid);\r\n formData.set('product_type_code', this.state.productTypeObjUpdate.product_type_code);\r\n formData.set('product_name', this.state.productEdit.product_name);\r\n formData.set('is_active', this.state.productEdit.is_active);\r\n // var data = {\r\n // gid: this.state.productEdit.gid,\r\n // product_type_code : this.state.productTypeObjUpdate.product_type_code,\r\n // product_name : this.state.productEdit.product_name,\r\n // is_active: this.state.is_active_foredit.code,\r\n // }\r\n console.log(formData);\r\n ServerAPI.editProduct(formData).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.getproductAll();\r\n this.setState({ displayDialog:false});\r\n this.setState({ statusDialog:false});\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n } \r\n }\r\n }\r\n }\r\n delete() {\r\n this.setState({ showProgress: true })\r\n var data = this.state.productEdit;\r\n this.onClickDeleteItem(data);\r\n\r\n // let index = this.findSelectedWeightIndex();\r\n // this.setState({\r\n // cars: this.state.cars.filter((val,i) => i !== index),\r\n // selectedCar: null,\r\n // car: null,\r\n this.setState({deleteDialog: false});\r\n }\r\n updateStatus(){\r\n this.update()\r\n }\r\n updateProperty(property, value) {\r\n let productEdit = this.state.productEdit;\r\n productEdit[property] = value;\r\n this.setState({productEdit: productEdit});\r\n }\r\n\r\n onproductPriceUpdate(e){\r\n console.log(e)\r\n if(e.is_active == true){\r\n var is_active_foredit = {\r\n name: 'ใช้งาน',\r\n code: 1,\r\n is_active:true,\r\n }\r\n }else{\r\n var is_active_foredit = {\r\n name: 'ไม่ใช้งาน',\r\n code: 0,\r\n is_active:false,\r\n }\r\n }\r\n \r\n var productTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n //image_name:e.image_name\r\n }\r\n var productDropdown = {\r\n product_code: e.product_code,\r\n product_name: e.product_name,\r\n }\r\n console.log(productTypeDropdown);\r\n this.setState({\r\n displayDialog:true,\r\n productEdit: Object.assign({}, e),\r\n productTypeObjUpdate: productTypeDropdown,\r\n productObjUpdate: productDropdown,\r\n is_active_foredit : is_active_foredit,\r\n fileImgNameUpdate : e.image_name,\r\n fileImgNameUpdateNew : null,\r\n });\r\n console.log(this.state.productTypeObjUpdate);\r\n }\r\n onproductPriceDelete(e){\r\n console.log(e)\r\n let _disableDelete = false;\r\n if(e.is_used){\r\n _disableDelete = true\r\n }\r\n this.setState({\r\n deleteDialog:true,\r\n disableDelete: _disableDelete,\r\n productEdit: Object.assign({}, e),\r\n });\r\n }\r\n onStatusUpdate(e){\r\n console.log(e)\r\n var productTypeDropdown = {\r\n product_type_code: e.product_type_code,\r\n product_type_name: e.product_type_name,\r\n //image_name:e.image_name\r\n }\r\n this.setState({\r\n statusDialog: true,\r\n isNotValid: false,\r\n productTypeObjUpdate: productTypeDropdown,\r\n productEdit: Object.assign({}, e),\r\n });\r\n }\r\n onValidation(valid) {\r\n console.log(valid)\r\n if (!valid) this.setState({ isNotValid: true })\r\n else this.setState({ isNotValid: false })\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onWasteTypeEditChange(e) {\r\n console.log(e);\r\n this.setState({ productTypeObjUpdate: e.value });\r\n this.setState({ product_type_code: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n addDataToTable() {\r\n this.setState({ showProgress: true })\r\n var isNotinput = (\r\n this.state.wasteTypeSelected == '' ||\r\n this.state.productName == '' ||\r\n this.state.is_active == '' ||\r\n this.state.isNotValid == true\r\n );\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n var notValid = false;\r\n this.getproductAllForValid();\r\n console.log(this.state.productPriceList)\r\n if(this.state.productPriceList)\r\n this.state.productPriceList.forEach(objProductPrice => {\r\n console.log(objProductPrice.product_name);\r\n console.log(this.state.productName);\r\n if ( objProductPrice.product_name == this.state.productName) {\r\n notValid = true;\r\n }\r\n });\r\n\r\n if (notValid) {\r\n this.showWarn(\"ชื่อสินค้าซ้ำกับรายการอื่น\");\r\n this.setState({ showProgress: false })\r\n } else {\r\n\r\n const formData = new FormData();\r\n // if (this.state.fileImgProduct != null)\r\n // for (let index = 0; index < this.state.fileImgProduct.length; index++) {\r\n // const file = this.state.fileImgProduct[index];\r\n formData.append('ProductImages', this.state.select_img);\r\n // }\r\n formData.set('product_type_code', this.state.productTypeCode || '');\r\n formData.set('product_name', this.state.productName || '');\r\n formData.set('is_active', this.state.productStatus);\r\n \r\n // var productList = {\r\n // product_type_code: this.state.productTypeCode,\r\n // product_name: this.state.productName,\r\n // is_active: this.state.productStatus,\r\n // }\r\n\r\n ServerAPI.AddProduct(formData).then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n // this.searchProductList();\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n this.getproductAll();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n }\r\n console.log(this.state.productList)\r\n }\r\n onproductsStatusChange(e) {\r\n console.log('สถานะ',e);\r\n this.setState({ productStatus: e.value });\r\n }\r\n onproductsStatusChange1(e) {\r\n console.log('สถานะ',e);\r\n this.setState({ is_active_foredit: e.value });\r\n }\r\n\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n \r\n }\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n this.setState({ searchProductName: e.value.product_name });\r\n }\r\n\r\n clearAllDataInput() {\r\n this.setState({ select_img: '' })\r\n this.setState({ wasteTypeSelected: '' })\r\n this.setState({ productSelected: '' })\r\n this.setState({ priceSelected1: '' })\r\n this.setState({ memberName: '' })\r\n this.setState({ memberUid: '' })\r\n this.setState({ productEdit: null })\r\n this.setState({ productTypeObjUpdate: null })\r\n this.setState({ productObjUpdate: null })\r\n this.setState({ productName: '' })\r\n this.setState({ productStatus: null })\r\n \r\n \r\n }\r\n\r\n clearSearchInput() {\r\n this.getproductAll();\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null }); \r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: 0 });\r\n this.setState({ searchProductCode: null });\r\n\r\n console.log(this.state.searchProductType)\r\n console.log(this.state.searchProduct)\r\n console.log(this.state.searchProductTypeCode)\r\n console.log(this.state.searchProductCode)\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n onFileDelete(index){\r\n var array = this.state.fileImgProduct;\r\n array.splice(index, 1);\r\n this.setState({ fileImgProduct: array });\r\n }\r\n onFileProductImg(e) {\r\n console.log(e.files)\r\n //this.setState({ fileImgIden: e.target.files[0] });\r\n var list = [];\r\n for (let index = 0; index < e.files.length; index++) {\r\n const file = e.files[index];\r\n console.log(file)\r\n list.push(file);\r\n }\r\n if(this.state.fileImgProduct){\r\n var arr = this.state.fileImgProduct.concat(list);\r\n this.setState({ fileImgProduct: arr });\r\n }else{\r\n this.setState({ fileImgProduct: list });\r\n }\r\n }\r\n\r\n onOpenFiles(e){\r\n console.log(e)\r\n this.setState({\r\n filesDialog:true,\r\n filesData: Object.assign({}, e),\r\n fileImgName : e.image_name,\r\n });\r\n }\r\n \r\n\r\n showSearchPanel() {\r\n const {\r\n productType1,\r\n product1,\r\n } = this.props;\r\n return (\r\n\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberName1Changed(e.target.value)}\r\n itemTemplate={this.itemTemplate1.bind(this)}\r\n placeholder=\"ระบุชื่อสินค้า\" />\r\n
    \r\n\r\n\r\n {/*
    \r\n \r\n
    \r\n
    \r\n \r\n
    */}\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n )\r\n }\r\n \r\n onSelectTemplateImage = (e) => {\r\n console.log(e.files[0])\r\n this.setState({select_img : e.files[0] })\r\n \r\n }\r\n\r\n onSelectTemplateImageUpdate = (e) => {\r\n console.log(e.files[0])\r\n this.setState({fileImgNameUpdateNew : e.files[0] })\r\n \r\n }\r\n\r\n addNewProductTab() {\r\n const {\r\n productType,\r\n product,\r\n } = this.props;\r\n\r\n let fileImg;\r\n\r\n if(this.state.select_img){\r\n fileImg = this.state.select_img.objectURL\r\n }\r\n return (\r\n \r\n \r\n
    \r\n {/* \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    */}\r\n\r\n \r\n
    \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n this.setState({productName: e.target.value})} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onSelectTemplateImage(e)}\r\n chooseLabel=\"แนบรูปไอคอน\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n auto={true}\r\n />\r\n {/* this.onFileProductImg(e)}\r\n onDelete={(index) => this.onFileDelete(index)}\r\n mode=\"basic\"\r\n chooseLabel=\"แนบไฟล์\"\r\n cancelLabel=\"ยกเลิก\"\r\n multiple={true}\r\n accept=\"image/*\"\r\n maxFileSize={10000000} /> */}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n\r\n\r\n showWeightTable() {\r\n const responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 5\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 3\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1\r\n }\r\n ];\r\n const { productType1} = this.props;\r\n var list = this.state.productList;\r\n var newlist = []\r\n var newOptionDropdown = []\r\n if(productType1.length > 0)\r\n list.forEach((objlist,index) => {\r\n productType1.forEach((objproduct) => {\r\n // console.log(objlist);\r\n // console.log(objproduct);\r\n if(objlist.product_type_code == objproduct.product_type_code){\r\n var listnew = {\r\n ...objlist,\r\n // gid: objlist.gid,\r\n // product_type_code: objlist.product_type_code,\r\n // product_code: objlist.product_code,\r\n // product_name: objlist.product_name,\r\n // is_active: objlist.is_active,\r\n // is_deleted: objlist.is_deleted,\r\n // image_name :objlist.image_name,\r\n\r\n product_type_name: objproduct.product_type_name,\r\n }\r\n newlist.push(listnew);\r\n }\r\n });\r\n });\r\n\r\n productType1.forEach((objproduct) => {\r\n var newOption = {\r\n product_type_code: objproduct.product_type_code,\r\n product_type_name: objproduct.product_type_name,\r\n }\r\n newOptionDropdown.push(newOption)\r\n })\r\n\r\n let link = `${API_ROOT}/master/product/getfile/${this.state.fileImgNameUpdate}`\r\n\r\n let fileImgUpdate;\r\n\r\n if(this.state.fileImgNameUpdateNew){\r\n link = this.state.fileImgNameUpdateNew.objectURL\r\n }\r\n\r\n\r\n // console.log(this.state.productList);\r\n let dialogFooter =
    \r\n
    ;\r\n let deleteDialogFooter =
    \r\n
    ;\r\n let statusDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })}\r\n responsive={true} emptyMessage={(
    \r\n \r\n
    )} >\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n this.setState({deleteDialog: false})}>\r\n {\r\n this.state.productEdit &&\r\n \r\n
    \r\n
    คุณต้องการจะลบข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n {this.state.productEdit.product_type_name}\r\n
    \r\n
    \r\n
    \r\n {this.state.productEdit.product_name}\r\n
    \r\n
    \r\n
    \r\n {this.state.productEdit.is_active ? 'ใช้งาน' : 'ไม่ใช้งาน'}\r\n
    \r\n {this.state.productEdit.is_used && \r\n
    \r\n *****สินค้านี้ไม่สามารถลบได้ เนื่องจากมีการซื้อ-ขายสินค้านี้*****\r\n
    }\r\n
    \r\n }\r\n {/* {console.log(this.state.productEdit)} */}\r\n
    \r\n this.setState({displayDialog: false})}>\r\n {\r\n this.state.productEdit &&\r\n \r\n
    \r\n \r\n
    คุณต้องการจะแก้ไขข้อมูลต่อไปนี้
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {this.updateProperty('product_name', e.target.value)}}\r\n // onChange={(e) => this.setState({product_name: e.target.value})} \r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n e.target.src='assets/layout/images/exception/image-not-found.png'} width='180px'>\r\n
    \r\n \r\n
    \r\n this.onSelectTemplateImageUpdate(e)}\r\n chooseLabel=\"แนบรูปไอคอน\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n auto={true}\r\n />\r\n {/* this.onSelectTemplateImageUpdate(e)}\r\n blob={this.state.fileImgPerson}\r\n accept=\"image/*\" \r\n onRefresh={this.onRefreshPerson}\r\n onDelete={this.onDeletePerson}\r\n /> */}\r\n
    \r\n\r\n
    \r\n }\r\n
    \r\n this.setState({filesDialog: false})}\r\n dismissableMask={true}>\r\n
    \r\n e.target.src='assets/layout/images/exception/image-not-found.png'}/>\r\n
    \r\n
    \r\n\r\n this.setState({statusDialog: false})}\r\n style={{width:'30vw'}}\r\n >\r\n { this.state.productEdit &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productEdit.is_active === true} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productEdit.is_active === false} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n\r\n
    \r\n );\r\n if(!this.state.showProgress)\r\n return weightTable;\r\n }\r\n\r\n onSubmit() {\r\n\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewProductTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageProduct)","import React, { Component } from \"react\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { Panel } from \"primereact/components/panel/Panel\";\r\nimport { Checkbox } from \"primereact/components/checkbox/Checkbox\";\r\nimport { Button } from \"primereact/components/button/Button\";\r\nimport { RadioButton } from 'primereact/radiobutton';\r\nimport { InputText } from \"primereact/components/inputtext/InputText\";\r\nimport { InputTextarea } from \"primereact/components/inputtextarea/InputTextarea\";\r\nimport { DataTable } from \"primereact/components/datatable/DataTable\";\r\nimport { Column } from \"primereact/components/column/Column\";\r\nimport { FullCalendar } from \"primereact/fullcalendar\";\r\nimport { Card } from \"primereact/card\";\r\nimport { Accordion, AccordionTab } from \"primereact/accordion\";\r\nimport { Growl } from \"primereact/growl\";\r\nimport { FileUpload } from \"primereact/fileupload\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { MapWithASearchBox } from \"../../features/map/MapWithASearchBox\";\r\nimport { MapMarkers } from \"../../features/map/MapMarkers\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Avatar } from \"../../features/widget/Avatar\";\r\nimport { API_ROOT } from \"../../constants/api\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport * as ServerAPI from \"./service\";\r\nimport * as LocationService from \"../../service/LocationService\";\r\nimport * as UserService from \"../../service/user.service\";\r\nimport * as MasterService from \"../../service/MasterService\";\r\nimport * as FileService from \"../../service/file.service\";\r\nimport * as DashBoardService from \"./service\";\r\nimport { isEmpty } from \"../../utils/validators\";\r\nimport { CEInputText, CECalendar, CEDropdown } from \"../../features/input\";\r\nimport { CEFileUpload } from \"../../features/widget\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Font } from \"@react-pdf/renderer\";\r\n\r\nclass ManageProductType extends Component {\r\n static propTypes = {};\r\n constructor() {\r\n super();\r\n this.state = {\r\n addressDetail: \"\",\r\n priceList: [],\r\n memberStore: 0,\r\n brandSuggestions: null,\r\n wasteTypeSelected: \"\",\r\n searchProductType: \"\",\r\n searchProduct: \"\",\r\n productSelected: \"\",\r\n priceSelected1: \"\",\r\n productTypeNameUpdate: \"\",\r\n\r\n memberStore1: [\r\n { label: \"เลือกประเภทสินค้า\", value: 0 },\r\n { label: \"กระดาษ\", value: 1 },\r\n { label: \"พลาสติก\", value: 2 },\r\n { label: \"ประเภทที่ 2\", value: 3 },\r\n ],\r\n memberStore3: 0,\r\n memberStore4: [\r\n { label: \"เลือกสินค้า\", value: 0 },\r\n { label: \"กระดาษขาวดำ\", value: 1 },\r\n { label: \"กระดาษจับจั๊ว\", value: 2 },\r\n { label: \"กระดาษกล่องลัง\", value: 3 },\r\n ],\r\n\r\n testData: [\r\n {\r\n nameStore: \"ร้านมารวย\",\r\n product_type: \"กระดาษ\",\r\n product: \"กระดาษขาว\",\r\n buy_per_kk: \"10\",\r\n },\r\n {\r\n nameStore: \"ร้านมาจน\",\r\n product_type: \"พลาสติก\",\r\n product: \"ขวดน้ำพลาสติก\",\r\n buy_per_kk: \" 8\",\r\n },\r\n ],\r\n isActive: [{ is_active: \"ใช้งาน\" }, { is_active: \"ไม่ใช้งาน\" }],\r\n isActiveSelected: {is_active: \"ใช้งาน\" },\r\n reportSearchOrders: [],\r\n showProgress: false,\r\n activeIndex: null,\r\n\r\n productTypeName:'',\r\n };\r\n this.onClickDeleteItem = this.onClickDeleteItem.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onMemberName1Changed = this.onMemberName1Changed.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectMemberName1 = this.onSelectMemberName1.bind(this);\r\n this.onproductsChange = this.onproductsChange.bind(this);\r\n this.onsearchProductChange = this.onsearchProductChange.bind(this);\r\n this.onWasteTypeChange = this.onWasteTypeChange.bind(this);\r\n this.onsearchProductTypeChange = this.onsearchProductTypeChange.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onValidation = this.onValidation.bind(this);\r\n this.searchProductList = this.searchProductList.bind(this);\r\n this.update = this.update.bind(this);\r\n this.delete = this.delete.bind(this);\r\n this.onWeightUpdate = this.onWeightUpdate.bind(this);\r\n this.onproductTypeUpdate = this.onproductTypeUpdate.bind(this);\r\n this.updateStatus = this.updateStatus.bind(this);\r\n }\r\n componentDidMount() {\r\n this.getAllProductType();\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return Progress;\r\n } else return
    ;\r\n }\r\n searchProductList() {\r\n this.setState({ showProgress: true });\r\n var search = this.state.productTypeName || ''\r\n ServerAPI.searchProductTypeList(search)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ priceList: res });\r\n // this.getAllProductType();\r\n // this.clearAllDataInput();\r\n this.setState({ showProgress: false });\r\n // this.showSuccess();\r\n } else {\r\n this.showWarn('กรุณากรอก \"ชื่อประเภทสินค้า\" ');\r\n this.getAllProductType();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n getAllProductType() {\r\n this.setState({ showProgress: true });\r\n ServerAPI.getAllProductType()\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.setState({ priceList: res });\r\n this.setState({ priceListForValidExit: res });\r\n this.setState({ showProgress: false });\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n\r\n itemTemplate(item) {\r\n return
    {item.search_name}
    ;\r\n }\r\n\r\n itemTemplate1(item) {\r\n return
    {item.search_name}
    ;\r\n }\r\n\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n onSelectMemberName1(item) {\r\n console.log(item);\r\n this.setState({ memberName1: item.value.search_name });\r\n this.setState({ memberUid1: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n console.log(item);\r\n }\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n suggestMemberName1(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name);\r\n console.log(typeof search_name);\r\n if (typeof search_name != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n })\r\n .catch((error) => {});\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onMemberName1Changed(search_name) {\r\n console.log(search_name);\r\n console.log(typeof search_name);\r\n if (typeof search_name != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName1: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name)\r\n .then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n })\r\n .catch((error) => {});\r\n }\r\n } else {\r\n this.setState({ memberName1: search_name });\r\n this.setState({ memberUid1: null });\r\n }\r\n }\r\n\r\n onproductTypeUpdate(e) {\r\n console.log(e);\r\n this.setState({ productTypeObjUpdate: e.value });\r\n }\r\n onWeightUpdate(e) {\r\n console.log(e);\r\n this.setState({ productObjUpdate: e.value });\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n return (\r\n
    \r\n this.onEditProdcutType(column.rowData)}\r\n icon=\"pi pi-pencil\"\r\n className=\"p-button\"\r\n />\r\n\r\n this.onproductPriceDelete(column.rowData)}\r\n icon=\"fa fa-trash\"\r\n className=\"p-button-warning\"\r\n />\r\n
    \r\n );\r\n }\r\n statusTemplate(rowData, column) {\r\n var label = 'test';\r\n var classname = 'p-button';\r\n var icons = 'pi pi-eye';\r\n if(rowData.is_active == false){\r\n label = 'ไม่ใช้งาน';\r\n classname = 'p-button-warning';\r\n icons = 'pi pi-times';\r\n }\r\n if(rowData.is_active == true){\r\n label = 'ใช้งาน';\r\n classname = 'p-button';\r\n icons = 'pi pi-check';\r\n }\r\n return
    \r\n \r\n
    ;\r\n }\r\n onClickDeleteItem(rowData) {\r\n \r\n }\r\n\r\n onClick(itemIndex) {\r\n let activeIndex = this.state.activeIndex ? [...this.state.activeIndex] : [];\r\n\r\n if (activeIndex.length === 0) {\r\n activeIndex.push(itemIndex);\r\n } else {\r\n const index = activeIndex.indexOf(itemIndex);\r\n if (index === -1) {\r\n activeIndex.push(itemIndex);\r\n } else {\r\n activeIndex.splice(index, 1);\r\n }\r\n }\r\n\r\n this.setState({ activeIndex });\r\n }\r\n\r\n update() {\r\n var isNotinput =\r\n this.state.productTypeNameUpdate == \"\" ||\r\n this.state.isNotValid == true;\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n let isValid = false;\r\n this.state.priceListForValidExit.forEach((item) => {\r\n if (item.product_type_name == this.state.productTypeNameUpdate && item.product_type_code != this.state.productTypeCodeUpdate){\r\n isValid = true;\r\n }\r\n });\r\n\r\n if (isValid) {\r\n this.showWarn(\"ชื่อประเภทสินค้าซ้ำกับรายการอื่น\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n\r\n const formData = new FormData();\r\n if(this.state.fileImgNameUpdateNew){\r\n formData.append('ProductWasteTypeImages', this.state.fileImgNameUpdateNew);\r\n }\r\n formData.set('gid', this.state.productTypeGidUpdate);\r\n formData.set('product_type_code', this.state.productTypeCodeUpdate);\r\n formData.set('product_type_name', this.state.productTypeNameUpdate);\r\n formData.set('is_active', this.state.productPrice.is_active);\r\n // let data = {\r\n // gid:this.state.productTypeGidUpdate,\r\n // product_type_code: this.state.productTypeCodeUpdate,\r\n // product_type_name: this.state.productTypeNameUpdate,\r\n // is_active: isActive,\r\n // };\r\n this.setState({ showProgress: true });\r\n ServerAPI.updateProductType(formData)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getAllProductType();\r\n this.setState({ displayDialog: false });\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n }\r\n delete() {\r\n this.setState({ showProgress: true });\r\n\r\n let id = this.state.productTypeGidDelete\r\n \r\n ServerAPI.removeProductType(id)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getAllProductType()\r\n this.setState({ showProgress: false });\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {});\r\n this.setState({ deleteDialog: false });\r\n }\r\n updateStatus(){\r\n this.setState({ statusDialog: false });\r\n const formData = new FormData();\r\n\r\n formData.set('gid', this.state.productPrice.gid);\r\n formData.set('product_type_code', this.state.productPrice.product_type_code);\r\n formData.set('product_type_name', this.state.productPrice.product_type_name);\r\n formData.set('is_active', this.state.productPrice.is_active);\r\n this.setState({ showProgress: true });\r\n ServerAPI.updateProductType(formData)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getAllProductType();\r\n this.setState({ displayDialog: false });\r\n this.clearAllDataInput();\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n \r\n }\r\n updateProperty(property, value) {\r\n let productPrice = this.state.productPrice;\r\n productPrice[property] = value;\r\n this.setState({ productPrice: productPrice });\r\n }\r\n\r\n onEditProdcutType = (e) => {\r\n let isActiveSelected = { is_active: e.is_active };\r\n this.setState({\r\n displayDialog: true,\r\n productTypeGidUpdate:e.gid,\r\n productTypeCodeUpdate: e.product_type_code,\r\n productTypeNameUpdate: e.product_type_name,\r\n productTypeIsActiveUpdate: isActiveSelected,\r\n fileImgNameUpdate : e.image_name,\r\n fileImgNameUpdateNew : null,\r\n productPrice: Object.assign({}, e),\r\n });\r\n };\r\n\r\n onproductPriceDelete(e) {\r\n let isActiveSelected = { is_active: e.is_active };\r\n let _disableDelete = false;\r\n if(e.is_used){\r\n _disableDelete = true\r\n }\r\n this.setState({\r\n deleteDialog: true,\r\n productTypeGidDelete:e.gid,\r\n productTypeCodeDelete: e.product_type_code,\r\n productTypeNameDelete: e.product_type_name,\r\n productTypeIsActiveDelete: isActiveSelected,\r\n disableDelete: _disableDelete,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n onStatusUpdate(e){\r\n console.log(e)\r\n this.setState({\r\n statusDialog: true,\r\n isNotValid: false,\r\n productPrice: Object.assign({}, e),\r\n });\r\n }\r\n\r\n onValidation(valid) {\r\n console.log(valid);\r\n if (!valid) this.setState({ isNotValid: true });\r\n else this.setState({ isNotValid: false });\r\n }\r\n\r\n onWasteTypeChange(e) {\r\n this.setState({ wasteTypeSelected: e.value });\r\n this.setState({ productTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n\r\n onIsActiveChanged = (e) => {\r\n console.log(e);\r\n this.setState({ isActiveSelected: e.value });\r\n };\r\n onIsActiveUpdate = (e) => {\r\n this.setState({ productTypeIsActiveUpdate: e.value });\r\n };\r\n\r\n onsearchProductTypeChange(e) {\r\n this.setState({ searchProductType: e.value });\r\n this.setState({ searchProductTypeCode: e.value.product_type_code });\r\n const { masterServiceProps, product } = this.props;\r\n masterServiceProps.getProduct(e.value.product_type_code);\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({\r\n severity: \"success\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"ทำรายการสำเร็จ\",\r\n });\r\n };\r\n showWarn = (message) => {\r\n this.growl.show({\r\n severity: \"warn\",\r\n summary: \"สถานะ\",\r\n detail: message ? message : \"มีบางอย่างผิดพลาด กรุณาตรวจสอบ\",\r\n });\r\n };\r\n\r\n addDataToTable = () => {\r\n this.setState({ showProgress: true });\r\n var isNotinput =\r\n this.state.isActiveSelected == \"\" ||\r\n this.state.memberName == \"\" ||\r\n // this.state.select_img == \"\" ||\r\n this.state.isNotValid == true;\r\n\r\n if (isNotinput) {\r\n this.showWarn(\"กรุณากรอกข้อมูลให้ครบถ้วน\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n let isValid = false;\r\n this.state.priceListForValidExit.forEach((item) => {\r\n if (item.product_type_name == this.state.memberName) {\r\n isValid = true;\r\n }\r\n });\r\n\r\n if (isValid) {\r\n this.showWarn(\"ชื่อประเภทสินค้าซ้ำกับรายการอื่น\");\r\n this.setState({ showProgress: false });\r\n } else {\r\n let isActive = true;\r\n if (this.state.isActiveSelected.is_active === \"ไม่ใช้งาน\") {\r\n isActive = false;\r\n }\r\n\r\n const formData = new FormData();\r\n\r\n formData.append('ProductWasteTypeImages', this.state.select_img);\r\n formData.set('product_type_name', this.state.memberName || '');\r\n formData.set('is_active', isActive );\r\n \r\n\r\n // var newProductType = {\r\n // product_type_name: this.state.memberName,\r\n // is_active: isActive,\r\n // };\r\n\r\n this.clearAllDataInput()\r\n\r\n ServerAPI.addProductType(formData)\r\n .then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + index);\r\n if (index == -1) {\r\n this.getAllProductType()\r\n this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false });\r\n }\r\n })\r\n .catch((error) => {\r\n this.setState({ showProgress: false });\r\n });\r\n }\r\n }\r\n };\r\n onproductsChange(e) {\r\n this.setState({ productSelected: e.value });\r\n }\r\n onsearchProductChange(e) {\r\n this.setState({ searchProduct: e.value });\r\n this.setState({ searchProductCode: e.value.product_code });\r\n this.setState({ searchProductName: e.value.product_name });\r\n }\r\n\r\n clearAllDataInput() {\r\n this.setState({ memberName: \"\" });\r\n this.setState({ isActiveSelected: \"\" });\r\n this.setState({ select_img: \"\" });\r\n }\r\n\r\n clearSearchInput() {\r\n this.getAllProductType();\r\n this.setState({ memberName1: null }); //order code from select table\r\n this.setState({ memberUid1: null });\r\n this.setState({ searchProductType: null }); //order code from auto complete\r\n this.setState({ searchProduct: null });\r\n this.setState({ searchProductTypeCode: null });\r\n this.setState({ searchProductCode: null });\r\n this.setState({ productTypeName: '' });\r\n\r\n console.log(this.state.searchProductType);\r\n console.log(this.state.searchProduct);\r\n console.log(this.state.searchProductTypeCode);\r\n console.log(this.state.searchProductCode);\r\n\r\n this.clearAllDataInput();\r\n }\r\n\r\n showSearchPanel() {\r\n return (\r\n \r\n \r\n
    \r\n {/* \r\n \r\n
    \r\n \r\n \r\n
    */}\r\n \r\n \r\n \r\n \r\n this.setState({productTypeName: e.target.value})}\r\n />\r\n\r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n */}\r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n\r\n onSelectTemplateImage = (e) => {\r\n console.log(e.files[0])\r\n this.setState({select_img : e.files[0] })\r\n \r\n}\r\n\r\n addNewProductTab() {\r\n let fileImg;\r\n\r\n if(this.state.select_img){\r\n fileImg = this.state.select_img.objectURL\r\n }\r\n return (\r\n \r\n \r\n
    \r\n \r\n ประเภทสินค้า :\r\n \r\n
    \r\n this.setState({ memberName: e.target.value })}\r\n />\r\n
    \r\n\r\n \r\n สถานะการใช้งาน :\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n this.onSelectTemplateImage(e)}\r\n chooseLabel=\"แนบรูปไอคอน\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n auto={true}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n onOpenFiles(e){\r\n console.log(e)\r\n this.setState({\r\n filesDialog:true,\r\n filesData: Object.assign({}, e),\r\n fileImgName : e.image_name,\r\n });\r\n}\r\n openFiles(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n}\r\n\r\nonSelectTemplateImageUpdate = (e) => {\r\n console.log(e.files[0])\r\n this.setState({fileImgNameUpdateNew : e.files[0] })\r\n \r\n}\r\n showWeightTable() {\r\n\r\n let link = `${API_ROOT}/master/producttype/getfile/${this.state.fileImgNameUpdate}`\r\n\r\n\r\n if(this.state.fileImgNameUpdateNew){\r\n link = this.state.fileImgNameUpdateNew.objectURL\r\n }\r\n\r\n let dialogFooter = (\r\n
    \r\n
    \r\n );\r\n let deleteDialogFooter = (\r\n
    \r\n
    \r\n );\r\n let statusDialogFooter =
    \r\n
    ;\r\n const weightTable = (\r\n
    \r\n \r\n this.setState({ selectedCar1: e.value })}\r\n responsive={true}\r\n emptyMessage={\r\n
    \r\n \r\n
    \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n this.setState({ deleteDialog: false })}\r\n >\r\n {this.state.productTypeCodeDelete && (\r\n
    \r\n

    รายละเอียดประเภทสินค้า

    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productTypeCodeDelete}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productTypeNameDelete}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productTypeIsActiveDelete.is_active ? 'ใช้งาน' : 'ไม่ใช้งาน'}\r\n
    \r\n\r\n {this.state.productPrice.is_used && \r\n
    \r\n *****สินค้านี้ไม่สามารถลบได้ เนื่องจากมีการซื้อ-ขายสินค้านี้*****\r\n
    }\r\n
    \r\n )}\r\n \r\n this.setState({ displayDialog: false })}\r\n >\r\n {this.state.productTypeCodeUpdate && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.state.productTypeCodeUpdate}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n this.setState({ productTypeNameUpdate: e.target.value });\r\n }}\r\n />\r\n
    \r\n {/*
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n e.target.src='assets/layout/images/exception/image-not-found.png'} width='180px'>\r\n
    \r\n\r\n
    \r\n this.onSelectTemplateImageUpdate(e)}\r\n chooseLabel=\"แนบรูปไอคอน\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n auto={true}\r\n />\r\n
    \r\n
    \r\n )}\r\n \r\n this.setState({filesDialog: false})}\r\n dismissableMask={true}>\r\n
    \r\n e.target.src='assets/layout/images/exception/image-not-found.png'} />\r\n
    \r\n
    \r\n\r\n this.setState({statusDialog: false})}\r\n style={{width:'30vw'}}\r\n >\r\n { this.state.productPrice &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productPrice.is_active === true} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {this.updateProperty('is_active', e.target.value)}}\r\n checked={this.state.productPrice.is_active === false} />\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n if (!this.state.showProgress) return weightTable;\r\n }\r\n\r\n onSubmit() {}\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const addnew = this.addNewProductTab();\r\n const weightTablePanel = this.showWeightTable();\r\n const showProgress = this.showProgressSpinner();\r\n\r\n return (\r\n
    \r\n (this.growl = el)} />\r\n {searchPanel}\r\n {addnew}\r\n {showProgress}\r\n {weightTablePanel}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n provinces: state.location.province,\r\n districts: state.location.district,\r\n subDistricts: state.location.subDistrict,\r\n cardProvince: state.location.cardProvince,\r\n cardDistrict: state.location.cardDistrict,\r\n cardSubDistrict: state.location.cardSubDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo.data,\r\n userInfoMaster: state.userInfo,\r\n updateWasteproProfile: state.updateWasteproProfile,\r\n banks: state.master.banks,\r\n productType: state.master.productType,\r\n product: state.master.product,\r\n productType1: state.master.productType,\r\n product1: state.master.product,\r\n getFileWastepro: state.getFileWastepro,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps,\r\n null,\r\n { forwardRef: true }\r\n)(ManageProductType);\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\n\r\n\r\nimport * as ServerAPI from './service';\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\n\r\nclass ManageDonateHistory extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n bank_code: 0,\r\n to_bank_code: 0,\r\n adminName: '',\r\n adminUid: '',\r\n orgName: '',\r\n orgUid: '',\r\n memberName: '',\r\n memberUid: '',\r\n memberType: 0,\r\n memberTypeItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ผู้รักษ์โลก', value: 1 },\r\n { label: 'ทีมขนส่งซีซาเล้ง', value: 2 },\r\n\r\n ],\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: '-1' },\r\n { label: 'ต้องการถอน', value: '0' },\r\n { label: 'โอนแล้ว', value: '1' },\r\n { label: 'บริจาคแล้ว', value: '2' },\r\n ],\r\n statusItemSelected: '-1',\r\n manageTable: [\r\n 1, 2, 3, 4, 5, 6, 7\r\n ],\r\n orderDetail: [\r\n 1, 2, 3, 4, 5\r\n ],\r\n acceptFileExt: '.jpg,.jpeg,.png,.pdf,.JPG,.JPEG,.PNG,.PDF',\r\n request_date_start: null,\r\n request_date_end: null,\r\n transfer_date_start: null,\r\n transfer_date_end: null\r\n };\r\n\r\n this.onAdminNameChanged = this.onAdminNameChanged.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onOrgNameChanged = this.onOrgNameChanged.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectOrgName = this.onSelectOrgName.bind(this);\r\n this.onChanageBank = this.onChanageBank.bind(this);\r\n this.onDateRequestStartChange = this.onDateRequestStartChange.bind(this);\r\n this.onDateRequestEndChange = this.onDateRequestEndChange.bind(this);\r\n this.onDateTransferStartChange = this.onDateTransferStartChange.bind(this);\r\n this.onDateTransferEndChange = this.onDateTransferEndChange.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.searchDonateRequest = this.searchDonateRequest.bind(this);\r\n this.onBasicUpload = this.onBasicUpload.bind(this);\r\n this.imgButton = this.imgButton.bind(this);\r\n this.datePicker = this.datePicker.bind(this);\r\n this.onClickTransfer = this.onClickTransfer.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { masterServiceProps } = this.props\r\n masterServiceProps.getBanks();\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n ExportButton(rowData, column) {\r\n return
    \r\n \r\n
    ;\r\n }\r\n onBasicUpload(e, rowData) {\r\n\r\n var index = this.state.dataTableDonateRequestTable.indexOf(rowData);\r\n var _dataTable = this.state.dataTableDonateRequestTable;\r\n _dataTable[index].file = e.files[0];\r\n this.setState({ dataTableDonateRequestTable: _dataTable });\r\n }\r\n\r\n onDatePickerChange(e, rowData) {\r\n var index = -1;\r\n this.state.dataTableSelection.find(function (value, index) {\r\n\r\n if (value == rowData) {\r\n console.log(rowData);\r\n rowData.tranfer_date_calendar = e.value;\r\n rowData.tranfer_date_iso = e.value.toISOString();\r\n }\r\n // this.to_transfer_date(rowData, column);\r\n\r\n });\r\n if (index != -1)\r\n this.state.dataTableSelection[index] = Object.assign({}, rowData);\r\n }\r\n datePicker(rowData, column) {\r\n\r\n var isChecked = false;\r\n if (this.state.dataTableSelection) {\r\n this.state.dataTableSelection.find(function (value, index) {\r\n //console.log('Visited index ', index, ' with value ', value==rowData); \r\n if (value == rowData && rowData.transaction_img == null) {\r\n isChecked = true;\r\n\r\n }\r\n // this.to_transfer_date(rowData, column);\r\n\r\n });\r\n\r\n }\r\n if (isChecked) {\r\n return this.onDatePickerChange(e, rowData)} showTime={true} >;\r\n } else {\r\n return this.to_transfer_date(rowData, column);\r\n }\r\n\r\n\r\n }\r\n imgButton(rowData, column) {\r\n\r\n if (rowData.transaction_img) {\r\n const path = '/api/account/transfer/' + rowData.transaction_img;\r\n return
    \r\n window.open(path, \"_blank\")} />\r\n
    ;\r\n }\r\n else return
    \r\n this.onBasicUpload(e, rowData)}\r\n maxFileSize={10000000} />\r\n
    ;\r\n }\r\n onClickTransfer() {\r\n\r\n //console.log(this.state.dataTableSelection);\r\n var isNotAttachAllFiles = false;\r\n var isSomeTransfered = false;\r\n if (this.state.dataTableSelection) {\r\n\r\n\r\n if (this.state.dataTableSelection.length > 0) {\r\n this.state.dataTableSelection.forEach(element => {\r\n if (!element.file) isNotAttachAllFiles = true;\r\n if (element.admin_name) isSomeTransfered = true;\r\n });\r\n }\r\n\r\n if (isSomeTransfered) {\r\n this.showWarn(\"รายการที่เลือกได้แจ้งการโอนแล้ว\");\r\n\r\n } else if (isNotAttachAllFiles) {\r\n this.showWarn(\"กรุณาแนบไฟล์หลักฐานการโอน\");\r\n\r\n } else {\r\n\r\n\r\n this.state.dataTableSelection.forEach(obj => {\r\n\r\n const formData = new FormData();\r\n formData.append('transaction_file', obj.file);\r\n formData.set('waste_type', obj.waste_type);\r\n formData.set('transaction_uid', obj.transaction_uid);\r\n formData.set('transaction_date', obj.tranfer_date_iso);\r\n ServerAPI.AddTransfer(formData).then((res) => {\r\n // console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n //console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.searchDonateRequest();\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n\r\n });\r\n this.searchDonateRequest();\r\n //this.clearSearchInput();\r\n }\r\n } else {\r\n this.showWarn(\"กรุณาเลือกรายการ\");\r\n }\r\n }\r\n\r\n suggestOrderID(event) { }\r\n suggestMemberName(event) { }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onMemberNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n suggestAdminName(event) { }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n }\r\n onSelectOrgName(item) {\r\n this.setState({ orgName: item.value.search_name });\r\n this.setState({ orgUid: item.value.uid });\r\n }\r\n onChanageBank(val) {\r\n this.setState({ selectedBank: val });\r\n this.setState({ bank_code: val.bank_code });\r\n }\r\n\r\n onChanageToBank(val) {\r\n this.setState({ to_selectedBank: val });\r\n this.setState({ to_bank_code: val.bank_code });\r\n }\r\n\r\n onDateRequestStartChange(e) {\r\n if (this.state.request_date_end != null) {\r\n if (e.value <= this.state.request_date_end) {\r\n this.setState({ request_date_start: e.value })\r\n } this.setState({ request_date_start: null })\r\n } else this.setState({ request_date_start: e.value })\r\n }\r\n onDateRequestEndChange(e) {\r\n if (this.state.request_date_start <= e.value)\r\n this.setState({ request_date_end: e.value })\r\n else this.setState({ request_date_end: null })\r\n\r\n }\r\n onDateTransferStartChange(e) {\r\n if (this.state.transfer_date_end != null) {\r\n if (e.value <= this.state.transfer_date_end) {\r\n this.setState({ transfer_date_start: e.value })\r\n } this.setState({ transfer_date_start: null })\r\n } else this.setState({ transfer_date_start: e.value })\r\n }\r\n onDateTransferEndChange(e) {\r\n if (this.state.transfer_date_start <= e.value)\r\n this.setState({ transfer_date_end: e.value })\r\n else this.setState({ transfer_date_end: null })\r\n }\r\n\r\n clearSearchInput() {\r\n\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ adminName: '' });\r\n this.setState({ adminUid: null });\r\n this.setState({ orgName: '', orgUid: ''})\r\n this.setState({ request_date_start: null });\r\n this.setState({ request_date_end: null });\r\n this.setState({ transfer_date_start: null });\r\n this.setState({ transfer_date_end: null });\r\n this.setState({ selectedBank: 0 });\r\n this.setState({ to_selectedBank: 0 });\r\n this.setState({ bank_code: 0 });\r\n this.setState({ to_bank_code: 0 });\r\n\r\n this.setState({ dataTableDonateRequestTable: null });\r\n\r\n }\r\n\r\n\r\n searchDonateRequest() {\r\n this.setState({ dataTableSelection: null });\r\n this.setState({ showProgress: true })\r\n\r\n var searchModel = {\r\n user_search_uid: this.state.memberUid,\r\n user_wasteTypes: this.state.memberType,\r\n admin_code: this.state.adminUid,\r\n org_search_uid: this.state.orgUid,\r\n to_bank_code: this.state.to_bank_code,\r\n };\r\n\r\n if (this.state.transfer_date_start != null) {\r\n //Bankok Time zone (+7hrs)\r\n var transfer_date_start = new Date(this.state.transfer_date_start.getTime() + 7 * 60 * 60000);\r\n searchModel.transfer_date_start = transfer_date_start.toISOString();\r\n }\r\n if (this.state.transfer_date_end != null) {\r\n //Bankok Time zone (+7hrs)\r\n var transfer_date_end = new Date(this.state.transfer_date_end.getTime() + 7 * 60 * 60000);\r\n searchModel.transfer_date_end = transfer_date_end.toISOString();\r\n }\r\n\r\n ServerAPI.searchDonateRequest(searchModel).then((res) => {\r\n\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n if (index == -1) {\r\n if (res.length > 0) {\r\n this.setState({ dataTableDonateRequestTable: res })\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n console.log(res);\r\n this.setState({ dataTableDonateRequestTable: [] })\r\n this.setState({ showProgress: false })\r\n }\r\n // this.showSuccess();\r\n // this.clearAllDataInput();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false })\r\n })\r\n }\r\n\r\n //> Auto complete search environmental corporate account\r\n onSelectOrgName(item) {\r\n this.setState({ orgName: item.value.search_name });\r\n this.setState({ orgUid: item.value.uid });\r\n }\r\n\r\n\r\n suggestOrgName(event) {\r\n console.log(event);\r\n }\r\n\r\n onOrgNameChanged(search_name) {\r\n if (typeof search_name != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ orgName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchOrgAll(search_name)\r\n .then((res) => {\r\n this.setState({ orgSuggestions: res });\r\n })\r\n .catch((error) => { });\r\n }\r\n } else {\r\n this.setState({ orgName: search_name });\r\n this.setState({ orgUid: null });\r\n }\r\n }\r\n //> End of Auto complete search environmental corporate account\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n showSearchPanel() {\r\n return (\r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n\r\n {/*
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    */}\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrgNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุชื่อองค์กรการกุศล\" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n this.onChanageToBank(e.target.value)}\r\n placeholder=\"เลือกธนาคาร\" />\r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n\r\n );\r\n }\r\n toFormatDateTime(dateTime) {\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ;\r\n }\r\n to_transfer_date(rowData, column) {\r\n\r\n let tranfer_date = new Date(rowData.tranfer_date);\r\n let year = tranfer_date.getYear();\r\n\r\n if (year == -1899)\r\n return
    ;\r\n else\r\n return this.toFormatDateTime(rowData.tranfer_date);\r\n }\r\n\r\n to_requested_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.requested_date);\r\n }\r\n showResult() {\r\n if (this.state.showProgress) return
    ;\r\n\r\n var header =
    \r\n {/*
    ;\r\n\r\n\r\n\r\n\r\n return
    \r\n\r\n\r\n\r\n\r\n
    \r\n \r\n this.setState({ dataTableSelection: event.value })}\r\n scrollable={true} rowsPerPageOptions={[5, 10, 15]}\r\n >\r\n {/* \r\n */}\r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n }\r\n render() {\r\n\r\n const searchPanel = this.showSearchPanel();\r\n const showProgress = this.showProgressSpinner();\r\n const showResult = this.showResult();\r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {showProgress}\r\n {showResult}\r\n
    \r\n );\r\n\r\n\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n banks: state.master.banks,\r\n to_banks: state.master.banks,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n masterServiceProps: bindActionCreators(MasterService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ManageDonateHistory)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { Growl } from 'primereact/growl';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { ScrollPanel } from 'primereact/scrollpanel';\r\nimport * as ServerAPI from './service';\r\nimport * as MasterService from '../../service/MasterService'\r\nimport * as FileService from '../../service/file.service'\r\nimport * as DashBoardService from './service'\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\nimport moment from 'moment'\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\n\r\n\r\nclass ReportRating extends Component {\r\n static propTypes = {\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n\r\n adminName: '',\r\n memberType: 1,\r\n date1: null,\r\n date2: null,\r\n status: 1,\r\n statusSearchItem: [\r\n { label: 'ผู้ขาย', value: 1 },\r\n { label: 'ผู้ขนส่ง', value: 2 },\r\n { label: 'ร้านรับซื้อ', value: 3 },\r\n ],\r\n brandSuggestions: null,\r\n amountSelected: '',\r\n appraisedPriceSelected: '',\r\n salePriceSelected: '',\r\n orderID: null,\r\n orderDetail: [],\r\n gid: 0,\r\n showProgress: false,\r\n reportSearchOrders: [],\r\n orderCode: null,\r\n memberUid: null,\r\n showReportTable: true,\r\n excelDisable: true\r\n };\r\n this.onMemberNameChanged = this.onMemberNameChanged.bind(this);\r\n this.onOrderIDChanged = this.onOrderIDChanged.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchRatings = this.searchRatings.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.showProgressSpinner = this.showProgressSpinner.bind(this);\r\n this.distanceTemplate = this.distanceTemplate.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.to_created_date = this.to_created_date.bind(this);\r\n this.reConstruct = this.reConstruct.bind(this);\r\n }\r\n\r\n\r\n componentDidMount() {\r\n const { dashBoardServiceProps, locationServiceProps, masterServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n masterServiceProps.getProductType();\r\n }\r\n\r\n\r\n\r\n onDate1Change(e) { //date in order edit\r\n console.log(\"e --> \", e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //date in order edit \r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n }\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwasteAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n }\r\n\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n\r\n\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ adminUid: null });\r\n this.setState({ adminName: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 1000 });\r\n var reportSearchList = {}\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n this.setState({ excelDisable: true });\r\n\r\n }\r\n\r\n searchRatings() {\r\n this.setState({ showReportTable: true })\r\n this.setState({ showProgress: true })\r\n var reportSearchList = []\r\n this.state.reportSearchOrders.push(reportSearchList)\r\n this.setState({ reportSearchOrders: [] });\r\n const formData = new FormData();\r\n\r\n let localDate1 = \"\";\r\n let localDate2 = \"\";\r\n if (this.state.date1 != null) {\r\n var date = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n localDate1 = moment(date).format(\"YYYY-MM-DD\");\r\n }\r\n if (this.state.date2 != null) {\r\n var date = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n localDate2 = moment(date).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n formData.set('order_code', this.state.orderID || \"\");\r\n formData.set('user_uid', this.state.memberUid || \"\");\r\n formData.set('user_waste_type', this.state.memberType || \"\");\r\n formData.set('order_date_start', localDate1 || \"\");\r\n formData.set('order_date_end', localDate2 || \"\");\r\n\r\n ServerAPI.searchReportRating(formData).then((res) => {\r\n console.log(\"response\", res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n let data = []\r\n res.forEach(element => {\r\n var obj = {\r\n \"order_code\": element['order_code'],\r\n \"order_date\": element['order_date'] ? `${moment(element['order_date']).format(\"DD-MM-YYYY \\n HH:mm:ss\")}` : \"\",\r\n \"u1_fullname\": element['u1_fullname'],\r\n \"u1_rating_from_u2\": element['u1_rating_from_u2'],\r\n \"u1_rating_from_u3\": element['u1_rating_from_u3'],\r\n \"u2_fullname\": element['u2_fullname'],\r\n \"u2_rating_from_u1\": element['u2_rating_from_u1'],\r\n \"u2_rating_from_u3\": element['u2_rating_from_u3'],\r\n \"u3_fullname\": element['u3_fullname'],\r\n \"u3_rating_from_u1\": element['u3_rating_from_u1'],\r\n \"u3_rating_from_u2\": element['u3_rating_from_u2'],\r\n }\r\n data.push(obj)\r\n });\r\n\r\n this.setState({ reportSearchOrders: data.reverse() });\r\n this.reConstruct(res)\r\n this.setState({ showProgress: false })\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n }\r\n } else {\r\n this.showWarn();\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.quantity_kk * rowData.estimate_price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n actionDeliveryPriceTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.delivery_quantity_kk * rowData.price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n distanceTemplate(rowData, column) {\r\n let distance = rowData.distance_km.toFixed(3);\r\n return
    \r\n {distance}\r\n
    ;\r\n }\r\n\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n\r\n actionTemplate(rowData, column) {\r\n //console.log(rowData);\r\n let price = (rowData.quantity_kk * rowData.estimate_price_per_unit).toFixed(2);\r\n return
    \r\n {price}\r\n
    ;\r\n }\r\n\r\n toFormatDateTime(dateTime) {\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if (year == -1899)\r\n return
    ;\r\n else\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ;\r\n }\r\n to_created_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.order_date);\r\n }\r\n\r\n reConstruct(listOfOrder) {\r\n console.log('Do')\r\n var tmp = []\r\n const Objmaster = listOfOrder || [];\r\n if (Objmaster.length > 0)\r\n for (let i = 0; i < Objmaster.length; i++) {\r\n const obj = {\r\n \"ORDER ID\": Objmaster[i].order_code,\r\n \"วันที่เปิด Orders\": (new Date(Objmaster[i].order_date)).toLocaleDateString(),\r\n \"ชื่อผู้ขาย\": Objmaster[i].u1_fullname,\r\n \"ดาวจาก U2\": Objmaster[i].u1_rating_from_u2,\r\n \"ดาวจาก U3\": Objmaster[i].u1_rating_from_u3,\r\n \"ชื่อผู้ขนส่ง\": Objmaster[i].u2_fullname,\r\n \"ดาวจาก U1\": Objmaster[i].u2_rating_from_u1,\r\n \"ดาวจาก U3\": Objmaster[i].u2_rating_from_u3,\r\n \"ชื่อร้านรับซื้อของเก่า\": Objmaster[i].u3_fullname,\r\n \"ดาวจาก U1\": Objmaster[i].u3_rating_from_u1,\r\n \"ดาวจาก U2\": Objmaster[i].u3_rating_from_u2,\r\n }\r\n tmp.push(obj);\r\n }\r\n this.setState({ excelData: tmp })\r\n this.setState({ excelDisable: false })\r\n }\r\n showSearchResult() {\r\n if (this.state.showProgress) return
    ;\r\n var exportExcel =\r\n
    \r\n \r\n
    ;\r\n return (
    \r\n
    \r\n \r\n {exportExcel}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    );\r\n }\r\n\r\n\r\n showSearchPanel() {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onOrderIDChanged(e.value)}\r\n onKeyPress={this.onOrderKeyPress}\r\n itemTemplate={this.itemOrderIDTemplate.bind(this)}\r\n placeholder=\"Order ID \" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.showSearchPanel();\r\n const showProgress = this.showProgressSpinner();\r\n const searchResult = this.showSearchResult();\r\n return (\r\n
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {searchResult}\r\n {showProgress}\r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n dhbUsers: state.dhbAdmin.dhbUsers,\r\n locationMaster: state.location,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch),\r\n masterServiceProps: bindActionCreators(MasterService, dispatch),\r\n fileServiceProps: bindActionCreators(FileService, dispatch),\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ReportRating)","import React from \"react\";\r\nconst _ = require(\"lodash\");\r\nconst { compose, withProps, withStateHandlers, lifecycle } = require(\"recompose\");\r\nconst {\r\n withScriptjs,\r\n withGoogleMap,\r\n GoogleMap,\r\n Marker,\r\n InfoWindow,\r\n} = require(\"react-google-maps\");\r\nconst { InfoBox } = require(\"react-google-maps/lib/components/addons/InfoBox\");\r\n// const demoFancyMapStyles = require(\"./demoFancyMapStyles.json\");\r\n\r\nconst StyledMapWithAnInfoBox = compose(\r\n\r\n withProps(props => {\r\n const { height } = props\r\n return {\r\n googleMapURL:\r\n \"https://maps.googleapis.com/maps/api/js?key=AIzaSyA4jjZnsw8iYo3eDeZROTP-S63t1wfPYyo&v=3&libraries=geometry,drawing,places\",\r\n loadingElement:
    ,\r\n containerElement:
    ,\r\n mapElement:
    ,\r\n // center: { lat: 13.7734283, lng: 100.57383099999993 },\r\n }\r\n }),\r\n lifecycle({\r\n componentWillMount() {\r\n const refs = {}\r\n \r\n this.setState({\r\n bounds: null, \r\n center: { lat: 13.7734283, lng: 100.57383099999993 },\r\n \r\n onBoundsChanged: _.debounce(\r\n () => {\r\n let { onBoundsChange ,center} = this.props\r\n this.setState({\r\n bounds: refs.map.getBounds(),\r\n center: center\r\n })\r\n console.log(\"props\"+ JSON.stringify(center));\r\n if (onBoundsChange) {\r\n onBoundsChange(refs.map)\r\n }\r\n },\r\n 100,\r\n { maxWait: 500 }\r\n ),\r\n onMapMounted: ref => {\r\n refs.map = ref;\r\n },\r\n })\r\n },\r\n }),\r\n withStateHandlers(\r\n () => ({\r\n isOpen: {},\r\n index: null,\r\n }),\r\n {\r\n onToggleOpen: ({ isOpen }) => (id) => ({\r\n isOpen: {\r\n [id]: isOpen[id] == undefined ? true : !isOpen[id],\r\n },\r\n index: id,\r\n }),\r\n clearToggle: () => () => ({ isOpen: {} }),\r\n }\r\n ),\r\n withScriptjs,\r\n withGoogleMap\r\n)((props) => (\r\n {\r\n props.clearToggle();\r\n }}\r\n \r\n >\r\n {props.markers.map((marker, index) => (\r\n {\r\n props.onToggleOpen(index);\r\n }}\r\n animation={window.google.maps.Animation.DROP}\r\n key={index}\r\n position={{ lat: marker[\"lat\"], lng: marker[\"lng\"] }}\r\n >\r\n {props.isOpen[index] === true && (\r\n {\r\n props.onToggleOpen(index);\r\n }}\r\n >\r\n \r\n \r\n

    ชื่อ-นามสกุล :

    \r\n \r\n {props.markers[props.index][\"applicant_name\"]}\r\n

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

    ประเภทสมาชิก :

    \r\n \r\n {props.markers[props.index][\"waste_type_name\"]}\r\n

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

    เบอร์โทรศัพท์ :

    \r\n \r\n {props.markers[props.index][\"telephone_no\"]}\r\n

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

    ที่อยู่ :

    \r\n
    \r\n \r\n จ.{props.markers[props.index][\"province_name\"]} อ.\r\n {props.markers[props.index][\"district_name\"]} ต.\r\n {props.markers[props.index][\"subdistrict_name\"]}\r\n

    \r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n));\r\n\r\nexport default StyledMapWithAnInfoBox;\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport Moment from 'react-moment';\r\nimport 'moment-timezone';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Button } from 'primereact/components/button/Button';\r\nimport { Dropdown } from 'primereact/components/dropdown/Dropdown';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport { AutoComplete } from 'primereact/autocomplete';\r\nimport { API_ROOT } from '../../constants/api';\r\nimport * as ServerAPI from './service';\r\nimport * as DashBoardService from './service'\r\nimport { MapMarkers } from \"../../features/map/MapMarkers\";\r\nimport StyledMapWithAnInfoBox from \"../../features/map/MapMarkersWasteByLocat\";\r\nimport moment from 'moment'\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\n\r\nclass ReportWasteByLocation extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n constructor() {\r\n super();\r\n this.state = {\r\n status: 0,\r\n admin: 0,\r\n statusItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ยังไม่ได้แจ้งหนี้', value: 1 },\r\n { label: 'แจ้งหนี้แล้วรอชำระ', value: 2 },\r\n { label: 'ชำระแล้วรอตรวจสอบ', value: 3 },\r\n { label: 'ชำระหนี้แล้ว', value: 88 },\r\n ],\r\n statusSearchItem: [\r\n { label: 'ผู้ขาย', value: 1 },\r\n { label: 'ผู้ขนส่ง', value: 2 },\r\n { label: 'ร้านรับซื้อ', value: 3 },\r\n { label: 'ผู้ดูแลระบบ', value: 4 },\r\n ],\r\n activeStatusItem: [\r\n { label: 'เลือกทั้งหมด', value: 0 },\r\n { label: 'ใช้งาน', value: 1 },\r\n { label: 'ไม่ใช้งาน', value: 2 }\r\n ],\r\n activeStatusCode: 0,\r\n showProgress: false,\r\n orderCode: null,\r\n orderID: null,\r\n memberUid: null,\r\n date1: null,\r\n date2: null,\r\n reportSearchWaste: [],\r\n province: 0,\r\n district: 0,\r\n subDistrict: 0,\r\n provinceCode: 0,\r\n districtCode: 0,\r\n subDistrictCode: 0,\r\n subDistrictList: [],\r\n districtList: [],\r\n provinceSelected: \"\",\r\n mapProMarkers: [],\r\n excelDisable: true,\r\n width: 0,\r\n height: 0\r\n };\r\n this.onDate1Change = this.onDate1Change.bind(this);\r\n this.onDate2Change = this.onDate2Change.bind(this);\r\n this.searchReportWasteByLocation = this.searchReportWasteByLocation.bind(this);\r\n this.clearSearchInput = this.clearSearchInput.bind(this);\r\n this.onSelectOrderID = this.onSelectOrderID.bind(this);\r\n this.onSelectMemberName = this.onSelectMemberName.bind(this);\r\n this.onSelectAdminName = this.onSelectAdminName.bind(this);\r\n this.onInvoicingClick = this.onInvoicingClick.bind(this);\r\n this.onPaidClick = this.onPaidClick.bind(this);\r\n this.tableHeader = this.tableHeader.bind(this);\r\n this.showSuccess = this.showSuccess.bind(this);\r\n this.showWarn = this.showWarn.bind(this);\r\n this.updateInvoice = this.updateInvoice.bind(this);\r\n this.toFormatDateTime = this.toFormatDateTime.bind(this);\r\n this.onProvinceChanged = this.onProvinceChanged.bind(this);\r\n this.onDistrictChanged = this.onDistrictChanged.bind(this);\r\n this.onSubDistrictChanged = this.onSubDistrictChanged.bind(this);\r\n this.to_created_date = this.to_created_date.bind(this);\r\n this.reConstruct = this.reConstruct.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n const { dashBoardServiceProps } = this.props\r\n dashBoardServiceProps.getDashboardUsers();\r\n this.updateWindowDimensions();\r\n window.addEventListener(\"resize\", this.updateWindowDimensions);\r\n }\r\n\r\n componentWillUnmount() {\r\n window.removeEventListener(\"resize\", this.updateWindowDimensions);\r\n }\r\n\r\n updateWindowDimensions = () => {\r\n this.setState({ width: window.innerWidth, height: window.innerHeight });\r\n };\r\n\r\n onDate1Change(e) { //search pickup date start\r\n //console.log(e.value.toISOString())\r\n if (this.state.date2 != null) {\r\n if (e.value <= this.state.date2) {\r\n this.setState({ date1: e.value })\r\n }\r\n } else\r\n this.setState({ date1: e.value })\r\n }\r\n onDate2Change(e) { //search pickup date end\r\n if (this.state.date1 <= e.value) {\r\n this.setState({ date2: e.value })\r\n }\r\n }\r\n searchReportWasteByLocation() {\r\n this.setState({ dataTableSelection: null })\r\n this.setState({ showProgress: true })\r\n const formData = new FormData();\r\n\r\n let localDate1 = \"\";\r\n let localDate2 = \"\";\r\n if (this.state.date1 != null) {\r\n var date = new Date(this.state.date1.getTime() + 7 * 60 * 60000);\r\n localDate1 = moment(date).format(\"YYYY-MM-DD\");\r\n }\r\n if (this.state.date2 != null) {\r\n var date = new Date(this.state.date2.getTime() + 7 * 60 * 60000);\r\n localDate2 = moment(date).format(\"YYYY-MM-DD\");\r\n }\r\n\r\n formData.set('user_uid', this.state.memberUid || \"\");\r\n formData.set('user_waste_type', this.state.memberType || \"\");\r\n formData.set('register_date_start', localDate1 || \"\");\r\n formData.set('register_date_end', localDate2 || \"\");\r\n formData.set('active_status_code', this.state.activeStatusCode || 0);\r\n\r\n if (this.state.subDistrictCode != 0) {\r\n formData.set('subdistrict_code', this.state.subDistrictCode || 0);\r\n }\r\n if (this.state.districtCode != 0) {\r\n formData.set('district_code', this.state.districtCode || 0);\r\n }\r\n if (this.state.provinceCode != 0) {\r\n formData.set('province_code', this.state.provinceCode || 0);\r\n }\r\n\r\n ServerAPI.searchReportWasteByLocation(formData).then((res) => {\r\n console.log(\"response\");\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n console.log(res);\r\n if (res.length > 0) {\r\n let listMarkers = []\r\n let data = []\r\n\r\n res.forEach(element => {\r\n if (element['latitude'] != 0 && element['longitude'] != 0) {\r\n var obj = {\r\n 'username': element['username'],\r\n 'applicant_name': element['applicant_name'],\r\n 'waste_type_name': element['waste_type_name'],\r\n 'telephone_no': element['telephone_no'],\r\n 'register_date': element['register_date'] ? `${moment(element['register_date']).format(\"DD-MM-YYYY,HH:mm:ss\")}` : \"\",\r\n 'province_name': element['province_name'],\r\n 'district_name': element['district_name'],\r\n 'subdistrict_name': element['subdistrict_name'],\r\n 'lat': element['latitude'],\r\n 'lng': element['longitude'],\r\n }\r\n listMarkers.push(obj)\r\n }\r\n\r\n var obj = {\r\n 'username': element['username'],\r\n 'applicant_name': element['applicant_name'],\r\n 'waste_type_name': element['waste_type_name'],\r\n 'telephone_no': element['telephone_no'],\r\n 'register_date': element['register_date'] ? `${moment(element['register_date']).format(\"DD-MM-YYYY,HH:mm:ss\")}` : \"\",\r\n 'province_name': element['province_name'],\r\n 'district_name': element['district_name'],\r\n 'subdistrict_name': element['subdistrict_name'],\r\n 'latitude': element['latitude'],\r\n 'longitude': element['longitude'],\r\n }\r\n\r\n data.push(obj)\r\n });\r\n\r\n\r\n\r\n this.setState({ mapProMarkers: listMarkers })\r\n this.setState({ reportSearchWaste: data.reverse() })\r\n this.setState({ showProgress: false })\r\n this.reConstruct(res)\r\n } else {\r\n this.showWarn(\"ไม่พบข้อมูล\");\r\n this.setState({ showProgress: false })\r\n this.setState({ reportSearchWaste: {} })\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false })\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n showProgressSpinner() {\r\n const Progress = (\r\n
    \r\n \r\n
    \r\n );\r\n\r\n if (this.state.showProgress) {\r\n return (Progress);\r\n } else\r\n return (
    );\r\n }\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n }\r\n\r\n clearSearchInput() {\r\n this.setState({ dataTableSelection: null })\r\n this.setState({ orderCode: null }); //order code from select table\r\n this.setState({ orderID: null }); //order code from auto complete\r\n this.setState({ memberUid: null });\r\n this.setState({ memberName: '' });\r\n this.setState({ adminName: '' });\r\n this.setState({ adminUid: '' });\r\n this.setState({ memberType: 0 });\r\n this.setState({ date1: null });\r\n this.setState({ date2: null });\r\n this.setState({ status: 0 });\r\n this.setState({ province: 0 });\r\n this.setState({ district: 0 });\r\n this.setState({ subDistrict: 0 });\r\n this.setState({ provinceCode: 0 });\r\n this.setState({ districtCode: 0 });\r\n this.setState({ subDistrictCode: 0 });\r\n this.setState({ subDistrictList: [] });\r\n this.setState({ districtList: [] });\r\n this.setState({ provinceSelected: \"\" });\r\n this.setState({ excelDisable: true });\r\n this.setState({ reportSearchWaste: {} });\r\n\r\n //this.clearAllDataInput();\r\n }\r\n\r\n //auto complate handle (ค้นหา Order ID)\r\n suggestOrderID(event) {\r\n //console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n onOrderIDChanged(code) {\r\n //console.log(code)\r\n if (code.trim() != \"\") {\r\n this.setState({ orderID: code });\r\n if (code.length > 1) {\r\n ServerAPI.autoComplateOrderID(code).then((res) => {\r\n console.log(res);\r\n this.setState({ orderIDSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else this.setState({ orderID: code });\r\n }\r\n onSelectOrderID(item) {\r\n this.setState({ orderID: item.value });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n itemOrderIDTemplate(item) {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n }\r\n //auto complate handle (ค้นหาสมาชิก)\r\n suggestMemberName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n itemMemberTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onMemberNameChanged(search_name) {\r\n console.log(search_name)\r\n console.log(typeof (search_name))\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ memberName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchwastepro(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ memberSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ memberName: search_name });\r\n this.setState({ memberUid: null });\r\n }\r\n }\r\n onSelectMemberName(item) {\r\n this.setState({ memberName: item.value.search_name });\r\n this.setState({ memberUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n //auto complate handle (ค้นหาแอดมิน)\r\n suggestAdminName(event) {\r\n console.log(event);\r\n /*\r\n if(this.state.brandSuggestions){\r\n let results = this.state.brandSuggestions.filter((brand) => {\r\n return brand.search_name.toLowerCase().startsWith(event.query.toLowerCase());\r\n });\r\n }\r\n */\r\n\r\n //this.setState({ brandSuggestions: event });\r\n }\r\n itemAdminTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n onAdminNameChanged(search_name) {\r\n if (typeof (search_name) != \"object\")\r\n if (search_name.trim() != \"\") {\r\n this.setState({ adminName: search_name });\r\n if (search_name.length >= 2) {\r\n ServerAPI.searchadminAll(search_name).then((res) => {\r\n console.log(res);\r\n this.setState({ adminSuggestions: res });\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.setState({ adminName: search_name });\r\n this.setState({ adminUid: null });\r\n }\r\n }\r\n onSelectAdminName(item) {\r\n this.setState({ adminName: item.value.search_name });\r\n this.setState({ adminUid: item.value.uid });\r\n // this.setState({u1_uid: item.value.uid})\r\n // this.getProfile(item.value.uid)\r\n }\r\n\r\n onInvoicingClick() {\r\n var inValid = false\r\n if (this.state.dataTableSelection) {\r\n if (this.state.dataTableSelection.length != 0) {\r\n this.state.dataTableSelection.forEach(function (item) {\r\n if (item.invoice_status != 1) {\r\n inValid = true\r\n }\r\n });\r\n console.log(inValid)\r\n if (inValid) {\r\n this.showWarn(\"มีบางรายการเคยแจ้งหนี้แล้ว\");\r\n } else {\r\n this.updateInvoice(2);\r\n }\r\n }\r\n } else this.showWarn(\"ไม่พบรายการที่เลือก\");\r\n }\r\n onPaidClick() {\r\n var inValid = false\r\n var inValid2 = false\r\n if (this.state.dataTableSelection) {\r\n if (this.state.dataTableSelection.length != 0) {\r\n this.state.dataTableSelection.forEach(function (item) {\r\n if (item.invoice_status != 2 && item.invoice_status != 3) {\r\n inValid = true\r\n }\r\n if (item.invoice_status == 1) {\r\n inValid2 = true\r\n }\r\n });\r\n console.log(inValid)\r\n if (inValid) {\r\n if (inValid2) {\r\n this.showWarn(\"มีบางรายการยังไม่เคยแจ้งหนี้\");\r\n } else\r\n this.showWarn(\"มีบางรายการเคยชำระหนี้แล้ว\");\r\n } else {\r\n this.updateInvoice(88);\r\n }\r\n }\r\n } else this.showWarn(\"ไม่พบรายการที่เลือก\");\r\n }\r\n\r\n updateInvoice(status) {\r\n var invoiceStatus = status;\r\n if (this.state.dataTableSelection)\r\n if (this.state.dataTableSelection.length != 0) {\r\n var array = this.state.dataTableSelection;\r\n for (let index = 0; index < array.length; index++) {\r\n const item = array[index];\r\n var invoice = {\r\n order_code: item.order_code,\r\n invoice_code: item.invoice_code,\r\n invoice_status: invoiceStatus,\r\n }\r\n ServerAPI.updateInvoice(invoice).then((res) => {\r\n\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.showSuccess();\r\n this.searchReportWasteByLocation();\r\n } else {\r\n this.showWarn();\r\n }\r\n } else {\r\n this.showWarn();\r\n }\r\n }).catch((error) => {\r\n })\r\n }\r\n } else {\r\n this.showWarn(\"กรุณาเลือกรายการ\");\r\n }\r\n }\r\n\r\n imgButton(rowData, column) {\r\n\r\n if (rowData.payment_image_name) {\r\n const path = `${API_ROOT}/wastepro/getfile/${rowData.payment_image_name}?v=${new Date().getTime()}`;\r\n return
    \r\n window.open(path, \"_blank\")} />\r\n
    ;\r\n }\r\n else return
    ;\r\n }\r\n\r\n toFormatDateTime(dateTime) {\r\n return \r\n {dateTime}\r\n \r\n {dateTime}\r\n ;\r\n }\r\n to_transfer_date(rowData, column) {\r\n\r\n let delivery_date = new Date(rowData.delivery_date);\r\n let year = delivery_date.getYear();\r\n\r\n if (year == -1899)\r\n return ;\r\n else\r\n return this.toFormatDateTime(rowData.delivery_date);\r\n }\r\n\r\n to_requested_date(rowData, column) {\r\n return this.toFormatDateTime(rowData.pickup_date);\r\n }\r\n\r\n itemTemplate(item) {\r\n return (\r\n
    \r\n {item.search_name}\r\n
    \r\n );\r\n }\r\n\r\n onMarkerClicked(e) {\r\n console.log(\"onMarkerClicked\");\r\n var coor = e.latLng.toJSON();\r\n console.log(coor);\r\n }\r\n\r\n mapChanged(e) {\r\n console.log(e);\r\n }\r\n\r\n onProvinceChanged(e) {\r\n console.log(e);\r\n this.setState({\r\n provinceSelected: e.value,\r\n genAddressProvince: e.value.province_name,\r\n });\r\n this.setState({ provinceCode: e.value.provinceCode });\r\n this.setState({ districtSelected: null });\r\n this.setState({ subDistrictSelected: null });\r\n ServerAPI.getDistrict(e.value.provinceCode).then((res) => {\r\n this.setState({ districtList: res });\r\n });\r\n }\r\n\r\n onDistrictChanged(e) {\r\n this.setState({\r\n districtSelected: e.value,\r\n genAddressDistrict: e.value.districtName,\r\n });\r\n this.setState({ districtCode: e.value.districtCode });\r\n this.setState({ subDistrictSelected: null });\r\n ServerAPI.getSubDistrict(e.value.districtCode).then((res) => {\r\n this.setState({ subDistrictList: res });\r\n });\r\n }\r\n\r\n onSubDistrictChanged(e) {\r\n this.setState({ subDistrictSelected: e.value });\r\n this.setState({ subDistrictCode: e.value.subDistrictCode });\r\n }\r\n\r\n toFormatDateTime(dateTime) {\r\n let _dateTime = new Date(dateTime);\r\n let year = _dateTime.getYear();\r\n\r\n if (year == -1899)\r\n return
    ;\r\n else\r\n return
    \r\n {dateTime}\r\n
    \r\n {dateTime}\r\n
    ;\r\n }\r\n to_created_date(rowData, column) {\r\n if (rowData.register_date == \"\") return
    ;\r\n return
    \r\n {rowData.register_date.split(\",\")[0]}\r\n
    \r\n {rowData.register_date.split(\",\")[1]}\r\n
    \r\n }\r\n\r\n reConstruct(listOfOrder) {\r\n var tmp = []\r\n const Objmaster = listOfOrder || [];\r\n if (Objmaster.length > 0)\r\n for (let i = 0; i < Objmaster.length; i++) {\r\n const obj = {\r\n \"ชื่อ-นามสกุล\": Objmaster[i].applicant_name,\r\n \"ประเภทสมาชิก\": Objmaster[i].waste_type_name,\r\n \"เบอร์โทรศัพท์\": Objmaster[i].telephone_no,\r\n \"วันที่ลงทะเบียน\": (new Date(Objmaster[i].register_date)).toLocaleDateString(),\r\n \"จังหวัด\": Objmaster[i].province_name,\r\n \"อำเภอ\": Objmaster[i].district_name,\r\n \"ตำบล\": Objmaster[i].subdistrict_name,\r\n \"Latitude\": Objmaster[i].latitude,\r\n \"Longtitude\": Objmaster[i].longitude,\r\n }\r\n tmp.push(obj);\r\n }\r\n this.setState({ excelData: tmp })\r\n this.setState({ excelDisable: false })\r\n }\r\n\r\n searchPanel() {\r\n const {\r\n provinces,\r\n } = this.props;\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n this.onMemberNameChanged(e.target.value)}\r\n itemTemplate={this.itemMemberTemplate.bind(this)}\r\n placeholder=\"ระบุรหัสสมาชิก/ชื่อสมาชิก\" />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ memberType: e.value }) }}\r\n >\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n { this.setState({ activeStatusCode: e.value }) }}\r\n >\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n tableHeader() {\r\n return (\r\n
    \r\n
    \r\n );\r\n }\r\n reportInvoiceTable() {\r\n const header = this.tableHeader();\r\n if (this.state.showProgress) return
    ;\r\n var exportExcel =\r\n
    \r\n \r\n
    ;\r\n return (\r\n
    \r\n \r\n
    \r\n {/* */}\r\n \r\n
    \r\n
    \r\n {exportExcel}\r\n this.setState({ dataTableSelection: event.value })}\r\n emptyMessage={(
    \r\n \r\n
    )}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n\r\n render() {\r\n const searchPanel = this.searchPanel();\r\n const invoiceTable = this.reportInvoiceTable();\r\n const ProgressSpinner = this.showProgressSpinner();\r\n const {\r\n dhbUsers,\r\n } = this.props\r\n\r\n return
    \r\n this.growl = el} />\r\n {searchPanel}\r\n {ProgressSpinner}\r\n {invoiceTable}\r\n
    \r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinces: state.location.province,\r\n dhbUsers: state.dhbAdmin.dhbUsers\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n dashBoardServiceProps: bindActionCreators(DashBoardService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(ReportWasteByLocation)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport classNames from 'classnames';\r\nimport { AppTopbar } from '../AppTopbar';\r\nimport { AppFooter } from '../AppFooter';\r\nimport { AppMenu } from '../AppMenu';\r\nimport { Route } from 'react-router-dom';\r\nimport DashboardAdminContainer from './DashboardAdminContainer';\r\nimport ReportApplicationWaseGenContainer from './ReportApplicationWaseGenContainer';\r\nimport ReportApplicationWaseTranContainer from './ReportApplicationWaseTranContainer';\r\nimport ReportApplicationWaseProContainer from './ReportApplicationWaseProContainer';\r\nimport { AdministratorInlineProfile } from './AdministratorInlineProfile';\r\nimport { ScrollPanel } from 'primereact/components/scrollpanel/ScrollPanel';\r\nimport 'primereact/resources/primereact.min.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\n\r\n\r\nimport { connect } from 'react-redux'\r\n\r\nimport * as LocationService from '../../service/LocationService'\r\nimport * as UserService from '../../service/user.service'\r\nimport { get } from 'https';\r\nimport CreateOrderContainer from './CreateOrderContainer';\r\nimport ManageOrderContainer from './ManageOrderContainer';\r\nimport ManageInvoiceContainer from './ManageInvoiceContainer';\r\nimport ManageMoneyTransferContainer from './ManageMoneyTransferContainer';\r\nimport ReportInvoice from './ReportInvoice';\r\nimport ExampleAdminReportWithdraw from './ExampleAdminReportWithdraw';\r\nimport ReportMoneyTransferContainter from './ReportMoneyTransferContainter';\r\nimport ReportOrder from './ReportOrder';\r\nimport ReportWithdraw from './ReportWithdraw';\r\nimport ManageProductPrice from './ManageProductPrice';\r\nimport ManageProductFee from './ManageProductFee';\r\nimport ManageDeliveryCost from './ManageDeliveryCost';\r\nimport ManageDeliveryDistance from './ManageDeliveryDistance';\r\nimport ManageDeliveryWeight from './ManageDeliveryWeight';\r\nimport ManageFeeWeight from './ManageFeeWeight';\r\nimport ManageAdminMember from './ManageAdminMember';\r\nimport ManageLevelAdmin from './ManageLevelAdmin';\r\nimport ManageMemberContainer from './ManageMemberContainer';\r\nimport ManageCertificate from './ManageCertificate';\r\nimport ManageCertificateResult from './ManageCertificateResult';\r\nimport ManageSettingParameter from './ManageSettingParameter';\r\nimport ChatAdministrator from './ChatAdministrator';\r\nimport ManageFAQ from './ManageFAQ';\r\nimport ManageNews from './ManageNews';\r\nimport ManageSettingReward from './ManageSettingReward';\r\nimport ManageEnvironmentalCorporateAccount from './ManageEnvironmentalCorporateAccount';\r\nimport ManageProduct from './ManageProduct';\r\nimport ManageProductType from './ManageProductType';\r\nimport ManageDonateHistory from './ManageDonateHistory';\r\n\r\nimport {\r\n connectWebsocket,\r\n implementWebsocket,\r\n closeWebsocket,\r\n navigateToAdminChatScene,\r\n navigateToUserChatScene,\r\n sendMessage\r\n } from '../../utils/chat'\r\nimport { addNewChatMessage } from '../../service/ChatService'\r\nimport * as AdminService from '../../service/admin.service'\r\nimport moment from 'moment'\r\nimport { WASTE_TYPE, WASTE_TYPE_NUM_TO_NAME } from '../../constants/mappingValue'\r\nimport { getBadgeAdmin } from './service'\r\nimport ReportRating from './ReportRating';\r\nimport ReportWasteByLocation from './ReportWasteByLocation';\r\nclass AdministratorContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n\r\n static defaultProps = {\r\n }\r\n\r\n componentDidMount() {\r\n const { locationServiceProps, userServiceProps, AdminServiceProps } = this.props\r\n locationServiceProps.getProvice();\r\n userServiceProps.getUserInfo();\r\n const body = {\r\n //per_page: 20,\r\n time_stamp: moment()\r\n .add(1, 'days')\r\n .format('YYYY-MM-DDTHH:mm:ss'),\r\n }\r\n AdminServiceProps.getUsersAllForManagement(body);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n //console.log(nextProps)\r\n if(nextProps.userInfo.data && !nextProps.userInfo.isFetching && this.tickerLoad){\r\n this.tickerLoad = false;\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(nextProps.userInfo.data,res);\r\n this.setState({badge: res})\r\n })\r\n if(nextProps.userInfo.data){\r\n //console.log(nextProps)\r\n this.manageChatWebsocket(nextProps.userInfo.data,'administrator')\r\n }else {\r\n closeWebsocket()\r\n }\r\n \r\n \r\n }\r\n if((nextProps !== this.props) && this.props.userList.length > 0){\r\n console.log(this.props)\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(nextProps.userInfo.data,res);\r\n this.setState({badge: res})\r\n })\r\n this.setState({userList: this.props.userList})\r\n }\r\n }\r\n constructor() {\r\n super();\r\n this.tickerLoad = true;\r\n this.state = {\r\n layoutMode: 'static',\r\n profileMode: 'inline',\r\n layoutCompact: true,\r\n overlayMenuActive: false,\r\n staticMenuDesktopInactive: false,\r\n staticMenuMobileActive: false,\r\n rotateMenuButton: false,\r\n topbarMenuActive: false,\r\n activeTopbarItem: null,\r\n darkMenu: false,\r\n menuActive: false,\r\n theme: 'green',\r\n layout: 'green',\r\n version: 'v3',\r\n badge: 0,\r\n };\r\n\r\n this.onDocumentClick = this.onDocumentClick.bind(this);\r\n this.onMenuClick = this.onMenuClick.bind(this);\r\n this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\r\n this.onTopbarMenuButtonClick = this.onTopbarMenuButtonClick.bind(this);\r\n this.onTopbarItemClick = this.onTopbarItemClick.bind(this);\r\n this.onMenuItemClick = this.onMenuItemClick.bind(this);\r\n this.onRootMenuItemClick = this.onRootMenuItemClick.bind(this);\r\n this.createMenu();\r\n\r\n }\r\n manageChatWebsocket = (userInfo, userWasteType) => {\r\n const currentUserInfo = userInfo.user_wasteTypes.find(\r\n item => item.wasteType === WASTE_TYPE[userWasteType],\r\n )\r\n const senderId = currentUserInfo.uid\r\n const senderType = currentUserInfo.wasteType\r\n const sendReadMessage = messageId => {\r\n const messageSending = {\r\n message_id: messageId,\r\n message_type: 4,\r\n }\r\n sendMessage(JSON.stringify(messageSending))\r\n console.log('send read')\r\n }\r\n const onMessage = (message, currentRouteName) => {\r\n // if (!message.iam) {\r\n // sendReadMessage(message.message_id)\r\n // }\r\n addNewChatMessage(message)\r\n getBadgeAdmin().then((res)=>{\r\n this.createMenu(userInfo,res);\r\n this.setState({badge: res})\r\n })\r\n this.props.AdminServiceProps.updateUsersAll(this.props.userList, message.room_id, 1, message)\r\n // if (currentRouteName === 'ChatScene') {\r\n // addNewChatMessage(message)\r\n // } else {\r\n // console.log('fadeInMessageBanner(message)')\r\n // //fadeInMessageBanner(message)\r\n // }\r\n }\r\n connectWebsocket(senderId, senderType)\r\n implementWebsocket(onMessage)\r\n }\r\n\r\n onMenuClick(event) {\r\n this.menuClick = true;\r\n }\r\n\r\n onMenuButtonClick(event) {\r\n this.menuClick = true;\r\n this.setState(({\r\n rotateMenuButton: !this.state.rotateMenuButton,\r\n topbarMenuActive: false\r\n }));\r\n\r\n if (this.state.layoutMode === 'overlay') {\r\n this.setState({\r\n overlayMenuActive: !this.state.overlayMenuActive\r\n });\r\n }\r\n else {\r\n if (this.isDesktop())\r\n this.setState({ staticMenuDesktopInactive: !this.state.staticMenuDesktopInactive });\r\n else\r\n this.setState({ staticMenuMobileActive: !this.state.staticMenuMobileActive });\r\n }\r\n\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarMenuButtonClick(event) {\r\n this.topbarItemClick = true;\r\n this.setState({ topbarMenuActive: !this.state.topbarMenuActive });\r\n this.hideOverlayMenu();\r\n event.preventDefault();\r\n }\r\n\r\n onTopbarItemClick(event) {\r\n this.topbarItemClick = true;\r\n\r\n if (this.state.activeTopbarItem === event.item)\r\n this.setState({ activeTopbarItem: null });\r\n else\r\n this.setState({ activeTopbarItem: event.item });\r\n\r\n event.originalEvent.preventDefault();\r\n }\r\n\r\n onMenuItemClick(event) {\r\n if (!event.item.items) {\r\n this.hideOverlayMenu();\r\n }\r\n if (!event.item.items && this.isHorizontal()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n }\r\n\r\n onRootMenuItemClick(event) {\r\n this.setState({\r\n menuActive: !this.state.menuActive\r\n });\r\n }\r\n\r\n onDocumentClick(event) {\r\n if (!this.topbarItemClick) {\r\n this.setState({\r\n activeTopbarItem: null,\r\n topbarMenuActive: false\r\n });\r\n }\r\n\r\n if (!this.menuClick) {\r\n if (this.isHorizontal() || this.isSlim()) {\r\n this.setState({\r\n menuActive: false\r\n })\r\n }\r\n\r\n this.hideOverlayMenu();\r\n }\r\n\r\n if (!this.rightPanelClick) {\r\n this.setState({\r\n rightPanelActive: false\r\n })\r\n }\r\n\r\n this.topbarItemClick = false;\r\n this.menuClick = false;\r\n this.rightPanelClick = false;\r\n }\r\n\r\n hideOverlayMenu() {\r\n this.setState({\r\n rotateMenuButton: false,\r\n overlayMenuActive: false,\r\n staticMenuMobileActive: false\r\n })\r\n }\r\n\r\n isTablet() {\r\n let width = window.innerWidth;\r\n return width <= 1024 && width > 640;\r\n }\r\n\r\n isDesktop() {\r\n return window.innerWidth > 1024;\r\n }\r\n\r\n isMobile() {\r\n return window.innerWidth <= 640;\r\n }\r\n\r\n isOverlay() {\r\n return this.state.layoutMode === 'overlay';\r\n }\r\n\r\n isHorizontal() {\r\n return this.state.layoutMode === 'horizontal';\r\n }\r\n\r\n isSlim() {\r\n return this.state.layoutMode === 'slim';\r\n }\r\n\r\n changeTheme(theme) {\r\n this.setState({ theme: theme });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('theme-css', theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('theme-css', theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeLayout(layout, special) {\r\n this.setState({ layout: layout });\r\n if (this.state.version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', layout, 'layout');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', layout + '-v4', 'layout');\r\n }\r\n\r\n if (special) {\r\n this.setState({\r\n darkMenu: true\r\n })\r\n }\r\n }\r\n\r\n changeVersion(version) {\r\n this.setState({ version: version });\r\n if (version === 'v3') {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout, 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme, 'theme');\r\n } else {\r\n this.changeStyleSheetUrl('layout-css', this.state.layout + '-v4', 'layout');\r\n this.changeStyleSheetUrl('theme-css', this.state.theme + '-v4', 'theme');\r\n }\r\n }\r\n\r\n changeStyleSheetUrl(id, value, prefix) {\r\n let element = document.getElementById(id);\r\n let urlTokens = element.getAttribute('href').split('/');\r\n urlTokens[urlTokens.length - 1] = prefix + '-' + value + '.css';\r\n let newURL = urlTokens.join('/');\r\n element.setAttribute('href', newURL);\r\n }\r\n\r\n createMenu(userInfo,badges) {\r\n if (userInfo) {\r\n this.menu = [\r\n {label: 'Dashboard', icon: 'fa fa-fw fa-home', to: '/administrator' },\r\n {label: 'Chat', icon: 'fa fa-fw fa-comments', to: '/administrator/chat' , badge: badges || null },\r\n\r\n {label: 'สร้าง Order', icon: 'fa fa-fw fa-gg', to: '/administrator/new-order' },\r\n {label: 'จัดการ Order', icon: 'fa fa-fw fa-gg', to: '/administrator/manage-orders' },\r\n {label: 'จัดการ Invoice', icon: 'fa fa-fw fa-gg', to:'/administrator/manage-invoice'},\r\n {label: 'จัดการรายการโอนเงิน', icon: 'fa fa-fw fa-gg', to:'/administrator/manage-withdrawal'},\r\n {label: 'จัดการรายการบริจาค', icon: 'fa fa-fw fa-gg', to:'/administrator/manage-donate-history'},\r\n {label: 'จัดการราคารับซื้อ', icon: 'fa fa-fw fa-gg', to:'/administrator/manage-product-price'},\r\n \r\n {\r\n label: 'จัดการค่าบริการ', icon: 'fa fa-fw fa-gg',\r\n items: [\r\n { label: 'ตั้งค่าน้ำหนักค่าบริการ', icon: 'fa fa-fw fa-cog', to: '/administrator/manage-fee-weight' },\r\n { label: 'จัดการค่าบริการ', icon: 'fa fa-fw fa-chevron-right', to: '/administrator/manage-product-fee' },\r\n ]\r\n\r\n },\r\n {\r\n label: 'จัดการค่าขนส่ง', icon: 'fa fa-fw fa-gg',\r\n items: [\r\n { label: 'ตั้งค่าระยะทางขนส่ง', icon: 'fa fa-fw fa-cog', to: '/administrator/manage-delivery-distance' },\r\n { label: 'ตั้งค่าน้ำหนักขนส่ง', icon: 'fa fa-fw fa-cog', to: '/administrator/manage-delivery-weight' },\r\n { label: 'จัดการค่าขนส่ง', icon: 'fa fa-fw fa-chevron-right', to: '/administrator/manage-delivery-cost' },\r\n ]\r\n\r\n },\r\n {\r\n label: 'จัดการผู้ดูแลระบบ', icon: 'fa fa-fw fa-gg',\r\n items: [\r\n { label: 'ตั้งค่าระดับผู้ดูแลระบบ', icon: 'fa fa-cog', to: '/administrator/manage-level-admin' },\r\n { label: 'ตั้งค่าความสามารถ', icon: 'fa fa-chevron-right', to: '/administrator/manage-admin-member' },\r\n ]\r\n },\r\n { label: 'จัดการข้อมูลสมาชิก', icon: 'fa fa-fw fa-gg', to: '/administrator/manage-members' },\r\n // {label: 'ตั้งค่าใบรับรอง/เหรียญ', icon: 'fa fa-cog', to:'/administrator/manage-certificate'},\r\n {label: 'ตั้งค่าคำถามที่พบบ่อย (FAQ)', icon: 'fa fa-cog', to:'/administrator/manage-faq'},\r\n {label: 'จัดการข่าว (สำหรับแอพฯ)', icon: 'fa fa-fw fa-cog', to:'/administrator/manage-news'},\r\n {\r\n label: 'รายงาน', icon: 'fa fa-fw fa-credit-card',\r\n items: [\r\n { label: 'รายงานตรวจสอบ Order', icon: 'fa fa-fw fa-bars', to: '/administrator/report-order' },\r\n { label: 'รายงานการโอนเงิน', icon: 'fa fa-fw fa-bars', to: '/administrator/report-withdrawal' },\r\n { label: 'รายงานแจ้งหนี้/Invoice', icon: 'fa fa-fw fa-bars', to: '/administrator/report-invoice' },\r\n { label: 'รายงานการให้ดาว', icon: 'fa fa-fw fa-bars', to: '/administrator/report-rating' },\r\n { label: 'รายงานสมาชิกตาม Location', icon: 'fa fa-fw fa-bars', to: '/administrator/report-waste-by-location' },\r\n ]\r\n },\r\n {\r\n label: 'รายชื่อผู้สมัครใช้งาน', icon: 'fa fa-fw fa-user',\r\n items: [\r\n { label: 'ผู้รักษ์โลก', icon: 'fa fa-fw fa-bars', to: '/administrator/report-wastegen' },\r\n { label: 'ทีมขนส่งซีซาเล้ง', icon: 'fa fa-fw fa-bars', to: '/administrator/report-wastetran' },\r\n { label: 'ศูนย์จัดการฯซีซาเล้ง', icon: 'fa fa-fw fa-bars', to: '/administrator/report-wastepro' },\r\n \r\n ]\r\n\r\n },\r\n {label: 'ตั้งค่าการจัดการความดี', icon: 'fa fa-fw fa-cog', to:'/administrator/manage-setting-reward'},\r\n\r\n {\r\n label: 'ตั้งค่าใบรับรอง/เหรียญ', icon: 'fa fa-fw fa-cog',\r\n items: [\r\n { label: 'ตั้งค่าใบรับรอง/เหรียญ', icon: 'fa fa-fw fa-certificate', to: '/administrator/manage-certificate' },\r\n { label: 'สรุปใบรับรอง/เหรียญ', icon: 'pi pi-list', to: '/administrator/manage-certificate-result' }\r\n ]\r\n\r\n },\r\n\r\n {label: 'ตั้งค่าบัญชีองค์กรสิ่งแวดล้อม', icon: 'fa fa-fw fa-cog', to:'/administrator/manage-environmental-account'},\r\n {\r\n label: 'ตั้งค่าข้อมูลหลัก', icon: 'fa fa-fw fa-cog',\r\n items: [\r\n { label: 'ตั้งค่าพารามิเตอร์', icon: 'pi pi-key', to: '/administrator/manage-setting-parameter' },\r\n { label: 'ตั้งค่าประเภทสินค้า', icon: 'pi pi-list', to: '/administrator/manage-setting-producttype' },\r\n { label: 'ตั้งค่าสินค้า', icon: 'pi pi-list', to: '/administrator/manage-setting-product' }\r\n ]\r\n\r\n },\r\n \r\n\r\n ];\r\n\r\n let permission = userInfo.permission\r\n if (!permission.manage_order) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการ Order')\r\n }\r\n if (!permission.manage_invoice) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการ Invoice')\r\n }\r\n if (!permission.manage_transfer) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการรายการโอนเงิน')\r\n }\r\n if (!permission.manage_sale_price) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการราคารับซื้อ')\r\n }\r\n if (!permission.manage_process_fee) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการค่าบริการ')\r\n }\r\n if (!permission.manage_delivery_fee) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการค่าขนส่ง')\r\n }\r\n if (!permission.manage_administrator) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการผู้ดูแลระบบ')\r\n }\r\n if (!permission.view_report) {\r\n this.menu = this.hideMenuAdmin(this.menu,'รายงาน')\r\n }\r\n if (!permission.manage_password) {\r\n this.menu = this.hideMenuAdmin(this.menu,'รีเซ็ตรหัสผ่าน')\r\n }\r\n if (!permission.view_member) {\r\n this.menu = this.hideMenuAdmin(this.menu,'ดูหน้าจอสมาชิก')\r\n }\r\n if (!permission.manage_aproval) {\r\n this.menu = this.hideMenuAdmin(this.menu,'การอนุมัติสมาชิก')\r\n }\r\n if (!permission.chat) {\r\n this.menu = this.hideMenuAdmin(this.menu,'Chat')\r\n }\r\n if (!permission.create_order) {\r\n this.menu = this.hideMenuAdmin(this.menu,'สร้าง Order')\r\n }\r\n if (!permission.manage_certificate) {\r\n this.menu = this.hideMenuAdmin(this.menu,'ตั้งค่าใบรับรอง/เหรียญ')\r\n }\r\n if (!permission.manage_env_account) {\r\n this.menu = this.hideMenuAdmin(this.menu,'ตั้งค่าบัญชีองค์กรสิ่งแวดล้อม')\r\n }\r\n if (!permission.manage_faq) {\r\n this.menu = this.hideMenuAdmin(this.menu,'ตั้งค่าคำถามที่พบบ่อย (FAQ)')\r\n }\r\n if (!permission.manage_master) {\r\n this.menu = this.hideMenuAdmin(this.menu,'ตั้งค่าข้อมูลหลัก')\r\n }\r\n if (!permission.manage_member) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการข้อมูลสมาชิก')\r\n }\r\n if (!permission.manage_news) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการข่าว (สำหรับแอพฯ)')\r\n }\r\n if (!permission.manage_reward) {\r\n this.menu = this.hideMenuAdmin(this.menu,'ตั้งค่าการจัดการความดี')\r\n }\r\n if (!permission.view_donate) {\r\n this.menu = this.hideMenuAdmin(this.menu,'จัดการรายการบริจาค')\r\n }\r\n if (!permission.view_user_list) {\r\n this.menu = this.hideMenuAdmin(this.menu,'รายชื่อผู้สมัครใช้งาน')\r\n }\r\n \r\n } else {\r\n this.menu = [];\r\n }\r\n }\r\n\r\n hideMenuAdmin(list,label){\r\n for (let key in list) {\r\n let value = list[key]\r\n if(value.label == label){\r\n list.splice(key, 1);\r\n }\r\n }\r\n return list;\r\n }\r\n\r\n\r\n\r\n render() {\r\n\r\n const {\r\n\r\n province,\r\n userServiceProps,\r\n userInfo\r\n } = this.props\r\n let layoutClassName = classNames('layout-wrapper', {\r\n 'menu-layout-static': this.state.layoutMode !== 'overlay',\r\n 'menu-layout-overlay': this.state.layoutMode === 'overlay',\r\n 'layout-menu-overlay-active': this.state.overlayMenuActive,\r\n 'menu-layout-slim': this.state.layoutMode === 'slim',\r\n 'menu-layout-horizontal': this.state.layoutMode === 'horizontal',\r\n 'layout-menu-static-inactive': this.state.staticMenuDesktopInactive,\r\n 'layout-menu-static-active': this.state.staticMenuMobileActive\r\n });\r\n\r\n let menuClassName = classNames('layout-menu-container', { 'layout-menu-dark': this.state.darkMenu });\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n this.layoutMenuScroller = el} style={{ height: '100%',width:'250px' }}>\r\n
    \r\n {(this.state.profileMode === 'inline' && this.state.layoutMode !== 'horizontal') && }\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n province: state.location.province,\r\n district: state.location,\r\n subDistrict: state.location.subDistrict,\r\n authentication: state.authentication,\r\n userInfo: state.userInfo,\r\n userList: state.getUsersAll.data,\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n locationServiceProps: bindActionCreators(LocationService, dispatch),\r\n userServiceProps: bindActionCreators(UserService, dispatch),\r\n AdminServiceProps: bindActionCreators(AdminService, dispatch)\r\n})\r\n\r\n\r\nexport default\r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, { forwardRef: true })(AdministratorContainer)\r\n\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport classNames from 'classnames';\r\nimport {AppTopbar} from '../AppTopbar';\r\nimport {AppInlineProfile} from '../AppInlineProfile';\r\nimport {AppFooter} from '../AppFooter';\r\nimport {AppMenu} from '../AppMenu';\r\nimport { Route } from 'react-router-dom';\r\nimport {Dashboard} from '../demo/Dashboard';\r\nimport {FormsDemo} from '../demo/FormsDemo';\r\nimport {SampleDemo} from '../demo/SampleDemo';\r\nimport {DataDemo} from '../demo/DataDemo';\r\nimport {PanelsDemo} from '../demo/PanelsDemo';\r\nimport {OverlaysDemo} from '../demo/OverlaysDemo';\r\nimport {MenusDemo} from '../demo/MenusDemo';\r\nimport {MessagesDemo} from '../demo/MessagesDemo';\r\nimport {ChartsDemo} from '../demo/ChartsDemo';\r\nimport {MiscDemo} from '../demo/MiscDemo';\r\nimport {EmptyPage} from '../demo/EmptyPage';\r\nimport {Documentation} from '../demo/Documentation';\r\nimport {UtilsDemo} from '../demo/UtilsDemo';\r\nimport { ScrollPanel } from 'primereact/components/scrollpanel/ScrollPanel';\r\nimport 'primereact/resources/primereact.min.css';\r\n// import 'fullcalendar/dist/fullcalendar.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\n\r\nimport { connect } from 'react-redux'\r\nimport * as LocationService from '../../service/LocationService'\r\n\r\nimport style from './style.css';\r\n//import * as MasterServiceAPI from '../../service';\r\nimport * as ServerAPI from './service';\r\nimport {MapWithASearchBoxAndMarkers} from '../../features/map/MapWithASearchBoxAndMarkers'\r\n// import { compareByFieldSpec } from 'fullcalendar';\r\nimport {CEInputText,CECalendar,CEDropdown} from '../../features/input';\r\n\r\nclass TestContainer extends Component {\r\n static propTypes = {\r\n\r\n }\r\n \r\n static defaultProps = {\r\n \r\n }\r\n \r\n componentDidMount() {\r\n const { locationServiceProps,provinces} = this.props\r\n locationServiceProps.getProvice()\r\n \r\n }\r\n componentWillReceiveProps(e) { \r\n console.log(\"componentWillReceiveProps\");\r\n console.log(e.provinces[1]);\r\n let prov = e.provinces[1];\r\n this.setState({provinceSelected: prov})\r\n \r\n }\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n marker:{lat: 13.7734283, lng: 100.57383099999993},\r\n mapMarkers:[{lat: 13.7734283, lng: 100.57383099999993}],\r\n mapZoom:11,\r\n mapCenter: {lat: 13.7734283, lng: 100.57383099999993},\r\n provinces: props.provinces\r\n }\r\n this.onProvinceChanged = this.onProvinceChanged.bind(this)\r\n }\r\n onProvinceChanged(e) {\r\n console.log(e)\r\n this.setState({ provinceSelected: e.value, genAddressProvince: e.value.province_name });\r\n this.setState({ provinceCode: e.value.provinceCode });\r\n \r\n }\r\n\r\n \r\n \r\n render() {\r\n const {\r\n\r\n provinces,\r\n \r\n } = this.props\r\n\r\n //landing-wrapper\r\n let landingWrapper = classNames('landing-wrapper');\r\n let headerTop = classNames('header-top');\r\n let headerContent = classNames('header-content');\r\n let landingMenu = classNames('landing-menu');\r\n \r\n return (\r\n
    \r\n this.setState({name: e.target.value})}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n\r\n this.setState({number: e.target.value})}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n\r\n this.setState({number2: e.target.value})}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n\r\n this.setState({number2: e.target.value})}\r\n isvalid={(valid) => console.log(valid)}\r\n />\r\n \r\n this.setState({date1:e.value})} required={true} \r\n isvalid={(valid) => console.log(\"calendar:\"+ valid)} >\r\n\r\n console.log(\"Dropdown:\"+ valid)}\r\n style={{ width: \"100%\" }}\r\n value={this.state.provinceSelected}\r\n // options={this.state.provinceSelectItems} \r\n options={provinces}\r\n onChange={this.onProvinceChanged} \r\n optionLabel=\"province_name\" \r\n placeholder=\"เลือกจังหวัด\" />\r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\nconst mapStateToProps = (state) => ({\r\n provinces: state.location.province,\r\n district: state.location,\r\n subDistrict: state.location.subDistrict\r\n })\r\n \r\nconst mapDispatchToProps = dispatch => ({\r\n \r\n locationServiceProps: bindActionCreators(LocationService, dispatch)\r\n \r\n })\r\n \r\n\r\nexport default \r\n connect(\r\n mapStateToProps,\r\n mapDispatchToProps, null, {forwardRef: true})(TestContainer)\r\n\r\n","import React from 'react'\r\nimport { Route, Redirect } from 'react-router-dom'\r\nimport AuthenService from './service/authenService'\r\n\r\nconst PrivateRoute = ({ component: Component, ...rest }) => {\r\n //> Check Token authenticate from localstorage\r\n const checkAuthen = new AuthenService().getAuthenticated();\r\n return (\r\n (\r\n checkAuthen ? : \r\n )} />\r\n )\r\n}\r\n\r\nexport default PrivateRoute\r\n\r\n","import React, { Component } from 'react';\r\nimport Avatar from 'react-avatar-edit'\r\n\r\n\r\n\r\nexport default class ExampleAvatar extends Component {\r\n constructor(props) {\r\n super(props)\r\n const src = 'assets/avatar/user.png'\r\n this.state = {\r\n preview: null,\r\n src\r\n }\r\n this.onCropAvatar = this.onCropAvatar.bind(this)\r\n this.onCropAvatar = this.onCropAvatar.bind(this)\r\n }\r\n \r\n onCloseAvartar = () => {\r\n this.setState({preview: null})\r\n }\r\n \r\n onCropAvatar = (preview) => {\r\n this.setState({preview})\r\n }\r\n \r\n render () {\r\n console.log(this.state.preview)\r\n\r\n const renderAvatar = (\r\n \r\n )\r\n \r\n return (\r\n
    \r\n \r\n {renderAvatar}\r\n
    \r\n )\r\n }\r\n}\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\nclass ExampleCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExampleCtrl :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleCtrl :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleCtrl :componentDidUpdate\")\r\n\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleCtrl :render\")\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleCtrl)\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { ExportExcel } from '../ExportExcel/ExportExcel';\r\n\r\nclass ExampleExcel extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExampleCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n buying : this.createBuying(),\r\n fileName: 'reports-buying.xlsx'\r\n }\r\n }\r\n componentDidMount() {\r\n console.log(\"ExampleExcel :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExampleExcel :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExampleExcel :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExampleExcel :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExampleExcel :componentDidUpdate\")\r\n\r\n }\r\n\r\n createBuying = () => {\r\n let buying = []\r\n for (let i = 0; i <= 25; i++) {\r\n buying.push({\r\n firstName: `first${i}`, lastName: `last${i}`,\r\n email: `abc${i}@gmail.com`, address: `000${i} street city, ST`, zipcode: `0000${i}`\r\n });\r\n }\r\n\r\n buying.push({\r\n firstName: ``,\r\n lastName: ``,\r\n email: `รวม`,\r\n address: 2000.00,\r\n zipcode: ``\r\n });\r\n\r\n return buying;\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExampleExcel :render\")\r\n console.log(this.state.buying)\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExampleExcel)\r\n","import React from 'react'\r\nimport PropType from 'prop-types'\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea'\r\n\r\nexport const ExampleStateLessTestView = ({val,onChangeText}) =>{\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n )\r\n}","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\nimport { ExampleStateLessTestView } from './ExampleStateLessTestView';\r\n\r\nclass TestStateLessCtrl extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"TestStateLessCtrl :constructor\")\r\n super(props);\r\n this.state = {\r\n val:null\r\n }\r\n\r\n this.onChangeText = this.onChangeText.bind(this);\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"TestStateLessCtrl :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"TestStateLessCtrl :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"TestStateLessCtrl :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"TestStateLessCtrl :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"TestStateLessCtrl :componentDidUpdate\")\r\n\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n\r\n //>Event \r\n onChangeText = (e)=>{\r\n const {\r\n name,value\r\n }=e.target\r\n this.setState({[name]:value})\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.setState({val:\"\"})\r\n\r\n this.showSuccess();\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"TestStateLessCtrl :render\")\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

    \r\n
    \r\n {/* DETAIL */}\r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(TestStateLessCtrl)\r\n","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport * as qs from 'query-string';\r\nimport * as OrderService from '../../service/order.service'\r\nimport Moment from 'react-moment';\r\nimport moment from 'moment';\r\nimport { PDFViewer , PDFDownloadLink} from '@react-pdf/renderer';\r\nimport { Document, Page, Text, View, StyleSheet, Font, } from '@react-pdf/renderer';\r\nimport { Table, TableHeader, TableCell, TableBody, DataTableCell } from '@david.kucsai/react-pdf-table'\r\nimport { MARKER_WITH_LABEL } from 'react-google-maps/lib/constants';\r\n\r\n\r\nclass WastgenReportsBuyingPrint extends Component {\r\n\r\n constructor() {\r\n super();\r\n console.log(\"constructor()\");\r\n this.state = {\r\n order_code: null,\r\n delivery_date: null,\r\n orderDetail: [],\r\n total: {quantity_kk:0,price_per_unit:0,grand_total:0},\r\n }\r\n\r\n let source = \"assets/layout/fonts/Kanit/Kanit-Regular.ttf\"\r\n let sourceBold = \"assets/layout/fonts/Kanit/Kanit-Bold.ttf\"\r\n let sourceItalic = \"assets/layout/fonts/Kanit/Kanit-Italic.ttf\"\r\n Font.register({ family: 'Kanit-regular', src: source, weight: '400,500', });\r\n Font.register({ family: 'Kanit-bold', src: sourceBold, weight: 'bold', });\r\n Font.register({ family: 'Kanit-italic', src: sourceItalic, weight: '400,500', });\r\n\r\n this.RenderViewer = this.RenderViewer.bind(this);\r\n\r\n \r\n \r\n }\r\n componentDidMount(){\r\n \r\n \r\n console.log(\"1 componentDidMount()\");\r\n if(this.props.location){\r\n if(this.props.location.search){\r\n let _order = qs.parse(this.props.location.search);\r\n if(_order)if(_order.order_code)\r\n \r\n OrderService.getOrderDetail(_order.order_code).then((obj) => {\r\n console.log(\"1 componentDidMount()--> call service\");\r\n console.log(obj.orderDetail);\r\n this.setState({order_code: obj.order_code});\r\n var _date = moment(obj.delivery_date).format(\"DD/MM/YYYY\");\r\n this.setState({delivery_date: _date}); \r\n this.setState({orderDetail: obj.orderDetail});\r\n var _total = {quantity_kk:0,price_per_unit:0,grand_total:0};\r\n \r\n var _item = [];\r\n for(var index=0;index < obj.orderDetail.length;index++){\r\n var el = Object.assign({},obj.orderDetail[index]);\r\n _total.quantity_kk+=el.delivery_quantity_kk;\r\n _total.price_per_unit+= (el.price_per_unit);\r\n _total.grand_total+= ( el.delivery_quantity_kk*el.price_per_unit );\r\n var no = index+1;\r\n _item.push( {no: no.toString(), \r\n product_name: el.product_name, \r\n delivery_quantity_kk: el.delivery_quantity_kk.toString(),\r\n price_per_unit: el.price_per_unit.toString()\r\n });\r\n };\r\n \r\n _item.push( {no: \"\", \r\n product_name: \"\", \r\n delivery_quantity_kk: \" รวม\",\r\n price_per_unit: _total.grand_total.toString()\r\n });\r\n \r\n this.setState({item:_item});\r\n this.setState({total: _total});\r\n //const view = this.RenderViewer(obj.orderDetail);\r\n //this.setState({pdfView:view});\r\n //window.print(); \r\n }).catch((error) => {\r\n })\r\n \r\n }\r\n }\r\n \r\n }\r\n\r\n RenderViewer() {\r\n if(this.state.order_code==null || this.state.item==[]) return
    ;\r\n \r\n const item = this.state.item;\r\n const styles ={\r\n container: {\r\n marginTop: '150px',\r\n marginLeft: '80px',\r\n marginRight: '80px',\r\n width: '800px',\r\n height: '100vh',\r\n fontFamily:'Kanit-regular'\r\n },\r\n title: {\r\n fontSize: 26,\r\n fontWeight: 'bold',\r\n },\r\n subTitle: {\r\n fontSize: 19,\r\n marginRight: '60px',\r\n textAlign: 'right',\r\n \r\n \r\n },\r\n body:{\r\n fontSize: 19,\r\n \r\n },\r\n table: {\r\n marginTop: '20px',\r\n border: '1px solid black',\r\n width: '97%',\r\n \r\n },\r\n th: {\r\n height: '50px',\r\n \r\n },\r\n tdNo:{\r\n textAlign: 'center',\r\n },\r\n tdCost:{\r\n textAlign: 'right',\r\n padding: '15px',\r\n },\r\n tdFoot:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n },\r\n tdFootCost:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n padding: '15px',\r\n }\r\n };\r\n \r\n const pdf = \r\n (\r\n \r\n \r\n \r\n \r\n ใบรับสินค้า\r\n \r\n \r\n เลขที่ {this.state.order_code} วันที่รับซื้อ {this.state.delivery_date} \r\n \r\n \r\n \r\n\r\n \r\n ลำดับที่ \r\n รายการ \r\n ปริมาณซื้อ \r\n ราคาซื้อ \r\n \r\n \r\n r.no}/>\r\n r.product_name}/>\r\n r.delivery_quantity_kk}/>\r\n r.price_per_unit}/>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return pdf;\r\n \r\n }\r\n\r\n render() {\r\n \r\n \r\n \r\n //const pdfView = this.state.pdfView;\r\n return (\r\n
    \r\n {this.RenderViewer()}\r\n \r\n
    \r\n\r\n\r\n \r\n );\r\n \r\n }\r\n}\r\nexport default withRouter(WastgenReportsBuyingPrint);\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n );\r\n","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport * as qs from 'query-string';\r\nimport * as OrderService from '../../service/order.service'\r\nimport Moment from 'react-moment';\r\nimport moment from 'moment';\r\nimport { PDFViewer , PDFDownloadLink} from '@react-pdf/renderer';\r\nimport { Document, Page, Text, View, StyleSheet, Font, } from '@react-pdf/renderer';\r\nimport { Table, TableHeader, TableCell, TableBody, DataTableCell } from '@david.kucsai/react-pdf-table'\r\nimport { MARKER_WITH_LABEL } from 'react-google-maps/lib/constants';\r\n\r\n\r\nclass WastetranReportsBuyingPrint extends Component {\r\n\r\n constructor() {\r\n super();\r\n console.log(\"constructor()\");\r\n this.state = {\r\n order_code: null,\r\n delivery_date: null,\r\n orderDetail: [],\r\n total: {quantity_kk:0,price_per_unit:0,grand_total:0},\r\n }\r\n\r\n let source = \"assets/layout/fonts/Kanit/Kanit-Regular.ttf\"\r\n let sourceBold = \"assets/layout/fonts/Kanit/Kanit-Bold.ttf\"\r\n let sourceItalic = \"assets/layout/fonts/Kanit/Kanit-Italic.ttf\"\r\n Font.register({ family: 'Kanit-regular', src: source, weight: '400,500', });\r\n Font.register({ family: 'Kanit-bold', src: sourceBold, weight: 'bold', });\r\n Font.register({ family: 'Kanit-italic', src: sourceItalic, weight: '400,500', });\r\n\r\n this.RenderViewer = this.RenderViewer.bind(this);\r\n\r\n \r\n \r\n }\r\n componentDidMount(){\r\n \r\n \r\n console.log(\"1 componentDidMount()\");\r\n if(this.props.location){\r\n if(this.props.location.search){\r\n let _order = qs.parse(this.props.location.search);\r\n if(_order)if(_order.order_code)\r\n \r\n OrderService.getOrderDetail(_order.order_code).then((obj) => {\r\n console.log(\"1 componentDidMount()--> call service\");\r\n console.log(obj.orderDetail);\r\n this.setState({order_code: obj.order_code});\r\n var _date = moment(obj.delivery_date).format(\"DD/MM/YYYY\");\r\n this.setState({delivery_date: _date}); \r\n this.setState({orderDetail: obj.orderDetail});\r\n var _total = {quantity_kk:0,price_per_unit:0,grand_total:0};\r\n \r\n var _item = [];\r\n for(var index=0;index < obj.orderDetail.length;index++){\r\n var el = Object.assign({},obj.orderDetail[index]);\r\n _total.quantity_kk+=el.delivery_quantity_kk;\r\n _total.price_per_unit+= (el.price_per_unit);\r\n _total.grand_total+= ( el.delivery_quantity_kk*el.price_per_unit );\r\n var no = index+1;\r\n var _delivery_cost = obj.delivery_cost.toString();\r\n if(index>0) _delivery_cost =\"\";\r\n _item.push( {no: no.toString(), \r\n product_name: el.product_name, \r\n delivery_quantity_kk: el.delivery_quantity_kk.toString(),\r\n delivery_cost: _delivery_cost\r\n });\r\n };\r\n \r\n _item.push( {no: \"\", \r\n product_name: \"\", \r\n delivery_quantity_kk: \" รวม\",\r\n delivery_cost: obj.delivery_cost.toString()\r\n });\r\n \r\n this.setState({item:_item});\r\n this.setState({total: _total});\r\n //const view = this.RenderViewer(obj.orderDetail);\r\n //this.setState({pdfView:view});\r\n //window.print(); \r\n }).catch((error) => {\r\n })\r\n \r\n }\r\n }\r\n \r\n }\r\n\r\n RenderViewer() {\r\n if(this.state.order_code==null || this.state.item==[]) return
    ;\r\n \r\n const item = this.state.item;\r\n const styles ={\r\n container: {\r\n marginTop: '150px',\r\n marginLeft: '80px',\r\n marginRight: '80px',\r\n width: '800px',\r\n height: '100vh',\r\n fontFamily:'Kanit-regular'\r\n },\r\n title: {\r\n fontSize: 26,\r\n fontWeight: 'bold',\r\n },\r\n subTitle: {\r\n fontSize: 19,\r\n marginRight: '60px',\r\n textAlign: 'right',\r\n \r\n \r\n },\r\n body:{\r\n fontSize: 19,\r\n \r\n },\r\n table: {\r\n marginTop: '20px',\r\n border: '1px solid black',\r\n width: '97%',\r\n \r\n },\r\n th: {\r\n height: '50px',\r\n \r\n },\r\n tdNo:{\r\n textAlign: 'center',\r\n },\r\n tdCost:{\r\n textAlign: 'right',\r\n padding: '15px',\r\n },\r\n tdFoot:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n },\r\n tdFootCost:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n padding: '15px',\r\n }\r\n };\r\n \r\n const pdf = \r\n (\r\n \r\n \r\n \r\n \r\n ใบงาน\r\n \r\n \r\n เลขที่ {this.state.order_code} วันที่รับซื้อ {this.state.delivery_date} \r\n \r\n \r\n \r\n\r\n \r\n ลำดับที่ \r\n รายการ \r\n ปริมาณซื้อ \r\n ค่าขนส่ง \r\n \r\n \r\n r.no}/>\r\n r.product_name}/>\r\n r.delivery_quantity_kk}/>\r\n r.delivery_cost}/>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return pdf;\r\n \r\n }\r\n\r\n render() {\r\n \r\n \r\n \r\n //const pdfView = this.state.pdfView;\r\n return (\r\n
    \r\n {this.RenderViewer()}\r\n \r\n
    \r\n\r\n\r\n \r\n );\r\n \r\n }\r\n}\r\nexport default withRouter(WastetranReportsBuyingPrint);\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n );\r\n","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport * as qs from 'query-string';\r\nimport * as OrderService from '../../service/order.service'\r\nimport Moment from 'react-moment';\r\nimport moment from 'moment';\r\nimport { PDFViewer , PDFDownloadLink} from '@react-pdf/renderer';\r\nimport { Document, Page, Text, View, StyleSheet, Font, } from '@react-pdf/renderer';\r\nimport { Table, TableHeader, TableCell, TableBody, DataTableCell } from '@david.kucsai/react-pdf-table'\r\nimport { MARKER_WITH_LABEL } from 'react-google-maps/lib/constants';\r\n\r\n\r\nclass WasteproReportsBuyingPrint extends Component {\r\n\r\n constructor() {\r\n super();\r\n console.log(\"constructor()\");\r\n this.state = {\r\n order_code: null,\r\n delivery_date: null,\r\n orderDetail: [],\r\n total: {quantity_kk:0,price_per_unit:0,grand_total:0},\r\n }\r\n\r\n let source = \"assets/layout/fonts/Kanit/Kanit-Regular.ttf\"\r\n let sourceBold = \"assets/layout/fonts/Kanit/Kanit-Bold.ttf\"\r\n let sourceItalic = \"assets/layout/fonts/Kanit/Kanit-Italic.ttf\"\r\n Font.register({ family: 'Kanit-regular', src: source, weight: '400,500', });\r\n Font.register({ family: 'Kanit-bold', src: sourceBold, weight: 'bold', });\r\n Font.register({ family: 'Kanit-italic', src: sourceItalic, weight: '400,500', });\r\n\r\n this.RenderViewer = this.RenderViewer.bind(this);\r\n\r\n \r\n \r\n }\r\n componentDidMount(){\r\n \r\n \r\n console.log(\"1 componentDidMount()\");\r\n if(this.props.location){\r\n if(this.props.location.search){\r\n let _order = qs.parse(this.props.location.search);\r\n if(_order)if(_order.order_code)\r\n \r\n OrderService.getOrderDetail(_order.order_code).then((obj) => {\r\n console.log(\"1 componentDidMount()--> call service\");\r\n console.log(obj.orderDetail);\r\n this.setState({order_code: obj.order_code});\r\n var _date = moment(obj.delivery_date).format(\"DD/MM/YYYY\");\r\n this.setState({delivery_date: _date}); \r\n this.setState({orderDetail: obj.orderDetail});\r\n var _total = {quantity_kk:0,price_per_unit:0,grand_total:0};\r\n \r\n var _item = [];\r\n for(var index=0;index < obj.orderDetail.length;index++){\r\n var el = Object.assign({},obj.orderDetail[index]);\r\n _total.quantity_kk+=el.delivery_quantity_kk;\r\n _total.price_per_unit+= (el.price_per_unit);\r\n _total.grand_total+= ( el.delivery_quantity_kk*el.price_per_unit );\r\n var no = index+1;\r\n _item.push( {no: no.toString(), \r\n product_name: el.product_name, \r\n delivery_quantity_kk: el.delivery_quantity_kk.toString(),\r\n price_per_unit: el.price_per_unit.toString()\r\n });\r\n };\r\n \r\n _item.push( {no: \"\", \r\n product_name: \"\", \r\n delivery_quantity_kk: \" รวม\",\r\n price_per_unit: _total.grand_total.toString()\r\n });\r\n \r\n this.setState({item:_item});\r\n this.setState({total: _total});\r\n //const view = this.RenderViewer(obj.orderDetail);\r\n //this.setState({pdfView:view});\r\n //window.print(); \r\n }).catch((error) => {\r\n })\r\n \r\n }\r\n }\r\n \r\n }\r\n\r\n RenderViewer() {\r\n if(this.state.order_code==null || this.state.item==[]) return
    ;\r\n \r\n const item = this.state.item;\r\n const styles ={\r\n container: {\r\n marginTop: '150px',\r\n marginLeft: '80px',\r\n marginRight: '80px',\r\n width: '800px',\r\n height: '100vh',\r\n fontFamily:'Kanit-regular'\r\n },\r\n title: {\r\n fontSize: 26,\r\n fontWeight: 'bold',\r\n },\r\n subTitle: {\r\n fontSize: 19,\r\n marginRight: '60px',\r\n textAlign: 'right',\r\n \r\n \r\n },\r\n body:{\r\n fontSize: 19,\r\n \r\n },\r\n table: {\r\n marginTop: '20px',\r\n border: '1px solid black',\r\n width: '97%',\r\n \r\n },\r\n th: {\r\n height: '50px',\r\n \r\n },\r\n tdNo:{\r\n textAlign: 'center',\r\n },\r\n tdCost:{\r\n textAlign: 'right',\r\n padding: '15px',\r\n },\r\n tdFoot:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n },\r\n tdFootCost:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n padding: '15px',\r\n }\r\n };\r\n \r\n const pdf = \r\n (\r\n \r\n \r\n \r\n \r\n ใบส่งสินค้า\r\n \r\n \r\n เลขที่ {this.state.order_code} วันที่รับซื้อ {this.state.delivery_date} \r\n \r\n \r\n \r\n\r\n \r\n ลำดับที่ \r\n รายการ \r\n ปริมาณซื้อ \r\n ราคาซื้อ \r\n \r\n \r\n r.no}/>\r\n r.product_name}/>\r\n r.delivery_quantity_kk}/>\r\n r.price_per_unit}/>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return pdf;\r\n \r\n }\r\n\r\n render() {\r\n \r\n \r\n \r\n //const pdfView = this.state.pdfView;\r\n return (\r\n
    \r\n {this.RenderViewer()}\r\n \r\n
    \r\n\r\n\r\n \r\n );\r\n \r\n }\r\n}\r\nexport default withRouter(WasteproReportsBuyingPrint);\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n );\r\n","import React, { Component } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\nimport { withRouter } from 'react-router-dom';\r\nimport { Panel } from 'primereact/components/panel/Panel';\r\nimport { Checkbox } from 'primereact/components/checkbox/Checkbox';\r\nimport { Button } from 'primereact/components/button/Button';\r\n\r\nimport { InputText } from 'primereact/components/inputtext/InputText';\r\nimport { InputTextarea } from 'primereact/components/inputtextarea/InputTextarea';\r\nimport { DataTable } from 'primereact/components/datatable/DataTable';\r\nimport { Column } from 'primereact/components/column/Column';\r\nimport { FullCalendar } from 'primereact/fullcalendar';\r\nimport { Card } from 'primereact/card';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport { Growl } from 'primereact/growl';\r\nimport { FileUpload } from 'primereact/fileupload';\r\nimport { Dropdown } from 'primereact/dropdown';\r\nimport { MapWithASearchBox } from '../../features/map/MapWithASearchBox'\r\nimport { Calendar } from 'primereact/calendar';\r\nimport { ColumnGroup } from 'primereact/columngroup';\r\nimport { Row } from 'primereact/row';\r\nimport * as qs from 'query-string';\r\nimport * as OrderService from '../../service/order.service'\r\nimport Moment from 'react-moment';\r\nimport moment from 'moment';\r\nimport { PDFViewer , PDFDownloadLink} from '@react-pdf/renderer';\r\nimport { Document, Page, Text, View, StyleSheet, Font, } from '@react-pdf/renderer';\r\nimport { Table, TableHeader, TableCell, TableBody, DataTableCell } from '@david.kucsai/react-pdf-table'\r\nimport { MARKER_WITH_LABEL } from 'react-google-maps/lib/constants';\r\n\r\n\r\nclass WasteproInvoiceBuyingPrint extends Component {\r\n\r\n constructor() {\r\n super();\r\n console.log(\"constructor()\");\r\n this.state = {\r\n order_code: null,\r\n delivery_date: null,\r\n orderDetail: [],\r\n total: {quantity_kk:0,price_per_unit:0,grand_total:0},\r\n }\r\n\r\n let source = \"assets/layout/fonts/Kanit/Kanit-Regular.ttf\"\r\n let sourceBold = \"assets/layout/fonts/Kanit/Kanit-Bold.ttf\"\r\n let sourceItalic = \"assets/layout/fonts/Kanit/Kanit-Italic.ttf\"\r\n Font.register({ family: 'Kanit-regular', src: source, weight: '400,500', });\r\n Font.register({ family: 'Kanit-bold', src: sourceBold, weight: 'bold', });\r\n Font.register({ family: 'Kanit-italic', src: sourceItalic, weight: '400,500', });\r\n\r\n this.RenderViewer = this.RenderViewer.bind(this);\r\n\r\n \r\n \r\n }\r\n componentDidMount(){\r\n \r\n \r\n console.log(\"1 componentDidMount()\");\r\n if(this.props.location){\r\n if(this.props.location.search){\r\n let _order = qs.parse(this.props.location.search);\r\n if(_order)if(_order.order_code)\r\n \r\n OrderService.getOrderDetail(_order.order_code).then((obj) => {\r\n console.log(\"1 componentDidMount()--> call service\");\r\n console.log(obj.orderDetail);\r\n this.setState({order_code: obj.order_code});\r\n var _date = moment(obj.delivery_date).format(\"DD/MM/YYYY\");\r\n this.setState({delivery_date: _date}); \r\n this.setState({orderDetail: obj.orderDetail});\r\n var _total = {quantity_kk:0,price_per_unit:0,grand_total:0};\r\n \r\n var _item = [];\r\n for(var index=0;index < obj.orderDetail.length;index++){\r\n var el = Object.assign({},obj.orderDetail[index]);\r\n _total.quantity_kk+=el.delivery_quantity_kk;\r\n _total.price_per_unit+= (el.price_per_unit);\r\n _total.grand_total+= ( el.delivery_quantity_kk*el.price_per_unit );\r\n var no = index+1;\r\n _item.push( {no: no.toString(), \r\n product_name: el.product_name, \r\n delivery_quantity_kk: el.delivery_quantity_kk.toString(),\r\n price_per_unit: el.price_per_unit.toString()\r\n });\r\n };\r\n \r\n _item.push( {no: \"\", \r\n product_name: \"\", \r\n delivery_quantity_kk: \" รวม\",\r\n price_per_unit: _total.grand_total.toString()\r\n });\r\n \r\n this.setState({item:_item});\r\n this.setState({total: _total});\r\n //const view = this.RenderViewer(obj.orderDetail);\r\n //this.setState({pdfView:view});\r\n //window.print(); \r\n }).catch((error) => {\r\n })\r\n \r\n }\r\n }\r\n \r\n }\r\n\r\n RenderViewer() {\r\n if(this.state.order_code==null || this.state.item==[]) return
    ;\r\n \r\n const item = this.state.item;\r\n const styles ={\r\n container: {\r\n marginTop: '150px',\r\n marginLeft: '80px',\r\n marginRight: '80px',\r\n width: '800px',\r\n height: '100vh',\r\n fontFamily:'Kanit-regular'\r\n },\r\n title: {\r\n fontSize: 26,\r\n fontWeight: 'bold',\r\n },\r\n subTitle: {\r\n fontSize: 19,\r\n marginRight: '60px',\r\n textAlign: 'right',\r\n \r\n \r\n },\r\n body:{\r\n fontSize: 19,\r\n \r\n },\r\n table: {\r\n marginTop: '20px',\r\n border: '1px solid black',\r\n width: '97%',\r\n \r\n },\r\n th: {\r\n height: '50px',\r\n \r\n },\r\n tdNo:{\r\n textAlign: 'center',\r\n },\r\n tdCost:{\r\n textAlign: 'right',\r\n padding: '15px',\r\n },\r\n tdFoot:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n },\r\n tdFootCost:{\r\n textAlign: 'right',\r\n fontWeight: 'bold',\r\n padding: '15px',\r\n }\r\n };\r\n \r\n const pdf = \r\n (\r\n \r\n \r\n \r\n \r\n ใบแจ้งหนี้\r\n \r\n \r\n เลขที่ {this.state.order_code} วันที่รับซื้อ {this.state.delivery_date} \r\n \r\n \r\n \r\n\r\n \r\n ลำดับที่ \r\n รายการ \r\n ปริมาณซื้อ \r\n ราคาซื้อ \r\n \r\n \r\n r.no}/>\r\n r.product_name}/>\r\n r.delivery_quantity_kk}/>\r\n r.price_per_unit}/>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n return pdf;\r\n \r\n }\r\n\r\n render() {\r\n \r\n \r\n \r\n //const pdfView = this.state.pdfView;\r\n return (\r\n
    \r\n {this.RenderViewer()}\r\n \r\n
    \r\n\r\n\r\n \r\n );\r\n \r\n }\r\n}\r\nexport default withRouter(WasteproInvoiceBuyingPrint);\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n );\r\n","import React from 'react';\r\nimport { Document, Page, Text, View, StyleSheet, Font, } from '@react-pdf/renderer';\r\nimport { Table, TableHeader, TableCell, TableBody, DataTableCell } from '@david.kucsai/react-pdf-table'\r\n\r\nexport const PdfTableExample = ({ title, model, data, orderCode, date, summary }) => {\r\n // Register font\r\n let source = \"assets/layout/fonts/Kanit/Kanit-Regular.ttf\"\r\n let sourceBold = \"assets/layout/fonts/Kanit/Kanit-Bold.ttf\"\r\n let sourceItalic = \"assets/layout/fonts/Kanit/Kanit-Italic.ttf\"\r\n Font.register({ family: 'font-regular', src: source, weight: '400,500', });\r\n Font.register({ family: 'font-bold', src: sourceBold, weight: 'bold', });\r\n Font.register({ family: 'font-italic', src: sourceItalic, weight: '400,500', });\r\n // Create styles\r\n const styles = StyleSheet.create({\r\n page: {\r\n flexDirection: 'row',\r\n width: '100vh',\r\n height: '100vh',\r\n fontFamily: 'font-regular'\r\n\r\n },\r\n section: {\r\n margin: 10,\r\n padding: 10,\r\n flexGrow: 1\r\n },\r\n header: {\r\n fontFamily: 'font-bold',\r\n height: '30px'\r\n },\r\n cellHeader: {\r\n paddingLeft: 5,\r\n backgroundColor: 'gray',\r\n textAlign: 'center',\r\n height: '30px'\r\n },\r\n cellDetail: {\r\n paddingLeft: 5,\r\n textAlign: 'left'\r\n },\r\n cellDetailRight: {\r\n paddingRight: 5,\r\n textAlign: 'right'\r\n },\r\n cellDetailCenter: {\r\n paddingLeft: 5,\r\n textAlign: 'center'\r\n },\r\n summary: {\r\n fontFamily: 'font-bold',\r\n fontSize: '16px'\r\n },\r\n box: {\r\n width: '300px',\r\n marginTop: '20px',\r\n padding: '10px',\r\n alignSelf: 'flex-end',\r\n },\r\n headerContainer: {\r\n paddingLeft: '50%',\r\n flexDirection: 'row',\r\n alignItems: 'stretch',\r\n },\r\n summaryContainer: {\r\n flexDirection: 'row',\r\n borderBottomWidth: 2,\r\n borderBottomColor: '#112131',\r\n borderBottomStyle: 'solid',\r\n alignItems: 'stretch',\r\n },\r\n leftColumn: {\r\n flexDirection: 'column',\r\n flexGrow: 9,\r\n },\r\n rightColumn: {\r\n flexDirection: 'column',\r\n flexGrow: 2,\r\n alignSelf: 'flex-end',\r\n justifySelf: 'flex-end',\r\n }\r\n });\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n เลขที่\r\n \r\n \r\n {orderCode}\r\n \r\n \r\n\r\n \r\n \r\n วันที่\r\n \r\n \r\n {date}\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n {\r\n model.map((value) => {\r\n return (\r\n \r\n {value.label}\r\n \r\n )\r\n })\r\n }\r\n \r\n \r\n {\r\n model.map((value)=>{\r\n let style = styles.cellDetail;\r\n if (value.alignRight) {\r\n style = styles.cellDetailRight\r\n }\r\n if (value.alignCenter) {\r\n style = styles.cellDetailCenter\r\n }\r\n return r[value.columnName]} />\r\n \r\n })\r\n }\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n {\r\n summary.map((value) => {\r\n return (\r\n \r\n \r\n {value.header}\r\n \r\n \r\n {value.value}\r\n \r\n \r\n )\r\n })\r\n }\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n )\r\n}\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nimport { Button } from 'primereact/button';\r\nimport { Growl } from 'primereact/growl';\r\n\r\n\r\nimport { PDFViewer, PDFDownloadLink } from '@react-pdf/renderer';\r\n\r\nimport { PdfExample } from '../pdf/PdfExample';\r\nimport { PdfTableExample } from '../pdf/PdfTableExample';\r\n\r\nclass ExamplePDF extends Component {\r\n\r\n constructor(props) {\r\n console.log(\"ExamplePDF :constructor\")\r\n super(props);\r\n this.state = {\r\n }\r\n }\r\n\r\n componentDidMount() {\r\n console.log(\"ExamplePDF :componentDidMount\")\r\n }\r\n\r\n //>Life Cycle : Re-render / Update\r\n componentWillReceiveProps(nextProps) {\r\n console.log(\"ExamplePDF :componentWillReceiveProps\")\r\n\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n console.log(\"ExamplePDF :shouldComponentUpdate\")\r\n return true\r\n }\r\n componentWillUpdate(nextProps, nextState) {\r\n console.log(\"ExamplePDF :componentWillUpdate\")\r\n\r\n }\r\n componentDidUpdate(prevProps, prevState) {\r\n console.log(\"ExamplePDF :componentDidUpdate\")\r\n\r\n }\r\n\r\n // Initial function\r\n initial = (object) => {\r\n if (object) {\r\n for (let key in object) {\r\n let val = object[key]\r\n this.setState({ [key]: val })\r\n }\r\n }\r\n }\r\n\r\n //> Submit\r\n onSubmit = () => {\r\n this.showSuccess();\r\n }\r\n\r\n // ======= SHOW MESSAGE BOX ======\r\n showSuccess = (message) => {\r\n this.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'ทำรายการสำเร็จ' });\r\n }\r\n showError = (message) => {\r\n this.growl.show({ severity: 'error', summary: 'คำเตือน', detail: message ? message : 'เกิดข้อผิดพลาด' });\r\n }\r\n showWarn = (message) => {\r\n this.growl.show({ severity: 'warn', summary: 'คำเตือน', detail: message ? message : 'กรุณากรอกข้อมูลที่มีเครื่องหมาย * ให้ครบถ้วน' });\r\n }\r\n\r\n render() {\r\n console.log(\"ExamplePDF :render\")\r\n const pdfView = (\r\n \r\n \r\n \r\n )\r\n const pdfDownload = (\r\n } fileName=\"fee_acceptance.pdf\" >\r\n {({ blob, url, loading, error }) => (loading ? 'Loading document...' : )}\r\n \r\n )\r\n const pdfBlob = (\r\n } >\r\n {({ blob, url, loading, error }) => (loading ? 'Loading document...' : )}\r\n \r\n )\r\n\r\n let columns = [\r\n {columnName:'col1',label:'#',alignCenter:true},\r\n {columnName:'col2',label:'รายการ'},\r\n {columnName:'col3',label:'ปริมาณ',alignRight:true},\r\n {columnName:'col4',label:'ราคาขาย',alignRight:true},\r\n ]\r\n let data = [\r\n {\r\n col1: \"1\",\r\n col2: \"ขวดแก้ว\",\r\n col3: \"10\",\r\n col4: \"20.00\",\r\n },\r\n {\r\n col1: \"1\",\r\n col2: \"ขวดแก้ว\",\r\n col3: \"10\",\r\n col4: \"20.00\",\r\n },\r\n {\r\n col1: \"1\",\r\n col2: \"ขวดแก้ว\",\r\n col3: \"10\",\r\n col4: \"20.00\",\r\n },\r\n {\r\n col1: \"1\",\r\n col2: \"ขวดแก้ว\",\r\n col3: \"10\",\r\n col4: \"20.00\",\r\n }\r\n ]\r\n let summary = [\r\n {header:'รวมปริมาณ',value:'10 Kg.'},\r\n {header:'รวมราคาส่ง',value:'100 บาท'},\r\n ]\r\n const pdfDataTable = (\r\n \r\n \r\n \r\n )\r\n\r\n return (\r\n
    \r\n this.growl = el} />\r\n

    Profile

    \r\n
    \r\n {/* DETAIL */}\r\n
    \r\n {pdfDataTable}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n )\r\n }\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n})\r\n\r\nexport default connect(mapStateToProps)(ExamplePDF)\r\n","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from \"primereact/button\";\r\nimport * as UserService from '../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport {ScrollPanel} from 'primereact/scrollpanel';\r\nimport { Accordion, AccordionTab } from 'primereact/accordion';\r\nimport * as ServerAPI from '../components/administrator/service';\r\n\r\nclass FrequentlyAskedQuestions extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tfaqList: [],\r\n\t\t};\r\n\r\n\t\tthis.getAllfaq = this.getAllfaq.bind(this);\r\n\t\tthis.faq = this.faq.bind(this);\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n this.getAllfaq();\r\n\t}\r\n\r\n\tgetAllfaq(){\r\n this.setState({ showProgress: true })\r\n ServerAPI.getAllfaq().then((res) => {\r\n console.log(res);\r\n if (res) {\r\n var index = res.toString().indexOf(\"Error:\");\r\n console.log(\"find error:\" + (index));\r\n if (index == -1) {\r\n this.setState({faqList: res })\r\n this.setState({ showProgress: false })\r\n //this.showSuccess();\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n } else {\r\n this.showWarn();\r\n this.setState({ showProgress: false})\r\n }\r\n }).catch((error) => {\r\n this.setState({ showProgress: false})\r\n })\r\n\t}\r\n\t\r\n\tfaq(){\r\n\t\tconst faq = this.state.faqList.map(item => \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t

    {item.answer}

    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t)\r\n\t\t\treturn faq\r\n\r\n\t\t// return
    \r\n\t\t// \t\t\r\n // \r\n //

    เป็น Application ที่สร้างขึ้นเพื่อเป็นช่องทางให้คนทุกลุ่ม ทุกเพศทุกวัย และองค์กรธุรกิจ มีส่วนร่วมในการรับผิดชอบต่อสิ่งแวดล้อมได้ง่าย \r\n\t\t// \t\t\t\t\tสะดวกและรวดเร็ว โดยเข้าถึงการกำจัดขยะฯ ที่เหมาะสม\r\n\t\t// \t\t\t\t

    \r\n //
    \r\n // \r\n //

    C3leng เป็นตัวกลางให้ผู้ทิ้งขยะฯ หรือขายขยะฯ ด้วยการนัดหมายผู้ขนส่งไปรับขยะฯในเวลาและสถานที่นัดหมายและนำขยะฯ เข้าสู่ระบบการจัดการที่มีประสิทธิภาพ

    \r\n //
    \r\n // \r\n //

    \r\n\t\t// \t\t\t\t\tกระบวนการกำจัดขยะ Recycle ประกอบด้วยผู้เกี่ยวข้อง 3 ส่วน
    \r\n\t\t// \t\t\t\t\t- Waste Generator : ผู้ทิ้งหรือผู้ต้องการขาย ในที่นี้ก็คือ ผู้บริโภค
    \r\n\t\t// \t\t\t\t\t- Waste Transportation : ผู้ขนส่งขยะรีไซเคิล ในที่นี้ก็คือ ซาเล้ง รถเล็ก และผู้สนใจเข้าร่วมโครงการ
    \r\n\t\t// \t\t\t\t\t- Waste Processor : ศูนย์การจัดการขยะรีไซเคิล ในที่นี้คือ ศูนย์จัดการฯซีซาเล้งในภูมิภาคและพื้นที่ให้บริการ\r\n\t\t// \t\t\t\t

    \r\n //
    \r\n //
    \r\n\t\t// \t
    \r\n\t}\r\n\r\n\trender() {\r\n\t\tconst showfaq = this.faq()\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    คำถามที่พบบ่อย

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\tหน้าหลัก\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{showfaq}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n})\r\n\r\n\r\nexport default\r\n\tconnect(\r\n\t\tmapStateToProps,\r\n\t\tmapDispatchToProps, null, { forwardRef: true })(FrequentlyAskedQuestions)","import React, { Component } from 'react';\r\nimport { bindActionCreators } from 'redux'\r\nimport { connect } from 'react-redux'\r\n\r\nimport { InputText } from 'primereact/inputtext';\r\nimport { Button } from \"primereact/button\";\r\nimport * as UserService from '../service/user.service';\r\nimport { ProgressSpinner } from 'primereact/progressspinner';\r\nimport FacebookLogin from 'react-facebook-login';\r\nimport { GoogleLogin } from 'react-google-login';\r\nimport { ToggleButton } from 'primereact/togglebutton';\r\nimport { CEInputText, CECalendar, CEDropdown, CEPassword } from '../features/input';\r\nimport { useRouteMatch } from 'react-router-dom';\r\nimport { Growl } from 'primereact/growl';\r\n\r\n\r\nclass ForgetPassword extends Component {\r\n\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tusername: '',\r\n\t\t\tpassword: '',\r\n\t\t\tconfirmPassword: '',\r\n\t\t\tsubmitted: false,\r\n\t\t\tcheckedPasswordVisible: false,\r\n\t\t\ttypePasswordInput: 'password',\r\n\t\t\ttelephoneNumber1: '',\r\n\t\t\tcfpassword: '',\r\n\r\n\t\t\t// Otp\r\n\t\t\tmobile_no: '',\r\n\t\t\totpRef: '',\r\n\t\t\totpCode: '',\r\n\t\t\totpVerify: null,\r\n\t\t\totpShow: false,\r\n\t\t\totpTimeOut: 0,\r\n\t\t\totpButtonDisable: false,\r\n\t\t\totpTypeInput: false,\r\n\t\t\totpDisabled: false,\r\n\r\n\t\t\t// error message step 1\r\n\t\t\terrorMessageTelephoneNumber1: '',\r\n\t\t\terrorMessageUsername: '',\r\n\t\t\terrorMessageConfirmPassword: '',\r\n\t\t\terrorMessagePassword: '',\r\n\t\t\terrorMessageOtp: '',\r\n\r\n\t\t\t// valid step and otp show or hide\r\n\t\t\tuserType: 0, // Test default 0\r\n\t\t\tcheckStep1: true,\r\n\t\t\tcheckStep2: true,\r\n\t\t\tcheckStep3: true,\r\n\t\t\tcheckStep4: true,\r\n\t\t\tactiveStep: 0,\r\n\r\n\t\t\t// save succress change page\r\n\t\t\tbuttonDisable :true,\r\n\t\t\tshowPageSuccress:false,\r\n\t\t\tshowPage:true,\r\n\t\t};\r\n\r\n\t\t//validation\r\n\t\tthis.isValidStep1 = this.isValidStep1.bind(this);\r\n\t}\r\n\r\n\tonPressOtp() {\r\n\t\t// this.setState({ otpTimeOut: 60, otpButtonDisable: true, otpCode: '', errorMessageOtp: '', otpVerify: null, otpButtonDisable: false })\r\n\t\t// this.setState({ mobile_no: this.state.telephoneNumber1, otpRef: 'XXXXXX', otpShow: true });\r\n\t\tthis.setState({ otpTimeOut: 60, otpButtonDisable: true, otpCode: '', errorMessageOtp: '', otpVerify: null })\r\n\t\tsetInterval(() => {\r\n\t\t\tthis.setState((prevState) => ({ otpTimeOut: prevState.otpTimeOut - 1 }))\r\n\t\t\tif (this.state.otpTimeOut == 0) {\r\n\t\t\t\tthis.setState({ otpButtonDisable: false })\r\n\t\t\t}\r\n\t\t}, 1000)\r\n\t\tif (this.state.otpRef == '') {\r\n\t\t\tthis.onOtpSend()\r\n\t\t} else {\r\n\t\t\tthis.onOtpResend()\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\tonOtpSend() {\r\n\t\tUserService.otpResetPasswordSend(this.state.telephoneNumber1).then((res) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.mobile_no.length > 0) {\r\n\t\t\t\tthis.setState({ mobile_no: res.mobile_no, otpRef: res.otp_ref, otpShow: true });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ mobile_no: '', otpRef: '', otpShow: false });\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"เครือข่ายขัดข้อง\" });\r\n\t\t})\r\n\t}\r\n\r\n\tonOtpResend() {\r\n\t\tUserService.otpResetPasswordResend(this.state.telephoneNumber1).then((res) => {\r\n\t\t\tconsole.log(res);\r\n\t\t\tif (res.mobile_no.length > 0) {\r\n\t\t\t\tthis.setState({ mobile_no: res.mobile_no, otpRef: res.otp_ref, otpShow: true });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ mobile_no: '', otpRef: '', otpShow: false });\r\n\t\t\t}\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"เครือข่ายขัดข้อง\" });\r\n\t\t})\r\n\t}\r\n\r\n\tonOtpVerify(value) {\r\n\t\t// let otpCode = value\r\n\t\t// this.setState({ otpCode: otpCode })\r\n\t\t// this.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n\r\n\t\tlet otpCode = value\r\n\t\tthis.setState({ otpCode: otpCode })\r\n\t\tlet mobile_no = this.state.telephoneNumber1\r\n\t\tlet otp_ref = this.state.otpRef\r\n\t\tif (otpCode.length == 6) {\r\n\t\t\tthis.setState({\r\n\t\t\t\terrorMessageOtp: \"\",\r\n\t\t\t\totpVerify: true,\r\n\t\t\t\totpButtonDisable: true,\r\n\t\t\t\totpTypeInput: true,\r\n\t\t\t\totpDisabled: true\r\n\t\t\t});\r\n\t\t\t// UserService.otpVerifyChangePassword(mobile_no, otpCode, otp_ref).then((res) => {\r\n\t\t\t// \tconsole.log(res);\r\n\t\t\t// \tif (res == true) {\r\n\t\t\t// \t\tthis.setState({ errorMessageOtp: \"\", otpVerify: true, otpButtonDisable: true, otpTypeInput: true, otpDisabled: true });\r\n\t\t\t// \t} else {\r\n\t\t\t// \t\tthis.setState({ errorMessageOtp: res.response.data, otpVerify: false });\r\n\t\t\t// \t}\r\n\t\t\t// }).catch((error) => {\r\n\t\t\t// \tthis.setState({ errorMessageOtp: error, otpVerify: false });\r\n\t\t\t// })\r\n\t\t} else {\r\n\t\t\tthis.setState({ errorMessageOtp: \"รหัสยืนยันไม่ถูกต้อง\", otpVerify: false, otpDisabled: false });\r\n\t\t}\r\n\t}\r\n\r\n\tisValidStep1() {\r\n\t\tconst { telephoneNumber1, otpCode, password, confirmPassword, userType } = this.state\r\n\t\tconst { errorMessageTelephoneNumber1, errorMessageOtp, errorMessagePassword, errorMessageConfirmPassword } = this.state\r\n\t\tif (telephoneNumber1 !== '' && otpCode !== '' && password !== '' && confirmPassword !== '' && userType !== '' && userType !== 0) {\r\n\t\t\tif (errorMessageTelephoneNumber1 == '' && errorMessageOtp == '' && errorMessagePassword == '' && errorMessageConfirmPassword == '') {\r\n\t\t\t\tthis.setState({ activeStep: 1 })\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ alertShow: true, alertTheme: 5, alertTitle: 'แจ้งเตือน', alertSubTitle: 'กรุณาตรวจสอบความถูกต้อง' })\r\n\t\t\t\tthis.setState({ activeStep: 0 })\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.setState({ alertShow: true, alertTheme: 5, alertTitle: 'แจ้งเตือน', alertSubTitle: 'กรุณาระบุข้อมูลให้ครบถ้วน' })\r\n\t\t\tthis.setState({ activeStep: 0 })\r\n\t\t}\r\n\t}\r\n\r\n\tonTelephoneNumber1Changed(telephoneNumber, valid) {\r\n\t\tconsole.log(telephoneNumber)\r\n\t\t//const mobileNo = this.isNumber(telephoneNumber)\r\n\t\tthis.setState({ telephoneNumber1: telephoneNumber });\r\n\t\tthis.setState({ errorMessageTelephoneNumber1: \"\" });\r\n\t\tif (telephoneNumber.length == 10 && valid) {\r\n\t\t\tvar telNoModel = {\r\n\t\t\t\ttelephoneNumber: telephoneNumber\r\n\t\t\t}\r\n\t\t\tUserService.checkExitPhoneAndName(telNoModel).then((res) => {\r\n\t\t\t\tconsole.log(res)\r\n\t\t\t\tif (res.length > 0) {\r\n\t\t\t\t\tthis.setState({ telID: res[0].userId })\r\n\t\t\t\t\tconsole.log(res[0].userId)\r\n\r\n\t\t\t\t\tconsole.log(this.state.userUid)\r\n\t\t\t\t\tif (this.state.userUid) {\r\n\t\t\t\t\t\tif (res[0].userId == this.state.userUid) {\r\n\t\t\t\t\t\t\tthis.setState({ telephoneNumber1: telephoneNumber });\r\n\t\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"\" });\r\n\t\t\t\t\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"\" });\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"หมายเลข \" + telephoneNumber + \" ไม่ตรงกับชื่อผู้ใช้\" });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"กรุณากรอกชื่อผู้ใช้ให้ถูกต้อง\" });\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.setState({ telephoneNumber1: telephoneNumber });\r\n\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"หมายเลข \" + telephoneNumber + \" ไม่มีอยู่ในระบบ\" });\r\n\t\t\t\t}\r\n\t\t\t}).catch((error) => {\r\n\t\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"กรอกหมายเลขโทรศัพท์ 10 ตัวเลข (ขึ้นต้นด้วยเลข 0)\" });\r\n\t\t\tthis.setState({ telID: '' })\r\n\t\t}\r\n\t}\r\n\r\n\tisNumber(text) {\r\n\t\tlet value = '';\r\n\t\tlet valid = false;\r\n\t\tlet numbers = '0123456789';\r\n\t\tif (text)\r\n\t\t\tfor (var i = 0; i < text.length; i++) {\r\n\t\t\t\tif (numbers.indexOf(text[i]) > -1) {\r\n\t\t\t\t\tvalue = value + text[i];\r\n\t\t\t\t\tvalid = true\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\talertShow: true,\r\n\t\t\t\t\t\talertTheme: 5,\r\n\t\t\t\t\t\talertTitle: 'แจ้งเตือน',\r\n\t\t\t\t\t\talertSubTitle: 'กรอกเฉพาะตัวเลขเท่านั้น'\r\n\t\t\t\t\t})\r\n\t\t\t\t\tvalid = false\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\treturn { value, valid }\r\n\t}\r\n\r\n\tonUsernameChanged(username) {\r\n\t\t// this.setState({ errorMessageUsername: \"\" });\r\n\t\t// this.setState({ messageUsername: \"\" });\r\n\t\tthis.setState({ username: username });\r\n\t\tif (username.length >= 6) {\r\n\t\t\tconst re = new RegExp(\"^[A-Za-z0-9]*$\");\r\n\t\t\tconst isOk = re.test(username);\r\n\t\t\tif (isOk) {\r\n\t\t\t\tconsole.log(username);\r\n\t\t\t\tUserService.checkExit(username).then((res) => {\r\n\t\t\t\t\tconsole.log(res);\r\n\t\t\t\t\tif (res.length > 0) {\r\n\t\t\t\t\t\tthis.setState({ userUid: res[0].userId })\r\n\t\t\t\t\t\tthis.setState({ username: username });\r\n\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"\" });\r\n\t\t\t\t\t\tconsole.log(res[0].userId)\r\n\r\n\t\t\t\t\t\tconsole.log(this.state.telID)\r\n\t\t\t\t\t\tif (this.state.telID) {\r\n\t\t\t\t\t\t\tif (res[0].userId == this.state.telID) {\r\n\t\t\t\t\t\t\t\tthis.setState({ username: username });\r\n\t\t\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"\" });\r\n\t\t\t\t\t\t\t\tthis.setState({ errorMessageTelephoneNumber1: \"\" });\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"ชื่อผู้ใช้ \" + username + \" ไม่ตรงกับหมายเลขโทรศัพท์\" });\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"กรุณากรอกชื่อผู้ใช้ให้ถูกต้อง\" });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"\" });\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({ errorMessageUsername: \"ชื่อผู้ใช้ \" + username + \" ไม่มีอยู่ในระบบ\" });\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch((error) => {\r\n\t\t\t\t\tthis.setState({ errorMessageUsername: \"กรุณาติดต่อผู้ดูแลระบบ\" });\r\n\t\t\t\t\tthis.setState({ messageUsername: \"\" });\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ errorMessageUsername: \"ตัวอักษรภาษาอังกฤษและตัวเลข โดยตัวแรกต้องเป็นภาษาอังกฤษเท่านั้น\" });\r\n\t\t\t\tthis.setState({ messageUsername: \"\" });\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.setState({ errorMessageUsername: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษและตัวเลข)\" });\r\n\t\t\tthis.setState({ messageUsername: \"\" });\r\n\t\t\tthis.setState({ userUid: '' })\r\n\t\t}\r\n\r\n\t\t//this.isNotvalidStep1();\r\n\r\n\t}\r\n\r\n\tonPasswordChanged(password) {\r\n\t\t//this.setState({ errorMessagePassword: \"\" });\r\n\t\tthis.setState({ password: password });\r\n\r\n\t\tif (password.length >= 6) {\r\n\t\t\tconst re = new RegExp(\"^(?=.*[a-z])(?=.*[A-Z]).{6,}$\");\r\n\t\t\tconst isOk = re.test(password);\r\n\t\t\tif (!isOk) {\r\n\t\t\t\tthis.setState({ errorMessagePassword: \"ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่\" });\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({ password: password });\r\n\t\t\t\tthis.setState({ errorMessagePassword: \"\" });\r\n\r\n\t\t\t\tif (password == this.state.confirmPassword) {\r\n\t\t\t\t\tthis.setState({ errorMessageConfirmPassword: \"\" });\r\n\t\t\t\t\tthis.setState({ buttonDisable: false });\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n\t\t\t\t\tthis.setState({ buttonDisable: true });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.setState({ errorMessagePassword: \"กรุณากรอกอย่างน้อย 6 ตัวอักษร (ภาษาอังกฤษตัวพิมพ์เล็ก ตัวพิมพ์ใหญ่)\" });\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tonConfirmPasswordChanged(cfpassword) {\r\n\t\tthis.setState({ errorMessageConfirmPassword: \"\" });\r\n\t\tthis.setState({ confirmPassword: \"\" });\r\n\r\n\t\tif (this.state.password == cfpassword) {\r\n\t\t\tthis.setState({ confirmPassword: cfpassword });\r\n\t\t\tthis.setState({ errorMessageConfirmPassword: \"\" });\r\n\t\t\tthis.setState({ buttonDisable: false });\r\n\t\t} else {\r\n\t\t\tthis.setState({ errorMessageConfirmPassword: \"รหัสผ่านยืนยันไม่ตรงกัน\" });\r\n\t\t\tthis.setState({ confirmPassword: cfpassword });\r\n\t\t\tthis.setState({ buttonDisable: true });\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tsetPasswordVisible = (e) => {\r\n\t\tconsole.log(e)\r\n\t\tif (this.state.checkedPasswordVisible) {\r\n\t\t\tthis.setState({ checkedPasswordVisible: false })\r\n\t\t\tthis.setState({ typePasswordInput: 'password' });\r\n\t\t} else {\r\n\t\t\tthis.setState({ checkedPasswordVisible: true })\r\n\t\t\tthis.setState({ typePasswordInput: 'text' });\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tshowSuccess = (message) => {\r\n\t\tthis.growl.show({ severity: 'success', summary: 'สถานะ', detail: message ? message : 'เปลี่ยนรหัสผ่านสำเร็จ' });\r\n\t}\r\n\tshowWarn = (message) => {\r\n\t\tthis.growl.show({ severity: 'warn', summary: 'สถานะ', detail: message ? message : 'มีบางอย่างผิดพลาด กรุณาตรวจสอบ' });\r\n\t}\r\n\tbackToLogin = (res) => {\r\n\t\tvar index = res.toString().indexOf(\"Error:\");\r\n\t\tconsole.log(\"find error:\" + (index));\r\n\t\t\tif (index == -1) {\r\n\t\t\twindow.location = '/#/login'\r\n\t\t\tthis.showSuccess();\r\n\t\t//\r\n\t\t}\r\n\t}\r\n\r\n\tonSubmit = () => {\r\n\t\tlet isValid = false\r\n\t\tisValid = (this.state.username && this.state.password && this.state.mobile_no && this.state.otpCode && this.state.otpRef &&\r\n\t\t\t!this.state.errorMessageUsername && !this.state.errorMessageTelephoneNumber1 && !this.state.errorMessageOtp &&\r\n\t\t\t!this.state.errorMessagePassword && !this.state.errorMessageConfirmPassword);\r\n\t\tif (isValid) {\r\n\t\t\tlet data = {\r\n\t\t\t\tusername: this.state.username,\r\n\t\t\t\tnewPassword: this.state.password,\r\n\t\t\t\tmobile_no: this.state.mobile_no,\r\n\t\t\t\totp_code: parseInt(this.state.otpCode),\r\n\t\t\t\totp_ref: this.state.otpRef,\r\n\t\t\t}\r\n\t\t\tconsole.log(data)\r\n\t\t\tUserService.otpVerifyChangePassword(data).then((res) => {\r\n\t\t\t\tif (res) {\r\n\t\t\t\t\tconsole.log(res);\r\n\t\t\t\t\tvar index = res.toString().indexOf(\"Error:\");\r\n\t\t\t\t\tconsole.log(\"find error:\" + (index));\r\n\t\t\t\t\tif (index == -1) {\r\n\t\t\t\t\t\tthis.showSuccess();\r\n\t\t\t\t\t\t// this.backToLogin(res);\r\n\t\t\t\t\t\tthis.setState({ showPage : false })\r\n\t\t\t\t\t\tthis.setState({ showPageSuccress : true })\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.showWarn('รหัส OTP ไม่ถูกต้อง กรุณากรอกข้อมูลใหม่');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.showWarn();\r\n\t\t\t\t\tthis.setState({ showProgress: false })\r\n\t\t\t\t}\r\n\t\t\t}).catch((error) => {\r\n\t\t\t\tthis.showWarn('เกิดข้อผิดพลาด');\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tthis.showWarn('กรุณากรอกข้อมูลให้ครบถ้วน');\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t this.growl = el} />\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t{/* default page */}\r\n\t\t\t\t\t\t{this.state.showPage && \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\"avalon-react\"\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    ตั้งรหัสผ่านใหม่

    \r\n\t\t\t\t\t\t\t\t\t\tSet password C3Leng\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\tหน้าหลัก
    \r\n\t\t\t\t\t\t\t\t\t\tหน้า login\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{/* {this.state.errorMessageUsername} \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t */}\r\n\t\t\t\t\t\t\t\t\t\t\t this.onUsernameChanged(e.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tisvalid={(valid) => console.log(valid)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.otpDisabled || this.state.otpButtonDisable}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t{this.state.errorMessageUsername} \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t this.onTelephoneNumber1Changed(e.target.value, v)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisvalid={(valid) => this.setState({ isvalid_telephoneNumber1: valid })}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.otpDisabled || this.state.otpButtonDisable}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.errorMessageTelephoneNumber1} \r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t{/* this.onTelephoneNumber1Changed(e.target.value,v)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//onChange={(e)=> this.setState({phoneNumberAdmin: e.target.value})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/> */}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t{!this.state.telephoneNumber1 == '' && this.state.errorMessageTelephoneNumber1 == '' && this.state.errorMessageUsername == '' && !this.state.otpDisabled &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t 0 && this.state.otpButtonDisable && 'ขอ OTP ' + this.state.otpTimeOut + ' วินาที') ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(this.state.otpTimeOut == 0 && !this.state.otpButtonDisable && 'ขอ OTP เพื่อยืนยัน') ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(this.state.otpRef !== '' && !this.state.otpButtonDisable && 'ขอ OTP อีกครั้ง')}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={{ width: '100%' }}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={this.state.otpButtonDisable}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={this.onPressOtp.bind(this)}>\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{this.state.otpShow &&\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t this.onOtpVerify(e.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t//isvalid={(valid) => console.log(valid)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t this.onPasswordChanged(e.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tisvalid={(valid) => console.log(valid)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t this.onConfirmPasswordChanged(e.target.value)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tisvalid={(valid) => console.log(valid)}\r\n\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t{this.state.errorMessageConfirmPassword}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t{/* show succress */}\r\n\t\t\t\t\t{this.state.showPageSuccress&& \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\"project\"\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t

    เปลี่ยนรหัสผ่านสำเร็จ

    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t)\r\n\t}\r\n}\r\n\r\nconst mapStateToProps = (state) => ({\r\n\tauthentication: state.authentication\r\n\r\n})\r\n\r\nconst mapDispatchToProps = dispatch => ({\r\n\r\n\tloginProps: bindActionCreators(UserService, dispatch)\r\n\r\n})\r\n\r\n\r\nexport default\r\n\tconnect(\r\n\t\tmapStateToProps,\r\n\t\tmapDispatchToProps, null, { forwardRef: true })(ForgetPassword)","import React, { useState, useEffect, useRef } from \"react\";\r\n\r\nexport default function Landing() {\r\n\r\n const home = useRef()\r\n const about = useRef()\r\n const privacyPolicy = useRef()\r\n const contractUs = useRef()\r\n\r\n const [isPrivacy, setIsPrivacy] = useState(false)\r\n\r\n const scrollTo = (ref) => {\r\n if (ref && ref.current /* + other conditions */) {\r\n ref.current.scrollIntoView({ behavior: 'smooth', block: 'start' })\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {/******Main Wrapper******/}\r\n
    \r\n
    \r\n {/*NAVBAR WITH RESPONSIVE TOGGLE*/}\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/******Main Cntainer******/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    ซีซาเล้ง

    \r\n

    \r\n จัดการขยะรีไซเคิลเข้าสู่ระบบฯ ครบ จบ ในแอปฯเดียว\r\n โหลดได้เลยที่นี่\r\n

    \r\n {/**/}\r\n\r\n
    \r\n
    \r\n {/*Google Play Btn*/}\r\n \r\n \r\n

    \r\n available on Play Store\r\n

    \r\n
    \r\n
    \r\n
    \r\n {/*Apple Store Btn*/}\r\n \r\n \r\n

    \r\n available on Apple Store\r\n

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

    \r\n เตรียมพบกับ ซีซาเล้ง รูปโฉมใหม่เร็วๆนี้\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \"image\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/****** special about our app Section ******/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*Section Heading Area*/}\r\n
    \r\n

    ทำความรู้จัก ซีซาเล้ง

    \r\n
    \r\n

    \"C3Leng\" แอปฯ ซาเล้งรับซื้อขยะรีไซเคิล

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

    \r\n C3Leng Friend\r\n (ผู้ทิ้งหรือผู้ขายขยะรีไซเคิล)\r\n

    \r\n

    \r\n บุคคลทั่วไป / ร้านค้าฯ / องค์กรฯ / ชุมชนฯ\r\n ที่ต้องการนำขยะรีไซเคิลเข้าสู่กระบวนการจัดการที่ดีและถูกต้อง\r\n เพื่อลดขยะตกค้าง\r\n นำมาซึ่งสิ่งแวดล้อมที่ดีและโลกน่าอยู่มากขึ้น\r\n

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

    \r\n C3Leng Move\r\n (ผู้ขนส่งขยะรีไซเคิล)\r\n

    \r\n

    \r\n เป็นผู้ขนส่ง เพื่อนำขยะรีไซเคิลจาก\r\n “ผู้ทิ้งหรือผู้ขายขยะรีไซเคิล” เพื่อส่งมอบไปยัง\r\n “ร้านรับซื้อขยะรีไซเคิล”\r\n เข้าสู่กระบวนการจัดการค้าวัสดุรีไซเคิล\r\n เพื่อคัดแยกประเภทต่อไป\r\n

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

    \r\n Collecting Center\r\n (ร้านรับซื้อขยะรีไซเคิล)\r\n

    \r\n

    \r\n เป็นผู้รวบรวม, คัดแยกขยะรีไซเคิล\r\n เพื่อเข้าสู่กระบวนการแปรรูปเป็นวัตถุดิบทดแทน,\r\n ลดการใช้ทรัพยากรธรรมชาติ\r\n เพื่อส่งต่อสิ่งแวดล้อมที่ดีและยั่งยืนให้คนรุ่นต่อไป\r\n

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

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/****** special policy our app Section ******/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*Heading Text */}\r\n
    \r\n

    นโยบายคุ้มครองสิทธิความเป็นส่วนตัวของ ซีซาเล้ง

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n setIsPrivacy(!isPrivacy)}\r\n >\r\n เปิดอ่านนโยบายคุ้มครองสิทธิความเป็นส่วนตัวของ ซีซาเล้ง\r\n {!isPrivacy ? : }\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n บริษัท แก้วกรุงไทย จำกัด (“บริษัทฯ”)\r\n ซึ่งประกอบกิจการและกำกับดูแลตลาดออนไลน์ภายใต้ชื่อ\r\n “C3Leng” ในประเทศไทยแต่เพียงผู้เดียว\r\n คำนึงถึงมาตราการปกป้องข้อมูลทุกรูปแบบที่บริษัทฯ\r\n มีในครอบครองทั้งหมดตามกฎหมายต่างๆ ที่เกี่ยวข้อง บริษัท\r\n แก้วกรุงไทย จำกัด ในฐานะผู้ควบคุมข้อมูลตามกฎหมาย\r\n มีสำนักงานตั้งอยู่เลขที่ 589 อาคารวิชชุวรรณ\r\n ชั้นที่ 2 ถนนรัชดาภิเษก แขวงดินแดง เขตดินแดง\r\n กรุงเทพมหานคร 10400  นโยบายความเป็นส่วนตัว (“นโยบาย”)\r\n นี้ ชี้แจงรายละเอียดเกี่ยวกับการได้มา การใช้/ประมวลผล\r\n และการเก็บรักษา\r\n ข้อมูลของผู้ใช้บริการ C3Leng ของบริษัทฯ เท่านั้น\r\n
    \r\n

    \r\n

    \r\n บริษัทฯ\r\n ให้ความสำคัญเกี่ยวกับความโปร่งใสในการดำเนินธุรกิจและการให้บริการต่อสมาชิกหรือผู้ใช้บริการ C3Leng ในฐานะเจ้าของข้อมูล\r\n (“คุณ”)\r\n นโยบายความเป็นส่วนตัวนี้ใช้บังคับเกี่ยวกับข้อมูลที่บริษัทฯ\r\n เก็บรวบรวมและรักษาไว้ โดยอธิบายครอบคลุมถึงประเภท\r\n วัตถุประสงค์\r\n และวิธีปฏิบัติเกี่ยวกับการใช้ประมวลผลและการเก็บรักษาข้อมูลต่างๆ\r\n อันได้แก่ ไอพีแอดเดรส (IP Address) คุกกี้ (Cookies)\r\n และ/หรือข้อมูลส่วนบุคคลที่คุณมอบให้ผ่านเว็บไซต์และแอพพลิเคชั่นของบริษัทฯ\r\n ขณะที่ลงทะเบียนและใช้บริการ C3Leng ซึ่งรวมถึง\r\n ข้อมูล Facebook และ/หรือ Google Account ของคุณ\r\n คุณมีหน้าที่ต้องอ่านและรับทราบนโยบายนี้ทั้งหมดก่อนที่จะให้ข้อมูลใดๆ\r\n กับบริษัทฯ \r\n การใช้เว็บไซต์หรือแอพพลิเคชั่น C3Leng หรือลงทะเบียนการขอใช้บริการและกิจกรรมอื่นๆ\r\n ของเรา\r\n โดยคุณจะต้องให้ความยินยอมผ่านการแสดงเจตนาโดยชัดแจ้งหรือโดยนัยในการอนุญาตให้บริษัทฯ\r\n รวบรวม\r\n ใช้และเก็บรักษาข้อมูลของคุณตามที่กำหนดไว้ตามนโยบายนี้\r\n หากคุณมีข้อสงสัยเกี่ยวกับแนวทางปฏิบัติตามนโยบายความเป็นส่วนตัวนี้\r\n รวมถึงข้อกังวลหรือข้อร้องเรียนเกี่ยวกับข้อมูลของคุณประการใด\r\n โปรดติดต่อโดยส่งเป็นจดหมายหรือคำร้องผ่านทางอีเมลมาที่\r\n adminc3leng@c3leng.com ข้อมูลที่บริษัทฯรวบรวม\r\n

    \r\n

    แหล่งข้อมูล

    \r\n

    \r\n บริษัทฯรวบรวมข้อมูลเกี่ยวกับคุณหรือข้อมูลเกี่ยวกับอุปกรณ์การใช้งานของคุณจากคุณโดยตรงเท่านั้น\r\n ตราบเท่าที่คุณอนุญาตโดยชัดแจ้งหรือโดยนัยให้เราใช้ประมวลผลและเก็บรักษาข้อมูลดังกล่าวผ่านทาง\r\n

    \r\n

    \r\n  • เว็บไซต์ C3Leng\r\n
    \r\n  • แอปพลิเคชั่น C3Leng\r\n
    \r\n  • Facebook (ข้อมูลบัญชีสมาชิกที่เป็นสาธารณะ)\r\n
    \r\n  • Google Account\r\n (ข้อมูลบัญชีสมาชิกที่เป็นสาธารณะ)\r\n
    \r\n  • อุปกรณ์ของผู้ใช้ (คอมพิวเตอร์ และ/หรือ\r\n โทรศัพท์มือถือ)\r\n
    \r\n

    \r\n

    ประเภทของข้อมูล

    \r\n

    \r\n จากแหล่งข้อมูลข้างต้น\r\n ข้อมูลที่บริษัทฯจะเก็บรวบรวมมีดังนี้\r\n
    \r\n

    \r\n

    \r\n  • ชื่อ\r\n
    \r\n  • นามสกุล\r\n
    \r\n  • รูปภาพโปรไฟล์ / ภาพถ่าย\r\n
    \r\n  • ที่อยู่อีเมล์\r\n
    \r\n  • ชื่อบัญชี C3Len Application\r\n
    \r\n  • ชื่อและรหัสผ่านสำหรับบัญชีสมาชิก C3Leng\r\n
    \r\n  • ที่อยู่\r\n
    \r\n  • หมายเลขโทรศัพท์\r\n
    \r\n  • Facebook (member_id, public_profile)\r\n
    \r\n  • Google Account (member_id, public_profile)\r\n
    \r\n  •\r\n เนื้อหาหรือข้อมูลเกี่ยวกับการโพสต์สินค้าบนแพลตฟอร์มของ C3Leng\r\n
    \r\n  • คุกกี้\r\n
    \r\n  • ไอพีแอดเดรส (IP Address)\r\n
    \r\n  • ตำแหน่งทางภูมิศาสตร์\r\n
    \r\n  •\r\n เนื้อหาหรือข้อมูลในเครื่องมือแชทที่มีอยู่บน C3Leng\r\n
    \r\n

    \r\n วิธีการเก็บรวบรวมข้อมูล\r\n

    \r\n

    เราเก็บรวบรวมข้อมูลเกี่ยวกับคุณ ดังต่อไปนี้

    \r\n
    \r\n

    \r\n  •\r\n ในขณะที่คุณกรอกข้อมูลเพื่อการลงทะเบียนเปิดบัญชีสมาชิก C3Leng หรือดูแลปรับปรุงข้อมูลบัญชีสมาชิกของคุณ\r\n หรือขอรับบริการต่าง ๆ บนแพลตฟอร์ม C3Leng\r\n
    \r\n  •\r\n การลงทะเบียนบัญชีสมาชิก C3Leng บริษัทฯจะเก็บรวบรวมข้อมูลเฉพาะที่คุณได้ให้ในแบบฟอร์มที่แสดงอยู่บนแพลตฟอร์มเท่านั้น\r\n
    \r\n  •\r\n การเลือกลงทะเบียนบัญชีสมาชิก C3Leng โดยให้เชื่อมต่อกับบัญชีสมาชิก Facebook หรือ\r\n Google ของคุณ\r\n บริษัทฯจะเก็บรวบรวมข้อมูลโปรไฟล์จากบัญชีสมาชิก Facebook หรือ\r\n Google เฉพาะส่วนที่คุณเปิดเผยแก่สาธารณะ\r\n โปรดทราบว่าบริษัทฯไม่จัดเก็บหรือรับรู้รหัสผ่านเข้าบัญชีสมาชิก Facebook หรือ\r\n Google ของคุณในระบบข้อมูลของบริษัทฯแต่อย่างใด\r\n
    \r\n  • ข้อมูลเกี่ยวกับสินค้า คำบรรยายสินค้า\r\n รูปภาพ ที่ผู้ใช้งานได้ให้หรือปรากฏบนแพลตฟอร์มของ C3Leng\r\n
    \r\n  •\r\n ข้อมูลการสนทนาหรือข้อความระหว่างผู้ใช้งานที่ปรากฏในระบบสนทนา บนแพลตฟอร์ม C3Leng\r\n
    \r\n

    \r\n

    \r\n บริษัทฯรวบรวมข้อมูลเกี่ยวกับอุปกรณ์ของคุณ ดังต่อไปนี้\r\n

    \r\n

    \r\n เมื่อคุณใช้เว็บไซต์หรือแอพพลิเคชั่น C3Leng บริษัทฯจะเก็บรวบรวมและวิเคราะห์ข้อมูลบางอย่างโดยอัตโนมัติซึ่งรวมถึงเบราว์เซอร์ที่ชี้เฉพาะเจาะจง\r\n ที่อยู่ IP และข้อมูลเกี่ยวกับระบบปฏิบัติการ\r\n อุปกรณ์ที่ชี้เฉพาะเจาะจง (เช่น Apple IDFA หรือ Android\r\n Advertising\r\n ID) ตำแหน่งทางภูมิศาสตร์และข้อมูลที่ชี้เฉพาะถึงอุปกรณ์อื่น\r\n ๆ ข้อมูลเกี่ยวกับอินเทอร์เน็ต\r\n รวมถึงรายละเอียดเกี่ยวกับธุรกรรมของคุณที่เกิดขึ้นบนเว็บไซต์และแอพ C3Leng\r\n

    \r\n
    \r\n

    \r\n การใช้คุกกี้และเทคโนโลยีอื่น ๆ\r\n

    \r\n

    \r\n  บริษัทฯ\r\n และบุคคลที่สามใช้เทคโนโลยีเพื่อเก็บรวบรวมข้อมูลเกี่ยวกับการใช้งานของคุณที่เกิดขึ้นบนเว็บไซต์และแอพ C3Leng\r\n

    \r\n

    \r\n  • คุกกี้และเทคโนโลยีอื่น ๆ\r\n เพื่อการเก็บข้อมูล คุกกี้และเทคโนโลยีอื่น ๆ\r\n เพื่อการจัดเก็บ\r\n หมายความถึงไฟล์ที่มีข้อมูลเฉพาะของอุปกรณ์ที่ทางบริษัท\r\n ฯ\r\n หรือบุคคลที่สามได้ส่งถึงหรืออ่านได้จากอุปกรณ์ของคุณซึ่งจะบันทึกจดจำอุปกรณ์ดังกล่าวเพื่อวัตถุประสงค์ในการให้บริการ\r\n การบันทึก การวิเคราะห์พฤติกรรมและทางการตลาด  บริษัท ฯ\r\n และบุคคลที่สามจะใช้วิธีการอัตโนมัติในการอ่านหรือบันทึกข้อมูลอุปกรณ์ของคุณ\r\n ซึ่งรวมถึงคุกกี้ประเภทต่าง ๆ และเบราว์เซอร์ทั้งหลาย\r\n หรือปลั๊กอินอื่น ๆ\r\n (เช่นที่เก็บ HTML5 หรือฐานข้อมูลแบบ Flash)\r\n โดยคุณอาจเลือกที่จะตั้งค่าเว็บเบราว์เซอร์ของคุณให้ปฏิเสธการให้จัดเก็บคุกกี้บางประเภทหรือจัดให้มีการเตือนในกรณีที่มีการส่งคุกกี้บางประเภทได้\r\n ซึ่งเบราว์เซอร์บางชนิดอาจสามารถถูกตั้งค่าที่คล้ายกันในแบบ HTML5 และ Flash ได้ อย่างไรก็ตามหากคุณป้องกันหรือปฏิเสธการให้จัดเก็บคุกกี้หรือที่เก็บข้อมูลในพื้นที่เว็บไซต์ของบริษัทฯ\r\n อาจส่งผลต่อการทำงานของเว็บไซต์ C3Leng ได้\r\n
    \r\n  • เทคโนโลยีอื่น ๆ ในการเก็บข้อมูล \r\n บริษัทฯใช้เทคโนโลยีอัตโนมัติมาตรฐานต่าง ๆ\r\n ในการเก็บข้อมูลเช่นเว็บบีคอน (หรือเรียกว่า clear\r\n GIFs หรือพิกเซลแท็ก)\r\n หรือเทคโนโลยีที่คล้ายคลึงกันเพื่อการติดต่อหรือสื่อสารผ่านทางคุกกี้ต่าง\r\n ๆ\r\n และเพื่อติดตามผลการใช้งานของคุณบนเว็บไซต์และ/หรือแอพของบริษัทฯ\r\n นอกจากนี้บริษัทฯยังใช้เว็บบีคอนกับข้อความในอีเมล์เพื่อติดตามผลว่าคุณเปิดอ่านข้อความ\r\n รวมถึงการใช้งานอื่น ๆ ดังต่อไปนี้
    \r\n

    \r\n

    \r\n  ในบางกรณีบริษัทฯอาจใช้ข้อมูลดังกล่าวเพื่อการโฆษณาที่ดำเนินการโดยบุคคลที่สาม\r\n ซึ่งจะใช้วิธีการเก็บรวบรวมข้อมูลโดยอัตโนมัติ\r\n เช่นคุกกี้\r\n ที่จะติดตามการใช้งานบนเว็บไซต์ของคุณเป็นช่วงๆไป\r\n โดยข้อมูลดังกล่าว\r\n รวมถึงข้อมูลเกี่ยวกับการเข้าชมเว็บไซต์หรือแอพพลิเคชั่นต่างๆ\r\n และข้อมูลอื่นๆ ที่บริษัทฯได้รับ\r\n อาจถูกใช้เพื่อปรับการเสนอโฆษณาที่เหมาะสมตรงกับความสนใจหรือคุณลักษณะเฉพาะตัว\r\n
    \r\n

    \r\n

    \r\n  อย่างไรก็ดี\r\n คุณสามารถควบคุมจัดการที่เกี่ยวกับโฆษณาและการวิเคราะห์ที่นำเสนอโดย Google ได้ที่ https://adssettings.google.com/ และ https://tools.google.com/dlpage/gaoptout ซึ่งการจัดการ\r\n เปลี่ยนแปลงหรืออัปเกรดเบราว์เซอร์ของคุณหรือการลบคุกกี้ออกจากระบบดังกล่าว\r\n อาจต้องทำผ่านวิธีการเลือกไม่รับ (opt-out) อีกขั้นตอนหนึ่ง\r\n ซึ่งการต่อสัญญาณที่ไม่ได้ติดตามบนเบราว์เซอร์ดังกล่าวอยู่นอกเหนือความรับผิดชอบของบริษัทฯ\r\n
    \r\n

    \r\n

    \r\n  สำหรับการควบคุมจัดการความเป็นส่วนตัวเกี่ยวกับอุปกรณ์สื่อสารไร้สายของคุณ\r\n โปรดตรวจสอบรายละเอียดคำแนะนำเกี่ยวกับวิธีใช้การควบคุมความเป็นส่วนตัวเพิ่มเติมใดๆ\r\n ที่ระบบปฏิบัติการมือถือของคุณนำเสนอเช่นการตั้งค่าความเป็นส่วนตัวสำหรับตัวระบุอุปกรณ์และตำแหน่งทางภูมิศาสตร์ได้ด้วยตนเองที่เว็บไซต์ของผู้ผลิตอุปกรณ์อุปกรณ์สื่อสารไร้สายของคุณ \r\n
    \r\n

    \r\n

    \r\n ลิงค์ของบุคคลที่สาม\r\n

    \r\n

    \r\n •\r\n เว็บไซต์และแอปพลิเคชันของ C3Leng อาจมีลิงก์ของเว็บไซต์อื่นๆ\r\n (“บุคคลที่สาม”) ซึ่งไม่อยู่ภายใต้การดูแลของบริษัทฯ\r\n คุณควรตรวจสอบนโยบายความเป็นส่วนตัวของเว็บไซต์ของบุคคลที่สามอย่างละเอียดก่อน\r\n การนำเสนอลิงก์ของบุคคลที่สามนั้น\r\n มีไว้เพื่อความสะดวกที่ผู้ใช้บริการของบริษัทฯสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับหัวข้อบางอย่าง\r\n โดยบุคคลที่สามนั้นไม่ได้ให้หรือแชร์ข้อมูลใดๆ\r\n ของคุณกับบริษัทฯแต่อย่างใด\r\n ดังนั้นบริษัทฯไม่มีความรับผิดชอบต่อการปกป้องความเป็นส่วนตัวหรือเนื้อหาของเว็บไซต์ของบุคคลที่สาม\r\n ไม่ว่าบางส่วนหรือทั้งหมด\r\n

    \r\n

    \r\n บริษัทฯใช้ข้อมูลที่รวบรวมอย่างไร\r\n

    \r\n

    \r\n  บริษัทฯใช้หรือเปิดเผยข้อมูลของคุณเฉพาะด้วยความยินยอมโดยนัยหรือโดยชัดแจ้งที่ระบุไว้ในระเบียบข้อบังคับของกฎหมายที่บังคับทั้งหมดในเขตอำนาจศาลที่เกี่ยวข้องเท่านั้น\r\n ตามวัตถุประสงค์ดังต่อไปนี้\r\n
    \r\n

    \r\n

    \r\n  • เพื่อวัตถุประสงค์ทางธุรกิจของบริษัทฯ\r\n บริษัทฯจะใช้และเก็บข้อมูลเพื่อประมวลผล\r\n วิเคราะห์และปรับปรุงธุรกิจของบริษัทฯ\r\n ซึ่งรวมถึงจัดสรรบริการบนแพลตฟอร์ม C3Leng\r\n
    \r\n  • เพื่อการรักษาความปลอดภัยทางไซเบอร์\r\n บริษัทฯใช้หรือวิเคราะห์ข้อมูลในการตรวจสอบพฤติกรรมหรือกิจกรรมที่อาจผิดกฎหมายเพื่อการป้องกันการฉ้อโกงหรืออาชญากรรมต่างๆ \r\n
    \r\n  •\r\n เพื่อส่งข้อมูลข่าวสารเกี่ยวกับธุรกิจบางอย่างของบริษัทฯให้แก่คุณ\r\n รวมถึงการประชาสัมพันธ์ การส่งเสริมการขาย\r\n การเปลี่ยนแปลงนโยบายต่างๆ\r\n ของแพลตฟอร์มและการสื่อสารทางการตลาด\r\n
    \r\n  •\r\n เพื่อการปรับแต่งเนื้อหาและการโฆษณาที่คุณพบเห็นบนเว็บไซต์และแอพของบริษัทฯผ่านทางอินเทอร์เน็ตและที่อื่นๆ\r\n
    \r\n

    \r\n

    \r\n การเปิดเผยข้อมูลที่บริษัทฯรวบรวม\r\n

    \r\n

    \r\n  •\r\n บริษัทฯอาจแบ่งปันข้อมูลตามกฎหมายหรือคำขออย่างเป็นทางการของหน่วยงานของรัฐ\r\n
    \r\n  •\r\n บริษัทฯอาจแบ่งปันข้อมูลที่ไม่อาจระบุตัวตนของคุณกับบริษัทในเครือของบริษัทฯ ซึ่งถือเป็นส่วนหนึ่งในการดำเนินธุรกิจตามปกติของบริษัทฯ\r\n

    \r\n

    \r\n ระยะเวลาการเก็บข้อมูล\r\n

    \r\n

    \r\n  บริษัทฯจะเก็บรักษาข้อมูลต่างๆ\r\n ตราบเท่าที่จำเป็นในการดำเนินธุรกิจของบริษัทฯ\r\n หรือตามที่กำหนดไว้ตามกฎหมายของประเทศไทย\r\n ซึ่งโดยปกติเป็นระยะเวลา 2\r\n ปีหลังจากนับตั้งแต่เมื่อมีการปิดหรือลบบัญชีสมาชิกหรือตามระยะเวลาที่กำหนดโดยกฎหมายที่เกี่ยวข้อง\r\n เมื่อครบกำหนดเวลาดังกล่าว\r\n บริษัทฯจะลบข้อมูลนั้นออกจากฐานข้อมูลของบริษัทฯ\r\n
    \r\n

    \r\n

    \r\n  อย่างไรก็ดี\r\n คุณอาจใช้สิทธิเพื่อปกป้องความเป็นส่วนตัวของคุณที่จะขอลบหรือทำลายข้อมูลของคุณจากฐานข้อมูลของบริษัทฯได้\r\n โดยทำคำขอเป็นลายลักษณ์อักษรส่งถึงบริษัทฯที่อีเมล์ adminc3leng@c3leng.com\r\n

    \r\n

    \r\n การปรับปรุงและแก้ไขนโยบายนี้\r\n

    \r\n

    \r\n  บริษัท แก้วกรุงไทย\r\n จำกัด ขอสงวนสิทธิ์ตามดุลยพินิจแต่เพียงผู้เดียวในการเปลี่ยนแปลง แก้ไขหรือลบบางส่วนของนโยบายนี้ได้ตลอดเวลา\r\n โปรดติดตามตรวจสอบการเปลี่ยนแปลงหรือแก้ไขเพิ่มเติมนโยบายความเป็นส่วนตัวนี้บนหน้าเว็บไซต์และแพลตฟอร์ม C3Leng \r\n
    \r\n

    \r\n

    \r\n  การที่คุณใช้งานหรือบริการบนเว็บไซต์ต่อไปหลังจากที่มีการเปลี่ยนแปลงหรือแก้ไขเพิ่มเติมนโยบายนี้\r\n ถือว่าคุณได้แสดงเจตนาตกลงยอมรับเงื่อนไขไม่เฉพาะแต่เพียงบางส่วน\r\n แต่ทั้งหมด\r\n

    \r\n
    \r\n

    \r\n นโยบายนี้ปรับปรุงล่าสุดและมีผลใช้บังคับตั้งแต่วันที่ 9 เมษายน 2563\r\n

    \r\n
    \r\n

    \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/****** Video Area Start ***** \r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t
    \r\n\t\t ***** Video Area End ******/}\r\n\r\n {/****** footer-Area-start ******/}\r\n
    \r\n \r\n
    \r\n {/****** footer-Area-End ******/}\r\n
    \r\n \r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Route, withRouter } from 'react-router-dom';\r\nimport Login from \"./pages/Login\";\r\nimport Error from \"./pages/Error\";\r\nimport NotFound from \"./pages/NotFound\";\r\nimport Access from \"./pages/Access\";\r\nimport PrivacyPolicy from \"./pages/PrivacyPolicy\";\r\nimport DeleteAccount from './pages/DeleteAccount';\r\nimport { LandingContainer,RegisterSocialLandingContainer ,AppleLandingContainer} from \"./components/landing\";\r\nimport { WastegenContainer } from \"./components/wastegen\";\r\nimport { WastetranContainer } from \"./components/wastetran\";\r\nimport { WasteproContainer } from \"./components/wastepro\";\r\nimport { WastegenRegisContainer, WastetranRegisContainer, WasteproRegisContainer } from \"./components/register\";\r\nimport { AdministratorContainer } from \"./components/administrator\";\r\nimport { TestContainer } from \"./components/test\";\r\nimport PrivateRoute from './PrivateRoute';\r\nimport ExampleAvatar from './components/test/ExampleAvatar';\r\nimport { WastegenDashboard } from './components/wastegen/WastegenDashboard';\r\n\r\nimport ExampleCtrl from './components/test/ExampleCtrl';\r\nimport ExampleExcel from './components/test/ExampleExcel';\r\nimport TestStateLessCtrl from './components/test/TestStateLessCtrl';\r\n\r\nimport WastgenReportsBuyingPrint from \"./components/wastegen/WastgenReportsBuyingPrint\";\r\nimport WastetranReportsBuyingPrint from \"./components/wastetran/WastetranReportsBuyingPrint\";\r\nimport WasteproReportsBuyingPrint from \"./components/wastepro/WasteproReportsBuyingPrint\";\r\nimport WasteproInvoiceBuyingPrint from \"./components/wastepro/WasteproInvoiceBuyingPrint\";\r\nimport ExamplePDF from './components/test/ExamplePDF';\r\nimport FrequentlyAskedQuestions from './pages/FrequentlyAskedQuestions';\r\nimport ForgetPassword from './pages/ForgetPassword';\r\nimport Landing from './pages/Landing';\r\n\r\nclass AppWrapper extends Component {\r\n\tcomponentDidUpdate(prevProps) {\r\n\t\tif (this.props.location !== prevProps.location) {\r\n\t\t\twindow.scrollTo(0, 0)\r\n\t\t}\r\n\t}\r\n\r\n\twastegenUrl = 'wastegen'\r\n\twastetranUrl = 'wastetran'\r\n\twasteproUrl = 'wastepro'\r\n\twasteadminUrl = 'administrator'\r\n\r\n\r\n\trender() {\r\n\t\tlet urlName = this.props.location.pathname;\r\n\t\tswitch (urlName) {\r\n\t\t\tcase \"/\":\r\n\t\t\t\treturn ;\r\n\t\t\tcase \"/index\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/login\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/error\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/notfound\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/access\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/callback-apple\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/register-landing\":\r\n\t\t\t\t\treturn \r\n\t\t\tcase \"/register-wastegen\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/register-wastetran\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/register-wastepro\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/privacy-policy\":\r\n\t\t\t\t\treturn \r\n\t\t\tcase \"/delete-account\":\r\n\t\t\t\t\treturn \r\n\t\t\tcase \"/faq\":\r\n\t\t\t\t\treturn \r\n\t\t\tcase \"/forget-password\":\r\n\t\t\t\t\treturn \r\n\r\n\t\t\tcase \"/test\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/test-avatar\":\r\n\t\t\t\treturn \r\n\r\n\t\t\tcase \"/report-u1\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/report-u2\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/report-u3\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/invoice-u3\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/test-excel\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/test-stateless\":\r\n\t\t\t\treturn \r\n\t\t\tcase \"/test-pdf\":\r\n\t\t\t\treturn \r\n\r\n\r\n\r\n\t\t\tdefault:\r\n\r\n\t\t\t\tlet checkUserTypeAuthen = localStorage.getItem('user-type');\r\n\r\n\t\t\t\t//>For Login\r\n\t\t\t\tif (checkUserTypeAuthen == this.wastegenUrl) {\r\n\t\t\t\t\treturn \r\n\t\t\t\t} else if (checkUserTypeAuthen == this.wastetranUrl) {\r\n\t\t\t\t\treturn \r\n\t\t\t\t} else if (checkUserTypeAuthen == this.wasteproUrl) {\r\n\t\t\t\t\treturn \r\n\t\t\t\t} else if (checkUserTypeAuthen == this.wasteadminUrl) {\r\n\t\t\t\t\treturn \r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn ;\r\n\t\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport default withRouter(AppWrapper);","// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read http://bit.ly/CRA-PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.1/8 is considered localhost for IPv4.\r\n window.location.hostname.match(\r\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\r\n )\r\n);\r\n\r\nexport function register(config) {\r\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit http://bit.ly/CRA-PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl, config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then(registration => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See http://bit.ly/CRA-PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch(error => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl, config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl)\r\n .then(response => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log(\r\n 'No internet connection found. App is running in offline mode.'\r\n );\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready.then(registration => {\r\n registration.unregister();\r\n });\r\n }\r\n}\r\n","import {\r\n PROVINCE, DISTRICT, SUB_DISTRICT ,CARD_PROVINCE,CARD_DISTRICT, CARD_SUB_DISTRICT,\r\n CHIP_PROVINCE,\r\n CHIP_DISTRICT,\r\n ARR_CHIP_DISTRICT\r\n} from '../service/actionType'\r\n\r\n const initialState = {\r\n province: [],\r\n district: [],\r\n subDistrict: [],\r\n cardProvince: [],\r\n cardDistrict: [],\r\n cardSubDistrict: [],\r\n chipProvince:[],\r\n chipDistrict:[]\r\n \r\n}\r\nexport function location(state = initialState, action) {\r\n switch (action.type) {\r\n case PROVINCE.REQUEST:\r\n case DISTRICT.REQUEST:\r\n case SUB_DISTRICT.REQUEST:\r\n case CHIP_PROVINCE.REQUEST:\r\n return { \r\n ...state,\r\n isFetching: true,\r\n error: null\r\n };\r\n case CARD_PROVINCE.REQUEST:\r\n case CARD_DISTRICT.REQUEST:\r\n case CARD_SUB_DISTRICT.REQUEST:\r\n {\r\n return {\r\n ...state,\r\n isFetching: true,\r\n error: null,\r\n }\r\n }\r\n case PROVINCE.FAILURE:\r\n case DISTRICT.FAILURE:\r\n case SUB_DISTRICT.FAILURE:\r\n case CHIP_PROVINCE.FAILURE:\r\n case CHIP_DISTRICT.FAILURE:\r\n case CARD_PROVINCE.FAILURE:\r\n case CARD_PROVINCE.FAILURE:\r\n case CARD_DISTRICT.FAILURE:\r\n case CARD_SUB_DISTRICT.FAILURE:\r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error,\r\n }\r\n }\r\n\r\n case PROVINCE.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n province: action.payload\r\n }\r\n }\r\n case DISTRICT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n district: action.payload\r\n }\r\n }\r\n case SUB_DISTRICT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n subDistrict: action.payload\r\n }\r\n }\r\n case CARD_PROVINCE.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n cardProvince: action.payload\r\n }\r\n }\r\n case CARD_DISTRICT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n cardDistrict: action.payload\r\n }\r\n }\r\n case CARD_SUB_DISTRICT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n cardSubDistrict: action.payload\r\n }\r\n }\r\n case CHIP_PROVINCE.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n chipProvince: action.payload\r\n }\r\n }\r\n case CHIP_DISTRICT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n chipDistrict: action.payload\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n\r\nconst initialStateArrChips = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\nexport function getArrChipDistrict(state = initialStateArrChips, action) {\r\n switch (action.type) {\r\n case ARR_CHIP_DISTRICT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ARR_CHIP_DISTRICT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ARR_CHIP_DISTRICT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n RPT_APLC_WG,RPT_APLC_WP,RPT_APLC_WT\r\n} from '../service/actionType'\r\n\r\nexport const initialState = {\r\n wgApplicants: [],\r\n wtApplicants: [],\r\n wpApplicants: [],\r\n \r\n}\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case RPT_APLC_WG.REQUEST:\r\n case RPT_APLC_WT.REQUEST:\r\n case RPT_APLC_WP.REQUEST:\r\n {\r\n return {\r\n ...state,\r\n isFetching: true,\r\n error: null,\r\n }\r\n }\r\n case RPT_APLC_WG.FAILURE:\r\n case RPT_APLC_WT.FAILURE:\r\n case RPT_APLC_WT.FAILURE:\r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error,\r\n }\r\n }\r\n\r\n case RPT_APLC_WG.SUCCESS: \r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n wgApplicants: action.payload\r\n }\r\n }\r\n \r\n case RPT_APLC_WT.SUCCESS:\r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n wtApplicants: action.payload\r\n }\r\n }\r\n \r\n case RPT_APLC_WP.SUCCESS:\r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n wpApplicants: action.payload\r\n }\r\n }\r\n \r\n \r\n default:\r\n return state\r\n }\r\n}\r\n","import {\r\n DHB_USER\r\n} from '../service/actionType'\r\n\r\nexport const initialState = {\r\n dhbUsers: {},\r\n\r\n}\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n case DHB_USER.REQUEST:\r\n \r\n {\r\n return {\r\n ...state,\r\n isFetching: true,\r\n error: null,\r\n }\r\n }\r\n case DHB_USER.FAILURE:\r\n \r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error,\r\n }\r\n }\r\n\r\n case DHB_USER.SUCCESS: \r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n dhbUsers: action.payload\r\n }\r\n }\r\n \r\n \r\n \r\n default:\r\n return state\r\n }\r\n}\r\n","import {\r\n BANK, \r\n PRDT, \r\n PRD,\r\n MASTER_SETTING_PARAMETER\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n banks: [],\r\n productType: [],\r\n product: [],\r\n}\r\n\r\nconst initialStateMaster = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nexport function master(state = initialState, action) {\r\n switch (action.type) {\r\n case BANK.REQUEST:\r\n case PRDT.REQUEST:\r\n case PRD.REQUEST:\r\n {\r\n return {\r\n ...state,\r\n isFetching: true,\r\n error: null,\r\n }\r\n }\r\n case BANK.FAILURE:\r\n case PRDT.FAILURE:\r\n case PRD.FAILURE:\r\n {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: action.error,\r\n }\r\n }\r\n\r\n case BANK.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n banks: action.payload\r\n }\r\n }\r\n case PRDT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n productType: action.payload\r\n }\r\n }\r\n case PRD.SUCCESS: {\r\n return {\r\n ...state,\r\n isFetching: false,\r\n error: null,\r\n product: action.payload\r\n }\r\n }\r\n\r\n\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function settingParameter(state = initialStateMaster, action) {\r\n switch (action.type) {\r\n case MASTER_SETTING_PARAMETER.REQUEST:\r\n return { ...state, isFailed: false, isLoading: true };\r\n case MASTER_SETTING_PARAMETER.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case MASTER_SETTING_PARAMETER.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n USER_INFO,\r\n UPDATE_WASTEGEN_PROFILE,\r\n UPDATE_WASTEPRO_PROFILE,\r\n UPDATE_WASTETRAN_PROFILE,\r\n CHANGE_PASSWORD,\r\n USER_ANNOUNCE,\r\n USER_CERT_LIST\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\n\r\nexport function userInfo(state = initialState, action) {\r\n switch (action.type) {\r\n case USER_INFO.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case USER_INFO.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case USER_INFO.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function updateWastegenProfile(state = initialState, action) {\r\n switch (action.type) {\r\n case UPDATE_WASTEGEN_PROFILE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case UPDATE_WASTEGEN_PROFILE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case UPDATE_WASTEGEN_PROFILE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function updateWasteproProfile(state = initialState, action) {\r\n switch (action.type) {\r\n case UPDATE_WASTEPRO_PROFILE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case UPDATE_WASTEPRO_PROFILE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case UPDATE_WASTEPRO_PROFILE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function updateWastetranProfile(state = initialState, action) {\r\n switch (action.type) {\r\n case UPDATE_WASTETRAN_PROFILE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case UPDATE_WASTETRAN_PROFILE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case UPDATE_WASTETRAN_PROFILE.FAILURE:\r\n\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function changePassword(state = initialState, action) {\r\n switch (action.type) {\r\n case CHANGE_PASSWORD.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case CHANGE_PASSWORD.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case CHANGE_PASSWORD.FAILURE:\r\n\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function userAnnounce(state = initialState, action) {\r\n switch (action.type) {\r\n case USER_ANNOUNCE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case USER_ANNOUNCE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case USER_ANNOUNCE.FAILURE:\r\n\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function userCert(state = initialState, action) {\r\n switch (action.type) {\r\n case USER_CERT_LIST.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case USER_CERT_LIST.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case USER_CERT_LIST.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n\r\n","import {\r\n WASTETRAN_FILE_DELETE,\r\n WASTEPRO_FILE_DELETE\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nexport function deleteWasteTranFile(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_FILE_DELETE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_FILE_DELETE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_FILE_DELETE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function deleteWasteproFile(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEPRO_FILE_DELETE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEPRO_FILE_DELETE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEPRO_FILE_DELETE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n ORDER_SEARCH,\r\n ORDER_AUTO_COMP\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nexport function orderSearch(state = initialState, action) {\r\n switch (action.type) {\r\n case ORDER_SEARCH.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ORDER_SEARCH.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ORDER_SEARCH.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function orderAutoComplete(state = initialState, action) {\r\n switch (action.type) {\r\n case ORDER_AUTO_COMP.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ORDER_AUTO_COMP.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ORDER_AUTO_COMP.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n WASTEGEN_ACCOUNT_BALANCE,\r\n WASTEGEN_ACCOUNT_WITHDRAW,\r\n WASTEGEN_ACCOUNT_WITHDRAW_HISTORY,\r\n WASTEGEN_DASH_LAST_ORDER,\r\n WASTEGEN_DASH_PRODUCT,\r\n WASTEGEN_CHANGE_PIN,\r\n WASTEGEN_DONATE,\r\n WASTEGEN_TRANSFER_DONATE,\r\n WASTEGEN_DONATE_HISTORY,\r\n WASTETGEN_REGIS_WASTETRAN\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nexport function wastegenBalance(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_ACCOUNT_BALANCE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_ACCOUNT_BALANCE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_ACCOUNT_BALANCE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenWithdraw(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_ACCOUNT_WITHDRAW.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_ACCOUNT_WITHDRAW.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_ACCOUNT_WITHDRAW.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenWithdrawHistory(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_ACCOUNT_WITHDRAW_HISTORY.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_ACCOUNT_WITHDRAW_HISTORY.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_ACCOUNT_WITHDRAW_HISTORY.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getWastegenDashLastOrder(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_DASH_LAST_ORDER.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_DASH_LAST_ORDER.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_DASH_LAST_ORDER.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function getWastegenDashProduct(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_DASH_PRODUCT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_DASH_PRODUCT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_DASH_PRODUCT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenChangePin(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_CHANGE_PIN.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_CHANGE_PIN.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_CHANGE_PIN.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenDonate(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_DONATE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_DONATE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_DONATE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenTransfer(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_TRANSFER_DONATE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_TRANSFER_DONATE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_TRANSFER_DONATE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenDonateHistory(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEGEN_DONATE_HISTORY.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEGEN_DONATE_HISTORY.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEGEN_DONATE_HISTORY.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastegenRegisWastetran(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETGEN_REGIS_WASTETRAN.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETGEN_REGIS_WASTETRAN.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETGEN_REGIS_WASTETRAN.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n WASTETRAN_ACCOUNT_BALANCE,\r\n WASTETRAN_ACCOUNT_WITHDRAW,\r\n WASTETRAN_ACCOUNT_WITHDRAW_HISTORY,\r\n WASTETRAN_AUTO_ORDER,\r\n WASTETRAN_ORDER_SEARCH_NOTI,\r\n WASTETRAN_DASH_PRODUCT,\r\n WASTETRAN_DASH_ORDER_STAT,\r\n WASTETRAN_CHANGE_PIN,\r\n WASTETRAN_DONATE,\r\n WASTETRAN_TRANSFER_DONATE,\r\n WASTETRAN_DONATE_HISTORY,\r\n WASTETRAN_REGIS_WASTEGEN\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\n\r\nexport function wastetranBalance(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_ACCOUNT_BALANCE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_ACCOUNT_BALANCE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_ACCOUNT_BALANCE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranWithdraw(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_ACCOUNT_WITHDRAW.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_ACCOUNT_WITHDRAW.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_ACCOUNT_WITHDRAW.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranWithdrawHistory(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_ACCOUNT_WITHDRAW_HISTORY.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_ACCOUNT_WITHDRAW_HISTORY.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_ACCOUNT_WITHDRAW_HISTORY.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranAutoOrder(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_AUTO_ORDER.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_AUTO_ORDER.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_AUTO_ORDER.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function wastetranOrderSearchNoti(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_ORDER_SEARCH_NOTI.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_ORDER_SEARCH_NOTI.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_ORDER_SEARCH_NOTI.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function getWastetranDashProduct(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_DASH_PRODUCT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_DASH_PRODUCT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_DASH_PRODUCT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function getWastetranDashOrderStat(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_DASH_ORDER_STAT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_DASH_ORDER_STAT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_DASH_ORDER_STAT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranChangePin(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_CHANGE_PIN.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_CHANGE_PIN.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_CHANGE_PIN.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranDonate(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_DONATE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_DONATE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_DONATE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranTransfer(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_TRANSFER_DONATE.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_TRANSFER_DONATE.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_TRANSFER_DONATE.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranDonateHistory(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_DONATE_HISTORY.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_DONATE_HISTORY.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_DONATE_HISTORY.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function wastetranRegisWastegen(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTETRAN_REGIS_WASTEGEN.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTETRAN_REGIS_WASTEGEN.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTETRAN_REGIS_WASTEGEN.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n WASTEPRO_ORDER_SEARCH,\r\n WASTEPRO_DASH_PRODUCT,\r\n WASTEPRO_DASH_PAYMENT\r\n , WASTEPRO_DASH_SUMMARY_OVERDUE\r\n , WASTEPRO_DASH_SUMMARY_PAID\r\n , WASTEPRO_DASH_SUMMARY_PRODUCTS,\r\n WASTEPRO_DASH_ORDER_STAT\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nexport function wasteproOrderSearch(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEPRO_ORDER_SEARCH.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEPRO_ORDER_SEARCH.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEPRO_ORDER_SEARCH.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getWasteproDashProduct(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEPRO_DASH_PRODUCT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEPRO_DASH_PRODUCT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEPRO_DASH_PRODUCT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function getWasteproDashPayment(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEPRO_DASH_PAYMENT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEPRO_DASH_PAYMENT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEPRO_DASH_PAYMENT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\n\r\nconst initialStateSummary = {\r\n dataOverdue: null,\r\n dataPaid: null,\r\n dataProducts: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\nexport function getWasteproDashSummary(state = initialStateSummary, action) {\r\n switch (action.type) {\r\n case WASTEPRO_DASH_SUMMARY_OVERDUE.REQUEST:\r\n return { ...state, isFailed: false, dataOverdue: null, isLoading: true };\r\n case WASTEPRO_DASH_SUMMARY_OVERDUE.SUCCESS:\r\n return { ...state, isFailed: false, dataOverdue: action.payload, isLoading: false };\r\n case WASTEPRO_DASH_SUMMARY_OVERDUE.FAILURE:\r\n return { ...state, isFailed: true, dataOverdue: action.payload, isLoading: false };\r\n\r\n case WASTEPRO_DASH_SUMMARY_PAID.REQUEST:\r\n return { ...state, isFailed: false, dataPaid: null, isLoading: true };\r\n case WASTEPRO_DASH_SUMMARY_PAID.SUCCESS:\r\n return { ...state, isFailed: false, dataPaid: action.payload, isLoading: false };\r\n case WASTEPRO_DASH_SUMMARY_PAID.FAILURE:\r\n return { ...state, isFailed: true, dataPaid: action.payload, isLoading: false };\r\n\r\n case WASTEPRO_DASH_SUMMARY_PRODUCTS.REQUEST:\r\n return { ...state, isFailed: false, dataProducts: null, isLoading: true };\r\n case WASTEPRO_DASH_SUMMARY_PRODUCTS.SUCCESS:\r\n return { ...state, isFailed: false, dataProducts: action.payload, isLoading: false };\r\n case WASTEPRO_DASH_SUMMARY_PRODUCTS.FAILURE:\r\n return { ...state, isFailed: true, dataProducts: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getWasteproDashOrderStat(state = initialState, action) {\r\n switch (action.type) {\r\n case WASTEPRO_DASH_ORDER_STAT.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case WASTEPRO_DASH_ORDER_STAT.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case WASTEPRO_DASH_ORDER_STAT.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n","import {\r\n AUTO_ADMINALL,\r\n AUTO_PROD,\r\n AUTO_WASTEALL,\r\n AUTO_WASTEGEN,\r\n AUTO_WASTETRAN,\r\n AUTO_WASTEPRO\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nexport function autoCompleteAdminAll(state = initialState, action) {\r\n switch (action.type) {\r\n case AUTO_ADMINALL.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case AUTO_ADMINALL.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case AUTO_ADMINALL.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function autoCompleteProduct(state = initialState, action) {\r\n switch (action.type) {\r\n case AUTO_PROD.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case AUTO_PROD.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case AUTO_PROD.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function autoCompleteWasteall(state = initialState, action) {\r\n switch (action.type) {\r\n case AUTO_WASTEALL.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case AUTO_WASTEALL.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case AUTO_WASTEALL.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function autoCompleteWastegen(state = initialState, action) {\r\n switch (action.type) {\r\n case AUTO_WASTEGEN.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case AUTO_WASTEGEN.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case AUTO_WASTEGEN.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function autoCompleteWastetran(state = initialState, action) {\r\n switch (action.type) {\r\n case AUTO_WASTETRAN.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case AUTO_WASTETRAN.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case AUTO_WASTETRAN.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\nexport function autoCompleteWastepro(state = initialState, action) {\r\n switch (action.type) {\r\n case AUTO_WASTEPRO.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case AUTO_WASTEPRO.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case AUTO_WASTEPRO.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}","import {\r\n ADMIN_ANNOUNCE_ADD,\r\n ADMIN_DASH_SUMMARY_AREA,\r\n ADMIN_DASH_SUMMARY_WITHDRAW,\r\n ADMIN_DASH_SUMMARY_AREA_SEARCH,\r\n ADMIN_USER_LIST,\r\n ADMIN_CERT_TEMPLATE_LIST,\r\n ADMIN_CERT_RESULT_LIST,\r\n ADMIN_USER_LIST_CHAT,\r\n LOAD_MORE_ADMIN_USER_LIST,\r\n ADD_NEW_ADMIN_USER_LIST,\r\n} from '../service/actionType'\r\n\r\nconst initialState = {\r\n data: null,\r\n isFailed: false,\r\n isLoading: false\r\n}\r\n\r\nconst initialUserListState = {\r\n data: [],\r\n isFailed: false,\r\n isLoading: false,\r\n}\r\n\r\nexport function adminAnnounceAdd(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_ANNOUNCE_ADD.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_ANNOUNCE_ADD.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_ANNOUNCE_ADD.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getAdminDashSummaryArea(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_DASH_SUMMARY_AREA.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_DASH_SUMMARY_AREA.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_DASH_SUMMARY_AREA.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getAdminDashSummaryAreaSearch(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_DASH_SUMMARY_AREA_SEARCH.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_DASH_SUMMARY_AREA_SEARCH.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_DASH_SUMMARY_AREA_SEARCH.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getAdminDashSummaryWithdraw(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_DASH_SUMMARY_WITHDRAW.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_DASH_SUMMARY_WITHDRAW.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_DASH_SUMMARY_WITHDRAW.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getUsersAllForManagement(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_USER_LIST.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_USER_LIST.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_USER_LIST.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function adminCertTemplate(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_CERT_TEMPLATE_LIST.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_CERT_TEMPLATE_LIST.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_CERT_TEMPLATE_LIST.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function adminCertResult(state = initialState, action) {\r\n switch (action.type) {\r\n case ADMIN_CERT_RESULT_LIST.REQUEST:\r\n return { ...state, isFailed: false, data: null, isLoading: true };\r\n case ADMIN_CERT_RESULT_LIST.SUCCESS:\r\n return { ...state, isFailed: false, data: action.payload, isLoading: false };\r\n case ADMIN_CERT_RESULT_LIST.FAILURE:\r\n return { ...state, isFailed: true, data: action.payload, isLoading: false };\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function getUsersAll(state = initialUserListState, action) {\r\n switch (action.type) {\r\n case ADMIN_USER_LIST_CHAT.REQUEST:\r\n return { ...state, data: initialUserListState.data, isFailed: false, isLoading: true }\r\n case LOAD_MORE_ADMIN_USER_LIST.REQUEST:\r\n return { ...state, isFailed: false, isLoading: true }\r\n case ADMIN_USER_LIST_CHAT.FAILURE:\r\n case LOAD_MORE_ADMIN_USER_LIST.FAILURE:\r\n return { ...state, isFailed: true, isLoading: false }\r\n case ADMIN_USER_LIST_CHAT.SUCCESS: {\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n data: action.payload,\r\n }\r\n }\r\n case LOAD_MORE_ADMIN_USER_LIST.SUCCESS: {\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n data: [...state.data, ...action.payload],\r\n }\r\n }\r\n case ADD_NEW_ADMIN_USER_LIST: {\r\n const newUsers = [action.message, ...state.data.messages]\r\n return { ...state, data: { ...state.data, newUsers } }\r\n }\r\n default:\r\n return state\r\n }\r\n }","import { v4 as uuidv4 } from 'uuid'\r\nimport {\r\n GET_CHAT_MESSAGE_BY_ROOM,\r\n LOAD_MORE_CHAT_MESSAGE,\r\n ADD_NEW_CHAT_MESSAGE,\r\n GET_CHAT_LIST,\r\n GET_CHAT_PICKUP_BADGE,\r\n GET_CHAT_DELIVERY_BADGE,\r\n GET_CHAT_ADMIN_BADGE,\r\n} from '../service/actionType'\r\n\r\nconst initialChatMessageState = {\r\n data: {\r\n messages: [],\r\n },\r\n isFailed: false,\r\n isLoading: false,\r\n}\r\n\r\nconst initialChatListState = {\r\n data: [],\r\n isFailed: false,\r\n isLoading: false,\r\n}\r\n\r\nconst initialChatBadge = {\r\n pickup: 0,\r\n delivery: 0,\r\n admin: 0,\r\n isFailed: false,\r\n isLoading: false,\r\n}\r\n\r\nexport function chatMessageByRoom(state = initialChatMessageState, action) {\r\n switch (action.type) {\r\n case GET_CHAT_MESSAGE_BY_ROOM.REQUEST:\r\n return { ...state, data: initialChatMessageState.data, isFailed: false, isLoading: true }\r\n case LOAD_MORE_CHAT_MESSAGE.REQUEST:\r\n return { ...state, isFailed: false, isLoading: true }\r\n case GET_CHAT_MESSAGE_BY_ROOM.FAILURE:\r\n case LOAD_MORE_CHAT_MESSAGE.FAILURE:\r\n return { ...state, isFailed: true, isLoading: false }\r\n case GET_CHAT_MESSAGE_BY_ROOM.SUCCESS: {\r\n const messageWithId = action.payload.messages.map(item => ({\r\n ...item,\r\n message_id: item.message_id || uuidv4(),\r\n }))\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n data: {\r\n ...action.payload,\r\n messages: messageWithId,\r\n },\r\n }\r\n }\r\n case LOAD_MORE_CHAT_MESSAGE.SUCCESS: {\r\n const messageWithId = action.payload.messages.map(item => ({\r\n ...item,\r\n message_id: item.message_id || uuidv4(),\r\n }))\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n data: {\r\n ...state.data,\r\n messages: [...state.data.messages, ...messageWithId],\r\n },\r\n }\r\n }\r\n case ADD_NEW_CHAT_MESSAGE: {\r\n const newMessages = [action.message, ...state.data.messages]\r\n return { ...state, data: { ...state.data, messages: newMessages } }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function chatList(state = initialChatListState, action) {\r\n switch (action.type) {\r\n case GET_CHAT_LIST.REQUEST:\r\n return { ...state, isFailed: false, isLoading: true }\r\n case GET_CHAT_LIST.FAILURE:\r\n return { ...state, isFailed: true, isLoading: false }\r\n case GET_CHAT_LIST.SUCCESS: {\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n data: action.payload,\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}\r\n\r\nexport function chatSingleBadge(state = initialChatBadge, action) {\r\n switch (action.type) {\r\n case GET_CHAT_PICKUP_BADGE: {\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n pickup: action.payload,\r\n }\r\n }\r\n case GET_CHAT_DELIVERY_BADGE: {\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n delivery: action.payload,\r\n }\r\n }\r\n case GET_CHAT_ADMIN_BADGE: {\r\n return {\r\n ...state,\r\n isFailed: false,\r\n isLoading: false,\r\n admin: action.payload,\r\n }\r\n }\r\n default:\r\n return state\r\n }\r\n}","import { combineReducers } from 'redux'\r\nimport { reducer as formReducer } from 'redux-form'\r\n\r\nimport {\r\n location,\r\n getArrChipDistrict\r\n} from './locationReducer'\r\nimport reportAdmin from './rptAdminReducer'\r\nimport dhbAdmin from './dhbAdminReducer'\r\nimport {authentication} from './authen.reducer'\r\nimport {\r\n master,\r\n settingParameter\r\n} from './masterReducer'\r\nimport {userInfo,\r\n updateWastegenProfile,\r\n updateWasteproProfile,\r\n updateWastetranProfile,\r\n changePassword,\r\n userAnnounce,\r\n userCert\r\n} from './userinfo.reducer'\r\nimport {\r\n deleteWasteTranFile,\r\n deleteWasteproFile\r\n} from './file.reducer'\r\nimport {\r\n orderSearch,\r\n orderAutoComplete\r\n} from './order.reducer'\r\n\r\nimport {\r\n wastegenBalance,\r\n wastegenWithdraw,\r\n wastegenWithdrawHistory,\r\n getWastegenDashLastOrder,\r\n getWastegenDashProduct,\r\n wastegenChangePin,\r\n wastegenDonate,\r\n wastegenTransfer,\r\n wastegenDonateHistory,\r\n wastegenRegisWastetran\r\n} from './wastegen.reducer'\r\n\r\nimport {\r\n wastetranBalance,\r\n wastetranWithdraw,\r\n wastetranWithdrawHistory,\r\n wastetranAutoOrder,\r\n wastetranOrderSearchNoti,\r\n getWastetranDashProduct,\r\n getWastetranDashOrderStat,\r\n wastetranChangePin,\r\n wastetranDonate,\r\n wastetranTransfer,\r\n wastetranDonateHistory,\r\n wastetranRegisWastegen\r\n} from './wastetran.reducer'\r\n\r\nimport {\r\n wasteproOrderSearch,\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat\r\n} from './wastepro.reducer'\r\n\r\nimport {\r\n autoCompleteAdminAll,\r\n autoCompleteProduct,\r\n autoCompleteWasteall,\r\n autoCompleteWastegen,\r\n autoCompleteWastetran,\r\n autoCompleteWastepro,\r\n} from './autocomplete.reducer'\r\n\r\nimport {\r\n adminAnnounceAdd,\r\n getAdminDashSummaryArea,\r\n getAdminDashSummaryAreaSearch,\r\n getAdminDashSummaryWithdraw,\r\n getUsersAllForManagement, \r\n adminCertTemplate,\r\n adminCertResult,\r\n getUsersAll,\r\n} from './admin.reducer'\r\n\r\nimport {\r\n chatMessageByRoom,\r\n chatList,\r\n chatSingleBadge,\r\n} from './chatReducer'\r\n\r\nexport default combineReducers({\r\n form: formReducer,\r\n location,\r\n getArrChipDistrict,\r\n reportAdmin,\r\n dhbAdmin,\r\n authentication,\r\n userInfo,\r\n updateWastegenProfile,\r\n updateWasteproProfile,\r\n updateWastetranProfile,\r\n master,\r\n\r\n changePassword,\r\n\r\n //> ORDER\r\n orderSearch,\r\n orderAutoComplete,\r\n\r\n //>Wastegen\r\n wastegenBalance,\r\n wastegenWithdraw,\r\n wastegenWithdrawHistory,\r\n getWastegenDashLastOrder,\r\n getWastegenDashProduct,\r\n wastegenChangePin,\r\n wastegenDonate,\r\n wastegenTransfer,\r\n wastegenDonateHistory,\r\n wastegenRegisWastetran,\r\n //>Wastetran\r\n wastetranBalance,\r\n wastetranWithdraw,\r\n wastetranWithdrawHistory,\r\n wastetranAutoOrder,\r\n wastetranOrderSearchNoti,\r\n getWastetranDashProduct,\r\n getWastetranDashOrderStat,\r\n wastetranChangePin,\r\n wastetranDonate,\r\n wastetranTransfer,\r\n wastetranDonateHistory,\r\n wastetranRegisWastegen,\r\n //>Wastepro\r\n wasteproOrderSearch,\r\n getWasteproDashPayment,\r\n getWasteproDashProduct,\r\n getWasteproDashSummary,\r\n getWasteproDashOrderStat,\r\n //>Auto complate\r\n autoCompleteAdminAll,\r\n autoCompleteProduct,\r\n autoCompleteWasteall,\r\n autoCompleteWastegen,\r\n autoCompleteWastetran,\r\n autoCompleteWastepro,\r\n //>ADMIN\r\n adminAnnounceAdd,\r\n getAdminDashSummaryArea,\r\n getAdminDashSummaryAreaSearch,\r\n getAdminDashSummaryWithdraw,\r\n getUsersAllForManagement,\r\n adminCertTemplate,\r\n adminCertResult,\r\n getUsersAll,\r\n //>USER\r\n userAnnounce,\r\n userCert,\r\n //>File\r\n deleteWasteTranFile,\r\n deleteWasteproFile,\r\n //>CHAT\r\n chatMessageByRoom,\r\n chatList,\r\n chatSingleBadge,\r\n //>MASTER\r\n settingParameter\r\n})\r\n","import { createStore, applyMiddleware, compose } from 'redux'\r\nimport thunk from 'redux-thunk'\r\nimport reducer from './reducer'\r\n\r\nconst configureStore = (initialState) => {\r\n const middlewares = [\r\n thunk\r\n ]\r\n\r\n const enhancer = compose(applyMiddleware(...middlewares))\r\n const store = createStore(reducer, initialState, enhancer)\r\n\r\n return {\r\n store,\r\n }\r\n}\r\n\r\nexport const { store } = configureStore()\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport AppWrapper from './AppWrapper';\r\nimport { HashRouter } from 'react-router-dom'\r\nimport * as serviceWorker from './serviceWorker';\r\nimport 'babel-polyfill';\r\nimport 'primeicons/primeicons.css';\r\nimport 'primeflex/primeflex.css';\r\nimport 'font-awesome/css/font-awesome.css';\r\nimport 'primereact/resources/primereact.min.css';\r\nimport { Provider } from 'react-redux'\r\nimport { store } from './store';\r\n\r\nReactDOM.render(\r\n \r\n \r\n\t\t\r\n ,\r\n document.getElementById('root')\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: http://bit.ly/CRA-PWA\r\nserviceWorker.unregister();","import axios from 'axios';\r\nimport { SecureUtils } from '../utils';\r\n// Add a request interceptor\r\naxios.interceptors.request.use(function (config) {\r\n // Do something before request is sent\r\n \r\n return config;\r\n }, function (error) {\r\n // Do something with request error\r\n return Promise.reject(error);\r\n });\r\n\r\n// Add a response interceptor\r\naxios.interceptors.response.use(function (response) {\r\n \r\n // Do something with response data\r\n \r\n return response;\r\n }, function (error) {\r\n \r\n if(error.response.status==401){\r\n console.log(error.response)\r\n SecureUtils.clear();\r\n //window.location.reload(true);\r\n }\r\n \r\n // Do something with response error\r\n return Promise.reject(error);\r\n });\r\n\r\nexport default axios;","\r\n\r\nimport { API_ROOT } from '../constants/api'\r\nimport axios from './axios'\r\nimport {\r\n LOGIN,\r\n USER_TYPE,\r\n LOGOUT,\r\n USER_INFO,\r\n UPDATE_WASTEGEN_PROFILE,\r\n UPDATE_WASTEPRO_PROFILE,\r\n UPDATE_WASTETRAN_PROFILE,\r\n CHANGE_PASSWORD,\r\n USER_ANNOUNCE,\r\n USER_CERT_LIST\r\n} from './actionType'\r\nimport { SecureUtils } from '../utils';\r\n\r\n\r\nexport const userService = {\r\n login,\r\n logout,\r\n};\r\n\r\nexport const login = (username, password) => (dispatch) => {\r\n dispatch({ type: LOGIN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/login`,\r\n headers: { 'Content-Type': 'application/json' },\r\n data: JSON.stringify({ username, password })\r\n })\r\n .then((res) => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n //> store token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('access-token', res.data);\r\n\r\n let user = {\r\n username: username,\r\n password: password\r\n }\r\n\r\n SecureUtils.setItem('user', user)\r\n\r\n dispatch({ type: LOGIN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: LOGIN.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const loginExternal = (model) => (dispatch) => {\r\n dispatch({ type: LOGIN.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/login/external`,\r\n headers: { 'Content-Type': 'application/json' },\r\n data: JSON.stringify(model)\r\n }).then((res) => {\r\n //> store token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('access-token', res.data);\r\n dispatch({ type: LOGIN.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: LOGIN.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const logout = () => (dispatch) => {\r\n //> remove user from local storage to log user out\r\n // localStorage.removeItem('access-token');\r\n // localStorage.removeItem('user-type');\r\n // localStorage.removeItem('auth-facebook');\r\n // localStorage.removeItem('auth-google');\r\n SecureUtils.clear();\r\n dispatch({ type: LOGOUT.SUCCESS, accessToken: null, userType: null })\r\n}\r\n\r\n\r\nexport const getUserType = () => (dispatch) => {\r\n dispatch({ type: USER_TYPE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/Profile`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n\r\n let wasteTypeId = 0;\r\n let userType = res.data.user_wasteTypes;\r\n if (userType) {\r\n userType.map(rs => {\r\n if (rs.wasteType > wasteTypeId) {\r\n wasteTypeId = rs.wasteType\r\n }\r\n })\r\n }\r\n\r\n let wasteTypeName = '';\r\n switch (wasteTypeId) {\r\n case 1:\r\n wasteTypeName = 'wastegen';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n case 2:\r\n wasteTypeName = 'wastetran';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n case 3:\r\n wasteTypeName = 'wastepro';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n case 4:\r\n wasteTypeName = 'administrator';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n default:\r\n localStorage.removeItem('user-type')\r\n break;\r\n }\r\n\r\n dispatch({ type: USER_TYPE.SUCCESS, payload: wasteTypeName })\r\n }).catch((error) => {\r\n dispatch({ type: USER_TYPE.FAILURE, payload: error.message })\r\n return error;\r\n })\r\n}\r\n\r\nexport const getUserTypeFunction = () => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/Profile`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n\r\n let wasteTypeId = 0;\r\n let userType = res.data.user_wasteTypes;\r\n if (userType) {\r\n userType.map(rs => {\r\n if (rs.wasteType > wasteTypeId) {\r\n wasteTypeId = rs.wasteType\r\n }\r\n })\r\n }\r\n\r\n let wasteTypeName = '';\r\n switch (wasteTypeId) {\r\n case 1:\r\n wasteTypeName = 'wastegen';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n case 2:\r\n wasteTypeName = 'wastetran';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n case 3:\r\n wasteTypeName = 'wastepro';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n case 4:\r\n wasteTypeName = 'administrator';\r\n localStorage.setItem('user-type', wasteTypeName);\r\n break;\r\n default:\r\n localStorage.removeItem('user-type')\r\n break;\r\n }\r\n return true;\r\n }).catch((error) => {\r\n return false;\r\n })\r\n}\r\n\r\n\r\nexport const getUserInfo = () => (dispatch) => {\r\n dispatch({ type: USER_INFO.REQUEST, isLoading: true })\r\n const role = localStorage.getItem('user-type')\r\n console.log('current role', role)\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/Profile/byrole/${role}`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n })\r\n .then((res) => {\r\n let userInfo = res.data;\r\n if (userInfo && userInfo.user_wasteTypes) {\r\n for (let key in userInfo.user_wasteTypes) {\r\n SecureUtils.setItem(\"uid\", userInfo.user_wasteTypes[key].uid)\r\n //SecureUtils.setItem(\"wasteType\", userInfo.user_wasteTypes[key].wasteType)\r\n }\r\n }\r\n SecureUtils.setItem(\"bank_code\", userInfo.bank_code);\r\n dispatch({ type: USER_INFO.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: USER_INFO.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const updateWastegenProfile = (data) => (dispatch) => {\r\n dispatch({ type: UPDATE_WASTEGEN_PROFILE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastegen/profile/update`,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: data\r\n }).then((res) => {\r\n dispatch({ type: UPDATE_WASTEGEN_PROFILE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: UPDATE_WASTEGEN_PROFILE.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const updateWasteproProfile = (data) => (dispatch) => {\r\n dispatch({ type: UPDATE_WASTEPRO_PROFILE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastepro/profile/update`,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: data\r\n }).then((res) => {\r\n dispatch({ type: UPDATE_WASTEPRO_PROFILE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: UPDATE_WASTEPRO_PROFILE.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\n\r\nexport const updateWastetranProfile = (data) => (dispatch) => {\r\n dispatch({ type: UPDATE_WASTETRAN_PROFILE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/wastetran/profile/update`,\r\n headers: {\r\n 'Content-Type': 'multipart/form-data',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: data\r\n }).then((res) => {\r\n dispatch({ type: UPDATE_WASTETRAN_PROFILE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: UPDATE_WASTETRAN_PROFILE.FAILURE, payload: error.message })\r\n })\r\n}\r\n\r\nexport const changePassword = (data) => (dispatch) => {\r\n dispatch({ type: CHANGE_PASSWORD.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/changepassword`,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n },\r\n data: data\r\n })\r\n .then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n })\r\n .then((res) => {\r\n dispatch({ type: CHANGE_PASSWORD.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: CHANGE_PASSWORD.FAILURE, payload: error.response.data })\r\n })\r\n}\r\n\r\nexport const userAnnounce = () => (dispatch) => {\r\n dispatch({ type: USER_ANNOUNCE.REQUEST, isLoading: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/Announcements`,\r\n headers: { Authorization: 'Bearer ' + localStorage.getItem('access-token') }\r\n }).then(res => {\r\n if (res.status == 200) {\r\n return res\r\n }\r\n throw Error(res.status)\r\n }).then((res) => {\r\n dispatch({ type: USER_ANNOUNCE.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n dispatch({ type: USER_ANNOUNCE.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const updateCertImage = (data) => (dispatch) => {\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/certification/updateimage`,\r\n data: data,\r\n headers: { 'Content-Type': 'multipart/form-data' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n return res\r\n }).catch((error) => {\r\n console.log(error)\r\n return error\r\n })\r\n} \r\n\r\nexport const getCertAll = () => (dispatch) => {\r\n dispatch({ type: USER_CERT_LIST.REQUEST, isFetching: true })\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/certification/GetByHolderUID`,\r\n headers: { 'Content-Type': 'application/json' ,\r\n Authorization: 'Bearer ' + localStorage.getItem('access-token')\r\n }\r\n }).then((res) => {\r\n dispatch({ type: USER_CERT_LIST.SUCCESS, payload: res.data })\r\n }).catch((error) => {\r\n console.log(error)\r\n dispatch({ type: USER_CERT_LIST.FAILURE, error })\r\n })\r\n}\r\n\r\nexport const getCertFile = (filename) => {\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/certification/getfile/${filename}`,\r\n responseType: 'arraybuffer'\r\n }).then((res) => {\r\n const buffer = Buffer.from(res.data, 'base64');\r\n return buffer\r\n }).catch((error) => {\r\n console.log(error)\r\n return error\r\n })\r\n} \r\n\r\nexport const otpResetPasswordSend = (mobile_no) =>{\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/otp-reset-password/send/${mobile_no}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\nexport const otpResetPasswordResend = (mobile_no) =>{\r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/otp-reset-password/resend/${mobile_no}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\nexport const otpVerifyChangePassword = (data) =>{\r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/otp/verify-changepassword`,\r\n data: data\r\n }).then((res) => {\r\n return res;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const checkExitPhoneAndName = (model) =>{\r\n \r\n return axios({\r\n method: 'post',\r\n url: `${API_ROOT}/user/checkexit`,\r\n data: model\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}\r\n\r\nexport const checkExit = (username) =>{\r\n \r\n return axios({\r\n method: 'get',\r\n url: `${API_ROOT}/user/checkexit/${username}`,\r\n }).then((res) => {\r\n return res.data;\r\n }).catch((error) => {\r\n return error;\r\n })\r\n}","// import Money from 'js-money'\r\n\r\n\r\nimport moment from 'moment'\r\nimport { get, isEmpty } from 'lodash'\r\nimport * as word from '../constants/word'\r\n\r\nexport const generateActionType = name => ({\r\n REQUEST: `${name}_REQUEST`,\r\n SUCCESS: `${name}_SUCCESS`,\r\n FAILURE: `${name}_FAILURE`,\r\n})\r\n\r\n// for date format 30-12-2018\r\nexport const convertToBuddhistYear = (date) => {\r\n const dateArr = date.split('-')\r\n if (dateArr.length !== 3) {\r\n return date\r\n }\r\n const buddhistYear = parseInt(dateArr[2], 10) + 543\r\n return `${dateArr[0]}-${dateArr[1]}-${buddhistYear}`\r\n}\r\n\r\nexport const convertToChristYear = (date) => {\r\n const dateArr = date.split('-')\r\n if (dateArr.length !== 3) {\r\n return date\r\n }\r\n const christYear = parseInt(dateArr[2], 10) - 543\r\n return `${dateArr[0]}-${dateArr[1]}-${christYear}`\r\n}\r\n\r\nexport const convertDateMonthWordToNumber = (date) => {\r\n const dateArr = date.split('-')\r\n if (dateArr.length !== 3) {\r\n return date\r\n }\r\n let monthWord\r\n const dateMonth = dateArr[1]\r\n if (dateMonth === word.monthWord1) {\r\n monthWord = '01'\r\n } else if (dateMonth === word.monthWord2) {\r\n monthWord = '02'\r\n } else if (dateMonth === word.monthWord3) {\r\n monthWord = '03'\r\n } else if (dateMonth === word.monthWord4) {\r\n monthWord = '04'\r\n } else if (dateMonth === word.monthWord5) {\r\n monthWord = '05'\r\n } else if (dateMonth === word.monthWord6) {\r\n monthWord = '06'\r\n } else if (dateMonth === word.monthWord7) {\r\n monthWord = '07'\r\n } else if (dateMonth === word.monthWord8) {\r\n monthWord = '08'\r\n } else if (dateMonth === word.monthWord9) {\r\n monthWord = '09'\r\n } else if (dateMonth === word.monthWord10) {\r\n monthWord = '10'\r\n } else if (dateMonth === word.monthWord11) {\r\n monthWord = '11'\r\n } else if (dateMonth === word.monthWord12) {\r\n monthWord = '12'\r\n } else {\r\n monthWord = ''\r\n }\r\n return `${dateArr[0]}-${monthWord}-${dateArr[2]}`\r\n}\r\n\r\nexport const convertDateMonthNumberToWord = (dateValue) => {\r\n const date = dateValue instanceof Date ? moment(dateValue).format('DD-MM-YYYY') : dateValue\r\n const dateArr = date.split('-')\r\n if (dateArr.length !== 3) {\r\n return date\r\n }\r\n if(dateArr[2]=='0001'){\r\n return 'ไม่ระบุ';\r\n }\r\n const dateMonth = dateValue instanceof Date ? dateValue.getMonth() + 1 : parseInt(dateArr[1], 10)\r\n let monthWord = ''\r\n if (dateMonth === 1) {\r\n monthWord = word.monthWord1\r\n } else if (dateMonth === 2) {\r\n monthWord = word.monthWord2\r\n } else if (dateMonth === 3) {\r\n monthWord = word.monthWord3\r\n } else if (dateMonth === 4) {\r\n monthWord = word.monthWord4\r\n } else if (dateMonth === 5) {\r\n monthWord = word.monthWord5\r\n } else if (dateMonth === 6) {\r\n monthWord = word.monthWord6\r\n } else if (dateMonth === 7) {\r\n monthWord = word.monthWord7\r\n } else if (dateMonth === 8) {\r\n monthWord = word.monthWord8\r\n } else if (dateMonth === 9) {\r\n monthWord = word.monthWord9\r\n } else if (dateMonth === 10) {\r\n monthWord = word.monthWord10\r\n } else if (dateMonth === 11) {\r\n monthWord = word.monthWord11\r\n } else if (dateMonth === 12) {\r\n monthWord = word.monthWord12\r\n } else {\r\n monthWord = ''\r\n }\r\n return `${dateArr[0]}-${monthWord}-${dateArr[2]}`\r\n}\r\n\r\n\r\n\r\nexport const getRegionForCoordinates = (points) => {\r\n // points should be an array of { latitude: X, longitude: Y }\r\n let minX, maxX, minY, maxY\r\n\r\n // init first point\r\n ((point) => {\r\n minX = point.latitude;\r\n maxX = point.latitude;\r\n minY = point.longitude;\r\n maxY = point.longitude;\r\n })(points[0])\r\n\r\n // calculate rect\r\n points.map((point) => {\r\n minX = Math.min(minX, point.latitude)\r\n maxX = Math.max(maxX, point.latitude)\r\n minY = Math.min(minY, point.longitude)\r\n maxY = Math.max(maxY, point.longitude)\r\n })\r\n\r\n const midX = (minX + maxX) / 2\r\n const midY = (minY + maxY) / 2\r\n const deltaX = (maxX - minX)\r\n const deltaY = (maxY - minY)\r\n\r\n return {\r\n latitude: midX,\r\n longitude: midY,\r\n latitudeDelta: deltaX + (deltaX / 2),\r\n longitudeDelta: deltaY + (deltaY / 2)\r\n }\r\n}\r\n\r\nexport const randomString = () => (\r\n Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15)\r\n)\r\n\r\nexport const getFilenameFromUriAndroid = (uri, type) => {\r\n const name = uri.split('/')\r\n const filename = get(name, `[${name.length - 1}]`, randomString())\r\n return type === 'image' ? `${filename}.JPG` : `${filename}.MP4`\r\n}\r\n\r\nexport const converSecondToClock = (timeSecond) => {\r\n const hour = parseInt(timeSecond / 3600, 10)\r\n const minute = parseInt(timeSecond % 3600 / 60, 10)\r\n const second = parseInt(timeSecond % 60, 10)\r\n return `${('0' + hour).slice(-2)}:${('0' + minute).slice(-2)}:${('0' + second).slice(-2)}`\r\n}\r\n\r\nexport const getValue = (first, rest, defaultValue) => {\r\n return get(first, rest, defaultValue) || defaultValue\r\n}\r\n\r\nexport const addCommaFromInteger = (integer = 0) => {\r\n if (integer) return integer.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\r\n return 0\r\n}\r\n\r\n/**\r\n * addCommaAndDotFromNumberOrStr(32589) -> '32,589.00'\r\n * addCommaAndDotFromNumberOrStr(32589.15) -> '32,589.15'\r\n * addCommaAndDotFromNumberOrStr('32589') -> '32,589.00'\r\n * addCommaAndDotFromNumberOrStr('32589.15') -> '32,589.15'\r\n * addCommaAndDotFromNumberOrStr('32589.3') -> '32,589.30'\r\n * addCommaAndDotFromNumberOrStr(1) -> '1.00'\r\n * addCommaAndDotFromNumberOrStr('1') -> '1.00'\r\n * addCommaAndDotFromNumberOrStr(1000) -> '1,000.00'\r\n * addCommaAndDotFromNumberOrStr('1000') -> '1,000.00'\r\n */\r\nexport const addCommaAndDotFromNumberOrStr = (integerOrFloat) => {\r\n if (Number.isNaN(integerOrFloat)) {\r\n throw new Error('addCommaAndDotFromNumberOrStr require Integer / Float / String contain only number')\r\n }\r\n if (!`${integerOrFloat}`.includes('.')) {\r\n return `${addCommaFromInteger(integerOrFloat)}.00`\r\n }\r\n const decimalIndex = 1\r\n const splitIntAndDecimal = `${integerOrFloat}`.split('.')\r\n const integerWithComma = addCommaFromInteger(splitIntAndDecimal[0])\r\n const decimalNumber = (splitIntAndDecimal[decimalIndex]).length > 1 ? splitIntAndDecimal[decimalIndex].substr(0, 2) : `${splitIntAndDecimal[1]}0`\r\n return `${integerWithComma}.${decimalNumber}`\r\n}\r\n\r\nexport const removeCommaFromNumber = (numberFormat = '') =>\r\n parseFloat(numberFormat.replace(/([,])/g, ''), 10)\r\n\r\nexport const removeAllCharExceptNumber = (value = '') =>\r\n value.replace(/[^0-9]/g, '')\r\n\r\nexport const removeAllCharExceptNumberAndDot = (value = '') =>\r\n value.replace(/[^0-9.]/g, '')\r\n\r\nexport const dateFormat = (date, format) => {\r\n format = format || \"DD/MM/YYYY HH:mm:ss\";\r\n if(moment(date).format('YYYY')<2000){\r\n return \"\";\r\n }\r\n return moment(date).format(format);\r\n}\r\n\r\nexport const plusDate = (date, plus) => {\r\n plus = plus || 1;\r\n date = date||new Date();\r\n return moment(date).add(plus, 'day');\r\n}\r\n\r\nexport const getFile = (src) =>{\r\n return `${src}?t=${new Date().getTime()}.${getExt(src)}`\r\n}\r\n\r\nconst getExt = (filename)=>{\r\n return filename.split('.').pop().toLowerCase();\r\n}\r\n\r\nexport const formatMB = (bytes) => {\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n if (bytes === 0) return 'n/a';\r\n const i = parseInt(Math.floor(Math.log(Math.abs(bytes)) / Math.log(1024)), 10);\r\n if (i === 0) return `${bytes} ${sizes[i]})`;\r\n return `${(bytes / (1024 ** i)).toFixed(1)} ${sizes[i]}`;\r\n}","export const monthWord1 = 'มกราคม'\r\nexport const monthWord2 = 'กุมภาพันธ์'\r\nexport const monthWord3 = 'มีนาคม'\r\nexport const monthWord4 = 'เมษายน'\r\nexport const monthWord5 = 'พฤษภาคม'\r\nexport const monthWord6 = 'มิถุนายน'\r\nexport const monthWord7 = 'กรกฎาคม'\r\nexport const monthWord8 = 'สิงหาคม'\r\nexport const monthWord9 = 'กันยายน'\r\nexport const monthWord10 = 'ตุลาคม'\r\nexport const monthWord11 = 'พฤศจิกายน'\r\nexport const monthWord12 = 'ธันวาคม'\r\n\r\nexport const HAY_TYPE = {\r\n AGRICULTURE: 'agriculture',\r\n ACTIVITY: 'activity',\r\n PRODUCT: 'product',\r\n PRODUCER_GROUP: 'producer_group',\r\n PRODUCER_OTHER: 'producer_other',\r\n}\r\n\r\nexport const APP_SETTING = {\r\n APP_NAME: 'C2Leng'\r\n}\r\n\r\nexport const PAGE = {\r\n PRODUCER: 'PRODUCER'\r\n}\r\n","import SecureStorage from 'secure-web-storage'\r\nimport {AES,SHA256,enc} from 'crypto-js';\r\n\r\n// var CryptoJS = require(\"crypto-js\");\r\n \r\nvar SECRET_KEY = 'c3leng secret key';\r\n \r\nconst secureStorage = new SecureStorage(localStorage, {\r\n hash: function hash(key) {\r\n key = SHA256(key, SECRET_KEY);\r\n \r\n return key.toString();\r\n },\r\n encrypt: function encrypt(data) {\r\n data = AES.encrypt(data, SECRET_KEY);\r\n \r\n data = data.toString();\r\n \r\n return data;\r\n },\r\n decrypt: function decrypt(data) {\r\n data = AES.decrypt(data, SECRET_KEY);\r\n \r\n data = data.toString(enc.Utf8);\r\n \r\n return data;\r\n }\r\n});\r\n\r\nexport const setItem = function(name,data){\r\n // stores in localStorage like:\r\n // key => value\r\n // \"ad36d572...\" => \"w1svi6n...\"\r\n secureStorage.setItem(name, data);\r\n}\r\n\r\nexport const getItem = function(name){\r\n // returns { secret: 'data' }\r\n return secureStorage.getItem(name);\r\n}\r\n\r\nexport const removeItem = function(name){\r\n // removes the entry 'data'\r\n secureStorage.removeItem(name);\r\n}\r\n \r\nexport const key = function(id){\r\n // returns the hashed version of the key you passed into setItem with the given id.\r\n return secureStorage.key(id)\r\n}\r\n \r\nexport const clear = function(){\r\n // clears all data in the underlining sessionStorage/localStorage.\r\n secureStorage.clear();\r\n}\r\n \r\nexport const length = function(){\r\n // the number of entries in the underlining sessionStorage/localStorage.\r\n return secureStorage.length;\r\n}\r\n","import { generateActionType } from \"../utils/utilFunctions\"\r\nexport const BANK = generateActionType('BANK')\r\nexport const PROVINCE = generateActionType('PROVINCE')\r\nexport const DISTRICT = generateActionType('DISTRICT')\r\nexport const SUB_DISTRICT = generateActionType('SUB_DISTRICT')\r\nexport const CARD_PROVINCE = generateActionType('CARD_PROVINCE')\r\nexport const CARD_DISTRICT = generateActionType('CARD_DISTRICT')\r\nexport const CARD_SUB_DISTRICT = generateActionType('CARD_SUB_DISTRICT')\r\nexport const RPT_APLC_WG = generateActionType('RPT_APLC_WG')\r\nexport const RPT_APLC_WT = generateActionType('RPT_APLC_WT')\r\nexport const RPT_APLC_WP = generateActionType('RPT_APLC_WP')\r\nexport const DHB_USER = generateActionType('DHB_USER')\r\n\r\nexport const LOGIN = generateActionType('LOGIN')\r\nexport const LOGOUT = generateActionType('LOGOUT')\r\nexport const USER_TYPE = generateActionType('USER_TYPE')\r\nexport const USER_INFO = generateActionType('USER_INFO')\r\nexport const CHANGE_PASSWORD = generateActionType('CHANGE_PASSWORD')\r\n\r\nexport const CHIP_PROVINCE = generateActionType('CHIP_PROVINCE')\r\nexport const CHIP_DISTRICT = generateActionType('CHIP_DISTRICT')\r\nexport const ARR_CHIP_DISTRICT = generateActionType('ARR_CHIP_DISTRICT')\r\n\r\n//> Wastegen\r\nexport const UPDATE_WASTEGEN_PROFILE = generateActionType('UPDATE_WASTEGEN_PROFILE')\r\n\r\nexport const WASTEGEN_ACCOUNT_BALANCE = generateActionType('WASTEGEN_ACCOUNT_BALANCE')\r\nexport const WASTEGEN_ACCOUNT_WITHDRAW = generateActionType('WASTEGEN_ACCOUNT_WITHDRAW')\r\nexport const WASTEGEN_ACCOUNT_WITHDRAW_HISTORY = generateActionType('WASTEGEN_ACCOUNT_WITHDRAW_HISTORY')\r\n\r\nexport const WASTEGEN_DASH_LAST_ORDER = generateActionType('WASTEGEN_DASH_LAST_ORDER')\r\nexport const WASTEGEN_DASH_PRODUCT = generateActionType('WASTEGEN_DASH_PRODUCT')\r\n\r\nexport const WASTEGEN_CHANGE_PIN = generateActionType('WASTEGEN_CHANGE_PIN')\r\n\r\nexport const WASTEGEN_DONATE = generateActionType('WASTEGEN_DONATE')\r\nexport const WASTEGEN_TRANSFER_DONATE = generateActionType('WASTEGEN_TRANSFER_DONATE')\r\nexport const WASTEGEN_DONATE_HISTORY = generateActionType('WASTEGEN_DONATE_HISTORY')\r\nexport const WASTETGEN_REGIS_WASTETRAN = generateActionType('WASTETGEN_REGIS_WASTETRAN')\r\n\r\n//> Wastetran\r\nexport const UPDATE_WASTETRAN_PROFILE = generateActionType('UPDATE_WASTETRAN_PROFILE')\r\n\r\nexport const WASTETRAN_ORDER_SEARCH_NOTI = generateActionType('WASTETRAN_ORDER_SEARCH_NOTI')\r\n\r\nexport const WASTETRAN_ACCOUNT_BALANCE = generateActionType('WASTETRAN_ACCOUNT_BALANCE')\r\nexport const WASTETRAN_ACCOUNT_WITHDRAW = generateActionType('WASTETRAN_ACCOUNT_WITHDRAW')\r\nexport const WASTETRAN_ACCOUNT_WITHDRAW_HISTORY = generateActionType('WASTETRAN_ACCOUNT_WITHDRAW_HISTORY')\r\n\r\nexport const WASTETRAN_AUTO_ORDER = generateActionType('WASTETRAN_AUTO_ORDER')\r\n\r\nexport const WASTETRAN_DASH_PRODUCT = generateActionType('WASTETRAN_DASH_PRODUCT')\r\n\r\nexport const WASTETRAN_DASH_ORDER_STAT = generateActionType('WASTETRAN_DASH_ORDER_STAT')\r\n\r\nexport const WASTETRAN_FILE_DELETE= generateActionType('WASTETRAN_FILE_DELETE')\r\n\r\nexport const WASTETRAN_CHANGE_PIN= generateActionType('WASTETRAN_CHANGE_PIN')\r\n\r\nexport const WASTETRAN_DONATE = generateActionType('WASTETRAN_DONATE')\r\nexport const WASTETRAN_TRANSFER_DONATE = generateActionType('WASTETRAN_TRANSFER_DONATE')\r\nexport const WASTETRAN_DONATE_HISTORY = generateActionType('WASTETRAN_DONATE_HISTORY')\r\nexport const WASTETRAN_REGIS_WASTEGEN = generateActionType('WASTETRAN_REGIS_WASTEGEN')\r\n\r\n//> Wastepro\r\nexport const UPDATE_WASTEPRO_PROFILE = generateActionType('UPDATE_WASTEPRO_PROFILE')\r\nexport const PRDT = generateActionType('GET_FILE_PRODUCT_TYPE')\r\nexport const PRD = generateActionType('GET_FILE_PRODUCT')\r\nexport const WASTEPRO_ORDER_SEARCH = generateActionType('WASTEPRO_ORDER_SEARCH')\r\n\r\nexport const WASTEPRO_DASH_PAYMENT = generateActionType('WASTEPRO_DASH_PAYMENT')\r\nexport const WASTEPRO_DASH_PRODUCT = generateActionType('WASTEPRO_DASH_PRODUCT')\r\nexport const WASTEPRO_DASH_SUMMARY_OVERDUE = generateActionType('WASTEPRO_DASH_SUMMARY_OVERDUE')\r\nexport const WASTEPRO_DASH_SUMMARY_PAID = generateActionType('WASTEPRO_DASH_SUMMARY_PAID')\r\nexport const WASTEPRO_DASH_SUMMARY_PRODUCTS = generateActionType('WASTEPRO_DASH_SUMMARY_PRODUCTS')\r\n\r\nexport const WASTEPRO_DASH_ORDER_STAT= generateActionType('WASTEPRO_DASH_ORDER_STAT')\r\n\r\nexport const WASTEPRO_FILE_DELETE= generateActionType('WASTEPRO_FILE_DELETE')\r\n//> ORDER\r\nexport const ORDER_SEARCH = generateActionType('ORDER_SEARCH')\r\nexport const ORDER_AUTO_COMP = generateActionType('ORDER_AUTO_COMP')\r\n\r\n//>autocomplete\r\nexport const AUTO_ADMINALL = generateActionType('AUTO_ADMINALL')\r\nexport const AUTO_PROD = generateActionType('AUTO_PROD')\r\nexport const AUTO_WASTEALL = generateActionType('AUTO_WASTEALL')\r\nexport const AUTO_WASTEGEN = generateActionType('AUTO_WASTEGEN')\r\nexport const AUTO_WASTETRAN = generateActionType('AUTO_WASTETRAN')\r\nexport const AUTO_WASTEPRO = generateActionType('AUTO_WASTEPRO')\r\n\r\n//>ADMIN\r\nexport const ADMIN_ANNOUNCE_ADD = generateActionType('ADMIN_ANNOUNCE_ADD')\r\nexport const ADMIN_DASH_SUMMARY_AREA = generateActionType('ADMIN_DASH_SUMMARY_AREA')\r\nexport const ADMIN_DASH_SUMMARY_AREA_SEARCH = generateActionType('ADMIN_DASH_SUMMARY_AREA_SEARCH')\r\nexport const ADMIN_DASH_SUMMARY_WITHDRAW = generateActionType('ADMIN_DASH_SUMMARY_WITHDRAW')\r\nexport const ADMIN_USER_LIST = generateActionType('ADMIN_USER_LIST')\r\nexport const ADMIN_USER_LIST_CHAT = generateActionType('ADMIN_USER_LIST_CHAT')\r\nexport const LOAD_MORE_ADMIN_USER_LIST = generateActionType('LOAD_MORE_ADMIN_USER_LIST')\r\nexport const ADD_NEW_ADMIN_USER_LIST = generateActionType('ADD_NEW_ADMIN_USER_LIST')\r\n\r\n//>USER\r\nexport const USER_ANNOUNCE = generateActionType('USER_ANNOUNCE')\r\n\r\n//>CERTIFICATE\r\nexport const USER_CERT_LIST = generateActionType('USER_CERT_LIST')\r\nexport const ADMIN_CERT_TEMPLATE_LIST = generateActionType('ADMIN_CERT_TEMPLATE_LIST')\r\nexport const ADMIN_CERT_RESULT_LIST = generateActionType('ADMIN_CERT_RESULT_LIST')\r\n\r\n//ChatMessage\r\nexport const GET_CHAT_MESSAGE_BY_ROOM = generateActionType('GET_CHAT_MESSAGE_BY_ROOM')\r\nexport const LOAD_MORE_CHAT_MESSAGE = generateActionType('LOAD_MORE_CHAT_MESSAGE')\r\nexport const ADD_NEW_CHAT_MESSAGE = generateActionType('ADD_NEW_CHAT_MESSAGE')\r\nexport const SEND_CHAT_IMAGE = generateActionType('SEND_CHAT_IMAGE')\r\nexport const GET_CHAT_LIST = generateActionType('GET_CHAT_LIST')\r\nexport const GET_CHAT_PICKUP_BADGE = generateActionType('GET_CHAT_PICKUP_BADGE')\r\nexport const GET_CHAT_DELIVERY_BADGE = generateActionType('GET_CHAT_DELIVERY_BADGE')\r\nexport const GET_CHAT_ADMIN_BADGE = generateActionType('GET_CHAT_ADMIN_BADGE')\r\n\r\n//>MASTER DATA\r\nexport const MASTER_SETTING_PARAMETER = generateActionType('ADMIN_SETTING_PARAMETER')","//config for API Developer\r\n// export const API_ROOT = 'http://localhost:88/api'\r\n// export const WEB_ROOT = 'http://localhost:88';\r\n// export const WEBSOCKET_ROOT = 'ws://localhost:88/ws'\r\n//config for UAT/Production\r\nexport const API_ROOT = 'https://c3leng.com/api'\r\nexport const WEB_ROOT = 'https://c3leng.com'\r\nexport const WEBSOCKET_ROOT = 'wss://c3leng.com/ws'\r\n//Config for UAT\r\n// export const API_ROOT = 'https://c3leng-uat.canadev.net/api'\r\n// export const WEB_ROOT = 'https://c3leng-uat.canadev.net'\r\n// export const WEBSOCKET_ROOT = 'wss://c3leng-api-uat.canadev.net/ws'\r\n//Config for Developer\r\n// export const API_ROOT = 'https://c3leng-dev.canadev.net/api'\r\n// export const WEB_ROOT = 'https://c3leng-dev.canadev.net'\r\n// export const WEBSOCKET_ROOT = 'wss://c3leng-dev.canadev.net/ws'\r\n// key 'prod' use for production or localhost and key 'dev' use for development server\r\nexport const TYPE_ROOT = 'prod'\r\n","module.exports = __webpack_public_path__ + \"static/media/01.b5ba08c7.png\";","module.exports = __webpack_public_path__ + \"static/media/02.c120fc15.png\";","module.exports = __webpack_public_path__ + \"static/media/03.290797d3.png\";","module.exports = __webpack_public_path__ + \"static/media/04.9cb0c361.png\";","module.exports = __webpack_public_path__ + \"static/media/05.63d5498a.png\";","exports.isNull = function (value) {\r\n return ((value == null) || (!value));\r\n}\r\n\r\nexports.isNotNull = function (value) {\r\n return !module.exports.isNull(value);\r\n}\r\n\r\nexports.isEmpty = function (value) {\r\n if (module.exports.isNull(value)) {\r\n return true;\r\n }\r\n return (Object.keys(value).length === 0 && value.constructor === Object) || (value.length <= 0);\r\n}\r\n\r\nexports.isNotEmpty = function (value) {\r\n return !module.exports.isEmpty(value);\r\n}\r\n\r\nexports.isEmail = function (mail) {\r\n if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(mail)) {\r\n return (true)\r\n }\r\n if (module.exports.isEmpty(mail)) {\r\n return true\r\n } else {\r\n return (false)\r\n }\r\n}\r\nexports.isPhonenumber = function (inputtxt) {\r\n var phoneno = /^0\\d{9}$/;\r\n if (inputtxt.match(phoneno)) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nexports.isValid = function (value, length) {\r\n length = length || 0\r\n if (module.exports.isNotEmpty(value)) {\r\n value = value.toString().replace(\"_\", \"\")\r\n if (length == 0) {\r\n return true;\r\n } else if (value.length === length) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexports.isInValid = function (value, length) {\r\n return !module.exports.isValid(value, length);\r\n}\r\n\r\nexports.isValidNoneRequired = function (value, length) {\r\n length = length || 0\r\n if (module.exports.isNotEmpty(value)) {\r\n value = value.toString().replace(\"_\", \"\")\r\n if (length == 0) {\r\n return true;\r\n } else if (value.length === length) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexports.isInValidNoneRequired = function (value, length) {\r\n return !module.exports.isValidNoneRequired(value, length);\r\n}\r\n\r\nexports.isValidPhoneNumberNoneRequired = function (value, length) {\r\n length = length || 0\r\n if (module.exports.isNotEmpty(value)) {\r\n value = value.toString().replace(\"_\", \"\")\r\n if (length == 0 && exports.isPhonenumber(value)) {\r\n return true;\r\n } else if (value.length === length && exports.isPhonenumber(value)) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n\r\nexports.isInValidPhoneNumberNoneRequired = function (value, length) {\r\n return !module.exports.isValidPhoneNumberNoneRequired(value, length);\r\n}\r\nexports.isValidPhoneNumberRequired = function (value, length) {\r\n length = length || 0\r\n value = value||\"\"\r\n value = value.toString().replace(\"_\", \"\")\r\n if (module.exports.isNotEmpty(value)) {\r\n if (length == 0 && exports.isPhonenumber(value)) {\r\n return true;\r\n } else if (value.length === length && exports.isPhonenumber(value)) {\r\n return true\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexports.isInValidPhoneNumberRequired = function (value, length) {\r\n return !module.exports.isValidPhoneNumberRequired(value, length);\r\n}\r\n\r\n//for validate type number of \r\nexports.handleNumber = (e) => {\r\n console.log(\"handleNumber >> \",e)\r\n \r\n const {maxLength,value} = e.target\r\n console.log(\"maxLength \",maxLength,\" ,value.length \",value.length)\r\n if(maxLength && maxLength>0){\r\n if(maxLength<=value.length){\r\n e.preventDefault()\r\n }\r\n }\r\n\r\n const characterCode = e.key\r\n if (characterCode === 'Backspace') return\r\n\r\n const characterNumber = Number(characterCode)\r\n if (characterNumber >= 0 && characterNumber <= 9) {\r\n if (e.currentTarget.value && e.currentTarget.value.length) {\r\n return\r\n } else if (characterNumber === 0) {\r\n // e.preventDefault()\r\n }\r\n } else {\r\n e.preventDefault()\r\n }\r\n\r\n\r\n}","module.exports = __webpack_public_path__ + \"static/media/06.35dc39d0.png\";","module.exports = __webpack_public_path__ + \"static/media/07.c0893995.png\";","module.exports = __webpack_public_path__ + \"static/media/08.12001497.png\";","module.exports = __webpack_public_path__ + \"static/media/09.c8653d27.png\";","module.exports = __webpack_public_path__ + \"static/media/10.f5a11111.png\";","module.exports = __webpack_public_path__ + \"static/media/11.91509e8a.png\";","module.exports = __webpack_public_path__ + \"static/media/12.69a8a614.png\";","module.exports = __webpack_public_path__ + \"static/media/13.94f3f5ce.png\";","module.exports = __webpack_public_path__ + \"static/media/14.2836145c.png\";","module.exports = __webpack_public_path__ + \"static/media/15.8bf54f11.png\";","module.exports = __webpack_public_path__ + \"static/media/16.548e92b8.png\";","module.exports = __webpack_public_path__ + \"static/media/17.9b8cdaef.png\";","module.exports = __webpack_public_path__ + \"static/media/18.2c6a1361.png\";","module.exports = __webpack_public_path__ + \"static/media/19.d8dbcf35.png\";","module.exports = __webpack_public_path__ + \"static/media/20.deb141be.png\";","module.exports = __webpack_public_path__ + \"static/media/21.ebd54006.png\";","module.exports = __webpack_public_path__ + \"static/media/22.8a396370.png\";","module.exports = __webpack_public_path__ + \"static/media/23.63a671c6.png\";","module.exports = __webpack_public_path__ + \"static/media/24.6b6a6bf2.png\";","module.exports = __webpack_public_path__ + \"static/media/25.e67cddcc.png\";","module.exports = __webpack_public_path__ + \"static/media/26.b5650bd2.png\";","module.exports = __webpack_public_path__ + \"static/media/27.3425746a.png\";","module.exports = __webpack_public_path__ + \"static/media/28.cf9624b7.png\";","module.exports = __webpack_public_path__ + \"static/media/29.2941c705.png\";","module.exports = __webpack_public_path__ + \"static/media/30.8407a5cc.png\";","module.exports = __webpack_public_path__ + \"static/media/31.c0dee851.png\";","module.exports = __webpack_public_path__ + \"static/media/32.e1e0a676.png\";","module.exports = __webpack_public_path__ + \"static/media/33.fc7cc556.png\";","module.exports = __webpack_public_path__ + \"static/media/34.3cd4fcfc.png\";","module.exports = __webpack_public_path__ + \"static/media/35.328b508d.png\";","module.exports = __webpack_public_path__ + \"static/media/36.5ebc5124.png\";","module.exports = __webpack_public_path__ + \"static/media/37.47150a78.png\";","module.exports = __webpack_public_path__ + \"static/media/38.2e5bcf81.png\";","module.exports = __webpack_public_path__ + \"static/media/39.4233ee56.png\";","module.exports = __webpack_public_path__ + \"static/media/40.271a7064.png\";"],"sourceRoot":""}