{"version":3,"sources":["redux/action/dataAction.js","redux/action/profileAction.js","Tools/ProtectGate/ProtectGate.js","Components/TopMenu.js","Components/Version.js","Components/Header.js","api/constants.js","redux/reducer/dataReducer.js","redux/action/mapAction.js","redux/reducer/mapReducer.js","redux/reducer/profileReducer.js","redux/reducer/rootReducer.js","redux/configureStore.js","api/dwrApi.js","Components/AccordionEl.js","Components/SideMenu.js","Components/ModalForecastFlood.js","Components/MapMenu.js","Layout/MainLayout.js","Components/ModalNewsSlideImages.js","Components/NewsDetail.js","Components/ModalNewsDetail.js","Components/NewsCard.js","api/authenticate.js","Pages/Login.js","Components/ModalStationImage.js","Components/InfoWindowEl.js","Components/ChartHydro.js","Components/ChartMeteo.js","Components/TableHydro.js","Components/TableMeteo.js","Components/ModalStationDetail2.js","Components/ChartForeCastWaterLevel.js","Components/ChartForecastFlow.js","Components/ModalForecast2.js","Tools/Spinner/SpinnerTool.js","Components/GMapJs.js","Pages/GMap.js","Pages/Home.js","Components/NewsBox.js","Pages/News.js","Components/TitleText.js","Components/ModalCRUDNews.js","Components/ModalDeleteEl.js","Pages/Administrator/NewsManagement/NewsManagement.js","Components/ModalCRUDSlide.js","Pages/Administrator/SlideShowManagement/SlideShowManagement.js","Components/TextInput.js","Components/InputWithUnit.js","Components/ModalCrudUser.js","Pages/Administrator/UserManagement/UserManagement.js","Components/CustomDatePicker.js","Pages/Administrator/UserManagement/UserReport.js","Components/ModalChartManualStation.js","Components/ModalTypeRemark.js","Components/ModalShowRemark.js","Services/Function.js","Components/ModalConfirm.js","Components/ButtonSubmitData.js","Pages/Administrator/WaterLevelData/ManualStation.js","Components/ModalChartAutoStation.js","Components/BasinFormSelect.js","Pages/Administrator/WaterLevelData/ReportWaterLevelAuto.js","Pages/Administrator/WaterLevelData/ReportWaterLevelManualMonthly.js","Pages/Administrator/WaterLevelData/ReportWaterLevelManualDaily.js","Components/ButtonSubmitDataMeteo.js","Components/ModalChartManualStationMeteo.js","Pages/Administrator/Meteolorogy/ManualStationMeteo.js","Components/ModalDeleteStation.js","Components/CheckInput.js","Components/DateInput.js","Components/ModalAddCrossSection.js","Components/SelectInput.js","Components/ModalPreviewCrossSection.js","Components/ModalView.js","Components/FormStationDetail.js","Pages/Administrator/StationManagement/EditStation.js","Pages/Administrator/StationManagement/StationDetail.js","Components/TableComp.js","Pages/Administrator/StationManagement/StationManagement.js","Pages/Administrator/StationManagement/AddStation.js","Components/ModalAddLocation.js","Components/ModalDeleteLocation.js","Components/ModalEditLocation.js","Components/LocationInputEl.js","Pages/Administrator/Reference/LocationManagement.js","Components/ModalCRUDConfig.js","Pages/Administrator/Reference/ConfigManagement.js","Components/ModalCRUDBasin.js","Pages/Administrator/Reference/BasinManagement.js","Components/ModalCRUDStationCenter.js","Pages/Administrator/Reference/DataHydroManagement.js","Components/ModalCRUDRegion.js","Pages/Administrator/Reference/DepartmentManagement.js","Components/ModalCRUDPerson.js","Pages/Administrator/Reference/PersonManagement.js","Components/ModalCRUDMeteoType.js","Components/MeteoTypeManagement.js","Components/ModalCRUDHydroType.js","Components/HydroTypeManagement.js","Pages/Administrator/Reference/StationTypeManagement.js","Components/ModalCRUDSubBasin.js","Pages/Administrator/Reference/SubBasinManagement.js","Components/ModalCRUDMachine.js","Pages/Administrator/Reference/MachineManagement.js","Pages/Administrator/Meteolorogy/ReportMeteoAuto.js","Pages/Administrator/Meteolorogy/ReportMeteoDaily.js","Pages/Administrator/Meteolorogy/ReportMeteoMonthly.js","Pages/Administrator/StationManagement/ReportSummary.js","Pages/Administrator/StationManagement/ReportStationDetail.js","Pages/Administrator/StationManagement/MeteoTransferStatus.js","Pages/Administrator/StationManagement/HydroTransferStatus.js","Components/SelectControlInput.js","Components/RadiosInput.js","Pages/Administrator/WaterVolume/WaterServey.js","Components/ModalDeleteConfirm.js","Pages/Administrator/WaterVolume/WaterMeasurement.js","Components/ThaiDateInput.js","Components/ModalCRUDWaterAnalysis.js","Pages/Administrator/WaterVolume/WaterAnalysis.js","Pages/Administrator/WaterVolume/StationCoefficient.js","Pages/Administrator/WaterVolume/RatingTableImportAuto.js","Components/ChartRatingTable.js","Pages/Administrator/WaterLevelData/ModalAddRatingModel.js","Pages/Administrator/WaterVolume/RatingTableModel.js","Components/PeriodDateInput.js","Components/ModalRatingTableDetail.js","Components/ModalRatingCurveChart.js","Pages/Administrator/WaterVolume/RatingTableManual.js","Pages/Administrator/WaterVolume/RatingTableAuto.js","Pages/Administrator/WaterVolume/RatingTableComparison.js","Pages/Administrator/Meteolorogy/MeteoStationManual.js","Pages/Administrator/Meteolorogy/MeteoStationAuto.js","Pages/Administrator/WaterLevelData/HydroStationAuto.js","Pages/Administrator/WaterLevelData/HydroStationManual.js","Pages/Administrator/StationManagement/Stn.js","App.js","Hooks/WindowSize.js","index.js"],"names":["GET_IS_AUTO_VIEW","GET_STATION_ID","GET_KML_TYPE","GET_IS_SIDE_MENU_OPEN","GET_IS_MOBILE_MODE","GET_IS_MAP_MENU_OPEN","updateIsAutoView","data","type","payload","isAutoView","updateIsSideMenuOpen","isSideMenuOpen","updateisMapMenuOpen","isMapMenuOpen","GET_USER_DATA","GET_USER_DETAIL","GET_USER_PERMISSIONS","GET_PROFILE","updateProfile","console","log","profile","updateUserPermissions","userPermissions","updateUserData","userData","updateUserDetail","userDetail","ProtectGate","_ref","children","permission","useSelector","state","profileReducer","_jsx","style","height","length","includes","TopMenu","location","useLocation","dispatch","useDispatch","pathname","mobileMode","dataReducer","token","access_token","styles","container","background","color","concat","menuItem","fontSize","width","textAlign","displayToggleMenu","FaHome","size","cursor","onClick","onHandleToggleSideMenu","displayMenuPC","_jsxs","className","Link","to","fullName","userName","displayMenuMobile","_Fragment","FaBars","tabIndex","id","src","alt","onHandleLogout","localStorage","setItem","displayLogo","fontWeight","fontFamily","displayContentPC","displayContentMobile","Version","Header","history","useHistory","push","textDecoration","constants","CLIENT_ID","CLIENT_SECRET","SCOPE","baseURL","initState","kmlSelected","autoData","manualData","stationIdSelected","stationDetail","arguments","undefined","action","GET_STATION_FILTER","GET_MANUAL_MEASURE_TYPE","GET_AUTO_MEASURE_TYPE","updateStationFilter","stations","updateAutoMeasuerType","autoMeasureType","updateManualMeasuerType","manualMeasureType","mapReducer","rootReducer","combineReducers","persistConfig","key","storage","whitelist","persistedReducer","persistReducer","configureStore","store","createStore","persistor","persistStore","dwrUrl","getItem","authUrl","refreshing","dwrApi","axios","create","headers","interceptors","request","use","async","config","getState","refreshToken","tokenExpireTime","accessToken","now","Date","getTime","authConfig","Authorization","warn","res","refresh_token","formData","qs","stringify","grant_type","client_id","client_secret","post","err","error","response","status","clear","getRefreshToken","expires_in","decoded","jwt_decode","get","sub","then","catch","message","REQ","Promise","reject","SubAccordionEl","list","path","subList","label","stylesFn","tagPath","tagPathEx","condition1","Boolean","condition2","startsWith","backgroundColor","map","item","i","pathEx","AccordionEl","_ref2","menuObject","title","SideMenu","roleUser","setRoleUser","useState","useEffect","role","isAdmin","hydroUserRole","roleName","menu","ModalForecastFlood","google","window","mapDiv","document","getElementById","register","registerFlood","handleSubmit","handleSubmitFlood","watch","useForm","modalIsOpen","setModalIsOpen","kmlForecast","setKmlForecast","selectedMapTypeId","setSelectedMapTypeId","isLoading","setIsLoading","lastestZoom","setLastestZoom","setKmlSelected","legendSrc","setLegendSrc","geoJson","setGeoJson","tryInit","setTryInit","header","zIndex","button","border","buttonType1","buttonType2","input","colorGuide","position","bottom","left","kmlMenu","top","maxHeight","overflowY","closeModal","displayButtonOpenModal","openModal","getForecastConfig","displayHeader","FaTimesCircle","displayKmlMenu","onInput","ev","val","JSON","parse","index","name","defaultChecked","basinName","value","displayContent","transform","transformOrigin","initMap","latitude","longitude","center","lat","lng","maps","Map","LatLng","zoom","mapTypeId","Data","floodArea","folderName","legend","GroundOverlay","href","north","imageBounds","south","east","west","setMap","generateGeoJson","addListener","getMapTypeId","e","Modal","isOpen","content","right","marginRight","padding","onRequestClose","contentLabel","MapMenu","basin22Checkbox","basin25Checkbox","subBasin25Checkbox","subBasin22Checkbox","riverMainCheckbox","riverSubCheckbox","allStation","setAllStation","stationByType","setStationByType","stationByMeasure","setStationByMeasure","searchTerm","setSearchTerm","selectedStation","setSelectedStation","defaultValues","autoDataType","manualDataType","getValues","setValue","reset","options","autoFormData","manualFormData","activeButton","paddingInline","normalButton","optionHeader","filterByMeasureFn","station","hydroId","meteoId","configDataStation","stationData","active","hydroTypeId","meteotypeId","stationTypeId","filterStationFn","autoStation","filter","manualStation","filterByTypeFn","onHandleCheck","checked","forEach","stationId","stationLabel","stationTh","onHandleUnCheck22","target","onHandleUnCheck25","displayInput","Select","placeholder","onChange","selectStation","firstConfigData","find","configData","noOptionsMessage","isClearable","kmlBasin25","kmlSubBasin25","kmlBasin22","kmlSubBasin22","kmlRiverMain","kmlRiverSub","split","kmlColect","indexOf","marginTop","displayTypeButton","opacity","slice","displayAutoOptions","displayManualOptions","overflowX","disabled","MainLayout","body","sidebar","margin","Sidebar","Pushable","as","Menu","animation","vertical","visible","Pusher","displayContentWithMapMenu","React","Fragment","ModalNewsSlideImages","newsDetail","indexImgSelected","newsImage","sliderRef","useRef","settings","dots","infinite","speed","slidesToShow","slidesToScroll","initialSlide","maxWidth","overflow","overlay","Slider","ref","newsImagePath","objectFit","NewsDetail","modalNewsId","newsId","useParams","setNewsDetail","setIndexImgSelected","displayNewDetail","convertDate","result","date","getDate","month","getMonth","year","getFullYear","imgContainer","borderBottom","paddingBottom","FaRegCalendarAlt","newsStartDate","fileAttach","open","newsTitle","img","newsImageId","ModalNewsDetail","setModalNewsId","NewsCard","imgUrl","detail","textOverflow","display","WebkitLineClamp","WebkitBoxOrient","authenticate","Login","addToast","useToasts","activeSlide","setActiveSlide","activeNews","setActiveNews","activeNewsDisplay","setActiveNewsDisplay","visitCounted","setVisitCounted","displaySlide","displayNews","headerContainer","boxShadow","minHeight","innerHeight","inputStyle","newsContainer","onHandleClickSlide","slide","str","imageUrl","RegExp","test","displaySpiner","slideCarousel","desktop","breakpoint","max","min","items","mobile","tablet","Carousel","additionalTransfrom","arrows","autoPlay","autoPlaySpeed","centerMode","containerClass","itemClass","focusOnSelect","minimumTouchDrag","renderButtonGroupOutside","renderDotsOutside","responsive","slidesToSlide","imagePath","imageName","slideShowId","getNews","sort","a","b","FaRegNewspaper","news","_news$newsImage$","displayForm","autoComplete","onSubmit","username","password","scope","decodeUserId","fetchUserPermissions","appearance","autoDismiss","alert","required","FaUser","FaLock","CountUp","end","start","duration","displayAppStore","displayCopyRights","displayAddress","ModalStationImage","stationImage","setOpenModalImage","stationImagePath","stationImageName","displayImage2","InfoWindowEl","_station$subBasin","_station$subBasin$bas","_station$location","_station$location$sub","_station$location2","_station$location2$su","_station$location2$su2","_station$location3","_station$location3$su","_station$location3$su2","_station$location3$su3","_station$StationCente","_station$StationCente2","_dataHydro$","_dataHydro$$items$","_dataHydro$2","_dataHydro$2$items$","_dataHydro$3","_dataHydro$3$items$","_dataHydro$4","_dataHydro$4$items$","_dataHydro$5","_dataHydro$5$items$","_dataHydro$6","_dataHydro$6$items$","_dataMeteoEl01$","_dataMeteoEl01$$items","_dataMeteoEl01$2","_dataMeteoEl01$2$item","_dataMeteoEl02$","_dataMeteoEl02$$items","_dataMeteoEl03$","_dataMeteoEl03$$items","_dataMeteoEl04$","_dataMeteoEl04$$items","_dataMeteoEl04$2","_dataMeteoEl04$2$item","_dataMeteoEl06$","_dataMeteoEl06$$items","_dataMeteoEl08$","_dataMeteoEl08$$items","_dataMeteoEl09$","_dataMeteoEl09$$items","_dataMeteoEl11$","_dataMeteoEl11$$items","_dataMeteoEl12$","_dataMeteoEl12$$items","_dataMeteoEl13$","_dataMeteoEl13$$items","dataMeteoEl01","dataMeteoEl02","dataMeteoEl03","dataMeteoEl04","dataMeteoEl06","dataMeteoEl08","dataMeteoEl09","dataMeteoEl11","dataMeteoEl12","dataMeteoEl13","dataLastUpdated","gageData","dataHydroMeasurements","dataMeteoMeasurements","hydroActiveId","meteoActiveId","dataHydro","dataMeteo","hydroType","meteotype","meteoTypeId","datas","dataType","dataId","infoContainer","borderRadius","buttonModal","closeBtn","stationDescription","stationHeader","waterHeader","justifyContent","alignItems","waterDetailHeader","displayStationDetails","stationEn","subBasin","basin","basinTh","subDistrict","subDistrictTh","district","districtTh","province","provinceTh","personName","tel","StationCenter","region","regionNameTh","displayHydroEl01","waterLevel","_","round","gageLevel","toFixed","displayHydroEl02","displayWaterDetailsHydro","displayMeteoEl01","rainFall15","displayMeteoEl02","displayMeteoEl03","displayMeteoEl04","temperature","displayMeteoEl06","displayMeteoEl08","displayMeteoEl09","displayMeteoEl11","displayMeteoEl12","displayMeteoEl13","displayWaterDetailsMeteo","MdOutlineClose","ChartHydro","_stationDetail$Warnin","_stationDetail$Warnin2","_stationDetail$Warnin3","_stationDetail$Warnin4","_stationDetail$Warnin5","_stationDetail$Warnin6","chartWaterData","setChartWaterData","minScale","setMinScale","maxValue","ctx","dataIndex","values","chart","datasets","Math","accessMiddle","datasetIndex","_ctx$chart","_ctx$chart$data","_ctx$chart$data$datas","minValue","scales","x","ticks","maxRotation","minRotation","y","plugins","pan","enabled","mode","threshold","limits","minRange","wheel","pinch","annotation","WarningItem","annotations","line1","yMin","cri","yMax","borderColor","borderWidth","fontColor","cornerRadius","yAdjust","line2","war","label1","font","xAdjust","xValue","yValue","label2","label3","callout","dataLabels","valueWaterLevel","valueCrossSection","crossSection","surveyDate","crossSectionInfo","wideRiverX","heightY","gage","labels","fill","pointRadius","tension","chartWaterGenerate","Line","ChartMeteo","dataTransactionDatasEl","meteoDataType","chartRain","setChartRain","chartEvaporate","setChartEvaporate","chartTempWater","setChartTempWater","chartTemp","setChartTemp","chartMaxTemp","setChartMaxTemp","chartMinTemp","setChartMinTemp","chartHumidity","setChartHumidity","chartWind","setChartWind","chartSunLightPeriod","setChartSunLightPeriod","chartSunLightIntensity","setChartSunLightIntensity","dataMeteoRain","dataMeteoEvaporate","dataMeteoTempWater","dataMeteoTemp","dataMeteoMaxTemp","dataMeteoMinTemp","dataMeteoHumidity","dataMeteoWind","dataMeteoSunLightPeriod","dataMeteoSunLightIntensity","compareDate","_a$items$","_a$items$2","_b$items$","_b$items$2","aTime","updateTime","bTime","convertTime","hour","getHours","minute","getMinutes","meteoDataRain","el","meteoDataEvaporate","meteoDataTempWater","meteoDataTemp","meteoDataMaxTemp","meteoDataMinTemp","meteoDataHumidity","meteoDataWind","meteoDataSunLightPeriod","meteoDataSunLightIntensity","chartOptions","family","weight","chartRainGenerate","pointHoverRadius","chartTempGenerate","chartEvaporateGenerate","chartTempWaterGenerate","chartMaxTempGenerate","chartMinTempGenerate","chartHumidityGenerate","chartWindGenerate","chartSunLightPeriodGenerate","chartSunLightIntensityGenerate","displayChartRain","Bar","displayChartEvaporate","displayChartTempWater","displayChartTemp","displayChartMaxTemp","displayChartMinTemp","displayChartHumidity","displayChartWind","displayChartSunLightPeriod","displayChartSunLightIntensity","TableHydro","dataHydroWaterLevel","displayWaterLevelTable","TableMeteo","displayRainTable","displayTempTable","displayTempWaterTable","displayEvaporateTable","displayMaxTempTable","displayMinTempTable","displayHunidityTable","displayWindTable","displaySunLightPeriodTable","displaySunLightIntensityTable","ModalStationDetail2","_crossSectionUnitHigh","_crossSectionUnitLow$","_dataMeteo$","_dataMeteo$$items$","_dataMeteo$2","_dataMeteo$2$items$","_dataMeteoEl04$3","_dataMeteoEl04$4","_dataMeteoEl04$4$item","_dataMeteoEl04$5","_dataMeteoEl04$0$item","_dataMeteoEl01$3","_dataMeteoEl01$4","_dataMeteoEl01$4$item","_dataMeteoEl02$2","_dataMeteoEl02$2$item","_dataMeteoEl03$2","_dataMeteoEl03$2$item","_dataMeteoEl04$6","_dataMeteoEl04$7","_dataMeteoEl04$7$item","_dataMeteoEl06$2","_dataMeteoEl06$2$item","_dataMeteoEl08$2","_dataMeteoEl08$2$item","_dataMeteoEl09$2","_dataMeteoEl09$2$item","_dataMeteoEl11$2","_dataMeteoEl11$2$item","_dataMeteoEl12$2","_dataMeteoEl12$2$item","_dataMeteoEl13$2","_dataMeteoEl13$2$item","_stationDetail$config","_stationDetail$config2","_stationDetail$config3","_stationDetail$config4","_stationDetail$statio","_stationDetail$locati","_stationDetail$locati2","_stationDetail$locati3","_stationDetail$locati4","_stationDetail$locati5","_stationDetail$locati6","_stationDetail$locati7","_stationDetail$locati8","_stationDetail$locati9","_stationDetail$locati10","_stationDetail$locati11","_stationDetail$Statio","isModalStationOpen","setIsModalStationOpen","optionsMeteoDataType","setCharWatertData","setCrossSection","openModalImage","dataTransaction","setDataTransaction","crossSectionUnitLow","setCrossSectionUnitLow","crossSectionUnitHigh","setCrossSectionUnitHigh","meteoTypeTh","setMeteoDataType","timePeriod","fetchDataTransection","tableHeader","borderTop","hydroData","getUnitlow","getUnitHigh","displayCrossSectionTable","displayHydroTable","waterLevelMaxInDay","displayMeteoTable","temperatureMaxInday","temperatureMinInday","tableItems","text","stationType","stationTypeName","hydroTypeTh","latitudeDms","longitudeDms","stationCenterName","displayDescription","lineHeight","verticalAlign","rowSpan","displayStationDetail","defaultValue","ChartForeCastWaterLevel","stationForecast","transections","forecasts","warningItem","parseLocaleDate","dateTime","withTime","toLocaleDateString","day","toLocaleTimeString","replace","suggestedMin","tooltip","displayColors","titleFont","bodyFont","footerFont","titleColor","bodyColor","callbacks","context","count","raw","dataset","xMin","xMax","borderDash","borderDashOffset","hovered","drawTime","lastItem","valueWl","timeStamp","toISOString","hoverPosition","enter","event","chartArea","update","leave","labelsWaterLevel","labelsForecast","waterLevelItems","forecastItems","ChartForecastFlow","chartData","setChartData","valueQ","labelsFlow","waterFlowItems","showLine","ModalForecast2","isModalForecastOpen","setIsModalForecastOpen","setStationForecast","latestForecast","setLatestForecast","buttonForecast","tableBody","marginBottom","leftSideChart","leftSideDownChart","convertDateEng","fetchForeCast","_forecast$transection","latestResult","forecast","timestamp","getLastestForecast","stationNameTh","displayChartWaterLevel","marginLeft","displayChartFlow","displayTableDescription","displayTable","minWidth","SpinnerTool","GMapJs","mapLat","setMapLat","mapLng","setMapLng","stationsFilter","markerSelected","setMarkerSelected","stationSelected","setStationSelected","setStationImage","setStationDetail","setDataLastUpdated","setGageData","realTime","setRealTime","activeStation","setActiveStation","inActiveStation","setInActiveStation","infowindow","onMarkerClick","marker","fGageData","fetchGageData","fStationImage","fetchStationImage","fDataLastTransaction","fetchDataLastTransaction","renderContent","ReactDOMServer","renderToString","setContent","addDomListener","close","generateMarkers","Marker","outputIcon","markerType","iconAutoHydro","url","scaledSize","Size","origin","Point","anchor","iconAutoMeteo","iconManualHydro","iconManualMeteo","iconManualMeteo_1","output","tranformMarker","latitudeDd","longitudeDd","icon","mapTypeControl","InfoWindow","kml","kmlIndex","fetch","kmlData","DOMParser","parseFromString","kmlText","geoJsonFile","togeojson","addGeoJson","setStyle","feature","fillColor","getProperty","fillOpacity","strokeColor","strokeOpacity","strokeWeight","obg","setOptions","latLng","h","getStationStatus","inActive","stationsType2","all","updateTimeStamp","clearInterval","setInterval","stationStatusBox","timeNow","reverse","join","getDateTime","GMap","displayMapMenu","onHandleToggleMapMenu","FaChevronLeft","FaChevronRight","Home","NewsBox","useRouteMatch","imgCrop","News","route","displayNewsContainer","_item$newsImage$","Switch","Route","exact","TitleText","leftBtn","ModalCRUDNews","_watchFile$","setIsNewsAction","onNewsEdit","setIsOpen","rawImages","setRawImages","isPreloadValues","setisPreloadValues","fileUrlPreview","setFileUrlPreview","startDate","stopDate","newsStopDate","control","watchFile","FileListItems","files","ClipboardEvent","clipboardData","DataTransfer","len","add","imgData","blob","imgFile","File","blobFile","newsImageName","img64","resizeFile","imgId","uniqueId","splitUrl","fileName","file","fileList","resolve","Resizer","imageFileResizer","uri","Controller","rules","render","field","DatePicker","locale","placeholderText","dateFormat","customInput","selected","_ref3","onHandleDeleteFile","multiple","accept","Array","from","displayPreviewImages","newRawData","onHandleDeleteImage","displayButtonGroup","FormData","append","attachment","put","finally","FaPencilAlt","ModalDeleteEl","callBackSubmit","NewsManagement","_sliceResult","allNews","setAllNews","isNewsAction","onModalDeleteOpen","setOnModalDeleteOpen","itemSelected","setItemSelected","page","setPage","itemPerPage","setItemPerPage","filterSearch","_item$newsTitle","toLowerCase","displayManagement","sliceResult","FaTrashAlt","onDeleteClick","displaylimitResults","FaSearch","Pagination","activePage","itemsCountPerPage","totalItemsCount","pageRangeDisplayed","pageNumber","linkClass","nextPageText","prevPageText","delete","ModalCRUDSlide","setIsSlideAction","slideItem","slideImageUrl","formState","errors","slideImageAttchment","imageOrder","SlideShowManagement","allSlide","setAllSlide","isSlideAction","isModalDeleteOpen","setIsModalDeleteOpen","getAllStatus","objAllStatus","Object","assign","onToggleActive","BiUpArrow","onSortUp","BiDownArrow","onSortDown","TextInput","keyName","styleInput","maxlength","minLength","column","unit","inputBox","maxLength","InputWithUnit","autoFocus","ModalCrudUser","_userData$active","userState","setIsAction","querySelectorAll","setUserData","roleResponse","setRoleResponse","roleCenter","setRoleCenter","roleRegion","setRoleRegion","roleInternal","setRoleInternal","roleExternal","setRoleExternal","optionsStationCenter","setOptionsStationCenter","optionsStation","setOptionsStation","getRolesValue","setGetRolesValue","setStationIdSelected","stationCenterIdSelected","setStationCenterIdSelected","isShowPassword","setIsShowPassword","getRolesV","roleId","toString","blankValues","confirmPassword","roles","section","email","roleType","setError","clearErrors","watchIsAdmin","watchRoles","watchSection","anyError","keys","addUserButton","getStationCenterId","stationCenterId","getStationId","fetchRole","res1","rolePriority","res2","res3","res4","fetchStationCenter","userId","fetchStations","displayProfile","onBlur","duplicate","checkDuplicateUN","FaEye","FaEyeSlash","displayAdminChoice","displayCentral","paddingLeft","paddingTop","displayRegion","isDisabled","displayInternal","displayExternal","shouldCloseOnOverlayClick","overlayClassName","FaTimes","preventDefault","_ev$email","_ev$roles","dataPassword","_ev$email2","_ev$roles2","UserManagement","isAction","modalCrudUserOpen","setModalCrudUserOpen","searchType","setSearchType","userStateSelected","setUserStateSelected","filterBySearchTerm","setFilterBySeachTerm","setSliceResult","optionsRole","setOptionRole","roleIdSelected","setRoleIdSelected","statusSelected","setStatusSelected","inputContainer","tableTd","optionsStatus","optionsSearch","newList","onOpenModalClick","rolesParams","RoleId","params","Active","filterActive","fetchUser","filterSearchFn","sliceResultFn","elIndex","onHandleToggleStatus","onPreDelete","CustomDatePicker","setDate","yearTh","CustomInput","FaCalendarAlt","showMonthYearPicker","showYearPicker","UserReport","user","setUser","setStartDate","setStopDate","optionUsers","setOptionUsers","reportUrl","setReportUrl","localReportUrl","displayReport","setDisplayReport","disableBtn","setDisableBtn","getUsers","onLoad","returnValue","nativeEvent","ModalChartManualStation","chartGenerate","valueArr","getGhVaue","hourlyGageHeight","flat","gageHeightDateTime","gageHeight","pointBorderWidth","maxTicksLimit","ModalTypeRemark","optionTypeRemark","setOptionTypeRemark","typeRemarkIdselected","setTypeRemarkIdselected","remarkInput","setRemarkInput","typeRemarkRes","setTypeRemarkRes","getTypeRemark","getRemark","typeRemarkArr","listOption","measureTypeId","typeRemark","remark","hourlyRemark","typeRemarkId","defValue","FaRegCommentDots","ModalShowRemark","time","convertDecimals","decimals","sumNumberWithFixDigit","arr","getDecimal","maxDecimal","sum","toDataURL","reader","FileReader","onloadend","onerror","readAsDataURL","ModalConfirm","agreeButton","notAgreeButton","ButtonSubmitData","permissions","buttonName","styleButton","isAutoStation","dataToConfirm","setDataToConfirm","fetchDailyGageHeight","stylesInline","confirmData","firstData","bodyData","lastData","dailyGageHeightId","setTimeout","onConfirmDailyGageHeight","ManualStation","_stationSelected$","_stationSelected$$gag","_stationSelected$2","_stationSelected$2$ga","_stationSelected$0$ga","_hourlyGageHeights$ma2","_hourlyGageHeights$ma3","_hourlyGageHeights$ma4","_hourlyGageHeights$ma5","_hourlyGageHeights$ma6","_hourlyGageHeights$mi2","_hourlyGageHeights$mi3","_hourlyGageHeights$mi4","_hourlyGageHeights$mi5","_hourlyGageHeights$mi6","_hourlyGageHeights$ma7","_hourlyGageHeights$ma8","_hourlyGageHeights$ma9","_hourlyGageHeights$mi7","_hourlyGageHeights$mi8","_hourlyGageHeights$mi9","dateSelected","setDateSelected","manageRequest","setManageRequest","isShowSummary","setIsShowSummary","allBasin","setAllBasin","basinIdSelected","setBasinIdSelected","stationsOfBasin","setStationsOfBasin","measureTime","setMeasureTime","measureTimeSeclected","setMeasureTimeSelected","hourlyGageHeights","setHourlyGageHeights","dayOfGageHeights","setDayOfGageHeights","gageHeightFullfill","setGageHeightFullfill","alertMessage","setAlertMessage","xlsFile","setXlsFile","dataFromXls","setDataFromXls","modalConfirmOpen","setModalConfirmOpen","monthSelected","setMonthSelected","yearSelected","setYearSelected","daysInMonth","setDaysInMonth","period","optionsBasin","optionsStationsOfBasin","optionsMeasureTime","pureHourlyGageHeight","dateConvert","mo","ye","dim","years","endYear","listYear","th","en","address","backgroundValue","convertDateTh","fetchHourlyGageHeights","isArray","filterOptions","option","measureTimeId","onHandleManageRequest","generateDataTable","_hourlyGageHeights$ga","basinId","measureTimeDesc","gagehightSiteOuts","dateElements","remarkElements","_period$","_period$$groupMeasure","groupMeasure","filterByDate","avgGageHeight","gageHeightDate","valueOf","gageHeightId","hourlyGageHeightId","dataObj","generateDayInMonth","dayIndex","_hourlyGageHeights$ga4","dateFilter","dataBlank","dailyGageHeightVal","gageTypeId","displayGroupButton","ghValue","defValues","onResetValues","displayTable1","colSpan","gageQty","allDateTime","total","reduce","num","_hourlyGageHeights$ma","_hourlyGageHeights$mi","maxHourlyGageHeight","minHourlyGageHeight","displayTable2","maxAvgGageHeight","minAvgGageHeight","onDeleteHourlyGageHeights","padStart","ghId","_hourlyGageHeights$ga2","_hourlyGageHeights$ga3","dataPostGageHeight","recordDate","resPost","resPut","newData","editData","configPost","configPut","eIndex","filterData","ModalChartAutoStation","_data$","_data","serverTime","dataName","BasinFormSelect","_stationDetail$","_stationDetail$$locat","_stationDetail$$locat2","_stationDetail$2","_stationDetail$2$loca","_stationDetail$2$loca2","_stationDetail$2$loca3","_stationDetail$3","_stationDetail$3$loca","_stationDetail$3$loca2","_stationDetail$3$loca3","_stationDetail$3$loca4","_stationDetail$4","_stationDetail$4$gage","_stationDetail$5","_stationDetail$5$gage","basinIdCallback","stationIdCallback","isDisabledForm","subDomain","setTimeFormat","setOptionsBasin","setOptionsStationsOfBasin","createOptionStations","ReportWaterLevelAuto","optionsTime","timeSelected","setTimeSelected","timeFormat","baseUrl","funcId","getYear","urlTypeYear","ReportWaterLevelManualMonthly","yearSelect","ReportWaterLevelManualDaily","ButtonSubmitDataMeteo","fetchData","dailyMeteoId","onConfirmDailyMeteo","ModalChartManualStationMeteo","hourlyMeteo","meteoDateTime","meteoHourly","avgMeteo","meteoDate","ManualStationMeteo","_timePeriod$groupMeas","transaction","setTransaction","transactionSelected","setTransactionSelected","newTransactionSelected","setNewTransactionSelected","newTransactionFullfill","setNewTransactionFullfill","setTimePeriod","setDataType","dateMarkup","setDateMarkup","optionDataType","optionTimePeriod","pureHourlyMeteo","convertDate2","fetchTransaction","filterTransaction","filterMeasureTimeId","_transactionSelected$","meteoSiteOuts","generateTable","filterTime","_transactionSelected$3","dailyMeteo","hourlyMeteoId","meteoValue","dataQty","_transactionSelected$4","_transactionSelected$5","_transactionSelected$6","_transactionSelected$7","maxHourlyMeteo","minHourlyMeteo","mId","_transactionSelected$2","dataPostMeteo","ModalDeleteStation","selectedDataId","CheckInput","htmlFor","DateInput","ModalAddCrossSection","_watchCs","crossSectionData","setCrossSectionData","preview","inputTypeSelected","setInputTypeSelected","surveyNo","leftCrossSection","rightCrossSection","registerCs","resetCs","handleSubmitCs","setValueCs","errorsCs","controlCs","watchCs","fields","prepend","remove","swap","move","insert","useFieldArray","watchIdentiify","inputInactive","buttonAdd","onSwitchInput","croesstionElQty","tDate","setTDate","crosssectionArr","onInsertXls","xlsxParser","onFileSelection","toAdd","_ev$crossSectionInfo","orderNo","xId","replaceData","crossSectionId","SelectInput","ModalPreviewCrossSection","isModalOpen","setIsModalOpen","orderingCrossSectionInfo","ModalView","FormStationDetail","_hydroTypes$filter","query","dataStation","preloadValue","onHandleSubmit","stationImagesData","setStationImagesData","gageFieldInput","setGageFieldInput","optionsDepartment","setOptionsDepartment","optionsStationCenters","setOptionsStationCenters","mapData","setMapdata","newStationImagesData","setNewStationImagesData","optionBasin","setOptionBasin","optionSubBasin","setOptionSubBasin","optionProvince","setOptionProvince","optionDistrict","setOptionDistrict","optionSubDistrict","setOptionSubDistrict","stationRemark","setStationRemark","hydroTypes","setHydroTypes","meteoTypes","setMeteoTypes","mapFilePreview","setMapFilePreview","showModalDeleteXsection","setShowModalDeleteXsection","openModalMapImg","setOpenModalMapImg","provinceIdSelected","districtIdSelected","gageSelectedQty","meteoTypeList","button1","button2","gageFieldinput","accordianHeader","tabHeader","convertDateTime","ho","sec","getSeconds","downloadFile","createElement","appendChild","download","click","fetchLog","fetchStationImages","MapData","mapId","mapName","pathName","fetchMapData","departmentId","_query$StationCenter","_query$subBasin","_query$subBasin2","subBasinId","_query$location","_query$location$subDi","provinceId","_query$location2","_query$location2$subD","districtId","_query$location3","_query$location3$subD","subDistrictId","fetchDepartment","departmentTh","fetchStationCenters","fetchBasin","fetchProvince","fetchHydroType","fetchMeteoType","subBasinTh","fetchSubBasin","fetchDistrict","fetchSubDistrict","delayDebounceFn","gageFiledGenerator","init","subGage","gageId","gageNo","totalSheet","clearTimeout","displayAddEditStationDetail","displayGhSurveyChild","displayDcSurveyChild","displayWqSurveyChild","displayDataHydroStation","kName","child","displayDataMeteoStation","getkeyName","displayCrossSection","displayLocation","MdCancel","imgArr","imgObj","stationImageId","prev","imgIndex","imageId","stationImgArr","newFiles","displayAccordian","FaChevronDown","displayRemark","displayLog","stationRemarkId","remarkDate","remarkUser","responseType","URL","createObjectURL","onHandleDownload","onHandleDeleteCrossSection","crossSectionFilter","EditStation","_stationDetail$gage","_stationDetail$gage$s","_stationDetail$MapDat","_stationDetail$MapDat2","_stationDetail$MapDat3","_stationDetail$subBas","_stationDetail$basinA","_stationDetail$basinA2","_stationDetail$basinA3","_stationDetail$bm","_stationDetail$bm2","_stationDetail$bm3","_stationDetail$bm4","_stationDetail$bm5","_stationDetail$bm6","_stationDetail$bm7","_stationDetail$bm8","_stationDetail$hydroS","_stationDetail$hydroS2","_stationDetail$hydroS3","_stationDetail$hydroS4","_stationDetail$hydroS5","_stationDetail$hydroS6","_stationDetail$hydroS7","_stationDetail$hydroS8","_stationDetail$hydroS9","_stationDetail$gage2","_stationDetail$gage3","_stationDetail$gage4","_stationDetail$gage5","_stationDetail$gage6","_stationDetail$gage7","_stationDetail$gage8","_stationDetail$gage9","_stationDetail$hydroS10","_stationDetail$hydroS11","_stationDetail$hydroS12","_stationDetail$hydroS13","_stationDetail$hydroS14","_stationDetail$hydroS15","_stationDetail$hydroS16","_stationDetail$hydroS17","_stationDetail$hydroS18","_stationDetail$hydroS19","_stationDetail$hydroS20","_stationDetail$hydroS21","_stationDetail$hydroS22","_stationDetail$hydroS23","_stationDetail$MeteoS","_stationDetail$MeteoS2","_stationDetail$MeteoS3","_stationDetail$MeteoS4","inputData","setInputData","configDatas","setConfigDatas","dataBenchmarks","setDataBenchmarks","dataGage","setDataGage","dataBasinArea","setDataBasinArea","setDataStation","responseMeteoType","setResponseMeteoType","responseHydroType","setResponseHydroType","locationId","setLocationId","fetchStationDetail","sId","resConfig","fetchConfigDataStations","filterMeteo","filterResult","subgagePreload","onHandlePureNumber","numInput","_splittedDeg$2","_splittedDeg$2$toStri","_splittedSingleQuote$2","_splittedSingleQuote$3","_splittedDoubleQuote$","_splittedDoubleQuote$2","_splittedDeg$","_splittedSingleQuote$","splittedDeg","splittedSingleQuote","splittedDoubleQuote","match","BetweenMainRoad","betweenMainRoad","FarMainRoad","farMainRoad","RoadNo","roadNo","basinArea","measureDate","measureByCenter","benchmark","createByCenter","bm","bmLevel","bmlevel","nearbyPlace","bmcreateDate","bmCreateByCenter","bubbleCdate","hydroSurvey","bubbleIdate","buildingDate","controllerName","dcsurvey","floatCdate","floatIdate","gageAmount","gageSurveyDate","surveyByCenter","meteo_Temp","meteo_evaporate","meteo_humidity","meteo_maxTemp","meteo_minTemp","meteo_rain","meteo_sunlight_intensity","meteo_sunlight_period","meteo_waterTemp","meteo_wind","publish","radius","ratioMap","sheetNo","staffCdate","staffIdate","stationlabel","village","waterCdate","waterSdate","ghsurvey","hydroCreateDate","wqsurvey","wqcdate","wqsdate","meteoSurvey","MeteoSurvey","meteoSdate","meteoCdate","meteoCreateDate","onSubmitSubGage","gageRes","submitCrossection","filtedCrossections","getFilteredDeleteCrossection","onDeleteCrossSection","submitImage","exstImg","stationImgData","submitRemark","goBack","dataLocation","resLocation","onSubmitLocation","bmid","onSubmitBenchmarks","onSubmitGage","basinAreaId","isNaN","BasinArea","onSubmitBasinArea","hydroSurveyId","fetchHydroSurvey","meteoSurveyId","basicRainSurvey","panEvaSurvey","tempWaterSurvey","tempAirSurvey","tempMaxSurvey","tempMinSurvey","dwhumiSurvey","airgMachSurvey","solarMachSurvey","sunsMachSurvey","fetchMeteoSurvey","postMapData","solarConstant","forecastGageHeight","travelDistanceWater","calculatDischarge","regionId","onSubmitStationDetail","existHydroTypeIds","existMeteoTypeIds","putHydroConfigData","isActive","configDataId","putMeteoConfigData","hydroPostItems","meteoPostItems","postHydroConfigData","hyId","postMeteoConfigData","mtId","hy","mt","onSubmitConfigDataStation","showToast","StationDetail","_stationDetail$subBas2","TableComp","columns","sorting","setSorting","table","useReactTable","onSortingChange","getCoreRowModel","getSortedRowModel","getFilteredRowModel","getPaginationRowModel","debugTable","displayPaginationJs","pagination","pageIndex","pageSize","setPageIndex","setPageSize","Number","getHeaderGroups","headerGroup","_asc$desc$header$colu","isPlaceholder","columnDef","getCanSort","getToggleSortingHandler","flexRender","getContext","asc","desc","getIsSorted","getRowModel","rows","row","getVisibleCells","cell","pdfjs","GlobalWorkerOptions","workerSrc","version","StationManagement","setstation","pdfReport","setPdfReport","typeSearch","setTypeSearch","base64Pdf","setBase64Pdf","numPages","setNumPages","setPageNumber","searchContainer","buttonSearch","tableData","_el$subBasin","_el$subBasin$basin","edit","tableColumn","accessorKey","info","getValue","fetchSearchStation","_item$subBasin","_item$subBasin$basin","_item$subBasin$basin$","_item$stationTh","provided","marginInline","fetchStationOfBasin","displayStationManagement","AddStation","gotoEditPage","meteoData","_res$data","ConfigDataStation","hd","ModalAddLocation","setPermission","subUrl","dataProvince","provinceEn","nameEn","nameTh","dataDistrict","districtEn","dataSubDistrict","subDistrictEn","ModalDeleteLocation","subDistrictIdSelected","ModalEditLocation","LocationInputEl","setSelectedDataId","LocationManagement","setProvinceIdSelected","setDistrictIdSelected","setsubDistrictIdSelected","isProvinceAction","setIsProvinceAction","isDistrictAction","setIsDistrictAction","isSubDistrictAction","setIsSubDistrictAction","ModalCRUDConfig","measureType","setOptionsMeasureTime","onMouseEnter","ConfigManagement","dataConfig","setDataConfig","fetchConfig","_item$meteotype","_item$hydroType","_item$measureTime","ModalCRUDBasin","basinDetail","basinResults","setBasinResults","basinEn","displayContentDelete","BasinManagement","displayPagination","ModalCRUDStationCenter","optionRegions","setOptionRegions","results","setResults","defaultValuesRegion","_ev$regionIdSelect","regionIdSelect","DataHydroManagement","_item$region","_item$region$regionNa","_item$region2","_item$region2$regionN","_item$stationCenterId","regionNameEn","_item$region3","ModalCRUDRegion","regions","setRegions","DepartmentManagement","ModalCRUDPerson","setIsPreloadValues","isOnInit","setIsOnInit","endDate","setEndDate","provinceInput","setProvinceInput","districtInput","setDistrictInput","subDistrictInput","setSubDistrictInput","optionsPosition","setOptionsPosition","persons","setPersons","fetchPersonDetail","personId","optionsPrename","preNameId","firstName","lastName","tels","postCode1","address1","positionId","_persons$position","_persons$stationCente","stationCenter","_persons$subDistrict","_persons$subDistrict$","subDistrict1","_persons$subDistrict2","_persons$subDistrict3","subDistrictId1","_persons$subDistrict4","_detail$subDistrict","_detail$subDistrict$d","_detail$subDistrict2","_detail$subDistrict2$","positionName","fetchPosition","_ref4","_ref5","_ref6","_ref7","format","dataEdit","PersonManagement","_item$position","_item$stationCenter","ModalCRUDMeteoType","meteoDetail","meteoTypeEn","MeteoTypeManagement","_item$meteoTypeId","_item$meteoTypeTh","_item$meteoTypeEn","displayMeteo","displayHeaderMeteo","ModalCRUDHydroType","hydroTypeEn","HydroTypeManagement","_item$hydroTypeId","_item$hydroTypeTh","_item$hydroTypeEn","displayHydro","displayHeaderHydro","StationTypeManagement","activeType","setActiveType","activeHeader","inActiveHeader","displayToggleTabs","ModalCRUDSubBasin","subBasinDetail","basinSelected","setBasinSelected","subBasinResults","setSubBasinResults","subBasinEn","setDefaultBasinFn","SubBasinManagement","_basin$basinTh","ModalCRUDMachine","machineDetail","optionsMachine","setOptionsMachine","optionsGroupTypes","setOptionsGroupTypes","machineSelected","setMachineSelected","groupTypesSelected","setGroupTypesSelected","machineResults","setMachineResults","machineId","machineEn","machineTh","setDefaultMachine","machineTypeId","setDefaulGroupTypes","groupId","machineTypeTh","groupTh","MachineManagement","_machineType$machineT","_group$groupTh","machineType","group","_item$machineType","_item$group","ReportMeteoAuto","optionsMeteo","setOptionsMeteo","meteoDataTypeSelected","setMeteoDataTypeSelected","autoStationList","getMeteoType","_stationSelected$$con","listMeteo","getStationDetail","ReportMeteoDaily","ReportMeteoMonthly","ReportSummary","optionsSubBasin","setOptionsSubBasin","optionsProvince","setOptionsProvince","disableThaiBtn","setDisableThaiBtn","disableEngBtn","setDisableEngBtn","watchValue","lang","fullUrl","onHandleSelectType","ReportStationDetaiil","MeteoTransferStatus","optionsMeteoType","setOptionsMeteoType","meteoTypeSelected","setMeteoTypeSelected","setResponse","displayResult","setDisplayResult","totalDay","setTotalDay","_daysInMonth","moment","colspan","dataStatusID","HydroTransferStatus","optionsHydroType","setOptionsHydroType","hydroTypeSelected","setHydroTypeSelected","dailyGageHeight","SelectControlInput","RadiosInput","WaterServey","optionsMachineGroup","setOptionsMachineGroup","optionsDisOperType","setOptionsDisOperType","optionsPersonStationCenter","setOptionsPersonStationCenter","discOperResponse","setDiscOperResponse","allowDisplayContent","setAllowDisplayContent","select","inputField","setDefaultValues","discOperatId","scopeMeasure","wideRiver","surveyPersonId","calculatePersonId","approvePersonId","totalMeasure","machineNo","ratio","pendulumWeight","pendulumUnitId","startTime","endTime","sgageHeight","egageHeight","dataStatusId","updateUser","updateDate","confirmUser","confirmDate","confirmType","measureDataStatusId","measureConfirmType","measureUpdateUser","measureUpdateDate","confirmMeasureUser","confirmMeasureDate","totalArea","totalDischarge","dischargeCalculateResult","dischargeMeasure","discoperResult","onHandleRequest","discOperTypeDesc","discOperTypeId","disoperTypeInfo","disOperTypeInfoId","disOperTypeInfoDesc","_discOperResponse$dis","getType","_data$disOperTypeInfo","requestAgain","isReset","defaultValueSelect","onHandleDefaultValue","_data$surveyPersonId","_data$calculatePerson","_data$approvePersonId","_data$machineId","discOperTypeKey","discOperType","obj","discOperResult","scrollTo","behavior","onHandleDelete","ModalDeleteConfirm","WaterMeasurement","_startDate$dischargeM2","handleInput","setHandleInput","isFetching","setIsFetching","dischargeOpertableResponse","setDischargeOpertableResponse","itemEditSelected","setItemEditSelected","isShowContent","setIsShowContent","dischargeOpertable","setDischargeOpertable","calculateResult","setCalculateResult","dischargeCalculateResponse","setDischargeCalculateResponse","optionsMeasureDate","setOptionsMeasureDate","sumDischargeOpertable","setSumDischargeOpertable","tableDataTemp","setTableDataTemp","watchDepthPoint","watchDepth","disableForm","useWatch","dischargeMeasures","textHeader","textContent","optionsDepthPoint","fetchDischargeOpertable","getData","totalAvgArea","acc","avgArea","discharge","meanVelocity","velocity","onHandleCalculate","department","onHandleInput","calculateVelocity","velocityPoint1","optionsRes","calculateDischarge","depth","allowed","filterObj","pick","genArr","depthPointId","depthPointEl","depthPoint","depthWaterSurface","velocityPoint","displayWaterMeasurements","readOnly","displayTableDetail","sortingDetail","dischargeMeasureDetail","distant","angle","correctDepth","trueDepth","avgDepth","machineRetio","avgVelocityVertical","correctAvgVelocity","waterMeasurement","onEditData","getMeasurement","discMeasureId","distance","_startDate$dischargeM","onCancelForm","ThaiDateInput","minDate","maxDate","ModalCRUDWaterAnalysis","optionsPerson","elmentDetail","getCalcPerson","totalWidth","meas","ghchange","ghtime","measRate","waterTemp","textInput","displayAddButton","displayFaPencil","displayFaTrash","_ev$calculatePersonId","_ev$calculatePersonId2","discCalResultId","displayDeleteMessage","onSubmitDelete","WaterAnalysis","optionsYear","setOptionsYear","dischargeResults","setDischargeResults","personsStationCenter","setPersonsStationCeter","setOptionsPerson","isShowButtonAdd","setIsShowButtonAdd","tableContainer","fetchDischargeCalc","getOptions","getYearOptions","yearOptions","thisYear","getPerson","StationCoefficient","showContents","setShowContents","coefDischargeRes","setCoefDischargeRes","coefDischargeTable","setCoefDischargeTable","ratingCurveSelected","setRatingCurveSelected","optionsRatingCurve","fetchCoefDischarge","filterLine1","filterLine2","newArr","ratingCurveOrder","coefA","coefB","coefC","coefR","line","getSelect","displayRatingCurveSelect","ratingCurveInfo","coefDischargeId","ratingTypeId","coefa1","coefb1","coefc1","coefR1","coefa2","coefb2","coefc2","coefR2","RatingTableImportAuto","setMinValue","setMaxValue","ratingResponse","setRatingResponse","ratingResponseSelected","setRatingResponseSelected","ratingTableData","setRatingTableData","chunkRatingTable","setChunkRatingTable","displayExcelBtn","setDisplayExcelBtn","handleRequest","fetchRatingTable","onlyYear","Infinity","minPart","middlePart","maxPart","ratingMasterId","genList","matchingYear","yearList","dateSL","floor","chunkData","chunk","minLine1","maxLine1","ch","ratingTableId","getGageHeight","ratingTableLean","ratingLineNo","ratingLineAmount","beginLine1Date1","endLine1Date1","beginLine1Date2","endLine1Date2","beginLine1Date3","endLine1Date3","beginLine1Date4","endLine1Date4","beginLine1Date5","endLine1Date5","ratingTable","getMatchData","ChartRatingTable","chartLabel","dataDistributed","dataList","ratingTableAbs","chartDataLine1","setColor","random_rgba","o","r","random","ModalAddRatingModel","_ratingMasters$statio","_ratingMasters$statio2","_ratingMasters$statio3","ratingData","optionsYearRatingCurve","setOptionsYearRatingCurve","yearDataToDisplay","setYearDataToDisplay","yearDataToSelected","setYearDataToSelected","defValueRatingCurve","setDefValueRatingCurve","ratingMasters","setRatingMasters","onChangeYear","dateString","newYear","_ratingById$data","_ratingById$data2","_ratingById$data3","_ratingById$data4","_ratingById$data5","_ratingById$data6","_ratingById$data7","_ratingById$data8","_ratingById$data9","_ratingById$data10","_ratingById$data11","_ratingById$data12","_ratingById$data13","_ratingById$data14","_ratingById$data15","_ratingById$data16","_ratingById$data17","_ratingById$data18","_coefData$data","_coefData$data2","_coefData$data3","_coefData$data4","_coefData$data5","_coefData$data6","_coefData$data7","_coefData$data8","_coefData$data9","_coefData$data10","ratingById","String","maxLine2","minLine2","resRatingMaster","_getData$data","_resRatingMaster","_resRatingMaster$data","coefData","dataCoef","_coefData$data11","_err$response$data","_err$response","ratingType","ratingTypeName","getDefValueRatingCurve","ratingTableList","maxMenuHeight","isMulti","RatingTableModel","ratingResponseFilter","setRatingResponseFilter","_el$ratingMasterId","_el$station","_el$station2","_el$station3","_el$station4","_el$ratingType","FaDownload","PeriodDateInput","inputId","keyName1","keyName2","checkbox","form","prevMindate","checkValue","setCheckValue","value1","value2","checkboxEl","ModalRatingTableDetail","_ratingTableDetail$fi","_ratingTableDetail$fi2","ratingTableDetail","isModalPreviewOpen","setIsModalPreviewOpen","isLoadingSubmit","onEditRatingTable","onSubmitRatingTable","dataTable","isCreateOnce","displayGhTableDetail1","fitlerTable1","ratingTable1","filledItem","lastIndex","filledSurplus","gh","existing","f","diff","displayGhTableDetail2","fitlerTable2","ratingTable2","ModalRatingCurveChart","ratingMasterRes","modalRatingCurveOpen","setModalRatingCurveOpen","ratingTableResponse","ratingObsResponse","showSaveBtn","isTable2","setIstable2","minCalulate","setMinCalulate","maxCalulate","setMaxCalulate","stepSize","setStepSize","closeModaRatingCurve","suggestedMax","table2","sortArray","table1","chartLabels","tableTemp1","tableNo","tableTemp2","chartValues1","chartValues2","concatArrayTemp","arrX","arrY","minTemp","abs","maxTemp","step","ceil","observe","displayEquation","r1","r2","watchMinLine1","watchMaxLine1","watchMinLine2","watchMaxLine2","resDetail","ratingData2","RatingTableManual","optionsRatingTable","isCalculating","setIsCalculating","setIsCreateOnce","setIsLoadingSubmit","ratingTableSelected","setRatingTableSelected","setRatingMasterRes","setRatingMasterId","isShowRatingTable","setIsShowRatingTable","isShowRatingTableDetail","setIsShowRatingTableDetail","setDailyGageHeight","setRatingObsResponse","setRatingTableResponse","setRatingTableDetail","validButton","setValidButton","hooksForm","ratingTable1Field","ratingTable2Field","watchEndLine1Date1","watchEndLine1Date2","watchEndLine1Date3","watchEndLine1Date4","headerTitle","detailBox","convertDateY","filterTableData","trunc","getNum","resValue","beginLine2Date1","beginLine2Date2","endLine2Date1","endLine2Date2","getRatingLine","valid","displaySubDetailBox","dailyGageHeightMinYear","dailyGageHeightMinYearDate","dailyGageHeightMaxYear","dailyGageHeightMaxYearDate","displayDetailBox","displayStationDetailBox","displayRatingTable1","displayGhTable1","class","displayGhTable2","displayGageHeighTable","dataObs","ratingTableArr1","ratingTableArr2","_res$data2","fetchRatingTableId","RatingTableAuto","hoValue","period1","period2","ghMin","setGhMin","ghMax","setGhMax","dischargeCalcMin","setDischargeCalcMin","dischargeCalcMax","setDischargeCalcMax","watchRatingTable","watchHoValue","watchBeginLine1Date1","watchBeginLine1Date2","watchBeginLine1Date3","watchBeginLine1Date4","watchBeginLine1Date5","watchEndLine1Date5","getDataWithTime","displayRatingCurveDetail","displayRatingTableLimit","RatingTableComparison","MeteoStationManual","_measureTimeSelected$","_measureTimeSelected$2","setOptionDataType","setOptionTimePeriod","measureTimeSelected","transactionFull","optDataType","displayTopTable","itemAvg","summary","dataIindex","valueAsNumber","flatData","onDeleteMeasureTime","MeteoStationAuto","dataSlice","fetchMeteoStation","listDataType","HydroStationAuto","setWaterLevel","fetchWaterLevel","sliceRes","HydroStationManual","_measureTimeSelected$6","_measureTimeSelected$7","_measureTimeSelected$8","_measureTimeSelected$9","_measureTimeSelected$10","ghFull","_measureTimeSelected$3","_measureTimeSelected$4","handleSeparateDate","dateNo","gIindex","_measureTimeSelected$5","displayTopButton","newGH","filterByHourly","Stn","pdfRes","setPdfRes","Document","onLoadSuccess","_pdfInfo","Page","AppRoute","component","Component","layout","Layout","rest","props","Redirect","App","useWindowSize","windowSize","setWindowSize","handleResize","innerWidth","addEventListener","removeEventListener","tryTimes","setTryTimes","createActivityDetector","autoInit","timeInterval","setTimeInterval","defaults","common","go","getBaseUrl","ReportStationDetail","registerLocale","setDefaultLocale","Chart","annotationPlugin","zoomPlugin","setAppElement","ReactDOM","Provider","Router","ToastProvider","placement"],"mappings":"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","file":"static/js/main.597234ae.chunk.js","sourcesContent":["export const GET_IS_AUTO_VIEW = \"GET_IS_AUTO_VIEW\";\nexport const GET_STATION_ID = \"GET_STATION_ID\";\nexport const GET_KML_TYPE = \"GET_KML_TYPE\";\nexport const GET_IS_SIDE_MENU_OPEN = \"GET_IS_SIDE_MENU_OPEN\";\nexport const GET_IS_MOBILE_MODE = \"GET_IS_MOBILE_MODE\";\nexport const GET_IS_MAP_MENU_OPEN = \"GET_IS_MAP_MENU_OPEN\";\n\nexport const updateIsAutoView = (data) => {\n return {\n type: GET_IS_AUTO_VIEW,\n payload: {\n isAutoView: data,\n },\n };\n};\n\nexport const updateKmlType = (data) => {\n return {\n type: GET_KML_TYPE,\n payload: {\n kmlSelected: data,\n },\n };\n};\n\nexport const updateStationId = (data) => {\n return {\n type: GET_STATION_ID,\n payload: {\n stationIdSelected: data,\n },\n };\n};\n\nexport const updateIsSideMenuOpen = (data) => {\n return {\n type: GET_IS_SIDE_MENU_OPEN,\n payload: {\n isSideMenuOpen: data,\n },\n };\n};\n\nexport const updateIsMobileMode = (data) => {\n return {\n type: GET_IS_MOBILE_MODE,\n payload: {\n mobileMode: data,\n },\n };\n};\n\nexport const updateisMapMenuOpen = (data) => {\n return {\n type: GET_IS_MAP_MENU_OPEN,\n payload: {\n isMapMenuOpen: data,\n },\n };\n};\n","export const GET_USER_DATA = \"GET_USER_DATA\";\nexport const GET_USER_DETAIL = \"GET_USER_DETAIL\";\nexport const GET_USER_PERMISSIONS = \"GET_USER_PERMISSIONS\";\nexport const GET_PROFILE = \"GET_PROFILE\";\n\nexport const updateProfile = (data) => {\n console.log({ updateProfile: data })\n return {\n type: GET_PROFILE,\n payload: {\n profile: data,\n },\n };\n};\nexport const updateUserPermissions = (data) => {\n console.log({ updateUserPermissions: data })\n return {\n type: GET_USER_PERMISSIONS,\n payload: {\n userPermissions: data,\n },\n };\n};\nexport const updateUserData = (data) => {\n console.log({ updateUserData: data })\n return {\n type: GET_USER_DATA,\n payload: {\n userData: data,\n },\n };\n};\n\nexport const updateUserDetail = (data) => {\n console.log({ updateUserDetail: data })\n\n return {\n type: GET_USER_DETAIL,\n payload: {\n userDetail: data,\n },\n };\n};\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nconst ProtectGate = ({ children, permission }) => {\n const userPermissions = useSelector(\n (state) => state.profileReducer.userPermissions\n );\n\n return (\n
\n {!permission ||\n (userPermissions?.length && userPermissions?.includes(permission))\n ? children\n : \"\"}\n
\n );\n};\n\nexport default ProtectGate;\n","import React from \"react\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport { FaHome, FaBars } from \"react-icons/fa\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n updateIsSideMenuOpen,\n updateisMapMenuOpen,\n} from \"../redux/action/dataAction\";\nimport {\n updateProfile,\n updateUserDetail,\n updateUserData,\n} from \"../redux/action/profileAction\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\n\nconst TopMenu = () => {\n const location = useLocation();\n const dispatch = useDispatch();\n const { pathname } = location;\n\n const mobileMode = useSelector((state) => state.dataReducer.mobileMode);\n const isSideMenuOpen = useSelector(\n (state) => state.dataReducer.isSideMenuOpen\n );\n const isMapMenuOpen = useSelector((state) => state.dataReducer.isMapMenuOpen);\n const profile = useSelector((state) => state.profileReducer.profile);\n //console.log(\"🚀 ~ file: TopMenu.js ~ line 23 ~ TopMenu ~ profile\", profile)\n const userDetail = useSelector((state) => state.profileReducer.userDetail);\n //console.log(\"🚀 ~ file: TopMenu.js ~ line 25 ~ TopMenu ~ userDetail\", userDetail)\n const userPermissions = useSelector(\n (state) => state.profileReducer.userPermissions\n );\n const token = profile.access_token;\n\n const styles = {\n container: {\n background:\n \" transparent linear-gradient(90deg, #07225A 0%, #017BBA 100%, #0086C6 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n height: `${!mobileMode ? \"34px\" : \"auto\"}`,\n },\n menuItem: {\n fontSize: \"26px\",\n width: \"230px\",\n textAlign: \"center\",\n height: \"100%\",\n },\n };\n\n console.log({ userDetail });\n\n const onHandleLogout = () => {\n let profile = \"\";\n dispatch(updateProfile(profile));\n dispatch(updateUserData(\"\"));\n dispatch(updateUserDetail(\"\"));\n\n localStorage.setItem(\"token\", \"\");\n localStorage.setItem(\"refresh_token\", \"\");\n localStorage.setItem(\"expires_in\", \"\");\n };\n\n const onHandleToggleSideMenu = () => {\n if (!isMapMenuOpen && !isSideMenuOpen) {\n dispatch(updateIsSideMenuOpen(true));\n } else if (isMapMenuOpen && isSideMenuOpen) {\n dispatch(updateisMapMenuOpen(false));\n dispatch(updateIsSideMenuOpen(true));\n } else if (!isMapMenuOpen && isSideMenuOpen) {\n dispatch(updateIsSideMenuOpen(false));\n } else {\n dispatch(updateisMapMenuOpen(false));\n dispatch(updateIsSideMenuOpen(false));\n }\n };\n\n const displayToggleMenu = (\n
\n \n
\n );\n\n const displayMenuPC = (\n \n \n \n แผนที่\n \n \n\n \n \n ข่าวประชาสัมพันธ์\n \n \n {userDetail && (\n \n {userDetail.fullName}({userDetail.userName})\n \n )}\n \n );\n\n const displayMenuMobile = (\n <>\n
\n \n \n
\n \n
    \n \n \n \n {userPermissions?.length && userPermissions?.includes(2001) ? (\n \n แผนที่\n \n ) : (\n \"\"\n )}\n\n {userPermissions?.length && userPermissions?.includes(2002) ? (\n \n ข่าวประชาสัมพันธ์\n \n ) : (\n \"\"\n )}\n {!token ? (\n \n เข้าสู่ระบบ\n \n ) : (\n \n ออกจากระบบ\n \n )}\n
\n \n \n \n );\n\n const displayLogo = (\n
\n \n \"logo\"\n \n กรมทรัพยากรน้ำ\n \n \n
\n );\n\n const displayContentPC = (\n
\n
\n {displayToggleMenu}\n
\n
{displayMenuPC}
\n
\n );\n\n const displayContentMobile = (\n
\n
\n {displayToggleMenu}\n
\n
\n {displayLogo}\n
\n
\n {displayMenuMobile}\n
\n
\n );\n\n return (\n
\n {!mobileMode ? displayContentPC : displayContentMobile}\n
\n );\n};\n\nexport default TopMenu;\n","import React from \"react\";\n\nconst Version = () => {\n return
version 1.0.40
;\n};\n\nexport default Version;\n","import React from \"react\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport {\n updateProfile,\n updateUserData,\n updateUserPermissions,\n updateUserDetail,\n} from \"../redux/action/profileAction\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport Version from \"./Version\";\n\nconst Header = () => {\n const history = useHistory();\n const dispatch = useDispatch();\n const mobileMode = useSelector((state) => state.dataReducer.mobileMode);\n const profile = useSelector((state) => state.profileReducer.profile);\n\n const onHandleLogout = () => {\n dispatch(updateProfile(\"\"));\n dispatch(updateUserData(\"\"));\n dispatch(updateUserDetail(\"\"));\n dispatch(updateUserPermissions([]));\n localStorage.setItem(\"token\", \"\");\n localStorage.setItem(\"refresh_token\", \"\");\n localStorage.setItem(\"expires_in\", \"\");\n\n history.push(\"/login\");\n };\n\n const displayContentPC = (\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n
\n \n กรมทรัพยากรน้ำ\n \n

\n โครงการพัฒนาเพิ่มประสิทธิภาพเครือข่ายสถานีอุทกวิทยาเพื่อรองรับการบริหารจัดการน้ำแบบบูรณาการ\n

\n
\n
\n\n
\n {profile.access_token ? (\n \n ออกจากระบบ{\" \"}\n \n
\n ) : (\n \n เข้าสู่ระบบ{\" \"}\n \n )}\n
\n
\n
\n \n );\n\n return
{!mobileMode ? displayContentPC : \"\"}
;\n};\n\nexport default Header;\n","\nconst constants = {\n CLIENT_ID: \"dwr45m_web\",\n CLIENT_SECRET: 'a365b668-6b73-4239-b6ba-7e75b826eedf',\n SCOPE: 'dwr45m_api_scope offline_access',\n baseURL: 'https://imhydronetwork.amrasia.com',\n}\n\nexport default constants;","import {\n GET_IS_AUTO_VIEW,\n GET_KML_TYPE,\n GET_STATION_ID,\n GET_IS_SIDE_MENU_OPEN,\n GET_IS_MOBILE_MODE,\n GET_IS_MAP_MENU_OPEN,\n} from \"../action/dataAction\";\n\nconst initState = {\n kmlSelected: [],\n isAutoView: true,\n autoData: [],\n manualData: [],\n stationIdSelected: \"\",\n isSideMenuOpen: true,\n isMapMenuOpen: false,\n stationDetail: {},\n mobileMode: false,\n};\n\nconst dataReducer = (state = initState, action) => {\n switch (action.type) {\n case GET_IS_AUTO_VIEW:\n return {\n ...state,\n isAutoView: action.payload.isAutoView,\n };\n case GET_KML_TYPE:\n return {\n ...state,\n kmlSelected: action.payload.kmlSelected,\n };\n case GET_STATION_ID:\n return {\n ...state,\n stationIdSelected: action.payload.stationIdSelected,\n };\n case GET_IS_SIDE_MENU_OPEN:\n return {\n ...state,\n isSideMenuOpen: action.payload.isSideMenuOpen,\n };\n case GET_IS_MOBILE_MODE:\n return {\n ...state,\n mobileMode: action.payload.mobileMode,\n };\n case GET_IS_MAP_MENU_OPEN:\n return {\n ...state,\n isMapMenuOpen: action.payload.isMapMenuOpen,\n };\n\n default:\n break;\n }\n\n return state;\n};\n\nexport default dataReducer;\n","export const GET_STATION_FILTER = \"GET_STATION_FILTER\";\nexport const GET_MANUAL_MEASURE_TYPE = \"GET_MANUAL_MEASURE_TYPE\";\nexport const GET_AUTO_MEASURE_TYPE = \"GET_AUTO_MEASURE_TYPE\";\n\nexport const updateStationFilter = (data) => {\n return {\n type: GET_STATION_FILTER,\n payload: {\n stations: data,\n },\n };\n};\nexport const updateAutoMeasuerType = (data) => {\n return {\n type: GET_AUTO_MEASURE_TYPE,\n payload: {\n autoMeasureType: data,\n },\n };\n};\nexport const updateManualMeasuerType = (data) => {\n return {\n type: GET_MANUAL_MEASURE_TYPE,\n payload: {\n manualMeasureType: data,\n },\n };\n};\n","import {\n GET_STATION_FILTER,\n GET_AUTO_MEASURE_TYPE,\n GET_MANUAL_MEASURE_TYPE,\n} from \"../action/mapAction\";\n\nconst initState = {\n stations: [],\n autoMeasureType: \"hydro\",\n manualMeasureType: \"hydro\",\n};\n\nconst mapReducer = (state = initState, action) => {\n switch (action.type) {\n case GET_STATION_FILTER:\n return {\n ...state,\n stations: action.payload.stations,\n };\n case GET_AUTO_MEASURE_TYPE:\n return {\n ...state,\n autoMeasureType: action.payload.autoMeasureType,\n };\n case GET_MANUAL_MEASURE_TYPE:\n return {\n ...state,\n manualMeasureType: action.payload.manualMeasureType,\n };\n\n default:\n break;\n }\n\n return state;\n};\n\nexport default mapReducer;\n","import {\n GET_PROFILE,\n GET_USER_PERMISSIONS,\n GET_USER_DATA,\n GET_USER_DETAIL,\n} from \"../action/profileAction\";\n\nconst initState = {\n profile: \"\",\n userPermissions: [],\n userData: \"\",\n userDetail: \"\",\n};\n\nconst profileReducer = (state = initState, action) => {\n switch (action.type) {\n case GET_PROFILE:\n return {\n ...state,\n profile: action.payload.profile,\n };\n case GET_USER_PERMISSIONS:\n return {\n ...state,\n userPermissions: action.payload.userPermissions,\n };\n case GET_USER_DATA:\n return {\n ...state,\n userData: action.payload.userData,\n };\n case GET_USER_DETAIL:\n return {\n ...state,\n userDetail: action.payload.userDetail,\n };\n\n default:\n break;\n }\n\n return state;\n};\n\nexport default profileReducer;\n","import { combineReducers } from \"redux\";\nimport dataReducer from \"./dataReducer\";\nimport mapReducer from \"./mapReducer\";\nimport profileReducer from \"./profileReducer\";\n\nconst rootReducer = combineReducers({\n dataReducer,\n profileReducer,\n mapReducer,\n});\n\nexport default rootReducer;\n","import { createStore } from \"redux\";\nimport { persistStore, persistReducer } from \"redux-persist\";\nimport storage from \"redux-persist/lib/storage\";\n\nimport rootReducer from \"./reducer/rootReducer\";\n\nconst persistConfig = {\n key: \"root\",\n storage,\n whitelist: [\"profileReducer\"],\n};\n\nconst persistedReducer = persistReducer(persistConfig, rootReducer);\n\nconst configureStore = () => {\n let store = createStore(persistedReducer);\n let persistor = persistStore(store);\n return { store, persistor };\n};\n\nexport default configureStore;\n","import axios from \"axios\";\nimport constants from \"./constants\";\nimport qs from \"qs\";\nimport jwt_decode from \"jwt-decode\";\nimport configureStore from \"../redux/configureStore\";\n// import { createBrowserHistory } from 'history';\nimport {\n updateProfile,\n updateUserData,\n updateUserDetail,\n updateUserPermissions,\n} from \"../redux/action/profileAction\";\n\nlet dwrUrl = localStorage.getItem(\"dwrUrl\");\nlet authUrl = localStorage.getItem(\"authUrl\");\n//let dwrUrl = \"https://localhost:44357/api/v1\";\n//let authUrl = \"https://localhost:5001/connect/token\";\n//alert('dwrUrl : ' + dwrUrl + ' authUrl : ' + authUrl)\nvar refreshing = false;\nconst dwrApi = axios.create({\n baseURL: dwrUrl,\n headers: {\n // Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\",\n // ContentType: \"application/x-www-form-urlencoded\",\n },\n});\n\nasync function getRefreshToken(refresh_token) {\n refreshing = true;\n let formData = qs.stringify({\n grant_type: \"refresh_token\",\n client_id: constants.CLIENT_ID,\n client_secret: constants.CLIENT_SECRET,\n refresh_token,\n });\n\n try {\n let res = await axios.post(`${authUrl}`, formData);\n // console.log('refresh', res);\n return res;\n } catch (err) {\n console.error(err);\n if (err.response.data.status == 401) {\n localStorage.clear();\n }\n\n // location.href = '/login'\n } finally {\n refreshing = false;\n }\n}\n\ndwrApi.interceptors.request.use(\n async function (config) {\n try {\n const { store } = configureStore();\n // console.log({ store })\n const userData = store.getState().profileReducer;\n // const route = createBrowserHistory();\n // console.log({ userData, route })\n\n let refreshToken = localStorage.getItem(\"refresh_token\");\n let tokenExpireTime = localStorage.getItem(\"expires_in\");\n let accessToken = localStorage.getItem(\"token\");\n let now = new Date().getTime();\n let authConfig = config;\n\n if (\n accessToken &&\n !refreshing &&\n tokenExpireTime &&\n now > tokenExpireTime\n ) {\n console.warn(\"SESSION EXPIRED!\");\n\n const res = await getRefreshToken(refreshToken);\n if (!!res) {\n const { access_token, refresh_token, expires_in } = res.data;\n const decoded = await jwt_decode(access_token);\n\n store.dispatch(updateProfile(res.data));\n store.dispatch(updateUserData(decoded));\n\n await dwrApi\n .get(`/UserPermissions/User/${decoded.sub}`)\n .then((res) => {\n console.log(\"usepermission\", res.data);\n store.dispatch(updateUserPermissions(res.data));\n })\n .catch((error) => console.error(error));\n\n await dwrApi\n .get(`/HydroUsers/${decoded.sub}`)\n .then((res) => {\n store.dispatch(updateUserDetail(res.data));\n })\n .catch((err) => console.log(err.message));\n\n console.log({\n access_token,\n refresh_token,\n store: store.getState(),\n decoded,\n });\n\n localStorage.setItem(\"token\", access_token);\n localStorage.setItem(\"refresh_token\", refresh_token);\n localStorage.setItem(\n \"expires_in\",\n expires_in * 1000 + new Date().getTime()\n );\n\n authConfig = {\n ...config,\n headers: {\n ...config.headers,\n Authorization: `Bearer ${access_token}`,\n },\n };\n return authConfig;\n }\n } else {\n // console.log({ userData });\n\n authConfig = {\n ...config,\n headers: {\n ...config.headers,\n Authorization: `Bearer ${accessToken}`,\n },\n };\n return authConfig;\n\n // console.log({ accessToken, isExpired: tokenExpireTime && now > tokenExpireTime });\n }\n return config;\n } catch (err) {\n console.error({ REQ: err });\n // route.push('/login');\n }\n },\n function (error) {\n console.error({ error });\n // Do something with request error\n return Promise.reject(error);\n }\n);\n\nexport { dwrApi };\n","import React from \"react\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\nimport { Link, useHistory } from \"react-router-dom\";\n\nconst SubAccordionEl = ({ list }) => {\n const { permission, path, subList, id, label } = list;\n\n const history = useHistory();\n const { pathname } = history.location;\n\n const stylesFn = (tagPath, tagPathEx) => {\n const condition1 = Boolean(pathname == tagPath);\n const condition2 = tagPathEx\n ? Boolean(pathname == tagPathEx) || Boolean(pathname.startsWith(tagPath))\n : false;\n\n return {\n backgroundColor: condition1 || condition2 ? \"rgba(0,0,0,0.1)\" : \"\",\n color: condition1 || condition2 ? \"inherit\" : \"\",\n };\n };\n\n const styles = {\n menuButton: {\n fontFamily: \"inherit\",\n fontWeight: \"bold\",\n },\n };\n return (\n \n
\n
\n
\n \n {label}\n \n
\n \n
\n {subList && subList.length\n ? subList.map((item, i) => {\n return (\n \n \n
  • \n {item?.label}\n
  • \n \n
    \n );\n })\n : \"\"}\n
    \n
    \n
    \n \n
    \n );\n};\n\nconst AccordionEl = ({ menuObject }) => {\n const { id, permission, list, title } = menuObject;\n const history = useHistory();\n const { pathname } = history.location;\n\n const stylesFn = (tagPath, tagPathEx) => {\n const condition1 = Boolean(pathname == tagPath);\n const condition2 = tagPathEx\n ? Boolean(pathname == tagPathEx) || Boolean(pathname.startsWith(tagPath))\n : false;\n\n return {\n backgroundColor: condition1 || condition2 ? \"rgba(0,0,0,0.1)\" : \"\",\n color: condition1 || condition2 ? \"inherit\" : \"\",\n };\n };\n\n const styles = {\n menuButton: {\n fontFamily: \"inherit\",\n fontWeight: \"bold\",\n },\n };\n\n return (\n \n
    \n
    \n
    \n \n {title || \"\"}\n \n
    \n \n
    \n {list.length\n ? list.map((item, i) => {\n if (item.subList && item.subList.length) {\n return ;\n } else {\n return (\n \n \n
  • \n {item?.label}\n
  • \n \n
    \n );\n }\n })\n : \"\"}\n
    \n
    \n
    \n \n
    \n );\n};\n\nexport default AccordionEl;\n","import React, { useState, useEffect } from \"react\";\nimport { Link, useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport AccordionEl from \"./AccordionEl\";\nimport { updateProfile } from \"../redux/action/profileAction\";\n\nconst SideMenu = () => {\n const [roleUser, setRoleUser] = useState(\"\");\n const userData = useSelector((state) => state.profileReducer.userData);\n const dispatch = useDispatch();\n const history = useHistory();\n\n const menuList = [\n {\n title: \"จัดการ Slide Show\",\n id: \"menu_02\",\n permission: 2400,\n list: [\n { label: \"เพิ่ม ลบ แก้ไข\", path: \"/slidemanagement\", permission: \"\" },\n ],\n },\n {\n title: \"จัดการข่าวประชาสัมพันธ์\",\n id: \"menu_01\",\n permission: 2300,\n list: [\n { label: \"เพิ่ม ลบ แก้ไข\", path: \"/newsmanagement\", permission: \"\" },\n ],\n },\n {\n title: \"กำหนดสิทธิ์ผู้ใช้ระบบ\",\n permission: 2500,\n id: \"menu_03\",\n list: [\n {\n label: \"เพิ่ม แก้ไข ลบ สิทธิ์ผู้ใช้ระบบ\",\n path: \"/usermanagement\",\n permission: 2501,\n },\n {\n label: \"รายงานการใช้ระบบ และดาวน์โหลดข้อมูล\",\n path: \"/userreport\",\n permission: 2502,\n },\n ],\n },\n {\n title: \"ข้อมูลระดับน้ำ\",\n permission: 2600,\n id: \"menu_04\",\n list: [\n {\n label: \"บันทึก/แก้ไข ข้อมูลระดับน้ำ\",\n path: \"\",\n permission: 2601,\n id: \"menu_04-01\",\n subList: [\n {\n label: \"สถานีอัตโนมัติ\",\n path: \"/hydrostationauto\",\n permission: 2602,\n },\n {\n label: \"สถานีธรรมดา\",\n path: \"/hydrostationmanual\",\n permission: 2603,\n },\n ],\n },\n {\n label: \"รายงานข้อมูลระดับน้ำอัตโนมัติ\",\n path: \"/reportwaterlevelauto\",\n permission: 2604,\n },\n {\n label: \"รายงานข้อมูลระดับน้ำรายชั่วโมง\",\n path: \"/reportwaterLevelmanualdaily\",\n permission: 2605,\n },\n {\n label: \"รายงานข้อมูลระดับน้ำรายวัน\",\n path: \"/reportwaterLevelmanualmonthly\",\n permission: 2606,\n },\n ],\n },\n\n {\n title: \"ข้อมูลปริมาณน้ำ\",\n permission: 2700,\n id: \"menu_05\",\n list: [\n {\n label: \"บันทึก/แก้ไข ข้อมูลผลการปฏิบัติงานวัดน้ำ\",\n path: \"/WaterServey\",\n permission: 2701,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลวัดน้ำ\",\n path: \"/WaterMeasurement\",\n permission: 2702,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลผลการคำนวณค่าวัดน้ำ\",\n path: \"/WaterAnalysis\",\n permission: 2703,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลสัมประสิทธิ์ของสถานี\",\n path: \"/StationCoefficient\",\n permission: 2704,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูล Rating Table แบบ Manual\",\n path: \"/RatingTableManual\",\n permission: 2705,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูล Rating Table แบบ Auto\",\n path: \"/RatingTableAuto\",\n permission: 2706,\n },\n {\n label: \"การนำเข้าข้อมูล Rating table จากไฟล์\",\n path: \"/RatingTableImportAuto\",\n permission: 2707,\n },\n {\n label: \"สร้างไฟล์ Rating table เพื่อใช้งานใน Model\",\n path: \"/RatingTableModel\",\n permission: 2708,\n },\n ],\n },\n\n {\n title: \"ข้อมูลอุตุนิยมวิทยา\",\n permission: 2900,\n id: \"menu_06\",\n list: [\n {\n label: \"บันทึก/แก้ไข ข้อมูลอุตุนิยมวิทยา\",\n path: \"\",\n permission: 2901,\n id: \"menu_05-01\",\n subList: [\n {\n label: \"สถานีอัตโนมัติ\",\n path: \"/meteostationauto\",\n permission: 2902,\n },\n {\n label: \"สถานีธรรมดา\",\n path: \"/meteostationmanual\",\n // path: \"/manualstationmeteo\",\n permission: 2903,\n },\n ],\n },\n {\n label: \"รายงานข้อมูลอุตุนิยมวิทยาอัตโนมัติ\",\n path: \"/ReportMeteoAuto\",\n permission: 2905,\n },\n {\n label: \"รายงานข้อมูลอุตุนิยมวิทยารายชั่วโมง\",\n path: \"/ReportMeteoDaily\",\n permission: 2906,\n },\n {\n label: \"รายงานข้อมูลอุตุนิยมวิทยารายวัน\",\n path: \"/ReportMeteoMonthly\",\n permission: 2907,\n },\n ],\n },\n {\n title: \"ข้อมูลรายละเอียดของสถานี\",\n permission: 2100,\n id: \"menu_07\",\n list: [\n {\n label: \"เพิ่ม/แก้ไข ข้อมูลรายละเอียดของสถานี\",\n path: \"/stationmanagement\",\n pathEx: \"/addstation\",\n permission: 2101,\n },\n {\n label: \"รายงานสรุปจำนวนสถานีจำแนกตามประเภทข้อมูล\",\n path: \"/ReportSummary\",\n permission: 2102,\n },\n {\n label: \"รายงานรายละเอียดสถานี\",\n path: \"/ReportStationDetail\",\n permission: 2103,\n },\n ],\n },\n {\n title: \"สถานะการบันทึกถ่ายโอนข้อมูล\",\n permission: 2971,\n id: \"menu_10\",\n list: [\n {\n label: \"สถานะการบันทึกถ่ายโอนข้อมูลอุทกวิทยา\",\n path: \"/HydroTransferStatus\",\n permission: 2105,\n },\n {\n label: \"สถานะการบันทึกถ่ายโอนข้อมูลอุตุนิยมวิทยา\",\n path: \"/MeteoTransferStatus\",\n permission: 2104,\n },\n ],\n },\n {\n title: \"ข้อมูลอ้างอิง\",\n permission: 2200,\n id: \"menu_08\",\n list: [\n {\n label: \"บันทึก/แก้ไข ข้อมูลจังหวัด อำเภอ ตำบล\",\n path: \"/locationManagement\",\n permission: 2210,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลลุ่มน้ำหลัก\",\n path: \"/basinManagement\",\n permission: 2220,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลลุ่มน้ำสาขา\",\n path: \"/subBasinManagement\",\n permission: 2230,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลชนิดเครื่องมือ\",\n path: \"/MachineManagement\",\n permission: 2240,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลประเภทของสถานี\",\n path: \"/stationTypeManagement\",\n permission: 2280,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลเจ้าหน้าที่ปฏิบัติงาน\",\n path: \"/PersonManagement\",\n permission: 2250,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลสำนักภาค\",\n path: \"/departmentManagement\",\n permission: 2260,\n },\n {\n label: \"บันทึก/แก้ไข ข้อมูลส่วนอุทกวิทยา\",\n path: \"/dataHydroManagement\",\n permission: 2270,\n },\n ],\n },\n {\n title: \"ตั้งค่าเริ่มต้น\",\n permission: 2972,\n id: \"menu_12\",\n list: [\n {\n label: \"ตั้งค่าคาบเวลาเก็บข้อมูลของสถานี\",\n path: \"/configManagement\",\n permission: 2290,\n },\n ],\n },\n ];\n\n const getUserDetail = () => {\n dwrApi\n .get(`/HydroUsers/${userData.sub}`)\n .then((res) => {\n const role =\n res.data.isAdmin === \"Y\"\n ? \"สำหรับผู้ดูแลระบบ\"\n : res.data.hydroUserRole.length\n ? res.data.hydroUserRole[0].role.roleName\n : \"\";\n\n setRoleUser(role);\n })\n .catch((err) => {\n console.error(err.message);\n // onHandleLogout();\n });\n };\n\n useEffect(() => {\n if (userData) getUserDetail();\n }, [userData]);\n\n return (\n
    \n
    {roleUser}
    \n {menuList.map((menu, i) => {\n return ;\n })}\n
    \n );\n};\n\nexport default SideMenu;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\n\nimport { useForm } from \"react-hook-form\";\nimport { kml as togeojson } from \"@tmcw/togeojson\";\nimport axios from \"axios\";\nimport { dwrApi } from \"../api/dwrApi\";\n\nconst ModalForecastFlood = () => {\n let map;\n const google = window.google;\n const mapDiv = document.getElementById(\"gmap-f\");\n const {\n register: registerFlood,\n handleSubmit: handleSubmitFlood,\n watch,\n } = useForm();\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [kmlForecast, setKmlForecast] = useState([]);\n const [selectedMapTypeId, setSelectedMapTypeId] = useState(\"satellite\");\n\n const [isLoading, setIsLoading] = useState(false);\n const [lastestZoom, setLastestZoom] = useState(6);\n const [kmlSelected, setKmlSelected] = useState(null);\n const [legendSrc, setLegendSrc] = useState(null);\n const [geoJson, setGeoJson] = useState([]);\n const [tryInit, setTryInit] = useState(0);\n const coords = [13.24, 101.2];\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n zIndex: \"1050\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n colorGuide: {\n position: \"absolute\",\n bottom: \"50px\",\n left: \"10px\",\n zIndex: \"1030\",\n },\n kmlMenu: {\n position: \"absolute\",\n top: \"50px\",\n left: \"10px\",\n zIndex: \"1030\",\n maxHeight: \"225px\",\n overflowY: \"auto\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n height: \"85vh\",\n width: \"90vw\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n // resetCs();\n };\n\n const onHandleSelectKml = (ev) => {\n const val = JSON.parse(ev.kmlForecast);\n setKmlSelected(val);\n };\n\n const displayButtonOpenModal = (\n
    \n รายการพยากรณ์แผนที่น้ำท่วม\n
    \n );\n\n const getForecastConfig = async () => {\n // .get(\"/assets/config/forecastConfig.json\")\n await dwrApi\n .get(\"/ForecastMap\")\n .then((res) => {\n console.log(\"fc\", res.data);\n const list = res.data;\n\n setKmlForecast(list);\n setKmlSelected(list[0]);\n })\n .catch((err) => {\n console.log(\"err\", err);\n });\n };\n\n useEffect(() => {\n getForecastConfig();\n }, []);\n\n const displayHeader = (\n \n \n รายการพยากรณ์น้ำท่วม\n \n \n \n \n \n );\n\n const displayKmlMenu = (\n \n {kmlForecast.length\n ? kmlForecast.map((item, index) => {\n return (\n
    \n
    \n \n \n
    \n
    \n );\n })\n : \"\"}\n \n );\n\n const displayContent = (\n
    \n
    {displayKmlMenu}
    \n
    \n \n \n
    \n \n );\n const generateGeoJson = async () => {\n if (kmlSelected) {\n await new google.maps.Data(null);\n setIsLoading(true);\n\n const { basinName, center, floodArea, folderName, legend } = kmlSelected;\n\n let targetOverlay = new google.maps.GroundOverlay(floodArea.href, {\n north: floodArea.imageBounds.north,\n south: floodArea.imageBounds.south,\n east: floodArea.imageBounds.east,\n west: floodArea.imageBounds.west,\n });\n\n targetOverlay.setMap(map);\n setLegendSrc(legend.href);\n }\n };\n\n const initMap = async () => {\n const { latitude, longitude } = kmlSelected.center;\n\n try {\n if (google) {\n // let lat = 13.736717;\n // let lng = 100.523186;\n let lat = kmlSelected ? latitude : 13.736717;\n let lng = kmlSelected ? longitude : 100.523186;\n\n map = await new google.maps.Map(mapDiv, {\n center: new google.maps.LatLng(lat, lng),\n zoom: kmlSelected ? 9 : lastestZoom,\n mapTypeId: selectedMapTypeId,\n });\n\n await generateGeoJson();\n\n await map.addListener(\"zoom_changed\", (ev) => {\n if (map && map.zoom) {\n setLastestZoom(map.zoom);\n } else {\n setLastestZoom(6);\n }\n });\n\n await map.addListener(\"maptypeid_changed\", () => {\n setSelectedMapTypeId(map.getMapTypeId());\n });\n\n setTryInit(0);\n }\n } catch (e) {\n console.log(\"init error: \" + e.message);\n setTryInit(tryInit + 1);\n }\n };\n\n useEffect(() => {\n if (modalIsOpen) {\n console.log(\"init map\");\n initMap();\n }\n }, [kmlSelected, mapDiv, modalIsOpen, tryInit]);\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n {displayContent}\n {/*
    \n
    \n
    {displayColorGuide}
    \n
    */}\n \n
    \n );\n};\n\nexport default ModalForecastFlood;\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useForm } from \"react-hook-form\";\nimport Select from \"react-select\";\nimport {\n updateStationId,\n updateIsAutoView,\n updateKmlType,\n updateIsSideMenuOpen,\n} from \"../redux/action/dataAction\";\n\nimport {\n updateStationFilter,\n updateAutoMeasuerType,\n updateManualMeasuerType,\n} from \"../redux/action/mapAction\";\nimport ModalForecastFlood from \"./ModalForecastFlood\";\n\nconst MapMenu = () => {\n const basin22Checkbox = document.getElementById(\"basin22_checkbox\");\n const basin25Checkbox = document.getElementById(\"basin25_checkbox\");\n const subBasin25Checkbox = document.getElementById(\"subBasin25_checkbox\");\n const subBasin22Checkbox = document.getElementById(\"subBasin22_checkbox\");\n const riverMainCheckbox = document.getElementById(\"riverMain_checkbox\");\n const riverSubCheckbox = document.getElementById(\"riverSub_checkbox\");\n\n const dispatch = useDispatch();\n const [allStation, setAllStation] = useState();\n const [stationByType, setStationByType] = useState([]);\n const [stationByMeasure, setStationByMeasure] = useState([]);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [selectedStation, setSelectedStation] = useState(\"\");\n const isAutoView = useSelector((state) => state.dataReducer.isAutoView);\n const autoMeasureType = useSelector(\n (state) => state.mapReducer.autoMeasureType\n );\n const manualMeasureType = useSelector(\n (state) => state.mapReducer.manualMeasureType\n );\n const kmlSelected = useSelector((state) => state.dataReducer.kmlSelected);\n\n const defaultValues = {\n autoDataType: \"hydro\",\n manualDataType: \"hydro\",\n };\n\n const { register, handleSubmit, getValues, setValue, reset, watch } = useForm(\n {\n defaultValues,\n }\n );\n let options = [];\n const autoFormData = getValues(\"autoDataType\");\n const manualFormData = getValues(\"manualDataType\");\n\n const styles = {\n activeButton: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n border: \"none\",\n fontSize: \"16px\",\n fontFamily: \"inherit\",\n paddingInline: \"30px\",\n },\n normalButton: {\n background:\n \"transparent linear-gradient(180deg, #EBECEC 0%, #D8DADA 50%, #CBCDCE 100%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n border: \"none\",\n fontSize: \"16px\",\n fontFamily: \"inherit\",\n paddingInline: \"30px\",\n },\n optionHeader: {\n color: \"#231F20\",\n fontSize: \"16px\",\n fontWeight: \"bold\",\n },\n };\n\n const onHandleCheck = () => {\n try {\n document.getElementById(kmlSelected).checked = true;\n } catch (e) {\n console.log(e.message);\n }\n };\n\n const filterByTypeFn = (data) => {\n console.log({ isAutoView });\n if (isAutoView) {\n const autoStation = data.filter((station) => {\n return station.stationTypeId == 2 && station.active == \"Y\";\n });\n setStationByType(autoStation);\n } else if (!isAutoView) {\n const manualStation = data.filter((station) => {\n return station.stationTypeId == 1 && station.active == \"Y\";\n });\n setStationByType(manualStation);\n }\n };\n\n const filterByMeasureFn = (data) => {\n console.log(\"filteredStation\", data);\n setStationByMeasure([]);\n data.map((station) => {\n let hydroId = [];\n let meteoId = [];\n const configStationArr = station.configDataStation;\n\n configStationArr.map((stationData) => {\n if (stationData.active == \"Y\") {\n hydroId.push(stationData.hydroTypeId);\n meteoId.push(stationData.meteotypeId);\n }\n });\n\n // console.log({ hydroId, meteoId });\n\n if (station.stationTypeId == 1) {\n if (!hydroId.includes(null) && manualMeasureType === \"hydro\") {\n setStationByMeasure((stationByMeasure) => [\n ...stationByMeasure,\n station,\n ]);\n } else if (meteoId.includes(\"01\") && manualMeasureType === \"meteo_1\") {\n setStationByMeasure((stationByMeasure) => [\n ...stationByMeasure,\n station,\n ]);\n } else if (!meteoId.includes(null) && manualMeasureType === \"meteo\") {\n setStationByMeasure((stationByMeasure) => [\n ...stationByMeasure,\n station,\n ]);\n }\n } else if (station.stationTypeId == 2) {\n if (!hydroId.includes(null) && autoMeasureType === \"hydro\") {\n setStationByMeasure((stationByMeasure) => [\n ...stationByMeasure,\n station,\n ]);\n } else if (!meteoId.includes(null) && autoMeasureType === \"meteo\") {\n setStationByMeasure((stationByMeasure) => [\n ...stationByMeasure,\n station,\n ]);\n }\n }\n\n // if (\n // autoMeasureType == \"hydro\" &&\n // hydroId.includes(\"01\") &&\n // autoMeasureType !== \"meteo_1\"\n // ) {\n // setStationByMeasure((stationByMeasure) => [\n // ...stationByMeasure,\n // station,\n // ]);\n // } else if (\n // autoMeasureType == \"meteo\" &&\n // !meteoId.includes(null)\n // ) {\n\n // setStationByMeasure((stationByMeasure) => [\n // ...stationByMeasure,\n // station,\n // ]);\n // } else if (\n // autoMeasureType == \"meteo_1\" &&\n // meteoId.includes(\"01\")\n // ) {\n // setStationByMeasure((stationByMeasure) => [\n // ...stationByMeasure,\n // station,\n // ]);\n // }\n });\n };\n\n const filterStationFn = (data) => {\n filterByTypeFn(data);\n };\n\n const fetchAllStation = () => {\n dwrApi\n .get(\"/Stations?Publish=Y\")\n .then((res) => {\n setAllStation(res.data);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n\n // setAllStation(mockStations)\n };\n\n useEffect(() => {\n console.log({ stationByType });\n if (!!selectedStation) {\n filterByMeasureFn([selectedStation]);\n } else {\n filterByMeasureFn(stationByType);\n }\n }, [stationByType, autoFormData, manualFormData]);\n\n useEffect(() => {\n if (stationByMeasure) {\n const filterList = stationByMeasure.filter(\n (station) => station.configDataStation.length > 0\n );\n dispatch(updateStationFilter(stationByMeasure));\n }\n }, [stationByMeasure]);\n\n useEffect(() => {\n onHandleCheck();\n }, []);\n\n useEffect(() => {\n fetchAllStation();\n setValue(\"autoDataType\", autoMeasureType);\n setValue(\"manualDataType\", manualMeasureType);\n }, []);\n\n useEffect(() => {\n if (allStation) {\n filterStationFn(allStation);\n }\n }, [allStation, isAutoView, autoFormData, manualFormData]);\n\n if (allStation && allStation.length) {\n allStation.forEach((station) => {\n if (station.active === \"Y\" && station.configDataStation.length) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh} (${station.stationId}) `,\n };\n options.push(list);\n }\n });\n }\n\n const onHandleSelectStation = (ev) => {\n // console.log({ onHandleSelectStation: ev })\n if (!ev) {\n setSearchTerm(\"\");\n setSelectedStation(\"\");\n filterStationFn(allStation);\n if (isAutoView) {\n setValue(\"autoDataType\", autoMeasureType);\n } else {\n setValue(\"manualDataType\", manualMeasureType);\n }\n } else {\n setSearchTerm(ev.value);\n dispatch(updateStationId(ev.value));\n const selectStation = allStation.filter((station) => {\n return station.stationId === ev.value;\n });\n // console.log({ selectStation })\n if (selectStation.length) {\n setSelectedStation(selectStation[0]);\n const { configDataStation } = selectStation[0];\n const firstConfigData = configDataStation.find(\n (configData) => configData.active === \"Y\"\n );\n console.log({ firstConfigData, selectStation: selectStation[0] });\n if (selectStation[0].stationTypeId == 2 && !!firstConfigData) {\n let { hydroTypeId, meteotypeId } = firstConfigData;\n dispatch(updateIsAutoView(true));\n console.warn(\"SELECT AUTO\", { hydroTypeId, meteotypeId });\n if (!!hydroTypeId) {\n // setValue('autoDataType', 'hydro');\n dispatch(updateAutoMeasuerType(\"hydro\"));\n } else if (!!meteotypeId) {\n // setValue('autoDataType', 'meteo');\n dispatch(updateAutoMeasuerType(\"meteo\"));\n }\n } else if (selectStation[0].stationTypeId == 1 && !!firstConfigData) {\n let { hydroTypeId, meteotypeId } = firstConfigData;\n dispatch(updateIsAutoView(false));\n console.warn(\"SELECT MANUAL\", { hydroTypeId, meteotypeId });\n if (!!hydroTypeId) {\n // setValue('manualDataType', 'hydro');\n dispatch(updateManualMeasuerType(\"hydro\"));\n } else if (!!meteotypeId) {\n switch (meteotypeId) {\n case \"01\":\n // setValue('manualDataType', 'meteo_1');\n dispatch(updateManualMeasuerType(\"meteo_1\"));\n break;\n default:\n // setValue('manualDataType', 'meteo');\n dispatch(updateManualMeasuerType(\"meteo\"));\n break;\n }\n }\n }\n dispatch(updateStationFilter(selectStation));\n }\n }\n };\n\n const onAutoSubmit = (ev) => {\n dispatch(updateAutoMeasuerType(ev.autoDataType));\n };\n\n const onManualSubmit = (ev) => {\n dispatch(updateAutoMeasuerType(ev.manualDataType.slice(0, 5)));\n dispatch(updateManualMeasuerType(ev.manualDataType));\n };\n\n const autoViewClick = (ev) => {\n dispatch(updateAutoMeasuerType(autoFormData));\n dispatch(updateIsAutoView(true));\n reset(defaultValues);\n };\n\n const manualViewClick = (ev) => {\n dispatch(updateAutoMeasuerType(manualFormData.slice(0, 5)));\n dispatch(updateManualMeasuerType(manualFormData));\n dispatch(updateIsAutoView(false));\n reset(defaultValues);\n };\n\n const onHandleSelectKml = async (ev) => {\n let kmlBasin25 = [];\n let kmlSubBasin25 = [];\n let kmlBasin22 = [];\n let kmlSubBasin22 = [];\n let kmlRiverMain = [];\n let kmlRiverSub = [];\n\n try {\n if (basin25Checkbox.checked) {\n kmlBasin25 = await basin25Checkbox.value.split(\",\");\n }\n if (subBasin25Checkbox.checked) {\n kmlSubBasin25 = await subBasin25Checkbox.value.split(\",\");\n }\n if (basin22Checkbox.checked) {\n kmlBasin22 = await basin22Checkbox.value.split(\",\");\n }\n if (subBasin22Checkbox.checked) {\n kmlSubBasin22 = await subBasin22Checkbox.value.split(\",\");\n }\n\n if (riverMainCheckbox.checked) {\n kmlRiverMain = await riverMainCheckbox.value.split(\",\");\n }\n\n if (riverSubCheckbox.checked) {\n kmlRiverSub = await riverSubCheckbox.value.split(\",\");\n }\n\n const kmlColect = [\n ...kmlBasin25,\n ...kmlSubBasin25,\n ...kmlBasin22,\n ...kmlSubBasin22,\n ...kmlRiverMain,\n ...kmlRiverSub,\n ];\n\n dispatch(updateKmlType(kmlColect));\n } catch (e) {\n console.log(\"e\", e);\n }\n };\n // const onHandleSelectKml = (ev) => {\n // // console.log(ev.target);\n\n // try {\n // const select = ev.kmlType.map((item) => {\n // return item.split(\",\");\n // });\n // dispatch(updateKmlType(select.flat()));\n // } catch (e) {\n // console.log(\"e\", e);\n // }\n // };\n\n const onHandleUnCheck22 = (ev) => {\n if (ev.target.checked) {\n basin22Checkbox.checked = false;\n subBasin22Checkbox.checked = false;\n }\n };\n\n const onHandleUnCheck25 = (ev) => {\n if (ev.target.checked) {\n basin25Checkbox.checked = false;\n subBasin25Checkbox.checked = false;\n }\n };\n\n const displayInput = (\n
    \n
    \n \"ไม่พบสถานี\"}\n isClearable={true}\n />\n
    \n\n
    \n
    ขอบเขต
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n\n const displayTypeButton = (\n
    \n
    \n \n อัตโนมัติ\n \n
    \n
    \n \n ธรรมดา\n \n
    \n
    \n );\n\n const displayAutoOptions = (\n
    \n
    \n
    ข้อมูลอุทกวิทยา
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    ข้อมูลอุตุนิยมวิทยา
    \n
    \n \n \n
    \n
    \n
    \n\n \n
    \n \n );\n const displayManualOptions = (\n
    \n
    \n
    ข้อมูลอุทกวิทยา
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    ข้อมูลอุตุนิยมวิทยา
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n\n

    รายการพยากรณ์แผนที่น้ำท่วม

    \n
    \n
    \n );\n\n return (\n
    \n
    \n {displayInput}\n
    \n
    \n {displayTypeButton}\n
    \n {isAutoView ? displayAutoOptions : displayManualOptions}\n
    \n
    \n {/*
    */}\n
    \n \n ขอบเขต 25 ลุ่มน้ำ (มาตรฐานการแบ่งกลุ่มลุ่มน้ำ 2536)\n \n
    \n \n ขอบเขต 22 ลุ่มน้ำ (มาตรฐานการแบ่งกลุ่มลุ่มน้ำ 2564)\n \n
    \n {/*
    */}\n
    \n
    \n );\n};\n\nexport default MapMenu;\n","import React, { useEffect } from \"react\";\nimport TopMenu from \"../Components/TopMenu\";\nimport Header from \"../Components/Header\";\nimport SideMenu from \"../Components/SideMenu\";\nimport { useLocation, useHistory } from \"react-router\";\nimport { useSelector } from \"react-redux\";\nimport \"semantic-ui-css/semantic.min.css\";\nimport { Menu, Sidebar } from \"semantic-ui-react\";\nimport MapMenu from \"../Components/MapMenu\";\n\nconst MainLayout = ({ children, permission }) => {\n const location = useLocation();\n const history = useHistory();\n const { pathname } = location;\n const userPermissions = useSelector(\n (state) => state.profileReducer.userPermissions\n );\n const isSideMenuOpen = useSelector(\n (state) => state.dataReducer.isSideMenuOpen\n );\n const isMapMenuOpen = useSelector((state) => state.dataReducer.isMapMenuOpen);\n const mobileMode = useSelector((state) => state.dataReducer.mobileMode);\n\n useEffect(() => {\n if (!permission) {\n // console.log('TRIGGER LOCATION', userPermissions.includes(permission))\n } else if (\n !!permission &&\n userPermissions.length > 0 &&\n !userPermissions.includes(permission)\n ) {\n history.push(\"/\");\n }\n\n // history.location.pathname\n }, [userPermissions, history.location.pathname]);\n\n const styles = {\n header: {\n height: !mobileMode ? \"135px\" : \"\",\n },\n body: {\n position: \"absolute\",\n top: !mobileMode ? \"135px\" : \"50px\",\n bottom: 0,\n left: 0,\n right: 0,\n overflowY: \"scroll\",\n },\n sidebar: {\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n overflowY: \"scroll\",\n },\n content: {\n position: \"absolute\",\n // width: `${pathname !== \"/\" && isSideMenuOpen ? \"75%\" : \"100%\"}`,\n top: 0,\n bottom: 0,\n left: 0,\n right: isSideMenuOpen ? \"350px\" : 0,\n margin: `${isSideMenuOpen ? \"\" : \"auto\"}`,\n overflowY: \"scroll\",\n },\n };\n\n const displayContent = (\n
    \n \n \n \n \n\n \n
    {children}
    \n
    \n
    \n
    \n );\n\n const displayContentWithMapMenu = (\n <>\n \n \n \n \n\n \n
    {displayContent}
    \n
    \n
    \n \n );\n\n return (\n \n
    \n
    \n
    \n \n
    \n
    \n {pathname === \"/map\" || pathname === \"/gmap\"\n ? displayContentWithMapMenu\n : displayContent}\n
    \n
    \n
    \n );\n};\n\nexport default MainLayout;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport Modal from \"react-modal\";\n// import Carousel from \"react-multi-carousel\";\nimport Slider from \"react-slick\";\n\nconst ModalNewsSlideImages = ({\n modalIsOpen,\n setModalIsOpen,\n newsDetail,\n indexImgSelected,\n}) => {\n const { newsImage } = newsDetail;\n const sliderRef = useRef();\n\n const settings = {\n dots: false,\n infinite: false,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n initialSlide: indexImgSelected,\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxWidth: \"650px\",\n maxHeight: \"90vh\",\n overflow: \"hidden\",\n },\n overlay: {\n background: \"rgba(0, 0, 0, 0.8)\",\n zIndex: \"1010\",\n },\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n return (\n <>\n \n
    \n
    \n \n
    \n
    \n\n
    \n \n {newsImage && newsImage.length\n ? newsImage.map((item) => {\n return (\n
    \n \n
    \n );\n })\n : \"\"}\n
    \n
    \n \n \n );\n};\n\nexport default ModalNewsSlideImages;\n","import React, { useState, useEffect } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { FaRegCalendarAlt } from \"react-icons/fa\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport ModalNewsSlideImages from \"../Components/ModalNewsSlideImages\";\n\nconst NewsDetail = ({ modalNewsId }) => {\n let { newsId } = useParams();\n const [newsDetail, setNewsDetail] = useState(\"\");\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [indexImgSelected, setIndexImgSelected] = useState(0);\n let displayNewDetail;\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n const monthNames = [\n \"มกราคม\",\n \"กุมภาพันธ์\",\n \"มีนาคม\",\n \"เมษายน\",\n \"พฤษภาคม\",\n \"มิถุนายน\",\n \"กรกฎาคม\",\n \"สิงหาคม\",\n \"กันยายน\",\n \"ตุลาคม\",\n \"พฤศจิกายน\",\n \"ธันวาคม\",\n ];\n\n return `${date} ${monthNames[month]} ${year}`;\n };\n\n const styles = {\n imgContainer: {\n borderBottom: \"3px solid #06538A\",\n paddingBottom: \"5px\",\n },\n date: {\n color: \"#06538D\",\n fontWeight: \"bold\",\n fontSize: \"16px\",\n },\n title: {\n color: \"#06538D\",\n fontWeight: \"bold\",\n fontSize: \"16px\",\n },\n };\n\n const fetchNewsDetail = () => {\n dwrApi\n .get(`News/${newsId || modalNewsId}`)\n .then((res) => setNewsDetail(res.data))\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const openModal = (img, index) => {\n setModalIsOpen(true);\n setIndexImgSelected(index);\n };\n\n useEffect(() => {\n fetchNewsDetail();\n }, []);\n\n if (newsDetail) {\n displayNewDetail = (\n
    \n
    \n Date :\n {convertDate(newsDetail.newsStartDate)}\n {newsDetail.fileAttach && (\n window.open(newsDetail.fileAttach)}\n style={{ cursor: \"pointer\" }}\n >\n เอกสารแนบ\n
    \n )}\n
    \n\n
    \n {newsDetail.newsTitle}\n
    \n
    {newsDetail.newsDetail}
    \n
    \n
    \n {newsDetail?.newsImage.map((img, index) => {\n return (\n openModal(img, index)}\n >\n \n
    \n );\n })}\n
    \n \n \n );\n }\n\n return (\n <>\n {displayNewDetail}\n \n \n );\n};\n\nexport default NewsDetail;\n","import React, { useEffect, useState } from \"react\";\nimport Modal from \"react-modal\";\nimport NewsDetail from \"./NewsDetail\";\n\nconst ModalNewsDetail = ({ modalNewsId, setModalNewsId }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"80%\",\n height: \"80%\",\n },\n overlay: {\n background: \"rgba(0, 0, 0, 0.8)\",\n zIndex: \"1005\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setModalNewsId(\"\");\n };\n\n useEffect(() => {\n openModal();\n }, [modalNewsId]);\n\n return (\n
    \n \n
    \n \n
    \n
    \n \n
    \n \n
    \n );\n};\n\nexport default ModalNewsDetail;\n","import React from \"react\";\n\nconst NewsCard = ({ imgUrl, detail }) => {\n const styles = {\n text: {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n display: \"-webkit-box\",\n WebkitLineClamp: \"3\",\n WebkitBoxOrient: \"vertical\",\n color: \"#06538D\",\n fontWeight: \"700\",\n },\n };\n\n return (\n
    \n
    \n
    \n \"\"\n
    \n
    \n {detail}\n
    \n
    \n
    \n );\n};\n\nexport default NewsCard;\n","import axios from \"axios\";\n\nexport const CLIENT_ID = \"dwr45m_web\";\nexport const CLIENT_SECRET = \"a365b668-6b73-4239-b6ba-7e75b826eedf\";\nexport const SCOPE = \"dwr45m_api_scope offline_access openid\";\nlet authUrl = localStorage.getItem(\"authUrl\");\n/*alert('authUrl ' + authUrl);*/\nexport const authenticate = axios.create({\n \n baseURL: authUrl,\n //baseURL: \"https://localhost:5001/connect/token\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\",\n },\n});\n","import React, { useState, useEffect } from \"react\";\nimport ModalNewsDetail from \"../Components/ModalNewsDetail\";\n\nimport { useForm } from \"react-hook-form\";\nimport { FaUser, FaLock, FaRegNewspaper } from \"react-icons/fa\";\nimport NewsCard from \"../Components/NewsCard\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useHistory } from \"react-router-dom\";\nimport Carousel from \"react-multi-carousel\";\nimport qs from \"qs\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { useToasts } from \"react-toast-notifications\";\nimport jwt_decode from \"jwt-decode\";\nimport CountUp from \"react-countup\";\n\nimport {\n updateProfile,\n updateUserPermissions,\n updateUserData,\n} from \"../redux/action/profileAction\";\n\nimport {\n authenticate,\n CLIENT_ID,\n CLIENT_SECRET,\n SCOPE,\n} from \"../api/authenticate\";\nimport Version from \"../Components/Version\";\n\nconst Login = () => {\n const history = useHistory();\n const dispatch = useDispatch();\n const { addToast } = useToasts();\n const [activeSlide, setActiveSlide] = useState(\"\");\n //console.log(\"🚀 ~ file: Login.js ~ line 33 ~ Login ~ activeSlide\", activeSlide)\n const [activeNews, setActiveNews] = useState(\"\");\n const [modalNewsId, setModalNewsId] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [activeNewsDisplay, setActiveNewsDisplay] = useState([]);\n const { register, handleSubmit } = useForm();\n const [visitCounted, setVisitCounted] = useState(0);\n\n const mobileMode = useSelector((state) => state.dataReducer.mobileMode);\n const profile = useSelector((state) => state.profileReducer.profile);\n\n let displaySlide;\n let displayNews;\n\n //console.log(\"LOGIN\");\n\n const styles = {\n headerContainer: {\n backgroundColor: \"#054883\",\n boxShadow: \" 0px 3px 6px #00000029\",\n fontSize: \"22px\",\n height: \"50px\",\n textAlign: \"center\",\n },\n\n container: {\n background:\n \" transparent linear-gradient(90deg, #07225A 0%, #017BBA 100%, #0086C6 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n minHeight: window.innerHeight + \"px\",\n },\n inputStyle: {\n border: \"1px solid white\",\n background: \" transparent\",\n color: \"white\",\n fontSize: \"18px\",\n fontFamily: \"THSarabunNew\",\n },\n\n newsContainer: {\n backgroundColor: \"#8ACCED\",\n color: \"black\",\n padding: \"10px\",\n },\n button: {\n fontFamily: \"THSarabunNew\",\n fontSize: \"18px\",\n },\n };\n\n const message = {\n success: \"ล็อกอินสำเร็จ\",\n error: \"กรุณาตรวจ ชื่อเข้าใช้งาน หรือ รหัสผ่าน\",\n };\n\n function testIfValidURL(str) {\n const pattern = new RegExp(\n \"^(https?:\\\\/\\\\/)\" + // protocol\n \"((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|\" + // domain name\n \"((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))\" + // OR ip (v4) address\n \"(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*\" + // port and path\n \"(\\\\?[;&a-z\\\\d%_.~+=-]*)?\" + // query string\n \"(\\\\#[-a-z\\\\d_]*)?$\",\n \"i\"\n ); // fragment locator\n return !!pattern.test(str);\n }\n\n const onHandleClickSlide = (slide) => {\n let validUrl = testIfValidURL(slide.imageUrl);\n //console.log(\"🚀 ~ file: Login.js ~ line 99 ~ onHandleClickSlide ~ validUrl\", validUrl)\n if (validUrl) {\n window.location = slide.imageUrl;\n }\n };\n\n const fetchVisitorCount = () => {\n dwrApi\n .post(\"/VisiterCount\")\n .then((res) => {\n console.log(\"VisiterCount\", res);\n setVisitCounted(+res.data + 1);\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n const fetchSlidesActive = () => {\n dwrApi\n .get(\"/slideShows/Active\")\n .then((res) => setActiveSlide(res.data))\n .catch((error) => console.error(error, error.message, \"💥💥💥 \"));\n };\n const fetchNewsActive = () => {\n dwrApi\n .get(\"/News/Active\")\n .then((res) => setActiveNews(res.data))\n .catch((error) => console.error(error, error.message, \"💥💥💥 \"));\n };\n\n const fetchUserPermissions = async (decodeUserId) => {\n await dwrApi\n .get(`/UserPermissions/User/${decodeUserId}`)\n .then((res) => {\n console.log(\"usepermission\", res.data);\n dispatch(updateUserPermissions(res.data));\n })\n .catch((error) => console.error(error, error.message, \"💥💥💥 \"));\n };\n\n useEffect(() => {\n fetchSlidesActive();\n fetchNewsActive();\n fetchVisitorCount();\n }, []);\n\n const onLoginSubmit = (ev) => {\n setIsLoading(true);\n const data = qs.stringify({\n grant_type: \"password\",\n username: ev.username,\n password: ev.password,\n client_id: CLIENT_ID,\n client_secret: CLIENT_SECRET,\n scope: SCOPE,\n });\n //alert(data);\n authenticate\n .post(\"\", data)\n .then(async (res) => {\n const decoded = await jwt_decode(res.data.access_token);\n console.log(\n \"🚀 ~ file: Login.js ~ line 135 ~ .then ~ decoded\",\n decoded\n );\n await fetchUserPermissions(decoded.sub);\n localStorage.setItem(\"token\", res.data.access_token);\n localStorage.setItem(\"refresh_token\", res.data.refresh_token);\n localStorage.setItem(\n \"expires_in\",\n res.data.expires_in * 1000 + new Date().getTime()\n );\n dispatch(updateProfile(res.data));\n dispatch(updateUserData(decoded));\n setIsLoading(false);\n addToast(

    {message.success}

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n history.push(\"/\");\n // history.go();\n })\n .catch((err) => {\n alert('err ' + err);\n console.error(err);\n setIsLoading(false);\n addToast(

    {message.error}

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n };\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n const displayHeader = (\n \n โครงการพัฒนาเพิ่มประสิทธิภาพเครือข่ายสถานีอุทกวิทยาเพื่อรองรับการบริหารจัดการน้ำแบบบูรณาการ\n กรมทรัพยากรน้ำ\n \n );\n\n const slideCarousel = {\n desktop: {\n breakpoint: {\n max: 3000,\n min: 1024,\n },\n items: 1,\n },\n mobile: {\n breakpoint: {\n max: 464,\n min: 0,\n },\n items: 1,\n },\n tablet: {\n breakpoint: {\n max: 1024,\n min: 464,\n },\n items: 1,\n },\n };\n\n if (activeSlide.length) {\n displaySlide = (\n \n \n {activeSlide.map((slide) => {\n return (\n onHandleClickSlide(slide)}\n style={{ cursor: `${slide.imageUrl ? \"pointer\" : \"\"}` }}\n />\n );\n })}\n \n \n );\n }\n\n useEffect(() => {\n if (activeNews.length) {\n const getNews = activeNews\n .sort((a, b) => b.newsId - a.newsId)\n .slice(0, 3);\n\n setActiveNewsDisplay(getNews);\n }\n }, [activeNews]);\n\n if (activeNews.length) {\n displayNews = (\n
    \n \n ข่าวประชาสัมพันธ์\n
    \n
    \n {activeNews.length\n ? activeNewsDisplay.map((news, index) => {\n return (\n setModalNewsId(news.newsId)}\n style={{ cursor: \"pointer\" }}\n >\n \n
    \n );\n })\n : \"\"}\n \n \n );\n }\n\n const displayForm = (\n
    \n
    \n
    \n \n
    \n
    \n
    \n {mobileMode ? (\n
    \n
    {displaySlide}
    \n
    \n ) : (\n \"\"\n )}\n
    \n
    \n \n *สำหรับเจ้าหน้าที่เท่านั้น\n
    \n \n\n \n \n \n
    \n\n
    \n \n \n \n \n
    \n\n \n {isLoading ? displaySpiner : เข้าสู่ระบบ}\n \n
    \n
    \n \n วัตถุประสงค์ของโครงการ\n \n \n นโยบายเว็บไซด์และการปฎิเสธความรับผิดชอบ\n \n \n นโยบายการคุ้มครองข้อมูลส่วนบุคคล\n \n\n \n นโยบายและความปลอดภัย\n \n
    \n
    \n
    \n
    \n \n
    \n
    \n Visitor Number :{\" \"}\n {\" \"}\n
    \n \n
    \n
    \n );\n\n const displayAppStore = (\n
    \n
    \n \n
    \n
    \n
    DWR HN
    \n
    \n Support All Devices Anywhere, Anytime\n
    \n
    \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n );\n\n const displayCopyRights = (\n \n Copyright © 2021 ส่วนวิจัยและพัฒนาอุทกวิทยา กองวิจัย พัฒนาและอุทกวิทยา\n \n );\n\n const displayAddress = (\n \n กรมทรัพยากรน้ำ กระทรวงทรัพยากรธรรมชาติและสิ่งแวดล้อม
    180/3\n ถนนพระรามที่ 6 แขวงพญาไท เขตพญาไท กรุงเทพ 10400\n \n );\n\n const displayContentPC = (\n \n
    \n
    \n
    {activeSlide.length ? displaySlide : \"\"}
    \n
    {displayForm}
    \n
    \n
    \n
    {activeNews.length ? displayNews : \"\"}
    \n
    {displayAppStore}
    \n
    \n
    {displayAddress}
    \n {displayCopyRights}\n
    \n \n );\n\n const displayContentMobile = (\n
    \n {displayForm}\n
    {displayAppStore}
    \n
    {displayAddress}
    \n
    \n {displayCopyRights}\n
    \n
    \n );\n\n return (\n
    \n {displayHeader}\n\n {!mobileMode ? displayContentPC : displayContentMobile}\n {modalNewsId && (\n \n )}\n
    \n );\n};\n\nexport default Login;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport Modal from \"react-modal\";\nimport Carousel from \"react-multi-carousel\";\nimport Slider from \"react-slick\";\n\nconst ModalStationImage = ({\n stationImage,\n setOpenModalImage,\n indexImgSelected,\n}) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const sliderRef = useRef();\n\n const settings = {\n dots: false,\n infinite: false,\n speed: 500,\n slidesToShow: 1,\n slidesToScroll: 1,\n initialSlide: indexImgSelected,\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"700px\",\n minHeight: \"500px\",\n padding: \"30px\",\n },\n overlay: {\n background: \"rgba(0, 0, 0, 0.8)\",\n zIndex: \"1005\",\n },\n };\n\n const slideCarousel = {\n desktop: {\n breakpoint: {\n max: 3000,\n min: 1024,\n },\n items: 1,\n },\n mobile: {\n breakpoint: {\n max: 464,\n min: 0,\n },\n items: 1,\n },\n tablet: {\n breakpoint: {\n max: 1024,\n min: 464,\n },\n items: 1,\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setOpenModalImage(false);\n };\n\n useEffect(() => {\n openModal();\n }, [stationImage]);\n\n const displayImage = (\n
    \n \n {stationImage.map((img, index) => {\n return (\n \n );\n })}\n \n
    \n );\n\n const displayImage2 = (\n <>\n \n {stationImage && stationImage.length\n ? stationImage.map((item, index) => {\n return (\n
    \n \n
    \n );\n })\n : \"\"}\n
    \n \n );\n\n return (\n
    \n \n
    \n \n
    \n
    {displayImage2}
    \n \n
    \n );\n};\n\nexport default ModalStationImage;\n","import React, { useState, useEffect } from \"react\";\nimport _ from \"lodash\";\nimport ModalStationImage from \"./ModalStationImage\";\nimport { MdOutlineClose } from \"react-icons/md\";\n\nconst InfoWindowEl = ({\n station,\n stationImage,\n dataLastUpdated,\n gageData,\n isAutoView,\n}) => {\n let dataHydroMeasurements = [];\n let dataMeteoMeasurements = [];\n let hydroActiveId = [];\n let meteoActiveId = [];\n\n let dataHydro = [];\n let dataMeteo = [];\n\n let dataMeteoEl01;\n let dataMeteoEl02;\n let dataMeteoEl03;\n let dataMeteoEl04;\n let dataMeteoEl06;\n let dataMeteoEl08;\n let dataMeteoEl09;\n let dataMeteoEl11;\n let dataMeteoEl12;\n let dataMeteoEl13;\n\n if (station) {\n station.configDataStation.map((item) => {\n if (item.hydroType && item.active == \"Y\")\n dataHydroMeasurements.push(item.hydroType);\n if (item.meteotype && item.active == \"Y\")\n dataMeteoMeasurements.push(item.meteotype);\n });\n }\n\n if (dataHydroMeasurements.length) {\n dataHydroMeasurements.map((item) => {\n hydroActiveId.push(item.hydroTypeId);\n });\n }\n\n if (dataMeteoMeasurements.length) {\n dataMeteoMeasurements.map((item) => {\n meteoActiveId.push(item.meteoTypeId);\n });\n }\n\n if (dataLastUpdated) {\n dataLastUpdated.datas.map((item) => {\n if (item.dataType == \"hydro\") {\n dataHydro.push(item);\n }\n if (item.dataType == \"meteo\") {\n dataMeteo.push(item);\n }\n });\n }\n\n if (dataMeteo.length) {\n dataMeteoEl01 = dataMeteo.filter((item) => item.dataId == \"01\");\n dataMeteoEl02 = dataMeteo.filter((item) => item.dataId == \"02\");\n dataMeteoEl03 = dataMeteo.filter((item) => item.dataId == \"03\");\n dataMeteoEl04 = dataMeteo.filter((item) => item.dataId == \"04\");\n dataMeteoEl06 = dataMeteo.filter((item) => item.dataId == \"06\");\n dataMeteoEl08 = dataMeteo.filter((item) => item.dataId == \"08\");\n dataMeteoEl09 = dataMeteo.filter((item) => item.dataId == \"09\");\n dataMeteoEl11 = dataMeteo.filter((item) => item.dataId == \"11\");\n dataMeteoEl12 = dataMeteo.filter((item) => item.dataId == \"12\");\n dataMeteoEl13 = dataMeteo.filter((item) => item.dataId == \"13\");\n }\n\n const styles = {\n infoContainer: {\n borderRadius: \"0px\",\n background:\n \"transparent linear-gradient(180deg, #07225a 0%, #0086c6 100%) 0% 0% no-repeat padding-box\",\n\n fontSize: \"16px\",\n padding: \"25px\",\n position: \"relative\",\n },\n buttonModal: {\n fontSize: \"16px\",\n color: \"#000000\",\n fontFamily: \"inherit\",\n },\n closeBtn: {\n position: \"absolute\",\n top: \"5px\",\n right: \"5px\",\n },\n stationDescription: {\n fontSize: \"16px\",\n color: \"white\",\n },\n container: {\n width: \"100%\",\n },\n button: {\n backgroundColor: \"white\",\n color: \"black\",\n fontSize: \"16px\",\n fontFamily: \"inherit\",\n },\n stationHeader: {\n color: `${dataHydroMeasurements.length ? \"#D5576E\" : \"#006838\"}`,\n fontSize: \"20px\",\n textAlign: \"center\",\n fontWeight: \"bold\",\n },\n\n waterHeader: {\n backgroundColor: \"#D5576E\",\n height: \"45px\",\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n color: \"white\",\n },\n waterDetailHeader: {\n fontSize: \"16px\",\n height: \"45px\",\n textAlign: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: \"10px\",\n },\n };\n\n const displayStationDetails = (\n
    \n
    \n
    \n รหัสสถานี {station?.stationLabel} : {station?.stationTh}{\" \"}\n {station?.stationEn ? <> ({station?.stationEn}) : \"\"}\n
    \n
    {station?.subBasin?.basin?.basinTh}
    \n
    \n ที่ตั้ง : ต.{station?.location?.subDistrict?.subDistrictTh} อ.\n {station?.location?.subDistrict?.district?.districtTh} จ.\n {station?.location?.subDistrict?.district?.province?.provinceTh}\n
    \n
    \n ผู้ดูแล : {station?.personName}\n เบอร์ติดต่อ : {station?.tel}\n
    \n
    หน่วยงาน : {station?.StationCenter?.region?.regionNameTh}
    \n
    \n \n ดูรายละเอียดสถานี\n \n {dataHydroMeasurements.length ? (\n \n ดูรายละเอียดพยากรณ์\n \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n \n {/* {stationImage.length ? (\n \n ) : (\n \"\"\n )} */}\n
    \n
    \n );\n\n const displayHydroEl01 = (\n
    \n
    ระดับน้ำ
    \n \n {isAutoView ? (\n \n {dataHydro[0]?.items[0]?.waterLevel || \"-\"}\n เมตร\n \n ) : (\n \n {dataHydro[0]?.items[0]?.value || \"-\"}\n เมตร\n \n )}\n\n {isAutoView ? (\n // \n // {dataHydro.length && !isNaN(+dataHydro[0]?.items[0]?.waterLevel)\n // ? _.round(\n // +dataHydro[0].items[0].waterLevel +\n // (+gageData.gageLevel || 0),\n // 2\n // ).toFixed(2)\n // : \"-\"}\n // ม.รทก.\n // \n\n \n {dataHydro.length && !!dataHydro[0]?.items[0]?.waterLevel\n ? _.round(\n dataHydro[0]?.items[0]?.waterLevel +\n (!!gageData.gageLevel ? +gageData.gageLevel : 0),\n 2\n ).toFixed(2)\n : \"-\"}{\" \"}\n ม.รทก.\n \n ) : (\n \n {dataHydro.length && !!dataHydro[0]?.items[0]?.value\n ? _.round(\n dataHydro[0]?.items[0]?.value +\n (!!gageData.gageLevel ? +gageData.gageLevel : 0),\n 2\n ).toFixed(2)\n : \"-\"}{\" \"}\n ม.รทก.\n \n // \n // {dataHydro.length && !isNaN(+dataHydro[0]?.items[0]?.value)\n // ? _.round(\n // +dataHydro[0].items[0].value + (+gageData.gageLevel || 0),\n // 2\n // ).toFixed(2)\n // : \"-\"}\n // ม.รทก.\n // \n )}\n
    \n \n );\n\n const displayHydroEl02 = (\n
    \n
    ปริมาณน้ำ
    \n \n XX ลบ.ม./วินาที\n
    \n \n );\n\n const displayWaterDetailsHydro = (\n
    \n
    ข้อมูลอุทกวิทยา
    \n
    \n {hydroActiveId.includes(\"01\") ? displayHydroEl01 : \"\"}\n {hydroActiveId.includes(\"02\") ? displayHydroEl02 : \"\"}\n
    \n
    \n );\n\n const displayMeteoEl01 = (\n
    \n
    \n น้ำฝน\n
    \n {isAutoView ? (\n
    \n {dataMeteo.length ? dataMeteoEl01[0]?.items[0]?.rainFall15 : \"-\"} มม.\n
    \n ) : (\n
    \n {dataMeteo.length ? dataMeteoEl01[0]?.items[0]?.value : \"-\"} มม.\n
    \n )}\n
    \n );\n\n const displayMeteoEl02 = (\n
    \n
    \n ระเหย\n
    \n
    \n {dataMeteo.length ? dataMeteoEl02[0]?.items[0]?.value : \"-\"} มม.\n
    \n
    \n );\n const displayMeteoEl03 = (\n
    \n
    \n อุณหภูมิน้ำ\n
    \n
    \n {dataMeteo.length ? dataMeteoEl03[0]?.items[0]?.value : \"-\"} °C\n
    \n
    \n );\n const displayMeteoEl04 = (\n
    \n
    \n อุณหภูมิอากาศ\n
    \n {isAutoView ? (\n
    \n {dataMeteo.length ? dataMeteoEl04[0]?.items[0]?.temperature : \"-\"} °C\n
    \n ) : (\n
    \n {dataMeteo.length ? dataMeteoEl04[0]?.items[0]?.value : \"-\"} °C\n
    \n )}\n
    \n );\n const displayMeteoEl06 = (\n
    \n
    \n อุณหภูมิอากาศสูงสุด\n
    \n
    \n {dataMeteo.length ? dataMeteoEl06[0]?.items[0]?.value : \"-\"} °C\n
    \n
    \n );\n\n const displayMeteoEl08 = (\n
    \n
    \n อุณหภูมิอากาศต่ำสุด\n
    \n
    \n {dataMeteo.length ? dataMeteoEl08[0]?.items[0]?.value : \"-\"} °C\n
    \n
    \n );\n const displayMeteoEl09 = (\n
    \n
    \n ความชื้นสัมพัทธ์\n
    \n
    \n {dataMeteo.length ? dataMeteoEl09[0]?.items[0]?.value : \"-\"} %\n
    \n
    \n );\n const displayMeteoEl11 = (\n
    \n
    \n ความเร็วลม\n
    \n
    \n {dataMeteo.length ? dataMeteoEl11[0]?.items[0]?.value : \"-\"} กม./ชม.\n
    \n
    \n );\n const displayMeteoEl12 = (\n
    \n
    \n ความนาน แสงแดด\n
    \n
    \n {dataMeteo.length ? dataMeteoEl12[0]?.items[0]?.value : \"-\"} ชม./วัน\n
    \n
    \n );\n const displayMeteoEl13 = (\n
    \n
    \n ความเข้ม แสงแดด\n
    \n
    \n {dataMeteo.length ? dataMeteoEl13[0]?.items[0]?.value : \"-\"} Cal/cm2\n
    \n
    \n );\n\n const displayWaterDetailsMeteo = (\n
    \n
    ข้อมูลอุตุนิยมวิทยา
    \n
    \n
    = 5 ? \"row-cols-5\" : \"\"}`}>\n {meteoActiveId.includes(\"01\") ? displayMeteoEl01 : \"\"}\n {meteoActiveId.includes(\"02\") ? displayMeteoEl02 : \"\"}\n {meteoActiveId.includes(\"03\") ? displayMeteoEl03 : \"\"}\n {meteoActiveId.includes(\"04\") ? displayMeteoEl04 : \"\"}\n {meteoActiveId.includes(\"06\") ? displayMeteoEl06 : \"\"}\n {meteoActiveId.includes(\"08\") ? displayMeteoEl08 : \"\"}\n {meteoActiveId.includes(\"09\") ? displayMeteoEl09 : \"\"}\n {meteoActiveId.includes(\"11\") ? displayMeteoEl11 : \"\"}\n {meteoActiveId.includes(\"12\") ? displayMeteoEl12 : \"\"}\n {meteoActiveId.includes(\"13\") ? displayMeteoEl13 : \"\"}\n
    \n
    \n
    \n );\n\n return (\n
    \n \n \n \n {displayStationDetails}\n {dataHydroMeasurements.length\n ? displayWaterDetailsHydro\n : displayWaterDetailsMeteo}\n
    \n );\n};\n\nexport default InfoWindowEl;\n","import React, { useState, useEffect } from \"react\";\nimport { Line } from \"react-chartjs-2\";\n\nconst ChartHydro = ({ stationDetail, dataHydro, gageData }) => {\n const [chartWaterData, setChartWaterData] = useState();\n const [minScale, setMinScale] = useState(0);\n // const [maxScale, setMaxScale] = useState(0);\n\n\n function maxValue(ctx, dataIndex) {\n const values = ctx.chart.data.datasets[dataIndex].data;\n return values.length ? Math.max(...values) : 0;\n }\n function minValue(ctx, dataIndex) {\n const values = ctx.chart.data.datasets[dataIndex].data;\n // console.log('minValue', values)\n return values.length ? Math.min(...values) : 0;\n }\n\n function maxIndex(ctx, dataIndex) {\n const max = maxValue(ctx, dataIndex);\n const dataset = ctx.chart.data.datasets[1];\n\n return dataset.data.indexOf(max);\n }\n\n const accessMiddle = (ctx, datasetIndex) => {\n const min = minValue(ctx, datasetIndex);\n const values = ctx?.chart?.data?.datasets[datasetIndex]?.data;\n\n return values.indexOf(min);\n };\n\n function maxLabel(ctx, dataIndex) {\n return ctx.chart.data.labels[maxIndex(ctx, dataIndex)];\n }\n\n const chartWaterGenerate = async () => {\n const dataLabels = [];\n const valueWaterLevel = [];\n const valueCrossSection = [];\n\n\n if (stationDetail.crossSection.length) {\n const latestCrossSection = [...stationDetail.crossSection].sort(\n (a, b) => {\n return (\n new Date(b.surveyDate).getTime() - new Date(a.surveyDate).getTime()\n );\n }\n )[0];\n\n const sortDataXsection = latestCrossSection.crossSectionInfo.sort(\n (a, b) => {\n return +a.wideRiverX - +b.wideRiverX;\n }\n );\n\n sortDataXsection.map((item) => {\n valueCrossSection.push(item.heightY);\n dataLabels.push(+item.wideRiverX.toFixed(0));\n });\n }\n\n if (dataLabels.length && dataHydro.length) {\n for (let i = 0; i < dataLabels.length; i++) {\n\n let value = 0;\n\n switch (stationDetail.stationTypeId) {\n case 1:\n value = dataHydro[0]?.items[0]?.value + stationDetail.gage.gageLevel || 0;\n // maxWaterLevel = dataHydro[0]?.items[0]?.max + stationDetail.gage.gageLevel || 0;\n break;\n\n case 2:\n value = dataHydro[0]?.items[0]?.waterLevel + stationDetail.gage.gageLevel || 0;\n // maxWaterLevel = dataHydro[0]?.items[0]?.waterLevelMaxInDay + stationDetail.gage.gageLevel || 0;\n break;\n\n default:\n break;\n }\n\n valueWaterLevel.push(value);\n \n // valueWaterLevel.push(\n // dataHydro[0].items[0].waterLevel +\n // (stationDetail.gage.gageLevel || 0) || dataHydro[0].items[0].value\n // );\n }\n setMinScale(valueCrossSection.length ? Math.min(...valueCrossSection) : 0);\n } else {\n setMinScale(valueCrossSection.length ? Math.min(...valueCrossSection) : 0);\n }\n\n setChartWaterData({\n labels: dataLabels,\n datasets: [\n {\n label: \"รูปตัดขวาง\",\n data: valueCrossSection,\n type: \"line\",\n backgroundColor: \"rgba(\t149\t,68\t,13, 1)\",\n borderColor: \"rgba(\t149\t,68\t,13, 1)\",\n fill: \"start\",\n pointRadius: 2,\n tension: 0.1,\n },\n {\n label: \"ระดับน้ำ / เมตร\",\n data: valueWaterLevel,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 4,\n pointRadius: 0.1,\n tension: 0.1,\n fill: \"start\",\n },\n ],\n });\n };\n\n function yValue(ctx, label) {\n const chart = ctx.chart;\n const dataset = chart.data.datasets[0];\n return dataset.data[chart.data.labels.indexOf(label)];\n }\n\n let options = {\n scales: {\n x: {\n ticks: {\n // maxTicksLimit: 10,\n maxRotation: 90,\n minRotation: 90,\n },\n },\n y: {\n min: minScale - 1,\n }\n },\n plugins: {\n zoom: {\n pan: {\n enabled: true,\n mode: \"y\",\n threshold: 10,\n },\n zoom: {\n limits: {\n minRange: 1000\n },\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: false,\n },\n mode: \"y\",\n },\n },\n\n annotation: stationDetail.WarningItem\n ? {\n annotations: {\n line1: {\n type: \"line\",\n yMin: stationDetail?.WarningItem\n ? stationDetail?.WarningItem?.cri\n : 0,\n yMax: stationDetail?.WarningItem\n ? stationDetail?.WarningItem?.cri\n : 0,\n borderColor: \"rgb(255, 99, 132)\",\n borderWidth: 2,\n label: {\n fontSize: 10,\n fontColor: \"black\",\n cornerRadius: 4,\n position: \"center\",\n yAdjust: 0,\n enabled: true,\n content: `วิกฤติน้ำท่วม ${stationDetail.WarningItem?.cri} ม.รทก`,\n },\n },\n line2: {\n type: \"line\",\n yMin: stationDetail?.WarningItem\n ? stationDetail?.WarningItem?.war\n : 0,\n yMax: stationDetail?.WarningItem\n ? stationDetail?.WarningItem?.war\n : 0,\n borderColor: \"yellow\",\n borderWidth: 2,\n label: {\n fontSize: 10,\n fontColor: \"black\",\n cornerRadius: 4,\n position: \"center\",\n yAdjust: 0,\n enabled: true,\n content: `เตือนภัยน้ำท่วม ${stationDetail.WarningItem?.war} ม.รทก`,\n },\n },\n label1: {\n type: \"label\",\n content: (ctx) => \"ระดับล่าสุด \" + maxValue(ctx, 1).toFixed(2),\n font: {\n size: 10,\n },\n position: {\n x: \"center\",\n y: \"center\",\n },\n xAdjust: 0,\n yAdjust: -20,\n xValue: (ctx) => accessMiddle(ctx, 0),\n yValue: (ctx) => maxValue(ctx, 1),\n },\n label2: {\n type: \"label\",\n\n content: \"↓\",\n font: {\n size: 15,\n },\n position: {\n x: \"center\",\n y: \"center\",\n },\n xAdjust: 0,\n yAdjust: -10,\n xValue: (ctx) => accessMiddle(ctx, 0),\n yValue: (ctx) => maxValue(ctx, 1),\n },\n label3: {\n type: \"label\",\n\n callout: {\n enabled: true,\n borderColor: \"black\",\n },\n content: \"▼\",\n font: {\n size: 12,\n },\n position: {\n x: \"center\",\n y: \"center\",\n },\n xAdjust: 0,\n yAdjust: -3,\n xValue: (ctx) => accessMiddle(ctx, 0),\n yValue: gageData.gageLevel,\n // yValue: (ctx) => minValue(ctx, 0),\n },\n },\n }\n : \"\",\n },\n };\n\n useEffect(() => {\n chartWaterGenerate();\n }, []);\n\n return (\n
    \n {chartWaterData ? : \"\"}\n
    \n );\n};\n\nexport default ChartHydro;\n","import React, { useState, useEffect } from \"react\";\nimport { Bar, Line } from \"react-chartjs-2\";\n\n\nconst ChartMeteo = ({\n stationDetail,\n dataTransactionDatasEl,\n meteoDataType,\n}) => {\n const [chartRain, setChartRain] = useState();\n const [chartEvaporate, setChartEvaporate] = useState();\n const [chartTempWater, setChartTempWater] = useState();\n const [chartTemp, setChartTemp] = useState();\n const [chartMaxTemp, setChartMaxTemp] = useState();\n const [chartMinTemp, setChartMinTemp] = useState();\n const [chartHumidity, setChartHumidity] = useState();\n const [chartWind, setChartWind] = useState();\n const [chartSunLightPeriod, setChartSunLightPeriod] = useState();\n const [chartSunLightIntensity, setChartSunLightIntensity] = useState();\n\n let dataMeteoRain = [];\n let dataMeteoEvaporate = [];\n let dataMeteoTempWater = [];\n let dataMeteoTemp = [];\n let dataMeteoMaxTemp = [];\n let dataMeteoMinTemp = [];\n let dataMeteoHumidity = [];\n let dataMeteoWind = [];\n let dataMeteoSunLightPeriod = [];\n let dataMeteoSunLightIntensity = [];\n\n const compareDate = (a, b) => {\n\n let aTime = a.items[0]?.updateTime ? new Date(a.items[0]?.updateTime).getTime() : 0;\n let bTime = b.items[0]?.updateTime ? new Date(b.items[0]?.updateTime).getTime() : 0;\n if (aTime < bTime) {\n return -1;\n }\n if (aTime > bTime) {\n return 1;\n }\n return 0\n }\n\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}น.`;\n };\n\n if (dataTransactionDatasEl.length) {\n dataTransactionDatasEl.map((item) => {\n const meteoDataRain = item.filter((el) => {\n return el.dataId === \"01\" && el.dataType === \"meteo\";\n });\n const meteoDataEvaporate = item.filter((el) => {\n return el.dataId === \"02\" && el.dataType === \"meteo\";\n });\n const meteoDataTempWater = item.filter((el) => {\n return el.dataId === \"03\" && el.dataType === \"meteo\";\n });\n const meteoDataTemp = item.filter((el) => {\n return el.dataId === \"04\" && el.dataType === \"meteo\";\n });\n const meteoDataMaxTemp = item.filter((el) => {\n return el.dataId === \"06\" && el.dataType === \"meteo\";\n });\n const meteoDataMinTemp = item.filter((el) => {\n return el.dataId === \"08\" && el.dataType === \"meteo\";\n });\n const meteoDataHumidity = item.filter((el) => {\n return el.dataId === \"09\" && el.dataType === \"meteo\";\n });\n const meteoDataWind = item.filter((el) => {\n return el.dataId === \"11\" && el.dataType === \"meteo\";\n });\n const meteoDataSunLightPeriod = item.filter((el) => {\n return el.dataId === \"12\" && el.dataType === \"meteo\";\n });\n const meteoDataSunLightIntensity = item.filter((el) => {\n return el.dataId === \"13\" && el.dataType === \"meteo\";\n });\n\n if (meteoDataRain) dataMeteoRain.push(...meteoDataRain);\n if (meteoDataEvaporate) dataMeteoEvaporate.push(...meteoDataEvaporate);\n if (meteoDataTempWater) dataMeteoTempWater.push(...meteoDataTempWater);\n if (meteoDataTemp) dataMeteoTemp.push(...meteoDataTemp);\n if (meteoDataMaxTemp) dataMeteoMaxTemp.push(...meteoDataMaxTemp);\n if (meteoDataMinTemp) dataMeteoMinTemp.push(...meteoDataMinTemp);\n if (meteoDataHumidity) dataMeteoHumidity.push(...meteoDataHumidity);\n if (meteoDataWind) dataMeteoWind.push(...meteoDataWind);\n if (meteoDataSunLightPeriod)\n dataMeteoSunLightPeriod.push(...meteoDataSunLightPeriod);\n if (meteoDataSunLightIntensity)\n dataMeteoSunLightIntensity.push(...meteoDataSunLightIntensity);\n });\n\n dataMeteoRain.sort(compareDate);\n dataMeteoEvaporate.sort(compareDate);\n dataMeteoTempWater.sort(compareDate);\n dataMeteoTemp.sort(compareDate);\n dataMeteoMaxTemp.sort(compareDate);\n dataMeteoMinTemp.sort(compareDate);\n dataMeteoHumidity.sort(compareDate);\n dataMeteoWind.sort(compareDate);\n dataMeteoSunLightPeriod.sort(compareDate);\n dataMeteoSunLightIntensity.sort(compareDate);\n }\n\n const chartOptions = {\n title: {\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 24,\n },\n },\n scales: {\n x: {\n ticks: {\n maxRotation: 90,\n minRotation: 90,\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 16,\n },\n },\n },\n y: {\n // suggestedMin: 0,\n ticks: {\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 16,\n },\n },\n }\n },\n plugins: {\n legend: {\n position: 'top',\n labels: {\n padding: 10\n },\n labels: {\n padding: 10,\n font: {\n size: 18,\n weight: 'bold',\n family: `THSarabunNew`,\n },\n }\n },\n }\n };\n\n const chartRainGenerate = async () => {\n\n // console.log('chartRainGenerate')\n let labels = [];\n let datas = [];\n\n if (stationDetail.stationTypeId == \"2\") {\n dataMeteoRain.slice(0, 96).map((data) => {\n labels.push(\n `${convertDate(data.items[0].updateTime)} ${convertTime(\n data.items[0].updateTime\n )} `\n );\n datas.push(data.items[0].rainFall15);\n });\n } else {\n dataMeteoRain.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(\n `${convertDate(item.updateTime)}:${convertTime(item.updateTime)}`\n );\n datas.push(item.value);\n });\n });\n }\n\n\n\n setChartRain({\n labels: labels,\n datasets: [\n {\n label: \"ปริมาณน้ำฝน\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 0,\n fill: true,\n },\n ],\n });\n };\n\n const chartTempGenerate = async () => {\n let labels = [];\n let datas = [];\n\n if (stationDetail.stationTypeId == \"2\") {\n dataMeteoTemp.slice(0, 96).map((data) => {\n // labels.push(data.items[0].updateTime);\n labels.push(\n `${convertDate(data.items[0].updateTime)}:${convertTime(\n data.items[0].updateTime\n )}`\n );\n datas.push(data.items[0].temperature);\n });\n } else {\n dataMeteoTemp.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n }\n\n setChartTemp({\n labels: labels,\n datasets: [\n {\n label: \"อุณหภูมิ\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n\n const chartEvaporateGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoEvaporate.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartEvaporate({\n labels: labels,\n datasets: [\n {\n label: \"ระเหย\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n const chartTempWaterGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoTempWater.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartTempWater({\n labels: labels,\n datasets: [\n {\n label: \"อุณหภูมิน้ำ\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n const chartMaxTempGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoMaxTemp.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartMaxTemp({\n labels: labels,\n datasets: [\n {\n label: \"อุณหภูมิสูงสุด\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n const chartMinTempGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoMinTemp.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartMinTemp({\n labels: labels,\n datasets: [\n {\n label: \"อุณหภูมิต่ำสุด\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n\n const chartHumidityGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoHumidity.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(convertDate(item.updateTime));\n datas.push(item.value);\n });\n });\n\n setChartHumidity({\n labels: labels,\n datasets: [\n {\n label: \"ความชื้นสัมพัทธ์\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n const chartWindGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoWind.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartWind({\n labels: labels,\n datasets: [\n {\n label: \"ความเร็วลม\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n const chartSunLightPeriodGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoSunLightPeriod.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartSunLightPeriod({\n labels: labels,\n datasets: [\n {\n label: \"ความนานแสงแดด\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n\n const chartSunLightIntensityGenerate = async () => {\n let labels = [];\n let datas = [];\n\n dataMeteoSunLightIntensity.slice(0, 96).map((data) => {\n const { items } = data;\n items.map((item) => {\n labels.push(item.updateTime);\n datas.push(item.value);\n });\n });\n\n setChartSunLightIntensity({\n labels: labels,\n datasets: [\n {\n label: \"ความเข้มแสงแดด\",\n data: datas,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 1,\n pointRadius: 1,\n pointHoverRadius: 2\n },\n ],\n });\n };\n\n useEffect(() => {\n chartRainGenerate();\n chartTempGenerate();\n chartEvaporateGenerate();\n chartTempWaterGenerate();\n chartMaxTempGenerate();\n chartMinTempGenerate();\n chartHumidityGenerate();\n chartWindGenerate();\n chartSunLightPeriodGenerate();\n chartSunLightIntensityGenerate();\n }, [stationDetail]);\n\n const displayChartRain = (\n
    {chartRain ? : \"\"}
    \n );\n\n const displayChartEvaporate = (\n
    {chartEvaporate ? : \"\"}
    \n );\n const displayChartTempWater = (\n
    {chartTempWater ? : \"\"}
    \n );\n\n const displayChartTemp = (\n
    {chartTemp ? : \"\"}
    \n );\n const displayChartMaxTemp = (\n
    {chartMaxTemp ? : \"\"}
    \n );\n const displayChartMinTemp = (\n
    {chartMinTemp ? : \"\"}
    \n );\n const displayChartHumidity = (\n
    {chartHumidity ? : \"\"}
    \n );\n const displayChartWind = (\n
    {chartWind ? : \"\"}
    \n );\n const displayChartSunLightPeriod = (\n
    {chartSunLightPeriod ? : \"\"}
    \n );\n const displayChartSunLightIntensity = (\n
    \n {chartSunLightIntensity ? : \"\"}\n
    \n );\n\n console.log(\"chrt\", meteoDataType);\n\n return (\n <>\n
    {meteoDataType?.value}
    \n
    \n {meteoDataType && meteoDataType.value == \"01\" ? displayChartRain : \"\"}\n {meteoDataType && meteoDataType.value == \"02\"\n ? displayChartEvaporate\n : \"\"}\n {meteoDataType && meteoDataType.value == \"03\"\n ? displayChartTempWater\n : \"\"}\n {meteoDataType && meteoDataType.value == \"04\" ? displayChartTemp : \"\"}\n {meteoDataType && meteoDataType.value == \"06\"\n ? displayChartMaxTemp\n : \"\"}\n {meteoDataType && meteoDataType.value == \"08\"\n ? displayChartMinTemp\n : \"\"}\n {meteoDataType && meteoDataType.value == \"09\"\n ? displayChartHumidity\n : \"\"}\n {meteoDataType && meteoDataType.value == \"11\" ? displayChartWind : \"\"}\n {meteoDataType && meteoDataType.value == \"12\"\n ? displayChartSunLightPeriod\n : \"\"}\n {meteoDataType && meteoDataType.value == \"13\"\n ? displayChartSunLightIntensity\n : \"\"}\n
    \n \n );\n};\n\nexport default ChartMeteo;\n","import React from \"react\";\nimport _ from \"lodash\";\n\nconst TableHydro = ({ stationDetail, dataHydroWaterLevel, gageData }) => {\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n return `${hour}:${minute}น.`;\n };\n\n const displayWaterLevelTable = (\n <>\n
    \n
    \n ข้อมูลระดับน้ำ\n
    \n
    \n \n \n \n \n \n \n \n \n \n {dataHydroWaterLevel.length\n ? dataHydroWaterLevel.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลระดับน้ำ\"}\n \n
    วันที่-เวลาระดับน้ำ / เมตรระดับน้ำ ม.รทก.
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.waterLevel || item.value || \"-\"}\n {gageData && item.waterLevel\n ? _.round(\n (+item.waterLevel || +item.value) +\n (+stationDetail.gage.gageLevel || 0),\n 2\n ).toFixed(2)\n : \"-\"}\n
    \n \n );\n\n return
    {displayWaterLevelTable}
    ;\n};\n\nexport default TableHydro;\n","import React from \"react\";\nimport _ from \"lodash\";\n\n\nconst compareDate = (a, b) => {\n\n let aTime = a.items[0]?.updateTime ? new Date(a.items[0]?.updateTime).getTime() : 0;\n let bTime = b.items[0]?.updateTime ? new Date(b.items[0]?.updateTime).getTime() : 0;\n if (aTime < bTime) {\n return -1;\n }\n if (aTime > bTime) {\n return 1;\n }\n return 0\n}\n\n\nconst TableMeteo = ({\n stationDetail,\n dataTransactionDatasEl,\n meteoDataType,\n}) => {\n let dataMeteoRain = [];\n let dataMeteoEvaporate = [];\n let dataMeteoTempWater = [];\n let dataMeteoTemp = [];\n let dataMeteoMaxTemp = [];\n let dataMeteoMinTemp = [];\n let dataMeteoHumidity = [];\n let dataMeteoWind = [];\n let dataMeteoSunLightPeriod = [];\n let dataMeteoSunLightIntensity = [];\n\n if (dataTransactionDatasEl.length) {\n dataTransactionDatasEl.map((item) => {\n const meteoDataRain = item.filter((el) => {\n return el.dataId == \"01\" && el.dataType == \"meteo\";\n });\n const meteoDataEvaporate = item.filter((el) => {\n return el.dataId == \"02\" && el.dataType == \"meteo\";\n });\n const meteoDataTempWater = item.filter((el) => {\n return el.dataId == \"03\" && el.dataType == \"meteo\";\n });\n const meteoDataTemp = item.filter((el) => {\n return el.dataId == \"04\" && el.dataType == \"meteo\";\n });\n const meteoDataMaxTemp = item.filter((el) => {\n return el.dataId == \"06\" && el.dataType == \"meteo\";\n });\n const meteoDataMinTemp = item.filter((el) => {\n return el.dataId == \"08\" && el.dataType == \"meteo\";\n });\n const meteoDataHumidity = item.filter((el) => {\n return el.dataId == \"09\" && el.dataType == \"meteo\";\n });\n const meteoDataWind = item.filter((el) => {\n return el.dataId == \"11\" && el.dataType == \"meteo\";\n });\n const meteoDataSunLightPeriod = item.filter((el) => {\n return el.dataId == \"12\" && el.dataType == \"meteo\";\n });\n const meteoDataSunLightIntensity = item.filter((el) => {\n return el.dataId == \"13\" && el.dataType == \"meteo\";\n });\n\n if (meteoDataRain) dataMeteoRain.push(...meteoDataRain);\n if (meteoDataEvaporate) dataMeteoEvaporate.push(...meteoDataEvaporate);\n if (meteoDataTempWater) dataMeteoTempWater.push(...meteoDataTempWater);\n if (meteoDataTemp) dataMeteoTemp.push(...meteoDataTemp);\n if (meteoDataMaxTemp) dataMeteoMaxTemp.push(...meteoDataMaxTemp);\n if (meteoDataMinTemp) dataMeteoMinTemp.push(...meteoDataMinTemp);\n if (meteoDataHumidity) dataMeteoHumidity.push(...meteoDataHumidity);\n if (meteoDataWind) dataMeteoWind.push(...meteoDataWind);\n if (meteoDataSunLightPeriod)\n dataMeteoSunLightPeriod.push(...meteoDataSunLightPeriod);\n if (meteoDataSunLightIntensity)\n dataMeteoSunLightIntensity.push(...meteoDataSunLightIntensity);\n });\n\n\n\n dataMeteoRain.sort(compareDate);\n dataMeteoEvaporate.sort(compareDate);\n dataMeteoTempWater.sort(compareDate);\n dataMeteoTemp.sort(compareDate);\n dataMeteoMaxTemp.sort(compareDate);\n dataMeteoMinTemp.sort(compareDate);\n dataMeteoHumidity.sort(compareDate);\n dataMeteoWind.sort(compareDate);\n dataMeteoSunLightPeriod.sort(compareDate);\n dataMeteoSunLightIntensity.sort(compareDate);\n\n }\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}น.`;\n };\n\n const displayRainTable = (\n <>\n
    \n
    \n ข้อมูลปริมาณฝน\n
    \n
    \n \n \n \n \n \n \n \n {stationDetail.stationTypeId == \"2\" ? (\n \n {dataMeteoRain.length\n ? dataMeteoRain.map((item, index) => {\n return (\n \n \n \n \n );\n })\n : \"ไม่มีข้อมูลปริมาณฝน\"}\n \n ) : (\n \n {dataMeteoRain.length\n ? dataMeteoRain.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลปริมาณฝน\"}\n \n )}\n
    วันที่-เวลาปริมาณน้ำฝน มม.
    \n {convertDate(item.items[0].updateTime)}{\" \"}\n {convertTime(item.items[0].updateTime)}\n {item.items[0].rainFall15 || \"-\"}
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n\n const displayTempTable = (\n <>\n
    \n
    \n ข้อมูลอุณหภูมิ\n
    \n
    \n \n \n \n \n \n \n \n {stationDetail.stationTypeId == \"2\" ? (\n \n {dataMeteoTemp.length\n ? dataMeteoTemp.map((item, index) => {\n return (\n \n \n \n \n );\n })\n : \"ไม่มีข้อมูลอุณหภูมิ\"}\n \n ) : (\n \n {dataMeteoTemp.length\n ? dataMeteoTemp.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลปริมาณฝน\"}\n \n )}\n
    วันที่-เวลาอุณหภูมิ
    \n {convertDate(item.items[0].updateTime)}{\" \"}\n {convertTime(item.items[0].updateTime)}\n {item.items[0].temperature || \"-\"}
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n\n const displayTempWaterTable = (\n <>\n
    \n
    \n ข้อมูลอุณหภูมิน้ำ\n
    \n
    \n \n \n \n \n \n \n \n \n {dataMeteoTempWater.length\n ? dataMeteoTempWater.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลอุณหภูมิน้ำ\"}\n \n
    วันที่-เวลาอุณหภูมิน้ำ (·ซ)
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n\n const displayEvaporateTable = (\n <>\n
    \n
    ระเหย
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoEvaporate.length\n ? dataMeteoEvaporate.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลการระเหย\"}\n \n
    วันที่-เวลาปริมาณระเหย
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n const displayMaxTempTable = (\n <>\n
    \n
    \n อุณหภูมิสูงสุด\n
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoMaxTemp.length\n ? dataMeteoMaxTemp.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลอุณหภูมิสูงสุด\"}\n \n
    วันที่-เวลาอุณหภูมิสูงสุด
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n const displayMinTempTable = (\n <>\n
    \n
    \n อุณหภูมิต่ำสุด\n
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoMinTemp.length\n ? dataMeteoMinTemp.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลอุณหภูมิต่ำสุด\"}\n \n
    วันที่-เวลาอุณหภูมิต่ำสุด
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n const displayHunidityTable = (\n <>\n
    \n
    \n ความชื้นสัมพัทธ์\n
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoHumidity.length\n ? dataMeteoHumidity.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลความชื้นสัมพัทธ์\"}\n \n
    วันที่-เวลาความชื้นสัมพัทธ์
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n const displayWindTable = (\n <>\n
    \n
    ความเร็วลม
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoWind.length\n ? dataMeteoWind.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลความเร็วลม\"}\n \n
    วันที่-เวลาความเร็วลม
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n const displaySunLightPeriodTable = (\n <>\n
    \n
    \n ความนานแสงแดด\n
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoSunLightPeriod.length\n ? dataMeteoSunLightPeriod.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลความนานแสงแดด\"}\n \n
    วันที่-เวลาความนานแสงแดด
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n const displaySunLightIntensityTable = (\n <>\n
    \n
    \n ความเข้มแสงแดด\n
    \n
    \n \n \n \n \n \n \n \n\n \n {dataMeteoSunLightIntensity.length\n ? dataMeteoSunLightIntensity.map((item) => {\n const { items } = item;\n return items.map((item, index) => {\n return (\n \n \n \n \n );\n });\n })\n : \"ไม่มีข้อมูลความเข้มแสงแดด\"}\n \n
    วันที่-เวลาความเข้มแสงแดด
    \n {convertDate(item.updateTime)}{\" \"}\n {convertTime(item.updateTime)}\n {item.value || \"-\"}
    \n \n );\n\n return (\n
    \n {meteoDataType && meteoDataType.value == \"01\" ? displayRainTable : \"\"}\n {meteoDataType && meteoDataType.value == \"02\"\n ? displayEvaporateTable\n : \"\"}\n {meteoDataType && meteoDataType.value == \"03\"\n ? displayTempWaterTable\n : \"\"}\n {meteoDataType && meteoDataType.value == \"04\" ? displayTempTable : \"\"}\n {meteoDataType && meteoDataType.value == \"06\" ? displayMaxTempTable : \"\"}\n {meteoDataType && meteoDataType.value == \"08\" ? displayMinTempTable : \"\"}\n {meteoDataType && meteoDataType.value == \"09\" ? displayHunidityTable : \"\"}\n {meteoDataType && meteoDataType.value == \"11\" ? displayWindTable : \"\"}\n {meteoDataType && meteoDataType.value == \"12\"\n ? displaySunLightPeriodTable\n : \"\"}\n {meteoDataType && meteoDataType.value == \"13\"\n ? displaySunLightIntensityTable\n : \"\"}\n
    \n );\n};\n\nexport default TableMeteo;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { FaTimesCircle } from \"react-icons/fa\";\nimport ModalStationImage from \"./ModalStationImage\";\nimport { useSelector } from \"react-redux\";\nimport Select from \"react-select\";\nimport ChartHydro from \"./ChartHydro\";\nimport ChartMeteo from \"./ChartMeteo\";\nimport TableHydro from \"./TableHydro\";\nimport TableMeteo from \"./TableMeteo\";\n\nconst ModalStationDetail2 = ({\n stationDetail,\n stationImage,\n dataLastUpdated,\n gageData,\n dataHydroMeasurements,\n dataMeteoMeasurements,\n hydroActiveId,\n meteoActiveId,\n dataHydro,\n dataMeteo,\n isModalStationOpen,\n setIsModalStationOpen,\n}) => {\n const openModal = () => {\n setIsModalStationOpen(true);\n };\n\n const closeModal = () => {\n setIsModalStationOpen(false);\n };\n\n let optionsMeteoDataType = [];\n let dataHydroWaterLevel = [];\n let dataTransactionDatasEl = [];\n let dataMeteoRain = [];\n let dataMeteoTemp = [];\n const [chartWaterData, setCharWatertData] = useState();\n const [crossSection, setCrossSection] = useState([]);\n const [openModalImage, setOpenModalImage] = useState(false);\n const [dataTransaction, setDataTransaction] = useState([]);\n const [crossSectionUnitLow, setCrossSectionUnitLow] = useState(0);\n const [crossSectionUnitHigh, setCrossSectionUnitHigh] = useState(0);\n\n if (dataMeteo) {\n // dataMeteo.map((item) => {\n // const list = {\n // value: item.dataId,\n // label: `${item.dataNameTh} `,\n // };\n // optionsMeteoDataType.push(list);\n // });\n const list = [];\n stationDetail.configDataStation.map((item) => {\n if (item.active == \"Y\" && !!item.meteotype) {\n list.push({\n label: item.meteotype.meteoTypeTh,\n value: item.meteotype.meteoTypeId,\n });\n }\n });\n optionsMeteoDataType = list;\n }\n\n useEffect(() => {\n const list = [];\n stationDetail.configDataStation.map((item) => {\n if (item.active == \"Y\" && !!item.meteotype) {\n list.push({\n label: item.meteotype.meteoTypeTh,\n value: item.meteotype.meteoTypeId,\n });\n }\n });\n // const list = dataMeteo?.map((item) => {\n // return {\n // value: item.dataId,\n // label: `${item.dataNameTh} `,\n // };\n // });\n optionsMeteoDataType = list;\n setMeteoDataType(list[0]);\n }, [dataMeteo]);\n\n const [meteoDataType, setMeteoDataType] = useState(optionsMeteoDataType[0]);\n\n let dataMeteoEl01;\n let dataMeteoEl02;\n let dataMeteoEl03;\n let dataMeteoEl04;\n let dataMeteoEl06;\n let dataMeteoEl08;\n let dataMeteoEl09;\n let dataMeteoEl11;\n let dataMeteoEl12;\n let dataMeteoEl13;\n\n const fetchCrossSection = () => {\n dwrApi\n .get(`/CrossSections/Station/${stationDetail.stationId}`)\n .then((res) => {\n setCrossSection(res.data);\n })\n .catch((err) => {\n console.error(err.message);\n });\n };\n\n const fetchDataTransection = async () => {\n let timePeriod;\n if (stationDetail.stationTypeId == 2) {\n timePeriod = \"24\";\n } else {\n timePeriod = \"168\";\n }\n\n await dwrApi\n .get(\n `/DataTransections/Station/${stationDetail.stationId}/Hour/${timePeriod}`\n )\n .then((res) => {\n console.log(\"res\", res.data);\n setDataTransaction(res.data);\n })\n .catch((err) => {\n console.error(err.message);\n });\n };\n\n useEffect(() => {\n fetchCrossSection();\n fetchDataTransection();\n }, [stationDetail]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"40px\",\n },\n buttonModal: {\n fontSize: \"16px\",\n color: \"#000000\",\n fontFamily: \"inherit\",\n },\n tableHeader: {\n borderTop: \"2px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"1000px\",\n maxHeight: \"95vh\",\n padding: \"0\",\n },\n overlay: {\n zIndex: 1000,\n background: \"rgba(0, 0, 0, 0.6)\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}น. `;\n };\n\n if (dataTransaction) {\n dataTransaction.map((item) => {\n if (item.datas.length) {\n dataTransactionDatasEl.push(item.datas);\n }\n });\n }\n\n const compareDate = (a, b) => {\n let aTime = a.items[0]?.updateTime\n ? new Date(a.items[0]?.updateTime).getTime()\n : 0;\n let bTime = b.items[0]?.updateTime\n ? new Date(b.items[0]?.updateTime).getTime()\n : 0;\n if (aTime < bTime) {\n return -1;\n }\n if (aTime > bTime) {\n return 1;\n }\n return 0;\n };\n\n if (dataTransactionDatasEl.length) {\n dataTransactionDatasEl.map((item) => {\n const hydroData = item.filter((el) => {\n return el.dataId == \"01\" && el.dataType == \"hydro\";\n });\n // const meteoDataRain = item.filter((el) => {\n // return el.dataId == \"01\" && el.dataType == \"meteo\";\n // });\n // const meteoDataTemp = item.filter((el) => {\n // return el.dataId == \"04\" && el.dataType == \"meteo\";\n // });\n if (hydroData) dataHydroWaterLevel.push(...hydroData);\n // if (meteoDataRain) dataMeteoRain.push(...meteoDataRain);\n // if (meteoDataTemp) dataMeteoTemp.push(...meteoDataTemp);\n });\n\n dataHydroWaterLevel.sort(compareDate);\n // dataMeteoRain.sort(compareDate);\n // dataMeteoTemp.sort(compareDate);\n }\n\n if (dataMeteo.length) {\n dataMeteoEl01 = dataMeteo\n .filter((item) => item.dataId == \"01\")\n .sort(compareDate);\n dataMeteoEl02 = dataMeteo\n .filter((item) => item.dataId == \"02\")\n .sort(compareDate);\n dataMeteoEl03 = dataMeteo\n .filter((item) => item.dataId == \"03\")\n .sort(compareDate);\n dataMeteoEl04 = dataMeteo\n .filter((item) => item.dataId == \"04\")\n .sort(compareDate);\n dataMeteoEl06 = dataMeteo\n .filter((item) => item.dataId == \"06\")\n .sort(compareDate);\n dataMeteoEl08 = dataMeteo\n .filter((item) => item.dataId == \"08\")\n .sort(compareDate);\n dataMeteoEl09 = dataMeteo\n .filter((item) => item.dataId == \"09\")\n .sort(compareDate);\n dataMeteoEl11 = dataMeteo\n .filter((item) => item.dataId == \"11\")\n .sort(compareDate);\n dataMeteoEl12 = dataMeteo\n .filter((item) => item.dataId == \"12\")\n .sort(compareDate);\n dataMeteoEl13 = dataMeteo\n .filter((item) => item.dataId == \"13\")\n .sort(compareDate);\n }\n\n useEffect(() => {\n if (crossSection[0] && crossSection[0].crossSectionInfo.length) {\n const getUnitlow = [...crossSection[0].crossSectionInfo].sort(\n (a, b) => a.wideRiverX - b.wideRiverX\n )[0];\n const getUnitHigh = [...crossSection[0].crossSectionInfo].sort(\n (a, b) => b.wideRiverX - a.wideRiverX\n )[0];\n\n setCrossSectionUnitLow(getUnitlow);\n setCrossSectionUnitHigh(getUnitHigh);\n }\n }, [crossSection]);\n\n const displayCrossSectionTable = (\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
    \n ข้อมูลลำน้ำ\n ม.รทก.เมตร
    ระดับตลิ่งขวา{crossSectionUnitHigh?.heightY?.toFixed(2)}\n {!!gageData?.gageLevel\n ? (+crossSectionUnitHigh.heightY - +gageData.gageLevel).toFixed(2)\n : \"-\"}\n
    ระดับตลิ่งซ้าย{crossSectionUnitLow?.heightY?.toFixed(2)}\n {!!gageData?.gageLevel\n ? (+crossSectionUnitLow.heightY - +gageData.gageLevel).toFixed(2)\n : \"-\"}\n
    ศูนย์เสาระดับ{!!gageData?.gageLevel ? gageData?.gageLevel.toFixed(2) : \"\"}0.00
    \n );\n\n const displayHydroTable = (\n \n \n \n \n \n \n \n \n \n {stationDetail.stationTypeId == 2 ? (\n \n \n \n \n \n ) : (\n \n \n \n \n \n )}\n {stationDetail.stationTypeId == 2 ? (\n \n \n \n\n \n \n ) : (\n \n \n \n\n \n \n )}\n \n
    \n ข้อมูลอุทกวิทยา\n ม.รทก.เมตร
    \n ระดับน้ำราย 15 นาที ณ{\" \"}\n {dataHydro.length ? (\n <>\n <> {convertDate(dataHydro[0].items[0].updateTime)} {\" \"}\n <> {convertTime(dataHydro[0].items[0].updateTime)} \n \n ) : (\n \"\"\n )}\n \n {dataHydro.length && gageData\n ? (\n +dataHydro[0].items[0].waterLevel + +gageData.gageLevel\n ).toFixed(2)\n : \"-\"}\n {dataHydro.length ? dataHydro[0].items[0].waterLevel : \"-\"}
    ระดับน้ำปัจจุบันล่าสุด\n {dataHydro.length && gageData\n ? (+dataHydro[0].items[0].value + +gageData.gageLevel).toFixed(\n 2\n )\n : \"-\"}\n {dataHydro.length ? dataHydro[0].items[0].value : \"-\"}
    ระดับน้ำสูงสุดวันนี้\n {dataHydro.length && gageData\n ? (\n +dataHydro[0].items[0].waterLevelMaxInDay +\n +gageData.gageLevel\n ).toFixed(2)\n : \"-\"}\n \n {dataHydro.length\n ? dataHydro[0].items[0].waterLevelMaxInDay\n : \"-\"}\n
    ระดับน้ำสูงสุดวันนี้\n {dataHydro.length && gageData\n ? (+dataHydro[0].items[0].max + +gageData.gageLevel).toFixed(2)\n : \"-\"}\n {dataHydro.length ? dataHydro[0].items[0].max : \"-\"}
    \n );\n\n const displayMeteoTable = (\n \n \n \n \n \n \n \n \n {stationDetail.stationTypeId == 2 ? (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n {dataMeteo.length && !!dataMeteoEl01[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl02[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl03[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl04[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl06[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl08[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl09[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl11[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl12[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n\n {dataMeteo.length && !!dataMeteoEl13[0]?.items[0] ? (\n \n \n \n \n \n ) : (\n \"\"\n )}\n \n )}\n
    ข้อมูลอุตุนิยมวิทยา
    \n ปริมาณฝนราย15 นาที ณ{\" \"}\n {convertDate(dataMeteo[0]?.items[0]?.updateTime)}{\" \"}\n {convertTime(dataMeteo[0]?.items[0]?.updateTime)}{\" \"}\n \n {dataMeteo.length && dataMeteoEl01[0]?.items.length\n ? dataMeteoEl01[0]?.items[0]?.rainFall15\n : \"-\"}\n มม.
    อุณหภูมิอากาศล่าสุด\n {dataMeteo.length && dataMeteoEl04[0]?.items.length\n ? dataMeteoEl04[0]?.items[0]?.temperature\n : \"-\"}\n (°ซ)
    อุณหภูมิอากาศสูงสุดวันนี้\n {dataMeteo.length && dataMeteoEl04[0]?.items.length\n ? dataMeteoEl04[0]?.items[0]?.temperatureMaxInday\n : \"-\"}\n (°ซ)
    อุณหภูมิอากาศต่ำสุดวันนี้\n {dataMeteo.length && dataMeteoEl04[0]?.items.length\n ? dataMeteoEl04[0].items[0]?.temperatureMinInday\n : \"-\"}\n (°ซ)
    น้ำฝน\n {dataMeteoEl01[0]?.items[0]?.value || \"-\"}\n มม.
    ระเหย\n {dataMeteoEl02[0]?.items[0]?.value || \"-\"}\n มม.
    อุณหภูมิน้ำ\n {dataMeteoEl03[0]?.items[0]?.value || \"-\"}\n (·ซ)
    อุณหภูมิอากาศ\n {dataMeteoEl04[0]?.items[0]?.value || \"-\"}\n (·ซ)
    อุณหภูมิอากาศสูงสุด\n {dataMeteoEl06[0]?.items[0]?.value || \"-\"}\n (·ซ)
    อุณหภูมิอากาศต่ำสุด\n {dataMeteoEl08[0]?.items[0]?.value || \"-\"}\n (·ซ)
    ความชื้นสัมพัทธ์\n {dataMeteoEl09[0]?.items[0]?.value || \"-\"}\n %
    ความเร็วลม\n {dataMeteoEl11[0]?.items[0]?.value || \"-\"}\n กม/ชม.
    ความนานแสงแดด\n {dataMeteoEl12[0]?.items[0]?.value || \"-\"}\n กม/ชม.
    ความเข้มแสงแดด\n {dataMeteoEl13[0]?.items[0]?.value || \"-\"}\n Cal/CM2
    \n );\n\n const tableItems = [\n {\n text: \"ชื่อสถานี\",\n value: stationDetail?.stationTh,\n },\n {\n text: \"ประเภทสถานี\",\n value: `${\n !!stationDetail?.configDataStation[0]?.hydroTypeId &&\n !stationDetail?.configDataStation[0]?.meteotypeId\n ? \"อุทกวิทยา\"\n : \"\"\n }${\n !!stationDetail?.configDataStation[0]?.meteotypeId &&\n !stationDetail?.configDataStation[0]?.hydroTypeId\n ? \"อุตุนิยมวิทยา\"\n : \"\"\n } ${stationDetail?.stationType?.stationTypeName}`,\n },\n {\n text: \"ที่ตั้ง\",\n value: `ต.${stationDetail?.location?.subDistrict?.subDistrictTh} อ.\n ${stationDetail?.location?.subDistrict?.district?.districtTh} จ.\n ${stationDetail?.location?.subDistrict?.district?.province?.provinceTh}`,\n },\n {\n text: \"ข้อมูลตรวจวัด\",\n value: `\n ${\n dataHydroMeasurements.length\n ? dataHydroMeasurements.map((item) => {\n return item.hydroTypeTh;\n })\n : \"\"\n }\n ${\n dataMeteoMeasurements.length\n ? dataMeteoMeasurements.map((item) => {\n return item.meteoTypeTh;\n })\n : \"\"\n }`,\n },\n {\n text: \"ละติจูด\",\n value: `${stationDetail?.location?.latitudeDms || \"-\"}`,\n },\n {\n text: \"ลองจิจูด\",\n value: `${stationDetail?.location?.longitudeDms || \"-\"}`,\n },\n {\n text: \"ผู้ดูแล\",\n value: `${stationDetail.personName || \"-\"}`,\n },\n {\n text: \"เบอร์ติดต่อ\",\n value: `${stationDetail.tel || \"-\"}`,\n },\n {\n text: \"หน่วยงาน\",\n value: `${stationDetail?.StationCenter?.stationCenterName || \"-\"}`,\n },\n ];\n\n console.log(\"modal\", { stationImage });\n\n const displayDescription = (\n
    \n \n \n \n \n \n \n \n \n \n {tableItems.map((item, i) => (\n \n \n {item.text}\n \n \n {item.value}\n \n {i == 0 ? (\n \n ) : (\n \n )}\n \n ))}\n \n
    \n
    รหัสสถานี
    \n
    \n
    {stationDetail.stationLabel}
    \n
    \n รูปสถานี\n
    \n {stationImage.length ? (\n {\n setOpenModalImage(true);\n }}\n />\n ) : (\n \"\"\n )}\n {openModalImage && (\n \n )}\n
    \n
    \n\n //
    \n //
    \n //
    \n //
    รหัสสถานี
    \n //
    \n //
    {stationDetail.stationLabel}
    \n //
    รูปสถานี
    \n //
    \n //
    \n //
    \n //
    ชื่อสถานี
    \n //
    ประเภทสถานี
    \n //
    ที่ตั้ง
    \n //
    ข้อมูลตรวจวัด
    \n //
    ละติจูด
    \n //
    ลองจิจูด
    \n //
    ผู้เดูแล
    \n //
    เบอร์ติดต่อ
    \n //
    หน่วยงาน
    \n //
    \n //
    \n //
    {stationDetail?.stationTh}
    \n //
    \n // {!!stationDetail?.configDataStation[0]?.hydroTypeId &&\n // !stationDetail?.configDataStation[0]?.meteotypeId\n // ? \"อุทกวิทยา\"\n // : \"\"}\n // {!!stationDetail?.configDataStation[0]?.meteotypeId &&\n // !stationDetail?.configDataStation[0]?.hydroTypeId\n // ? \"อุตุนิยมวิทยา\"\n // : \"\"}\n // {stationDetail?.stationType?.stationTypeName}\n // {/* {dataHydro.length ? \"อุทกวิทยา\" : \"\"}\n // {dataMeteo.length ? \"อุตุนิยมวิทยา\" : \"\"}\n // {dataHydro.length || dataMeteo.length ? stationDetail?.stationType?.stationTypeName : '-'} */}\n //
    \n //
    \n // ต.{stationDetail?.location?.subDistrict?.subDistrictTh} อ.\n // {stationDetail?.location?.subDistrict?.district?.districtTh} จ.\n // {\n // stationDetail?.location?.subDistrict?.district?.province\n // ?.provinceTh\n // }\n //
    \n //
    \n // {dataHydroMeasurements.length\n // ? dataHydroMeasurements[0].hydroTypeTh\n // : \"\"}\n // {dataMeteoMeasurements.length\n // ? dataMeteoMeasurements.map((item) => {\n // return <> {item.meteoTypeTh};\n // })\n // : \"\"}\n //
    \n //
    {stationDetail?.location?.latitudeDms || \"-\"}
    \n //
    {stationDetail?.location?.longitudeDms || \"-\"}
    \n //
    {stationDetail.personName || \"-\"}
    \n //
    {stationDetail.tel || \"-\"}
    \n //
    {stationDetail?.StationCenter?.stationCenterName || \"-\"}
    \n //
    \n //
    \n // {stationImage.length ? (\n // {\n // setOpenModalImage(true);\n // }}\n // />\n // ) : (\n // \"\"\n // )}\n // {openModalImage && (\n // \n // )}\n //
    \n //
    \n //
    \n );\n\n const displayStationDetail = (\n
    \n
    {displayDescription}
    \n
    {dataHydroMeasurements.length ? displayCrossSectionTable : \"\"}
    \n
    \n {dataHydroMeasurements.length ? displayHydroTable : displayMeteoTable}\n
    \n
    \n );\n\n return (\n
    \n \n \n \n \n {stationDetail.stationTh}\n \n \n \n \n
    \n
    \n
    \n {dataHydroMeasurements.length ? (\n
    \n ศูนย์เสาระดับ = {gageData.gageLevel || \"-\"} ม.รทก.\n
    \n ) : (\n <>\n \n setMeteoDataType(ev)}\n value={meteoDataType}\n className=\"select-datatype-container\"\n noOptionsMessage={() => \"ไม่พบข้อมูล\"}\n isClearable={false}\n />\n \n )}\n
    \n
    \n
    \n {dataHydroMeasurements.length ? (\n \n ) : (\n \n )}\n
    \n
    {displayStationDetail}
    \n
    \n\n
    \n {dataHydroMeasurements.length ? (\n \n ) : (\n \n )}\n
    \n
    \n \n \n );\n};\n\nexport default ModalStationDetail2;\n","import { filter } from \"lodash\";\nimport React, { useState, useEffect } from \"react\";\nimport { Line } from \"react-chartjs-2\";\n\nconst ChartForeCastWaterLevel = ({ stationForecast }) => {\n const [chartWaterData, setCharWatertData] = useState();\n const { transections, forecasts, warningItem } = stationForecast;\n\n // const transectionsFilter = transections.filter((item) => item.valueWl);\n console.log('station', stationForecast)\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const parseLocaleDate = (dateTime, withTime = false) => {\n\n let output = `${new Date(dateTime).toLocaleDateString(\"th-TH\", {\n year: 'numeric',\n month: 'numeric',\n day: \"numeric\",\n })} ${withTime ? new Date(dateTime).toLocaleTimeString(\"th-TH\", {\n hour: 'numeric',\n minute: 'numeric'\n }) + 'น.' : ''}`\n\n return output.replace(/\\//g, '-')\n\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const chartWaterGenerate = async () => {\n const labelsWaterLevel = transections?.map(\n (item) => `${parseLocaleDate(item.timeStamp, true)}`\n );\n const labelsForecast = forecasts?.map(\n (item) => `${parseLocaleDate(item.timeStamp, true)}`\n );\n\n // const valueWaterLevel = transections?.map((item) => !!item.valueWl || item.valueWl == 0 ? ({ value: item.valueWl + (stationForecast.gageLevel || 0), color: \"rgb(39,145,223)\" }) : { value: null, color: null });\n // const valueForecast = forecasts?.map((item) => ({ value: item.valueWl, color: \"rgb(255,1,227)\" }));\n\n // const ValueForecastFullfill = new Array(valueWaterLevel.length - 1)\n // .fill(null)\n // .concat([40])\n // .concat(forecasts.map(item => ({value:item.valueWl, color: \"rgb(255,1,227)\"})));\n\n // const allValues = valueWaterLevel.concat(forecasts.map(item => ({value:item.valueWl, color: \"rgb(255,1,227)\"})))\n\n const waterLevelItems = transections.map(item => ({ ...item, valueWl: item.valueWl, })).concat(forecasts.map((item) => ({ ...item, valueWl: null })))\n const forecastItems = transections.map((item, i) => ({ ...item, valueWl: transections.length - 1 === i && item.valueWl !== null ? item.valueWl + stationForecast.gageLevel : null })).concat(forecasts);\n\n setCharWatertData({\n labels: labelsWaterLevel.concat(labelsForecast),\n datasets: [\n {\n label: \"ระดับน้ำตรวจวัดก่อนพยากรณ์\",\n data: waterLevelItems.map(item => !!item.valueWl || item.valueWl == 0 ? item.valueWl + (stationForecast.gageLevel || 0) : null),\n borderColor: \"rgba(39,145,223, 1)\",\n backgroundColor: \"rgba(39,145,223, 1)\",\n borderWidth: 2,\n pointRadius: 0,\n tension: 0.1,\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n },\n },\n {\n label: \"ระดับน้ำคาดการณ์\",\n data: forecastItems.map(item => item.valueWl || null),\n borderColor: \"rgb(255,1,227)\",\n backgroundColor: \"rgb(255,1,227)\",\n borderWidth: 2,\n pointRadius: 0,\n tension: 0.1,\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n },\n },\n {\n label: \"ระดับน้ำเตือนภัย\",\n data: forecastItems.map(item => warningItem?.war),\n // type: 'scatter',\n // showLine: true,\n // backgroundColor: \"red\",\n // borderColor: \"red\",\n // fill: false,\n // borderWidth: 2,\n // pointRadius: 0,\n // tension: 0.1,\n borderColor: [\"rgb(255, 99, 132)\"],\n backgroundColor: [\"rgb(255, 99, 132)\"],\n borderWidth: 3,\n pointRadius: 0,\n tension: 0.1,\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n },\n }\n ],\n });\n };\n\n\n\n let options = {\n scales: {\n x: {\n ticks: {\n // maxTicksLimit: 15,\n // autoSkip: true,\n maxRotation: 90,\n minRotation: 90,\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 18,\n },\n },\n },\n y: {\n ticks: {\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 18,\n },\n },\n suggestedMin: 0,\n\n }\n },\n plugins: {\n zoom: {\n zoom: {\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: true,\n },\n mode: \"x\",\n },\n pan: {\n enabled: true,\n mode: \"x\",\n speed: 1,\n threshold: 1,\n },\n },\n\n legend: {\n position: 'bottom',\n labels: {\n padding: 20,\n font: {\n size: 20,\n weight: 'bold',\n family: `THSarabunNew`,\n\n },\n }\n },\n\n tooltip: {\n enabled: true,\n displayColors: false,\n backgroundColor: 'rgba(255,255, 255, 0.65)',\n titleFont: {\n family: `THSarabunNew`,\n size: 18,\n weight: 'bold',\n },\n bodyFont: {\n family: `THSarabunNew`,\n size: 18,\n weight: 'bold',\n },\n footerFont: {\n family: `THSarabunNew`,\n size: 18,\n weight: 'bold',\n },\n borderColor: 'rgb(255,1,227)',\n borderWidth: 0,\n titleColor: 'black',\n bodyColor: 'black',\n callbacks: {\n label: function (context, data) {\n var count = context.raw\n var label = context.dataset.label + \": \"\n if (count) {\n count += ' ม.รทก.'\n }\n return label + count\n },\n }\n },\n annotation: {\n annotations: {\n // line1: {\n // type: \"line\",\n // yMin: warningItem?.war,\n // yMax: warningItem?.war,\n // borderColor: \"rgb(255, 99, 132)\",\n // borderWidth: 2,\n // },\n line2: {\n type: \"line\",\n xMin: transections.length ? transections.length - 1 : 0,\n xMax: transections.length ? transections.length - 1 : 0,\n borderColor: \"rgb(0, 0, 0)\",\n borderWidth: 2,\n borderDash: [3],\n borderDashOffset: 2,\n label: {\n enabled: (ctx) => ctx.hovered,\n color: 'black',\n backgroundColor: 'rgba(255,255,255,0.65)',\n drawTime: 'afterDatasetsDraw',\n font: {\n weight: 'bold',\n family: `THSarabunNew`,\n size: 18\n },\n content: (ctx, data) => {\n const lastItem = transections[transections.length - 1] || { valueWl: null, timeStamp: new Date().toISOString() }\n let value = (!!lastItem.valueWl || lastItem.valueWl == 0) ? { valueWl: lastItem.valueWl + (stationForecast.gageLevel || 0), timeStamp: lastItem.timeStamp } : { valueWl: null, timeStamp: lastItem.timeStamp };\n if (value.valueWl !== null) {\n return [`${parseLocaleDate(value.timeStamp, true)}`, `ระดับน้ำ(ปัจจุบัน): ${value.valueWl} ม.รทก.`]\n }\n return [`${parseLocaleDate(value.timeStamp, true)}`, `ระดับน้ำ(ปัจจุบัน): - ม.รทก.`]\n },\n position: (ctx) => ctx.hoverPosition,\n },\n\n enter(ctx, event) {\n ctx.hovered = true;\n ctx.hoverPosition = (event.x / ctx.chart.chartArea.width * 100) + '%';\n ctx.chart.update();\n },\n leave(ctx, event) {\n ctx.hovered = false;\n ctx.chart.update();\n }\n },\n // line3: {\n // type: 'label',\n // xMin: transections.length,\n // xMax: transections.length,\n // rotation: -90,\n // position: 'bottom',\n // backgroundColor: 'rgba(255,255,255, 1)',\n // content: [convertDate(new Date())],\n // font: {\n // size: 12\n // },\n // }\n },\n },\n },\n };\n\n useEffect(() => {\n if (stationForecast) chartWaterGenerate();\n }, [stationForecast]);\n\n return (\n
    \n {stationForecast && chartWaterData ? (\n \n ) : (\n \"ไม่พบข้อมูลระดับน้ำคาดการณ์\"\n )}\n
    \n );\n};\n\nexport default ChartForeCastWaterLevel;\n","import { getDate } from \"date-fns\";\nimport React, { useState, useEffect } from \"react\";\nimport { Line } from \"react-chartjs-2\";\nimport 'chartjs-adapter-moment';\n\nconst ChartForecastFlow = ({ stationForecast }) => {\n const [chartData, setChartData] = useState();\n const { transections, forecasts, warningItem } = stationForecast;\n\n // const transectionsFilter = transections.filter((item) => item.valueQ);\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const parseLocaleDate = (dateTime, withTime = false) => {\n let output = `${new Date(dateTime).toLocaleDateString(\"th-TH\", {\n year: 'numeric',\n month: 'numeric',\n day: \"numeric\",\n })} ${withTime ? new Date(dateTime).toLocaleTimeString(\"th-TH\", {\n hour: 'numeric',\n minute: 'numeric'\n }) + 'น.' : ''}`\n\n return output.replace(/\\//g, '-')\n\n };\n\n const chartWaterGenerate = async () => {\n const labelsFlow = transections?.map(\n (item) => `${parseLocaleDate(item.timeStamp, true)}`\n )\n const labelsForecast = forecasts?.map(\n (item) => `${parseLocaleDate(item.timeStamp, true)}`\n )\n\n // const valueWaterLevel = transections?.map((item) => item.valueQ);\n // const valueForecast = forecasts?.map((item) => item.valueQ);\n\n // const ValueForecastFullfill = new Array(valueWaterLevel.length)\n // .fill(null)\n // .concat(valueForecast);\n\n const waterFlowItems = transections.map(item => ({ ...item, valueQ: item.valueQ, })).concat(forecasts.map((item) => ({ ...item, valueQ: null })))\n const forecastItems = transections.map((item, i) => ({ ...item, valueQ: transections.length - 1 === i && item.valueQ !== null ? item.valueQ + stationForecast.gageLevel : null })).concat(forecasts);\n\n\n setChartData({\n labels: labelsFlow.concat(labelsForecast),\n datasets: [\n {\n label: \"ปริมาณการไหลตรวจวัดก่อนพยากรณ์\",\n data: waterFlowItems.map(item => item.valueQ),\n type: 'scatter',\n showLine: true,\n borderColor: [\"rgb(39,145,223)\"],\n backgroundColor: [\"rgb(39,145,223)\"],\n borderWidth: 3,\n pointRadius: 0,\n tension: 0.1,\n fill: false,\n },\n {\n label: \"ปริมาณการไหลคาดการณ์\",\n data: forecastItems.map(item => item.valueQ || null),\n type: 'scatter',\n showLine: true,\n borderColor: [\"rgb(255,1,227)\"],\n backgroundColor: [\"rgb(255,1,227)\"],\n borderWidth: 3,\n pointRadius: 0,\n tension: 0.1,\n fill: false,\n },\n ],\n });\n };\n\n\n\n let options = {\n title: {\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 24,\n },\n },\n scales: {\n x: {\n ticks: {\n maxRotation: 90,\n minRotation: 90,\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 18,\n },\n },\n },\n y: {\n suggestedMin: 0,\n ticks: {\n font: {\n family: `THSarabunNew`,\n weight: 'bold',\n size: 18,\n },\n },\n }\n },\n plugins: {\n zoom: {\n zoom: {\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: true,\n },\n mode: \"x\",\n },\n pan: {\n enabled: true,\n mode: \"x\",\n speed: 1,\n threshold: 1,\n },\n },\n\n legend: {\n position: 'bottom',\n labels: {\n padding: 20\n },\n labels: {\n padding: 20,\n font: {\n size: 20,\n weight: 'bold',\n family: `THSarabunNew`,\n },\n }\n },\n\n tooltip: {\n enabled: true,\n displayColors: false,\n backgroundColor: 'rgba(255,255, 255, 0.65)',\n titleFont: {\n family: `THSarabunNew`,\n size: 18,\n weight: 'bold',\n },\n bodyFont: {\n family: `THSarabunNew`,\n size: 18,\n weight: 'bold',\n },\n footerFont: {\n family: `THSarabunNew`,\n size: 18,\n weight: 'bold',\n },\n borderColor: 'rgb(255,1,227)',\n borderWidth: 0,\n titleColor: 'black',\n bodyColor: 'black',\n callbacks: {\n label: function (context, data) {\n var count = context.raw\n var label = context.dataset.label + \": \"\n if (count) {\n count += ' ลบ ม./วินาที'\n }\n return label + count\n }\n }\n },\n\n annotation: {\n annotations: {\n // line1: {\n // type: \"line\",\n // yMin: warningItem?.war,\n // yMax: warningItem?.war,\n // borderColor: \"rgb(255, 99, 132)\",\n // borderWidth: 2,\n // },\n line2: {\n type: \"line\",\n xMin: transections.length ? transections.length - 1 : 0,\n xMax: transections.length ? transections.length - 1 : 0,\n borderColor: \"rgb(0, 0, 0)\",\n borderWidth: 2,\n borderDash: [3],\n borderDashOffset: 2,\n textAlign: 'left',\n label: {\n enabled: (ctx) => ctx.hovered,\n color: 'black',\n backgroundColor: 'rgba(255,255,255,0.65)',\n drawTime: 'afterDatasetsDraw',\n font: {\n weight: 'bold',\n family: `THSarabunNew`,\n size: 18\n },\n content: (ctx, data) => {\n const lastItem = transections[transections.length - 1] || { valueQ: null, timeStamp: new Date().toISOString() }\n let value = (!!lastItem.valueQ || lastItem.valueQ == 0) ? { valueQ: lastItem.valueQ + (stationForecast.gageLevel || 0), timeStamp: lastItem.timeStamp } : { valueQ: null, timeStamp: lastItem.timeStamp };\n console.log({ value })\n if (value.valueQ !== null) {\n return [`${parseLocaleDate(value.timeStamp, true)}`, `ปริมาณการไหล(ปัจจุบัน): ${value.valueQ} ม./วินาที`]\n }\n return [`${parseLocaleDate(value.timeStamp, true)}`, `ปริมาณการไหล(ปัจจุบัน): - ม./วินาที`]\n },\n position: (ctx) => ctx.hoverPosition,\n },\n enter(ctx, event) {\n ctx.hovered = true;\n ctx.hoverPosition = (event.x / ctx.chart.chartArea.width * 100) + '%';\n ctx.chart.update();\n },\n leave(ctx, event) {\n ctx.hovered = false;\n ctx.chart.update();\n }\n },\n // line3: {\n // type: 'label',\n // xMin: transections.length,\n // xMax: transections.length,\n // rotation: -90,\n // position: 'bottom',\n // backgroundColor: 'rgba(255,255,255, 1)',\n // content: [convertDate(new Date())],\n // font: {\n // size: 12\n // },\n // }\n },\n },\n },\n };\n useEffect(() => {\n if (stationForecast) chartWaterGenerate();\n }, [stationForecast]);\n\n return (\n
    \n {stationForecast && chartData ? (\n \n ) : (\n \"ไม่พบข้อมูลปริมาณการไหลคาดการณ์\"\n )}\n
    \n );\n};\n\nexport default ChartForecastFlow;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport ChartForeCastWaterLevel from \"./ChartForeCastWaterLevel\";\nimport ChartForecastFlow from \"./ChartForecastFlow\";\n\nconst ModalForecast2 = ({\n stationDetail,\n isModalForecastOpen,\n setIsModalForecastOpen,\n}) => {\n const [stationForecast, setStationForecast] = useState(\"\");\n const [latestForecast, setLatestForecast] = useState(\"\");\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n buttonForecast: {\n backgroundColor: \"white\",\n color: \"black\",\n fontSize: \"16px\",\n fontFamily: \"inherit\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n tableBody: {\n display: \"block\",\n height: \"500px\",\n overflowY: \" auto\",\n marginBottom: \"10px\",\n },\n leftSideChart: {\n position: \"absolute\",\n top: \"35%\",\n left: \"-20px\",\n transform: \"rotate(-90deg)\",\n fontWeight: 'bold'\n },\n leftSideDownChart: {\n position: \"absolute\",\n top: \"35%\",\n left: \"-52px\",\n transform: \"rotate(-90deg)\",\n fontWeight: 'bold'\n }\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n minHeight: \"300px\",\n minWidth: \"400px\",\n width: \"90%\",\n },\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear() + \" (\" + (result.getFullYear() + 543) + \")\";\n\n const monthNames = [\n \"มกราคม\",\n \"กุมภาพันธ์\",\n \"มีนาคม\",\n \"เมษายน\",\n \"พฤษภาคม\",\n \"มิถุนายน\",\n \"กรกฎาคม\",\n \"สิงหาคม\",\n \"กันยายน\",\n \"ตุลาคม\",\n \"พฤศจิกายน\",\n \"ธันวาคม\",\n ];\n\n return `${date} ${monthNames[month]} ${year}`;\n };\n\n const convertDateEng = (value, type) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n if (type === \"1\") {\n return `${year}/${month}/${date}`;\n } else {\n return `${date}/${month}/${year + 543}`;\n }\n };\n\n const getDate = convertDate(new Date());\n const getTime = convertTime(new Date());\n\n const openModal = () => {\n setIsModalForecastOpen(true);\n };\n\n const closeModal = () => {\n setIsModalForecastOpen(false);\n };\n\n const getLastestForecast = async (forecast) => {\n setLatestForecast(\"\");\n const latestResult = forecast?.transections?.sort((a, b) => {\n return new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime();\n })[0];\n\n setLatestForecast(latestResult);\n };\n\n const fetchForeCast = async () => {\n // await dwrApi\n // .get(`/Forecasts/Station/${stationDetail.stationId}`)\n // .then((res) => {\n // // const sortData = res.data\n // // console.log('sort', sortData.forecasts.sort((a, b) => {\n // // return new Date(b.timeStamp).getTime() - new Date(a.timeStamp).getTime()}))\n // setStationForecast(res.data);\n // getLastestForecast();\n // })\n // .catch((err) => console.log(err.message));\n\n\n\n try {\n const res = await dwrApi.get(`/ForecastData/${stationDetail.stationId}`);\n setStationForecast(res.data);\n await getLastestForecast(res.data);\n } catch (err) {\n console.error(err);\n }\n\n\n };\n\n useEffect(() => {\n fetchForeCast();\n }, [stationDetail]);\n\n const displayButtonOpenModal = (\n
    \n \n ดูรายละเอียดพยากรณ์\n \n
    \n );\n\n const displayHeader = (\n \n ข้อมูลพยากรณ์\n \n \n \n \n );\n\n const displayDescription = (\n
    \n
    \n ระดับน้ำพยากรณ์สถานี {stationForecast.stationLabel}{\" \"}\n {stationForecast.stationNameTh} {stationForecast.subDistrictTh}{\" \"}\n {stationForecast.districtTh} {stationForecast.provinceTh} ณ วันที่{\" \"}\n {getDate} {getTime} น.\n
    \n
    \n );\n\n const displayChartWaterLevel = (\n
    \n
    \n \n
    \n
    ระดับน้ำ (ม.รทก.)
    \n
    \n );\n const displayChartFlow = (\n
    \n
    \n \n
    \n
    ปริมาณการไหล ลบ.ม./วินาที.
    \n
    \n );\n\n const displayTableDescription = (\n
    \n
    \n วันที่พยากรณ์{\" \"}\n {getDate}\n {/* {latestForecast ? convertDateEng(latestForecast.timeStamp, \"1\") : \"\"} */}\n
    \n
    \n );\n\n const displayTable = (\n
    \n
    ผลการคำนวณพยากรณ์
    \n \n \n \n \n \n \n \n \n\n \n {stationForecast\n ? stationForecast?.forecasts.map((item, index) => {\n return (\n \n \n \n \n \n );\n }).sort((a, b) => new Date(a.timeStamp).getTime() - new Date(b.timeStamp).getTime())\n : \"\"}\n \n
    วันที่ระดับน้ำ(ม.รทก)ปริมาณการไหล (ลบ.ม./วินาที)
    \n {convertDateEng(item.timeStamp) +\n \" \" +\n convertTime(item.timeStamp)}\n {item.valueWl || '-'}{item.valueQ || '-'}
    \n
    \n );\n\n return (\n
    \n \n {displayHeader}\n
    \n
    \n
    \n {displayDescription}\n {stationForecast ? (\n
    \n {displayChartWaterLevel}\n {displayChartFlow}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n {displayTableDescription}\n {displayTable}\n
    \n
    \n \n
    \n );\n};\n\nexport default ModalForecast2;\n","import React from \"react\";\nimport \"./SpinnerTool.css\";\n\nconst SpinnerTool = () => {\n return (\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n );\n};\n\nexport default SpinnerTool;\n","import React, { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport ReactDOMServer from \"react-dom/server\";\nimport InfoWindowEl from \"./InfoWindowEl\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ModalStationDetail2 from \"./ModalStationDetail2\";\nimport ModalForecast2 from \"./ModalForecast2\";\nimport { kml as togeojson } from \"@tmcw/togeojson\";\nimport SpinnerTool from \"../Tools/Spinner/SpinnerTool\";\nimport ModalStationImage from \"./ModalStationImage\";\n\nconst GMapJs = () => {\n const { addToast } = useToasts();\n const [isModalStationOpen, setIsModalStationOpen] = useState(false);\n const [isModalForecastOpen, setIsModalForecastOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [lastestZoom, setLastestZoom] = useState(6);\n const [geoJson, setGeoJson] = useState([]);\n const [mapLat, setMapLat] = useState(13);\n const [mapLng, setMapLng] = useState(100);\n\n const isAutoView = useSelector((state) => state.dataReducer.isAutoView);\n const autoMeasureType = useSelector(\n (state) => state.mapReducer.autoMeasureType\n );\n const manualMeasureType = useSelector(\n (state) => state.mapReducer.manualMeasureType\n );\n const stationsFilter = useSelector((state) => state.mapReducer.stations);\n const kmlSelected = useSelector((state) => state.dataReducer.kmlSelected);\n const [markerSelected, setMarkerSelected] = useState(null);\n const [stationSelected, setStationSelected] = useState(null);\n const [stationImage, setStationImage] = useState([]);\n const [openModalImage, setOpenModalImage] = useState(false);\n\n const [stationDetail, setStationDetail] = useState(\"\");\n const [dataLastUpdated, setDataLastUpdated] = useState(\"\");\n const [gageData, setGageData] = useState(\"\");\n const [realTime, setRealTime] = useState(new Date().getTime());\n const [activeStation, setActiveStation] = useState(0);\n const [inActiveStation, setInActiveStation] = useState(0);\n\n const google = window.google;\n let map;\n let Markers = {};\n let infowindow;\n let dataHydroMeasurements = [];\n let dataMeteoMeasurements = [];\n let hydroActiveId = [];\n let meteoActiveId = [];\n\n let dataHydro = [];\n let dataMeteo = [];\n\n // let timeConfig = 60;\n let timeConfig = 3600000;\n\n const styles = {\n mapContainer: {\n height: \"100%\",\n },\n };\n\n if (stationSelected) {\n stationSelected.configDataStation.map((item) => {\n if (item.hydroType && item.active == \"Y\")\n dataHydroMeasurements.push(item.hydroType);\n if (item.meteotype && item.active == \"Y\")\n dataMeteoMeasurements.push(item.meteotype);\n });\n }\n\n if (dataHydroMeasurements.length) {\n dataHydroMeasurements.map((item) => {\n hydroActiveId.push(item.hydroTypeId);\n });\n }\n\n if (dataMeteoMeasurements.length) {\n dataMeteoMeasurements.map((item) => {\n meteoActiveId.push(item.meteoTypeId);\n });\n }\n\n if (dataLastUpdated) {\n dataLastUpdated.datas.map((item) => {\n if (item.dataType == \"hydro\") {\n dataHydro.push(item);\n }\n if (item.dataType == \"meteo\") {\n dataMeteo.push(item);\n }\n });\n }\n\n const getDateTime = async () => {\n await dwrApi\n .get(`/DateTime`)\n .then((res) => {\n let timestamp = res.data.timestamp.split(\" \");\n let timeNow = `${timestamp[0].split(\"-\").reverse().join(\"-\")} ${\n timestamp[1]\n }`;\n setRealTime(new Date(timeNow).getTime());\n\n // setRealTime(new Date(res.data.timestamp));\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const fetchStationDetail = async (stationId) => {\n await dwrApi\n .get(`/Stations/${stationId}`)\n .then((res) => {\n setStationDetail(res.data);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const fetchStationImage = async (stationId) => {\n if (stationId) {\n return await dwrApi\n .get(`/StationImages/Station/${stationId}`)\n .then((res) => {\n setStationImage(res.data);\n\n return res.data;\n })\n .catch(() => console.error(\"can not get station image\"));\n }\n };\n\n const fetchDataLastTransaction = async (stationId) => {\n if (stationId) {\n return await dwrApi\n .get(`/DataLastUpdates/Station/${stationId}`)\n .then((res) => {\n setDataLastUpdated(res.data);\n\n return res.data;\n })\n .catch((err) => {\n let message = \"กรุณาลองใหม่\";\n if (err.response && err.response.status == 401) {\n message = \"กรุณาล็อกอิน\";\n } else if (err.response && err.response.status == 400) {\n message = \"ข้อมูลไม่ถูกต้อง\";\n }\n // addToast(

    {message}

    , {\n // appearance: \"error\",\n // autoDismiss: true,\n // });\n });\n }\n };\n\n const fetchGageData = async (stationId) => {\n if (stationId) {\n return await dwrApi\n .get(`/Gages/SubGage/Station/${stationId}`)\n .then((res) => {\n setGageData(res.data);\n return res.data;\n })\n .catch(() => console.error(\"can not get GageData\"));\n }\n };\n\n // useEffect(async () => {\n // const getGageData = await fetchGageData(stationId);\n // setGageData(getGageData);\n // }, [stationId]);\n\n const generateKml = async () => {\n await new google.maps.KmlLayer(null);\n await kmlSelected.map((kml) => {\n // const kmlLink = `https://imhydronetwork.amrasia.com/assets/kml/${kml}.kml`;\n const kmlLink = `https://link2.wisdomcloud.net/14JanKML/${kml}.kml`;\n\n new google.maps.KmlLayer(kmlLink, {\n preserveViewport: false,\n map: map,\n });\n });\n };\n\n const generateGeoJson = async () => {\n if (kmlSelected.length) {\n // const ifw = await new google.maps.Data(null);\n\n setIsLoading(true);\n // setGeoJson([]);\n await kmlSelected?.map((kml, kmlIndex) => {\n const getLabel = geoJson.map((item) => item.label);\n\n if (getLabel.indexOf(kml) == -1) {\n fetch(`./assets/kml/${kml}.kml`)\n .then((res) => res.text())\n .then(async (kmlText) => {\n const parser = new DOMParser();\n const kmlData = parser.parseFromString(kmlText, \"text/xml\");\n const geoJsonFile = togeojson(kmlData);\n const getDataLayer = await map.data.addGeoJson(geoJsonFile);\n\n await map.data.setStyle((feature) => {\n return {\n fillColor: feature.getProperty(\"fill\"),\n fillOpacity: feature.getProperty(\"fill-opacity\"),\n strokeColor: feature.getProperty(\"stroke\") || \"#fff\",\n strokeOpacity: feature.getProperty(\"stroke-opacity\") || 1,\n strokeWeight: 1,\n };\n });\n\n // if (kmlIndex >= kmlSelected.length - 1) {\n // setIsLoading(false);\n // }\n\n const obg = {\n label: kml,\n geoJsonFile,\n };\n\n setGeoJson((geoJson) => [...geoJson, obg]);\n\n if (kmlIndex >= kmlSelected.length - 1) {\n setIsLoading(false);\n }\n });\n } else {\n const res = geoJson.find((item) => item.label === kml);\n\n map.data.addGeoJson(res.geoJsonFile);\n map.data.setStyle((feature) => {\n return {\n fillColor: feature.getProperty(\"fill\"),\n fillOpacity: feature.getProperty(\"fill-opacity\"),\n strokeColor: feature.getProperty(\"stroke\") || \"#fff\",\n strokeOpacity: feature.getProperty(\"stroke-opacity\") || 1,\n strokeWeight: 1,\n };\n });\n\n if (kmlIndex >= kmlSelected.length - 1) {\n setIsLoading(false);\n }\n }\n });\n } else {\n // setGeoJson([]);\n }\n };\n\n const onMarkerClick = async (marker, station) => {\n setStationSelected(station);\n setMarkerSelected(marker);\n const fGageData = await fetchGageData(station.stationId);\n\n const fStationImage = await fetchStationImage(station.stationId);\n const fDataLastTransaction = await fetchDataLastTransaction(\n station.stationId\n );\n\n const renderContent = ReactDOMServer.renderToString(\n \n );\n await infowindow.setContent(renderContent);\n await infowindow.open(map, marker);\n\n await google.maps.event.addListener(infowindow, \"domready\", function () {\n google.maps.event.addDomListener(\n document.getElementById(`info-close`),\n \"click\",\n function () {\n infowindow.close();\n }\n );\n google.maps.event.addDomListener(\n document.getElementById(`contentBtnImage`),\n \"click\",\n function () {\n setOpenModalImage(true);\n }\n );\n google.maps.event.addDomListener(\n document.getElementById(`contentBtnStation`),\n \"click\",\n function () {\n setIsModalStationOpen(true);\n }\n );\n google.maps.event.addDomListener(\n document.getElementById(`contentBtnForecast`),\n \"click\",\n function () {\n setIsModalForecastOpen(true);\n }\n );\n });\n };\n\n const tranformMarker = (station) => {\n const markerType = {\n iconAutoHydro: {\n url: \"./assets/dwr_images/markericon/ICON-01.png\",\n scaledSize: new google.maps.Size(30, 30),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 0),\n },\n iconAutoMeteo: {\n url: \"./assets/dwr_images/markericon/ICON-04.png\",\n scaledSize: new google.maps.Size(30, 30),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 0),\n },\n iconManualHydro: {\n url: \"./assets/dwr_images/markericon/ICON-02.png\",\n scaledSize: new google.maps.Size(30, 30),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 0),\n },\n iconManualMeteo: {\n url: \"./assets/dwr_images/markericon/ICON-03.png\",\n scaledSize: new google.maps.Size(30, 30),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 0),\n },\n iconManualMeteo_1: {\n url: \"./assets/dwr_images/markericon/ICON-05.png\",\n scaledSize: new google.maps.Size(30, 30),\n origin: new google.maps.Point(0, 0),\n anchor: new google.maps.Point(0, 0),\n },\n };\n\n const output = [];\n station.configDataStation.map((configData) => {\n const { active, hydroType, meteotype, hydroTypeId, meteotypeId } =\n configData;\n\n if (station.stationTypeId == 1) {\n if (\n !!hydroType &&\n active === \"Y\" &&\n hydroTypeId !== null &&\n manualMeasureType === \"hydro\"\n ) {\n output.push(markerType.iconManualHydro);\n } else if (\n !!meteotype &&\n active === \"Y\" &&\n meteotypeId == \"01\" &&\n manualMeasureType === \"meteo_1\"\n ) {\n output.push(markerType.iconManualMeteo_1);\n } else if (\n !!meteotype &&\n active === \"Y\" &&\n meteotypeId !== null &&\n manualMeasureType === \"meteo\"\n ) {\n output.push(markerType.iconManualMeteo);\n }\n } else if (station.stationTypeId == 2) {\n if (\n !!hydroType &&\n active === \"Y\" &&\n hydroTypeId !== null &&\n autoMeasureType === \"hydro\"\n ) {\n output.push(markerType.iconAutoHydro);\n } else if (\n !!meteotype &&\n active === \"Y\" &&\n meteotypeId !== null &&\n autoMeasureType === \"meteo\"\n ) {\n output.push(markerType.iconAutoMeteo);\n }\n }\n });\n return output[0];\n };\n\n const generateMarkers = async () => {\n await new google.maps.Marker(null);\n await stationsFilter.map((station, i) => {\n if (station.active === \"Y\") {\n const outputIcon = tranformMarker(station);\n\n if (!!outputIcon) {\n const marker = new google.maps.Marker({\n position: {\n lat: station.location.latitudeDd,\n lng: station.location.longitudeDd,\n },\n map,\n title: station?.stationNameTh,\n icon: outputIcon,\n });\n\n google.maps.event.addListener(\n marker,\n \"click\",\n (\n (marker) => () =>\n onMarkerClick(marker, station)\n )(marker, i)\n );\n }\n } else {\n console.log({ station });\n }\n });\n };\n\n const initMap = async () => {\n if (google) {\n // setIsLoading(true);\n\n map = await new google.maps.Map(document.getElementById(\"gmap\"), {\n center: new google.maps.LatLng(mapLat, mapLng),\n zoom: lastestZoom,\n mapTypeControl: true,\n });\n\n infowindow = await new google.maps.InfoWindow();\n\n await generateGeoJson();\n\n await generateMarkers();\n\n await map.data.addListener(\"click\", (ev) => {\n infowindow.setOptions({\n position: ev.latLng,\n map: map,\n content: ev.feature.h.name,\n });\n });\n\n await map.addListener(\"zoom_changed\", (ev) => {\n if (map && map.zoom) {\n setLastestZoom(map.zoom);\n } else {\n setLastestZoom(6);\n }\n });\n\n await map.addListener(\"center_changed\", (ev) => {\n if (map && map.center) {\n setMapLng(map.center.lng());\n setMapLat(map.center.lat());\n } else {\n setMapLat(13);\n setMapLng(100);\n }\n });\n\n // await google.maps.event.addListener(infowindow, \"domready\", () => {\n // google.maps.event.addDomListener(\n // document.getElementById(`gmap`),\n // \"click\",\n // () => infowindow.close()\n // );\n // });\n }\n };\n\n const getStationStatus = async () => {\n if (stationsFilter.length) {\n var active = 0;\n var inActive = 0;\n\n const stationsType2 = await stationsFilter.filter(\n (data) => data.stationTypeId == 2\n );\n\n const response = await Promise.all(\n stationsType2.map((item) =>\n dwrApi.get(`/DataLastUpdates/Station/${item.stationId}`)\n )\n );\n console.log(\"activeStationCheck\", response);\n\n response.map((res) => {\n if (res.data.datas.length > 0) {\n const updateTimeStamp =\n new Date(res.data.datas[0].items[0].updateTime).getTime() || 0;\n\n const diffTime = realTime - updateTimeStamp;\n\n if (diffTime < timeConfig) {\n active++;\n } else {\n inActive++;\n }\n }\n\n setActiveStation(active);\n setInActiveStation(inActive);\n });\n }\n };\n\n useEffect(() => {\n getStationStatus();\n clearInterval();\n setInterval(() => {\n getStationStatus();\n }, 300000);\n }, [stationsFilter]);\n\n const stationStatusBox = (\n
    \n
    สถานีอัตโนมัติ
    \n
    \n
    \n การสื่อสารขัดข้อง {inActiveStation} สถานี\n
    \n
    ปกติ {activeStation} สถานี
    \n
    \n
    \n );\n\n useEffect(() => {\n initMap();\n }, [kmlSelected, stationsFilter]);\n\n useEffect(() => {\n getDateTime();\n }, []);\n\n return (\n <>\n {stationSelected ? (\n \n ) : (\n \"\"\n )}\n\n {stationSelected ? (\n \n ) : (\n \"\"\n )}\n\n {openModalImage && (\n \n )}\n {\n \n {stationStatusBox}\n
    \n }\n {isLoading ? : \" \"}\n\n
    \n \n );\n};\n\nexport default GMapJs;\n","import React, { useEffect, useState } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport {\n updateIsSideMenuOpen,\n updateisMapMenuOpen,\n} from \"../redux/action/dataAction\";\nimport { FaChevronRight, FaChevronLeft } from \"react-icons/fa\";\n\nimport GMapJs from \"../Components/GMapJs\";\nimport SpinnerTool from \"../Tools/Spinner/SpinnerTool\";\n\nconst GMap = () => {\n const dispatch = useDispatch();\n const [isLoading, setIsLoading] = useState(false);\n const isMapMenuOpen = useSelector((state) => state.dataReducer.isMapMenuOpen);\n const isSideMenuOpen = useSelector(\n (state) => state.dataReducer.isSideMenuOpen\n );\n\n const onHandleToggleMapMenu = () => {\n if (!isMapMenuOpen && !isSideMenuOpen) {\n dispatch(updateisMapMenuOpen(true));\n dispatch(updateIsSideMenuOpen(true));\n } else if (isMapMenuOpen && isSideMenuOpen) {\n dispatch(updateisMapMenuOpen(false));\n } else if (!isMapMenuOpen && isSideMenuOpen) {\n dispatch(updateisMapMenuOpen(true));\n dispatch(updateIsSideMenuOpen(true));\n } else {\n dispatch(updateisMapMenuOpen(false));\n dispatch(updateIsSideMenuOpen(false));\n }\n };\n\n useEffect(() => {\n dispatch(updateisMapMenuOpen(true));\n }, []);\n\n const displayMapMenu = (\n \n {!isMapMenuOpen ? (\n \n ) : (\n \n )}\n
    \n );\n\n return (\n <>\n {isLoading ? : \" \"}\n \n {displayMapMenu}\n \n );\n};\n\nexport default GMap;\n","import React, { useEffect } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { updateIsSideMenuOpen } from \"../redux/action/dataAction\";\n\nconst Home = () => {\n const dispatch = useDispatch();\n const isSideMenuOpen = useSelector(\n (state) => state.dataReducer.isSideMenuOpen\n );\n\n useEffect(() => {\n dispatch(updateIsSideMenuOpen(true));\n }, []);\n\n return (\n
    \n \n
    \n );\n};\n\nexport default Home;\n","import React from \"react\";\nimport { FaRegCalendarAlt } from \"react-icons/fa\";\nimport { Link, useRouteMatch } from \"react-router-dom\";\n\nconst NewsBox = ({ imgUrl, title, date, id }) => {\n let { url } = useRouteMatch();\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n const monthNames = [\n \"มกราคม\",\n \"กุมภาพันธ์\",\n \"มีนาคม\",\n \"เมษายน\",\n \"พฤษภาคม\",\n \"มิถุนายน\",\n \"กรกฎาคม\",\n \"สิงหาคม\",\n \"กันยายน\",\n \"ตุลาคม\",\n \"พฤศจิกายน\",\n \"ธันวาคม\",\n ];\n\n return `${date} ${monthNames[month]} ${year}`;\n };\n\n const styles = {\n imgContainer: {\n borderBottom: \"3px solid #06538A\",\n paddingBottom: \"5px\",\n // height: \"200px\",\n // width: \"250px\",\n padding: \"5px\",\n overflow: \"hidden\",\n },\n imgCrop: {\n height: \"200px\",\n width: \"250px\",\n objectFit: \"cover\",\n },\n date: {\n color: \"#06538D\",\n fontWeight: \"bold\",\n fontSize: \"16px\",\n },\n };\n\n return (\n
    \n
    \n \n
    \n {title}\n
    \n \n
    \n
    \n
    \n \n \n {convertDate(date)}\n \n
    \n

    \n {title}\n

    \n
    \n
    \n );\n};\n\nexport default NewsBox;\n","import React, { useState, useEffect } from \"react\";\nimport NewsDetail from \"../Components/NewsDetail\";\nimport {\n Switch,\n Route,\n useRouteMatch,\n useHistory,\n Link,\n} from \"react-router-dom\";\nimport NewsBox from \"../Components/NewsBox\";\n\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useSelector } from \"react-redux\";\nimport { FaChevronLeft } from \"react-icons/fa\";\n\nconst News = () => {\n const route = useRouteMatch();\n const history = useHistory();\n\n const [activeNews, setActiveNews] = useState(\"\");\n const userPermissions = useSelector(\n (state) => state.profileReducer.userPermissions\n );\n\n const styles = {\n header: {\n backgroundColor: \"#06538F\",\n height: \"35px\",\n color: \"white\",\n fontSize: \"22px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingInline: \"10px\",\n },\n };\n\n const fetchNewsActive = () => {\n dwrApi\n .get(\"/News/Active\")\n .then((res) => setActiveNews(res.data))\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n useEffect(() => {\n fetchNewsActive();\n }, []);\n\n const displayNewsContainer = (\n
    \n {activeNews &&\n activeNews?.map((item) => {\n return (\n
    \n \n
    \n );\n })}\n
    \n );\n\n return (\n
    \n \n \n
    \n \n ข่าวประชาสัมพันธ์\n \n
    \n
    {displayNewsContainer}
    \n
    \n \n
    \n \n กลับ\n \n ข่าวประชาสัมพันธ์\n \n
    \n \n
    \n
    \n
    \n );\n};\n\nexport default News;\n","import React from \"react\";\n\nconst TitleText = ({ title, leftBtn }) => {\n const styles = {\n header: {\n backgroundColor: \"#06538F\",\n height: \"35px\",\n color: \"white\",\n fontSize: \"22px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n };\n return (\n
    \n {leftBtn ? leftBtn :
    }\n
    {title}
    \n
    \n
    \n );\n};\n\nexport default TitleText;\n","import React, { useState, useEffect } from \"react\";\nimport Resizer from \"react-image-file-resizer\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt } from \"react-icons/fa\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport _ from \"lodash\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\nimport DatePicker from \"react-datepicker\";\n\nconst ModalCRUDNews = ({ type, setIsNewsAction, onNewsEdit }) => {\n const [modalIsOpen, setIsOpen] = useState(false);\n const [rawImages, setRawImages] = useState([]);\n const [isLoading, setIsLoading] = useState(false);\n const [isPreloadValues, setisPreloadValues] = useState(false);\n const [fileUrlPreview, setFileUrlPreview] = useState(\"\");\n const { addToast } = useToasts();\n const defaultValues = {\n newsTitle: onNewsEdit?.newsTitle,\n newsDetail: onNewsEdit?.newsDetail,\n startDate: onNewsEdit ? new Date(onNewsEdit.newsStartDate) : null,\n stopDate: onNewsEdit ? new Date(onNewsEdit.newsStopDate) : null,\n };\n\n const { register, handleSubmit, watch, reset, control, setValue } = useForm();\n const watchFile = watch(\"attachment\");\n\n const FileListItems = (files) => {\n var b = new ClipboardEvent(\"\").clipboardData || new DataTransfer();\n for (var i = 0, len = files.length; i < len; i++) b.items.add(files[i]);\n return b.files;\n };\n\n useEffect(async () => {\n if (onNewsEdit && modalIsOpen) {\n setisPreloadValues(true);\n /// set Text and Date Value\n reset(defaultValues);\n\n /// set Images\n setRawImages([]);\n await onNewsEdit.newsImage.map((imgData) => {\n fetch(imgData.newsImagePath)\n .then((res) => res.blob())\n .then(async (blobFile) => {\n const imgFile = new File([blobFile], imgData.newsImageName, {\n type: \"image/png\",\n });\n\n const img64 = await resizeFile(imgFile);\n const list = {\n imgId: _.uniqueId(\"newsImg_\"),\n imgFile: imgFile,\n img64,\n imgData,\n };\n\n setRawImages((rawImages) => [...rawImages, list]);\n });\n });\n\n // set File\n if (onNewsEdit.fileAttach) {\n await fetch(onNewsEdit.fileAttach).then(async (res) => {\n const splitUrl = res.url.split(\"/\");\n const fileName = splitUrl[splitUrl.length - 1];\n\n const blob = await res.blob();\n const file = new File([blob], fileName);\n const fileList = await new FileListItems([file]);\n\n setFileUrlPreview(res.url);\n setValue(\"attachment\", fileList);\n });\n }\n\n setisPreloadValues(false);\n }\n }, [onNewsEdit, modalIsOpen]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const resizeFile = (file) =>\n new Promise((resolve) => {\n Resizer.imageFileResizer(\n file,\n 200,\n 200,\n \"JPEG\",\n 100,\n 0,\n (uri) => {\n resolve(uri);\n },\n \"base64\"\n );\n });\n\n const openModal = () => {\n setIsOpen(true);\n };\n\n const closeModal = () => {\n setIsOpen(false);\n setRawImages([]);\n\n reset();\n };\n\n const onHandleDeleteImage = (img) => {\n const newRawData = rawImages.filter((list) => {\n return list.imgId !== img.imgId;\n });\n setRawImages(newRawData);\n };\n\n const onHandleInputImages = (ev) => {\n const files = Array.from(ev.target.files);\n files.map(async (img) => {\n const img64 = await resizeFile(img);\n const list = {\n imgId: _.uniqueId(\"newsImg_\"),\n imgFile: img,\n img64,\n };\n\n setRawImages((rawImages) => [...rawImages, list]);\n });\n };\n\n const onSubmit = async (ev) => {\n console.log({ ev });\n setIsLoading(true);\n\n const data = new FormData();\n\n rawImages.map((img) => {\n data.append(\"files\", img.imgFile);\n });\n data.append(\"file\", ev.attachment ? ev.attachment[0] : null);\n data.append(\"NewsTitle\", ev.newsTitle);\n data.append(\"NewsDetail\", ev.newsDetail);\n data.append(\"NewsStartDate\", convertDate(ev.startDate));\n data.append(\"NewsStopDate\", convertDate(ev.stopDate));\n\n if (onNewsEdit) {\n data.append(\"NewsId\", onNewsEdit.newsId);\n await dwrApi\n .put(`/News/${onNewsEdit.newsId}`, data)\n .then(() => {\n setIsNewsAction(true);\n addToast(

    บันทึกข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((error) =>\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n })\n )\n .finally(() => {\n setIsLoading(false);\n });\n } else {\n await dwrApi\n .post(\"/News\", data)\n .then(() => {\n setIsNewsAction(true);\n addToast(

    บันทึกข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((error) =>\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n })\n )\n .finally(() => {\n setIsLoading(false);\n });\n }\n };\n\n const onHandleDeleteFile = () => {\n setFileUrlPreview(\"\");\n setValue(\"attachment\", null);\n };\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n const displayHeader = (\n \n \n บันทึก/แก้ไข ข่าวประชาสัมพันธ์\n \n \n \n \n
    \n );\n\n const displayForm = (\n
    \n
    \n
    หัวข้อข่าว
    \n
    \n \n
    \n
    \n
    \n
    วันที่เริ่มแสดงผล
    \n
    \n (\n }\n onChange={(date) => field.onChange(date)}\n selected={field.value}\n />\n )}\n />\n
    \n
    \n
    \n
    วันที่สิ้นสุดการแสดง
    \n
    \n (\n }\n onChange={(date) => field.onChange(date)}\n selected={field.value}\n />\n )}\n />\n
    \n
    \n
    \n
    เอกสารแนบ
    \n
    \n \n {fileUrlPreview ? (\n \n {watchFile ? watchFile[0]?.name : \"\"}\n \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n
    \n
    รายละเอียดข่าว
    \n
    \n \n
    \n
    \n
    \n
    ภาพประกอบ
    \n
    \n
    \n \n
    \n {rawImages.length > 0 && (\n เพิ่มแล้ว {rawImages.length} ภาพ\n )}\n
    \n
    \n \n **ขนาดแนะนำ 640x480 px หรืออัตราส่วน 3:2 และการแสดงรูปภาพ\n จะเรียงลำดับตามไฟล์แนบ\n \n
    \n );\n\n const displayPreviewImages = (\n
    \n
    \n {rawImages.map((img) => {\n return (\n \n
    \n onHandleDeleteImage(img)} />\n
    \n \"ref\"\n
    \n );\n })}\n
    \n
    \n );\n\n const displayButtonGroup = (\n
    \n \n {isLoading ? displaySpiner : บันทึก}\n
    \n
    \n ยกเลิก\n
    \n
    \n );\n return (\n
    \n {type === \"add\" && (\n \n )}\n {type === \"edit\" && (\n \n )}\n\n \n {displayHeader}\n\n
    \n {isPreloadValues ? (\n
    {displaySpiner} กรุณารอ
    \n ) : (\n \"\"\n )}\n
    \n {displayForm}\n {displayPreviewImages}\n {displayButtonGroup}\n
    \n
    \n \n
    \n );\n};\n\nexport default ModalCRUDNews;\n","import React from \"react\";\nimport Modal from \"react-modal\";\n\nconst ModalDeleteEl = ({\n title,\n callBackSubmit,\n modalIsOpen,\n setModalIsOpen,\n isLoading,\n item,\n}) => {\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"10px\",\n\n minWidth: \"400px\",\n },\n };\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const displayContent = (\n
    คุณต้องการลบ{title} ที่เลือกใช่หรือไม่
    \n );\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n \n
    \n {displayContent}\n
    \n callBackSubmit(item)}\n style={styles.buttonType2}\n >\n {!isLoading ? <>ตกลง : displaySpiner}\n
    \n \n ยกเลิก\n
    \n \n \n \n );\n};\n\nexport default ModalDeleteEl;\n","import React, { useState, useEffect } from \"react\";\nimport { FaTrashAlt, FaSearch } from \"react-icons/fa\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Pagination from \"react-js-pagination\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\nimport ModalCRUDNews from \"../../../Components/ModalCRUDNews\";\nimport ModalDeleteEl from \"../../../Components/ModalDeleteEl\";\n\nconst NewsManagement = () => {\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [allNews, setAllNews] = useState(\"\");\n const [isNewsAction, setIsNewsAction] = useState(false);\n const [onModalDeleteOpen, setOnModalDeleteOpen] = useState(false);\n const [itemSelected, setItemSelected] = useState(null);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n\n let filterSearch;\n\n const styles = {\n searchContainer: {\n maxWidth: \"500px\",\n },\n };\n\n const fetchAllNews = () => {\n dwrApi\n .get(\"/News\")\n .then((res) => setAllNews(res.data))\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n useEffect(() => {\n fetchAllNews();\n return () => {\n setIsNewsAction(false);\n };\n }, [isNewsAction]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm]);\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const onDeleteClick = (item) => {\n setItemSelected(item);\n setOnModalDeleteOpen(true);\n };\n\n const onHandleDelete = async (item) => {\n setIsLoading(true);\n await dwrApi\n .delete(`/News/${item.newsId}`)\n .then(() => {\n setIsNewsAction(true);\n addToast(

    ลบข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n\n setOnModalDeleteOpen(false);\n })\n .catch((error) =>\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n })\n )\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n if (allNews) {\n filterSearch = allNews?.filter((item) => {\n return (\n item.newsTitle?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n convertDate(item.newsStartDate).includes(searchTerm.toLowerCase()) ||\n convertDate(item.newsStopDate).includes(searchTerm.toLowerCase())\n );\n });\n }\n\n const sliceResult = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n return filterSearch.slice(start, end);\n };\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {allNews.length &&\n sliceResult(page)?.map((item) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
    หัวข้อข่าววันที่แสดงวันที่สิ้นสุด\n แก้ไข\n \n ลบ\n
    {item.newsTitle}{convertDate(item.newsStartDate)}{convertDate(item.newsStopDate)}\n \n \n \n \n \n onDeleteClick(item)}\n style={{ cursor: \"pointer\" }}\n />\n \n
    \n \n );\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n return (\n
    \n \n\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n \n \n \n
    \n
    \n
    \n \n \n \n
    \n
    \n\n {displaylimitResults}\n
    {displayManagement}
    \n {filterSearch && (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n )}\n\n \n
    \n );\n};\n\nexport default NewsManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt } from \"react-icons/fa\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useForm } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ModalCRUDSlide = ({ setIsSlideAction, type, slideItem }) => {\n const [modalIsOpen, setIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [fileUrlPreview, setFileUrlPreview] = useState(\"\");\n const [isPreloadValues, setisPreloadValues] = useState(false);\n\n const defaultValues = {\n slideImageUrl: slideItem && slideItem.imageUrl ? slideItem.imageUrl : \"\",\n active: slideItem && slideItem.active === \"Y\" ? true : false,\n };\n\n const {\n register,\n handleSubmit,\n formState: { errors },\n reset,\n setValue,\n watch,\n } = useForm();\n\n const watchFile = watch(\"slideImageAttchment\");\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, var(--unnamed-color-ffffff) 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n padding: \"0\",\n },\n };\n\n const FileListItems = (files) => {\n var b = new ClipboardEvent(\"\").clipboardData || new DataTransfer();\n for (var i = 0, len = files.length; i < len; i++) b.items.add(files[i]);\n return b.files;\n };\n\n useEffect(async () => {\n if (slideItem && modalIsOpen) {\n setisPreloadValues(true);\n\n reset(defaultValues);\n\n if (slideItem.imagePath) {\n await fetch(slideItem.imagePath).then(async (res) => {\n const splitUrl = res.url.split(\"/\");\n const fileName = splitUrl[splitUrl.length - 1];\n\n const blob = await res.blob();\n const file = new File([blob], fileName);\n const fileList = await new FileListItems([file]);\n\n setFileUrlPreview(res.url);\n setValue(\"slideImageAttchment\", fileList);\n });\n }\n setisPreloadValues(false);\n }\n }, [modalIsOpen, slideItem]);\n\n const openModal = () => {\n setIsOpen(true);\n };\n\n const closeModal = () => {\n setIsOpen(false);\n reset();\n };\n\n const onHandleDeleteFile = () => {\n setFileUrlPreview(\"\");\n setValue(\"slideImageAttchment\", null);\n };\n\n const onSubmitAdd = async (ev) => {\n const data = new FormData();\n data.append(\"file\", ev.slideImageAttchment[0]);\n data.append(\"Active\", ev.active === true ? \"Y\" : \"N\");\n data.append(\"ImageUrl\", ev.slideImageUrl);\n\n await dwrApi\n .post(\"SlideShows?image=\", data)\n .then(() => {\n setIsSlideAction(true);\n closeModal();\n addToast(

    บันทึกข้อมูลสำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((error) => {\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n };\n\n const onSubmitEdit = async (ev) => {\n console.log(\"onSubmitEdit\");\n const { imageOrder, slideShowId } = slideItem;\n\n const data = new FormData();\n data.append(\"file\", ev.slideImageAttchment[0]);\n data.append(\"Active\", ev.active === true ? \"Y\" : \"N\");\n data.append(\"ImageUrl\", ev.slideImageUrl);\n data.append(\"ImageOrder\", imageOrder);\n data.append(\"SlideShowID\", slideShowId);\n\n await dwrApi\n .put(`SlideShows/${slideShowId}`, data)\n .then(() => {\n setIsSlideAction(true);\n closeModal();\n addToast(

    บันทึกข้อมูลสำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((error) => {\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n };\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {type === \"add\" && (\n \n )}\n {type === \"edit\" && (\n \n )}\n \n \n \n บันทึก/แก้ไข Slide show\n \n \n \n \n
    \n\n \n {isPreloadValues ? (\n
    {displaySpiner} กรุณารอ
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    ภาพ slide show
    \n
    \n \n {fileUrlPreview ? (\n \n {watchFile ? watchFile[0]?.name : \"\"}\n \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n \n \n \n
    \n
    \n
    \n\n
    \n
    url ภาพ slide show
    \n
    \n \n
    \n
    \n
    \n
    การแสดงผล
    \n
    \n \n
    \n
    \n\n
    \n \n บันทึก\n \n \n ยกเลิก\n \n
    \n
    \n \n \n \n );\n};\n\nexport default ModalCRUDSlide;\n","import React, { useState, useEffect, useLayoutEffect } from \"react\";\nimport { FaTrashAlt, FaPencilAlt } from \"react-icons/fa\";\nimport { BiUpArrow, BiDownArrow } from \"react-icons/bi\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport ModalCRUDSlide from \"../../../Components/ModalCRUDSlide\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\nimport ModalDeleteEl from \"../../../Components/ModalDeleteEl\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { useForm } from \"react-hook-form\";\n\nconst SlideShowManagement = () => {\n const [allSlide, setAllSlide] = useState(\"\");\n const [isSlideAction, setIsSlideAction] = useState(false);\n const [isModalDeleteOpen, setIsModalDeleteOpen] = useState(false);\n const [itemSelected, setItemSelected] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const { register, handleSubmit, watch, setValue, reset } = useForm();\n\n const fetchAllSlide = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/SlideShows\")\n .then((res) => setAllSlide(res.data))\n .catch((error) => console.error(error.message, \"💥💥💥 \"))\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n fetchAllSlide();\n return () => {\n setIsSlideAction(false);\n };\n }, [isSlideAction]);\n\n const onToggleActive = (ev, item) => {\n const data = new FormData();\n data.append(\"ImageOrder\", item.imageOrder);\n data.append(\"SlideShowID\", item.slideShowId);\n data.append(\"Active\", ev.target.checked ? \"Y\" : \"N\");\n data.append(\"ImageUrl\", item.imageUrl);\n\n dwrApi\n .put(`/SlideShows/${item.slideShowId}`, data)\n .then((res) => {\n setIsSlideAction(true);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const onSortUp = async (ev) => {\n const data = new FormData();\n data.append(\"ImageOrder\", ev.imageOrder - 1);\n data.append(\"SlideShowID\", ev.slideShowId);\n\n await dwrApi\n .put(`/SlideShows/${ev.slideShowId}`, data)\n .then((res) => {\n setIsSlideAction(true);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const onSortDown = async (ev) => {\n const data = new FormData();\n data.append(\"ImageOrder\", ev.imageOrder + 1);\n data.append(\"SlideShowID\", ev.slideShowId);\n\n await dwrApi\n .put(`/SlideShows/${ev.slideShowId}`, data)\n .then((res) => {\n setIsSlideAction(true);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const onHandleDelete = (ev) => {\n setIsLoading(true);\n dwrApi\n .delete(`/SlideShows/${ev.slideShowId}`)\n .then((res) => {\n setIsSlideAction(true);\n setIsModalDeleteOpen(false);\n setIsLoading(false);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const onDeleteClick = (item) => {\n setItemSelected(item);\n setIsModalDeleteOpen(true);\n };\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n console.log({ allSlide });\n\n useEffect(async () => {\n if (allSlide) {\n const getAllStatus = await allSlide.map((item) => {\n return {\n [`isActive${item.slideShowId}`]: item.active === \"Y\" ? true : false,\n };\n });\n\n const objAllStatus = await Object.assign(...getAllStatus, {});\n\n reset(objAllStatus);\n }\n }, [allSlide]);\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {allSlide &&\n allSlide?.map((item) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
    ภาพตัวอย่างการแสดงผลลำดับการแสดงผลแก้ไขลบ
    \n console.log(item)}\n />\n \n
    \n {/*
    \n onToggleActive(ev, item)}\n className=\"form-check-input\"\n type=\"checkbox\"\n id=\"flexSwitchCheckChecked\"\n defaultChecked={item.active === \"Y\" ? true : false}\n />\n
    */}\n
    \n {\n onToggleActive(ev, item);\n },\n })}\n />\n
    \n
    \n
    \n \n {item.imageOrder !== 1 && (\n onSortUp(item)}\n style={{ cursor: \"pointer\" }}\n />\n )}\n {item.imageOrder}\n {item.imageOrder !== allSlide.length && (\n onSortDown(item)}\n style={{ cursor: \"pointer\" }}\n />\n )}\n \n \n \n \n \n onDeleteClick(item)}\n style={{ cursor: \"pointer\" }}\n />\n \n
    \n \n );\n return (\n
    \n \n
    \n \n \n \n
    \n\n
    {displayManagement}
    \n \n {isLoading ? : \" \"}\n
    \n );\n};\n\nexport default SlideShowManagement;\n","import React from \"react\";\n\nconst TextInput = ({\n title,\n register,\n required,\n keyName,\n styleInput,\n type,\n maxlength,\n minLength,\n disabled,\n column = [4, 8],\n unit,\n}) => {\n const styles = {\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"5px\",\n top: \"10px\",\n zIndex: 9,\n },\n inputBox: {\n position: \"relative\",\n },\n };\n\n return (\n
    \n
    {title}
    \n
    \n
    \n {unit && {unit}}\n\n \n
    \n
    \n
    \n );\n};\n\nexport default TextInput;\n","import React from \"react\";\n\nconst InputWithUnit = ({ unit, register, keyName }) => {\n const styles = {\n inputBox: {\n position: \"relative\",\n },\n input: {\n display: \"block\",\n\n width: \"100%\",\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"5px\",\n top: \"10px\",\n zIndex: 9,\n },\n };\n\n return (\n
    \n {unit}\n \n
    \n );\n};\n\nexport default InputWithUnit;\n","import React, { useEffect, useState } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimes, FaPencilAlt } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport TextInput from \"./TextInput\";\nimport Select from \"react-select\";\nimport { FaEye, FaEyeSlash } from \"react-icons/fa\";\nimport InputWithUnit from \"./InputWithUnit\";\n\nconst ModalCrudUser = ({\n userState,\n setIsAction,\n modalIsOpen,\n setModalIsOpen,\n}) => {\n const subRole = Array.from(document.querySelectorAll(\"#sub-role\"));\n const [userData, setUserData] = useState(\"\");\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [roleResponse, setRoleResponse] = useState([]);\n const [roleCenter, setRoleCenter] = useState([]);\n const [roleRegion, setRoleRegion] = useState([]);\n const [roleInternal, setRoleInternal] = useState([]);\n const [roleExternal, setRoleExternal] = useState([]);\n const [optionsStationCenter, setOptionsStationCenter] = useState([]);\n const [optionsStation, setOptionsStation] = useState([]);\n const [getRolesValue, setGetRolesValue] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState(\"\");\n const [stationCenterIdSelected, setStationCenterIdSelected] = useState(\"\");\n const [isShowPassword, setIsShowPassword] = useState(\"\");\n\n // console.log({ userData });\n\n useEffect(() => {\n const getRolesV =\n userData && !userData.isAdmin\n ? userData.hydroUserRole.map((item) => item.roleId.toString())\n : [];\n\n setGetRolesValue(getRolesV);\n }, [userData]);\n\n const blankValues = {\n active: false,\n confirmPassword: \"\",\n fullName: \"\",\n isAdmin: false,\n password: \"\",\n roles: [],\n userName: \"\",\n section: \"\",\n };\n\n const defaultValues = {\n active: userData?.active?.toString(),\n confirmPassword: userData.confirmPassword,\n fullName: userData.fullName,\n email: userData.email,\n isAdmin: userData.isAdmin,\n password: userData.password,\n roles: getRolesValue,\n userName: userData.userName,\n section:\n userData && !userData.isAdmin && userData.hydroUserRole.length\n ? userData.hydroUserRole[0].role.roleType.toString()\n : \"\",\n };\n // useEffect(() => {\n // subRole.map((item) => {\n // if (getRolesValue.indexOf(item.value) !== -1) {\n // item.checked = true;\n // }\n // });\n // }, [userData]);\n\n const {\n register,\n handleSubmit,\n watch,\n reset,\n setValue,\n getValues,\n setError,\n clearErrors,\n formState: { errors },\n } = useForm();\n\n const watchIsAdmin = watch(\"isAdmin\");\n const watchRoles = watch(\"roles\");\n const watchSection = watch(\"section\");\n let anyError = Object.keys(errors).length;\n let someError = Boolean(watchIsAdmin || (watchRoles && watchRoles.length));\n\n const isValid = (ev) => {\n if (watchIsAdmin) {\n return true;\n } else {\n switch (watchSection) {\n case 1:\n return watchRoles && watchRoles.length;\n case 2:\n return watchRoles && watchRoles.length;\n case 3:\n return true;\n case 4:\n return true;\n default:\n return false;\n }\n }\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n padding: \"0\",\n maxHeight: \"80vh\",\n },\n };\n\n const styles = {\n container: {\n fontSize: \"18px\",\n width: \"100%\",\n },\n header: {\n backgroundColor: \"#065389\",\n height: \"35px\",\n color: \"white\",\n fontSize: \"18px\",\n marginBottom: \"5px\",\n },\n input: {\n height: \"30px\",\n fontSize: \"12px\",\n fontWeight: \"normal\",\n width: \"380px\",\n },\n addUserButton: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n useEffect(() => {\n if (roleCenter && roleRegion && roleInternal && roleExternal && userData) {\n reset(defaultValues);\n }\n }, [roleCenter, roleRegion, roleInternal, roleExternal, userData]);\n\n useEffect(() => {\n if (!modalIsOpen) {\n setStationIdSelected(\"\");\n setStationCenterIdSelected(\"\");\n }\n }, [modalIsOpen]);\n\n useEffect(() => {\n const getStationCenterId = optionsStationCenter.find(\n (item) => item.value == userData.stationCenterId\n );\n setStationCenterIdSelected(getStationCenterId);\n }, [userData]);\n\n useEffect(() => {\n const getStationId = optionsStation.find(\n (item) => item.value == userData.stationId\n );\n // console.log({ getStationId, optionsStation })\n if (!!getStationId) {\n setStationIdSelected(getStationId);\n } else {\n setStationIdSelected(\"\");\n }\n }, [stationCenterIdSelected, optionsStation]);\n\n useEffect(() => {\n console.log({ getRolesValue });\n if (!!getRolesValue && !getRolesValue.includes(\"12\")) {\n setStationIdSelected(\"\");\n }\n }, [getRolesValue]);\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n console.log(\"CLOSE USER CRUD\");\n reset({});\n setUserData(\"\");\n setModalIsOpen(false);\n setIsAction(true);\n reset(blankValues);\n setUserData(\"\");\n };\n\n const fetchUser = () => {\n setIsLoading(true);\n dwrApi\n .get(`/HydroUsers/${userState.userId}/Manage`)\n .then((res) => {\n setUserData(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n })\n .finally(() => {\n setIsAction(false);\n setIsLoading(false);\n });\n };\n\n const fetchRole = async () => {\n await dwrApi\n .get(\"/Roles\")\n .then(async (res) => {\n setRoleResponse(res.data);\n\n const res1 = await res.data\n .filter((item) => item.roleType === 1)\n .sort((a, b) => a.rolePriority - b.rolePriority);\n const res2 = await res.data\n .filter((item) => item.roleType === 2)\n .sort((a, b) => a.rolePriority - b.rolePriority);\n const res3 = await res.data\n .filter((item) => item.roleType === 3)\n .sort((a, b) => a.rolePriority - b.rolePriority);\n const res4 = await res.data\n .filter((item) => item.roleType === 4)\n .sort((a, b) => a.rolePriority - b.rolePriority);\n\n setRoleCenter(res1);\n setRoleRegion(res2);\n setRoleInternal(res4);\n setRoleExternal(res3);\n\n return res.data;\n })\n .catch((err) => console.log(err.message));\n };\n\n const fetchStationCenter = async () => {\n await dwrApi\n .get(\"/StationCenters\")\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.stationCenterName,\n value: item.stationCenterId,\n };\n });\n setOptionsStationCenter(list);\n })\n .catch((err) => console.log(err.message));\n };\n\n const fetchStations = async () => {\n await dwrApi\n .get(`/Stations/StationCenter/${stationCenterIdSelected.value}`)\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.stationTh,\n value: item.stationId,\n };\n });\n setOptionsStation(list);\n })\n .catch((err) => console.log(err.message));\n };\n\n const onHandleSubmitEdit = async (ev) => {\n setIsLoading(true);\n\n let roles = [];\n\n if (ev.roles && ev.roles.length) {\n roles = ev.roles?.map((item) => {\n return { roleId: +item };\n });\n }\n\n const data = {\n userId: userState?.userId,\n userName: ev.userName,\n fullName: ev.fullName,\n email: ev.email ?? null,\n stationId: stationIdSelected ? +stationIdSelected.value : null,\n stationCenterId: stationCenterIdSelected\n ? +stationCenterIdSelected.value\n : null,\n isAdmin: ev.isAdmin ? ev.isAdmin : null,\n active: ev.active ? +ev.active : 0,\n roles: roles,\n };\n\n await dwrApi\n .put(`/HydroUsers/${userState?.userId}`, data)\n .then((res) => {\n addToast(

    แก้ไขผู้ใช้งานเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n\n if (ev.password && ev.confirmPassword) {\n const dataPassword = {\n userId: userState.userId,\n password: ev.password,\n confirmPassword: ev.confirmPassword,\n };\n\n await dwrApi\n .put(`/HydroUsers/${userState.userId}/Password`, dataPassword)\n .then((res) => {\n addToast(

    บันทึก Password สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => {\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n }\n };\n\n const onHandleSubmitAdd = async (ev) => {\n setIsLoading(true);\n let roles = [];\n\n if (ev.roles && ev.roles.length) {\n roles = ev.roles?.map((item) => {\n return { roleId: +item };\n });\n }\n\n const data = {\n userName: ev.userName,\n password: ev.password ? ev.password : null,\n fullName: ev.fullName,\n email: ev.email ?? null,\n stationId: stationIdSelected ? +stationIdSelected.value : null,\n stationCenterId: stationCenterIdSelected\n ? +stationCenterIdSelected.value\n : null,\n isAdmin: ev.isAdmin ? ev.isAdmin : null,\n active: +ev.active,\n confirmPassword: ev.confirmPassword ? ev.confirmPassword : null,\n roles: roles,\n };\n\n await dwrApi\n .post(\"/HydroUsers\", data)\n .then((res) => {\n console.log(res.data);\n addToast(

    เพิ่มผู้ใช้งานเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n };\n\n useEffect(() => {\n if (userState && modalIsOpen) {\n fetchUser();\n fetchRole();\n fetchStationCenter();\n } else {\n reset();\n }\n }, [userState]);\n\n useEffect(() => {\n if (modalIsOpen) {\n fetchRole();\n fetchStationCenter();\n } else {\n reset();\n }\n }, [modalIsOpen]);\n\n useEffect(() => {\n fetchRole();\n fetchStationCenter();\n }, []);\n\n useEffect(() => {\n if (watchIsAdmin) {\n setValue(\"roles\", []);\n setValue(\"section\", \"\");\n }\n }, [watchIsAdmin]);\n\n useEffect(() => {\n if (watchSection) {\n setValue(\"isAdmin\", false);\n setValue(\"roles\", []);\n }\n\n if (watchSection !== \"2\") {\n setStationCenterIdSelected(\"\");\n }\n }, [watchSection]);\n\n useEffect(() => {\n setStationIdSelected(\"\");\n if (stationCenterIdSelected) {\n fetchStations();\n }\n }, [stationCenterIdSelected]);\n\n const checkDuplicateUN = async (ev) => {\n return await dwrApi\n .get(`/HydroUsers/Checkusername?username=${ev.target.value}`)\n .then((res) => {\n const { duplicate } = res.data;\n\n if (duplicate) {\n setError(\"userName\", {\n type: \"manual\",\n message: \"ชื่อผู้ใช้งานมีอยู่แล้วในระบบ\",\n });\n } else {\n clearErrors(\"userName\");\n }\n })\n .catch((err) => console.log(err));\n };\n\n const displayProfile = (\n <>\n
    \n \n
    \n
    \n
    \n
    ชื่อผู้ใช้งานระบบ
    \n
    \n {\n checkDuplicateUN(ev);\n },\n })}\n />\n {errors.userName && (\n
    {errors.userName.message}
    \n )}\n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n setIsShowPassword(false)} />\n ) : (\n setIsShowPassword(true)}\n />\n )\n }\n />\n\n {errors.password && (\n \n {errors.password.message}\n \n )}\n
    \n
    \n setIsShowPassword(false)} />\n ) : (\n setIsShowPassword(true)}\n />\n )\n }\n />\n
    \n
    \n\n
    \n
    สถานะการใช้งาน
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n \n );\n\n const displayAdminChoice = (\n
    \n
    \n \n \n
    \n
    \n );\n\n const displayCentral = (\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {roleCenter?.map((item, index) => {\n return (\n
    \n
    \n \n {getRolesValue[item]}\n \n
    \n
    \n );\n })}\n
    \n
    \n );\n\n const displayRegion = (\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n ส่วนอุทกวิทยา\n
    \n
    \n \n ev\n ? setStationCenterIdSelected(ev)\n : setStationCenterIdSelected(\"\")\n }\n isDisabled={!watchIsAdmin && watchSection == \"2\" ? false : true}\n />\n
    \n
    \n
    \n {roleRegion?.map((item, index) => {\n return (\n
    \n
    \n \n \n
    \n
    \n );\n })}\n
    \n
    \n
    \n \n สถานี\n \n
    \n
    \n \"ไม่พบสถานี\"}\n onChange={(ev) =>\n ev ? setStationIdSelected(ev) : setStationIdSelected(\"\")\n }\n isDisabled={\n !watchIsAdmin &&\n watchSection == \"2\" &&\n watchRoles &&\n watchRoles.length &&\n watchRoles.includes(\"12\")\n ? false\n : true\n }\n />\n
    \n
    \n
    \n
    \n );\n const displayInternal = (\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {roleInternal?.map((item, index) => {\n return (\n
    \n
    \n \n \n
    \n
    \n );\n })}\n
    \n
    \n );\n\n const displayExternal = (\n
    \n
    \n
    \n \n \n
    \n
    \n
    \n {roleExternal?.map((item, index) => {\n return (\n
    \n
    \n \n \n
    \n
    \n );\n })}\n
    \n
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n \n
    \n \n
    เพิ่ม/แก้ไข ข้อมูลผู้ใช้งานระบบ
    \n
    \n \n
    \n
    \n
    \n {displayProfile}\n\n
    ประเภทสิทธิ์การใช้งาน
    \n\n
    \n {displayAdminChoice}\n {displayCentral}\n {displayRegion}\n {displayInternal}\n {displayExternal}\n
    \n {/* \n
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    */}\n\n
    \n {\n ev.preventDefault();\n addToast(\n

    \n ไม่สามารถบันทึกข้อมูลได้! กรุณากรอกข้อมูลให้ครบถ้วน\n

    ,\n {\n appearance: \"error\",\n autoDismiss: true,\n }\n );\n }\n : !userState\n ? handleSubmit(onHandleSubmitAdd)\n : handleSubmit(onHandleSubmitEdit)\n }\n >\n {isLoading ? displaySpiner : \"บันทึก\"}\n \n \n ยกเลิก\n \n
    \n
    \n
    \n \n \n );\n};\n\nexport default ModalCrudUser;\n","import React, { useState, useEffect } from \"react\";\nimport { FaPencilAlt, FaTrashAlt, FaSearch } from \"react-icons/fa\";\n\nimport TitleText from \"../../../Components/TitleText\";\nimport ModalAddUser from \"./ModalAddUser\";\nimport Pagination from \"react-js-pagination\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport ModalEditUser from \"./ModalEditUser\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport Select from \"react-select\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ModalDeleteEl from \"../../../Components/ModalDeleteEl\";\nimport ModalCrudUser from \"../../../Components/ModalCrudUser\";\n\nconst UserManagement = () => {\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [isAction, setIsAction] = useState(false);\n const [modalCrudUserOpen, setModalCrudUserOpen] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [searchType, setSearchType] = useState({\n label: \"ทั้งหมด\",\n value: \"1\",\n });\n\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [itemSelected, setItemSelected] = useState(\"\");\n const [userStateSelected, setUserStateSelected] = useState(\"\");\n\n const [userData, setUserData] = useState([]);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [optionsRole, setOptionRole] = useState([]);\n const [roleIdSelected, setRoleIdSelected] = useState();\n const [statusSelected, setStatusSelected] = useState({\n label: \"เปิดใช้งาน\",\n value: \"1\",\n });\n\n const styles = {\n inputContainer: {\n height: \"38px\",\n },\n tableTd: {\n minHeight: \"50px\",\n verticalAlign: \"middle\",\n },\n addUserButton: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n },\n };\n\n const optionsStatus = [\n { label: \"เปิดใช้งาน\", value: \"1\" },\n { label: \"ปิดใช้งาน\", value: \"0\" },\n ];\n\n const optionsSearch = [\n { label: \"ทั้งหมด\", value: \"1\" },\n { label: \"ประเภทสิทธ์ผู้ใช้งาน\", value: \"2\" },\n { label: \"สถานะการใช้งาน\", value: \"3\" },\n ];\n\n const fetchUser = async () => {\n const adminParams = {\n isAdmin: true,\n Active: true,\n };\n\n const rolesParams = {\n RoleId: searchType.value === \"2\" ? roleIdSelected?.value : \"\",\n };\n\n setIsLoading(true);\n await dwrApi\n .get(`/HydroUsers`, {\n params:\n searchType.value === \"2\" && roleIdSelected?.value === \"admin\"\n ? adminParams\n : rolesParams,\n })\n .then((res) => {\n const filterActive = res.data.filter((item) => item.active >= 0);\n setUserData(filterActive);\n })\n .catch((err) => {\n console.log(err.message);\n })\n .finally(() => {\n setIsAction(false);\n setIsLoading(false);\n });\n };\n\n const fetchRole = async () => {\n await dwrApi\n .get(\"/Roles\")\n .then((res) => {\n console.log(\"fetchRole\", res.data);\n\n const list = [...res.data]\n .sort((a, b) => b.rolePriority - a.rolePriority)\n .map((item) => {\n return {\n label: item.roleName,\n value: item.roleId,\n };\n });\n\n const adminList = {\n label: \"ผู้ดูแลระบบ\",\n value: \"admin\",\n };\n\n const newList = [adminList, ...list];\n\n console.log(newList);\n\n setOptionRole(newList);\n })\n .catch((err) => console.log(err.message));\n };\n\n useEffect(() => {\n fetchRole();\n }, []);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n const onHandleToggleStatus = async (item) => {\n const data = {\n userId: item.userId,\n userName: item.userName,\n fullName: item.fullName,\n stationId: item.stationId,\n stationCenterId: item.stationCenterId,\n isAdmin: item.isAdmin,\n active: item.active > 0 ? 0 : 5,\n roles: item.hydroUserRole.map((data) => {\n return { roleId: data.roleId };\n }),\n };\n\n await dwrApi\n .put(`/HydroUsers/${item?.userId}`, data)\n .then((res) => {\n addToast(

    แก้ไขผู้ใช้งานเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => {\n addToast(

    มีข้อผิดพลาดเกิดขึ้น

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n };\n\n const onPreDelete = (item) => {\n setModalIsOpen(true);\n setItemSelected(item);\n };\n\n const onHandleDelete = (item) => {\n setIsLoading(true);\n\n dwrApi\n .delete(`/HydroUsers/${item.userId}`)\n .then((res) => {\n setModalIsOpen(false);\n addToast(

    ลบข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => console.log(err.message))\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n };\n\n const filterSearchFn = () => {\n if (userData.length) {\n const result = userData?.filter((item) => {\n if (searchType.value === \"1\") {\n return (\n item.fullName.toLowerCase().includes(searchTerm.toLowerCase()) ||\n item.userName.toLowerCase().includes(searchTerm.toLowerCase())\n );\n } else if (searchType.value === \"2\") {\n return item;\n } else if (searchType.value === \"3\" && statusSelected.value === \"1\") {\n return item.active > 0;\n } else if (searchType.value === \"3\" && statusSelected.value === \"0\") {\n return item.active <= 0;\n }\n });\n setFilterBySeachTerm(result);\n }\n };\n\n const onOpenModalClick = (item) => {\n console.log({ onOpenModalClick: item });\n setUserStateSelected(item);\n setModalCrudUserOpen(true);\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchUser();\n }, [isAction, roleIdSelected, searchType, statusSelected]);\n\n useEffect(() => {\n filterSearchFn();\n }, [userData, searchTerm]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {sliceResult.map((item) => {\n return (\n \n \n \n \n\n \n \n \n );\n })}\n \n
    ชื่อ สกุล (ชื่อผู้ใช้งานระบบ)ประเภทสิทธิ์การใช้งานสถานะการใช้งาน\n แก้ไข\n \n ลบ\n
    \n {item.fullName} ({item.userName})\n \n {item.isAdmin === \"Y\"\n ? \"Admin\"\n : item.hydroUserRole.length\n ? item.hydroUserRole.map((el, elIndex) => {\n return (\n \n {elIndex !== 0 && \",\"} {el.role.roleName}\n \n );\n })\n : // ? item.hydroUserRole[0].role.roleName\n \"\"}\n \n
    \n
    \n {item.active > 0 ? (\n

    พร้อมใช้งาน

    \n ) : (\n

    ระงับการใช้งาน

    \n )}\n
    \n
    \n onHandleToggleStatus(item)}\n style={{ cursor: \"pointer\" }}\n className=\"form-check-input\"\n type=\"checkbox\"\n checked={item.active > 0 ? true : false}\n />\n
    \n
    \n
    \n \n onOpenModalClick(item)}\n >\n \n \n {/* */}\n \n \n \n 0 ? false : true}\n >\n onPreDelete(item)} />{\" \"}\n \n \n
    \n \n );\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n \n \n
    \n
    \n
    \n setSearchType(ev)}\n value={searchType}\n />\n
    \n
    \n {searchType.value === \"1\" ? (\n setSearchTerm(ev.target.value)}\n style={styles.inputContainer}\n />\n ) : (\n \"\"\n )}\n {searchType.value === \"2\" ? (\n setRoleIdSelected(ev)}\n />\n ) : (\n \"\"\n )}\n {searchType.value === \"3\" ? (\n setStatusSelected(ev)}\n />\n ) : (\n \"\"\n )}\n
    \n
    \n
    \n \n onOpenModalClick(null)}\n >\n เพิ่มผู้ใช้งาน\n \n {/* */}\n \n
    \n
    \n
    {displaylimitResults}
    \n\n \n\n
    {displayManagement}
    \n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n
    \n );\n};\n\nexport default UserManagement;\n","import React from \"react\";\nimport DatePicker from \"react-datepicker\";\n\nimport { FaCalendarAlt } from \"react-icons/fa\";\n\nconst CustomDatePicker = ({ date, setDate, type }) => {\n const yearTh = new Date(date).getFullYear() + 543;\n\n let placeholder = \"วว/ดด/ปปปป\";\n let dateFormat = `dd MMMM yyyy (${yearTh})`;\n\n if (type === \"date\") {\n placeholder = \"วว/ดด/ปปปป\";\n dateFormat = `dd MMMM yyyy (${yearTh})`;\n } else if (type === \"month\") {\n placeholder = \"ดด/ปปปป\";\n dateFormat = `MMMM yyyy (${yearTh})`;\n } else if (type === \"year\") {\n placeholder = \"ปปปป\";\n dateFormat = `yyyy (${yearTh})`;\n }\n\n const styles = {\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"30px\",\n top: \"10px\",\n cursor: \"pointer\",\n },\n };\n\n const CustomInput = ({ value, onClick }) => (\n
    \n \n \n \n \n
    \n );\n\n return (\n }\n selected={date}\n onChange={(ev) => setDate(ev)}\n showMonthYearPicker={type === \"month\" ? true : false}\n showYearPicker={type === \"year\" ? true : false}\n isClearable\n />\n );\n};\n\nexport default CustomDatePicker;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst UserReport = () => {\n const [user, setUser] = useState();\n const [startDate, setStartDate] = useState();\n const [stopDate, setStopDate] = useState();\n const [optionUsers, setOptionUsers] = useState([]);\n const [reportUrl, setReportUrl] = useState(\"\");\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n const [displayReport, setDisplayReport] = useState(false);\n\n const [isLoading, setIsLoading] = useState(false);\n const [disableBtn, setDisableBtn] = useState(false);\n\n const token = localStorage.getItem(\"token\");\n\n const styles = {\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const getUsers = async () => {\n await dwrApi.get(\"/HydroUsers\").then((res) => {\n const all = {\n label: \"ทั้งหมด\",\n value: 0,\n };\n\n const list = res.data.map((item) => {\n return {\n label: item.fullName,\n value: item.userId,\n };\n });\n\n setOptionUsers([all, ...list]);\n });\n };\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n\n setIsLoading(true);\n const funcId = 2502;\n const url = `${localReportUrl}/frmHydroLog.aspx?userid=${\n user.value\n }&datestart=${convertDate(startDate)}&datestop=${convertDate(\n stopDate\n )}&functionid=${funcId}&token=${token}`;\n setReportUrl(url);\n setDisplayReport(true);\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n getUsers();\n }, []);\n\n useEffect(() => {\n if (!user || !startDate || !stopDate) {\n setReportUrl(null);\n }\n setDisplayReport(false);\n setDisableBtn(false);\n }, [user, startDate, stopDate]);\n\n const displayForm = (\n
    \n
    \n
    \n
    ชื่อผู้ใช้งาน
    \n
    \n (ev ? setUser(ev) : setUser(\"\"))}\n noOptionsMessage={() => \"ไม่พบผู้ใช้\"}\n />\n
    \n
    \n
    \n
    วันที่เริ่มต้น
    \n
    \n \n
    \n
    ถึง
    \n
    \n \n
    \n
    \n\n
    \n \n ค้นหาข้อมูล\n \n
    \n
    \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default UserReport;\n","import React, { useState, useEffect } from \"react\";\nimport { Line } from \"react-chartjs-2\";\nimport Modal from \"react-modal\";\n\nconst ModalChartManualStation = ({ data }) => {\n const [chartData, setChartData] = useState();\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n const styles = {\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const chartGenerate = async () => {\n const labels = [];\n const valueArr = [];\n\n const getValue = data.map((item) => item.hourlyGageHeight);\n const getGhVaue = getValue.flat();\n\n if (getGhVaue.length) {\n getGhVaue.map((list) => {\n labels.push(\n `${convertDate(list.gageHeightDateTime)} ${convertTime(\n list.gageHeightDateTime\n )}`\n );\n\n valueArr.push(list.gageHeight);\n });\n }\n\n setChartData({\n labels: labels,\n datasets: [\n {\n label: \"ระดับน้ำ / เมตร\",\n data: valueArr,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 4,\n pointBorderWidth: 1,\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n fill: false,\n },\n ],\n });\n };\n\n let options = {\n scales: {\n x: {\n ticks: {\n maxTicksLimit: 10,\n maxRotation: 90,\n minRotation: 90,\n },\n },\n },\n plugins: {\n zoom: {\n zoom: {\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: true,\n },\n mode: \"x\",\n },\n pan: {\n enabled: true,\n mode: \"xy\",\n speed: 1,\n threshold: 1,\n },\n },\n },\n };\n\n useEffect(() => {\n if (data && data.length) {\n chartGenerate();\n }\n }, [data]);\n\n return (\n
    \n \n แสดงกราฟ\n \n \n
    \n \n
    \n \n
    \n );\n};\n\nexport default ModalChartManualStation;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport Select from \"react-select\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ModalTypeRemark = ({ data, setValue, type, watch, path }) => {\n const { addToast } = useToasts();\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [optionTypeRemark, setOptionTypeRemark] = useState([]);\n const [typeRemarkIdselected, setTypeRemarkIdselected] = useState(\"\");\n const [remarkInput, setRemarkInput] = useState(\"\");\n\n const [typeRemarkRes, setTypeRemarkRes] = useState([]);\n\n // const hydroTypeRemark = watch(`${data.gageHeightDateTime}.typeRemark`);\n const getTypeRemark = watch(`${path}.typeRemark`);\n const getRemark = watch(`${path}.remark`);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const onSubmitData = async (ev) => {\n if (remarkInput.length > 30) {\n addToast(

    ข้อมูลไม่ถูกต้อง ห้ามยาวเกิน 30 ตัวอักษร

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n } else {\n const defValue = typeRemarkRes.find(\n (item) => item.typeRemarkId == typeRemarkIdselected.value\n );\n\n await setValue(`${path}.typeRemark`, defValue || 0);\n\n if (type == \"hydro\") {\n await setValue(\n `${path}.remark`,\n typeRemarkIdselected.value == 1001 ? remarkInput : null\n );\n } else if (type === \"meteo\") {\n await setValue(\n `${path}.remark`,\n typeRemarkIdselected.value == 1002 ? remarkInput : null\n );\n }\n\n closeModal();\n }\n };\n\n const fetchTypeRemark = () => {\n dwrApi\n .get(\"/measureTypes/TypeRemark\")\n .then((res) => {\n let typeRemarkArr = [];\n const listFilter = res.data.filter(\n (item) => item.measureTypeId == (type === \"hydro\" ? 1 : 2)\n );\n\n const listOption = listFilter.map((data) => {\n return data.typeRemark.map((remark) => {\n typeRemarkArr.push(remark);\n const list = {\n label: remark.hourlyRemark,\n value: remark.typeRemarkId,\n };\n return list;\n });\n });\n\n setTypeRemarkRes(typeRemarkArr);\n\n setOptionTypeRemark(...listOption);\n })\n .catch((err) => console.log(err.message));\n };\n\n useEffect(() => {\n if (modalIsOpen && data) {\n fetchTypeRemark();\n }\n }, [modalIsOpen, data]);\n\n useEffect(() => {\n if (getTypeRemark && optionTypeRemark.length) {\n const defValue = optionTypeRemark.find(\n (item) => item.value == getTypeRemark.typeRemarkId\n );\n\n setTypeRemarkIdselected(defValue);\n setRemarkInput(getRemark);\n }\n }, [getTypeRemark, optionTypeRemark]);\n\n return (\n
    \n
    \n {/* {data.remark || getTypeRemark ? ( */}\n {getTypeRemark ? (\n <>\n \n \n ) : (\n \n )}\n
    \n \n \n หมายเหตุ\n \n \n \n
    \n
    \n {\n ev ? setTypeRemarkIdselected(ev) : setTypeRemarkIdselected(\"\");\n setRemarkInput(\"\");\n }}\n />\n {typeRemarkIdselected &&\n typeRemarkIdselected.value == (type === \"hydro\" ? 1001 : 1002) ? (\n setRemarkInput(ev.target.value)}\n value={remarkInput}\n />\n ) : (\n \"\"\n )}\n\n
    \n \n บันทึก\n \n \n ยกเลิก\n
    \n
    \n \n \n \n );\n};\n\nexport default ModalTypeRemark;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\n\nconst ModalShowRemark = ({ remark }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n console.log({ remark });\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear();\n\n const monthNames = [\n \"มกราคม\",\n \"กุมภาพันธ์\",\n \"มีนาคม\",\n \"เมษายน\",\n \"พฤษภาคม\",\n \"มิถุนายน\",\n \"กรกฎาคม\",\n \"สิงหาคม\",\n \"กันยายน\",\n \"ตุลาคม\",\n \"พฤศจิกายน\",\n \"ธันวาคม\",\n ];\n\n return `${date} ${monthNames[month]} ${year}`;\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n // resetCs();\n };\n\n const displayButtonOpenModal = (\n
    \n {remark.length ? (\n
    {`(${convertTime(remark[0].time)})${\n remark[0].remark\n }`}
    \n ) : (\n \"\"\n )}\n
    \n );\n\n const displayHeader = (\n \n \n รายละเอียดหมายเหตุ\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n
    {remark.length ? convertDate(remark[0].time) : \"\"}
    \n
    \n {remark.map((item, index) => {\n return (\n \n {convertTime(item.time)} :\n {item.type === \"other\" ? `อื่น ๆ (${item.remark})` : item.remark}\n
    \n );\n })}\n
    \n \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n {displayContent}\n
    \n \n ปิด\n
    \n
    \n \n \n );\n};\n\nexport default ModalShowRemark;\n","import _ from \"lodash\";\nimport Resizer from \"react-image-file-resizer\";\n\nexport const convertDecimals = (value) => {\n if (value !== null) {\n const decimals = value.toString().split(\".\")[1];\n\n if (!decimals || decimals.length < 2) {\n return _.round(+value, 2).toFixed(2);\n } else {\n return _.round(+value, decimals.length).toFixed(decimals.length);\n }\n }\n};\n\nexport const sumNumberWithFixDigit = (arr) => {\n if (arr.length) {\n const getDecimal = arr.map((item) =>\n item && item.toString().split(\".\")[1]\n ? item.toString().split(\".\")[1].length\n : 0\n );\n const maxDecimal = Math.max(...getDecimal);\n\n const sum = _.sum(arr);\n\n if (!maxDecimal || maxDecimal < 2) {\n return _.round(+sum, 2).toFixed(2);\n } else {\n return _.round(+sum, maxDecimal).toFixed(maxDecimal);\n }\n }\n};\n\nexport const toDataURL = (url) =>\n fetch(url)\n .then((response) => response.blob())\n .then(\n (blob) =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => resolve(reader.result);\n reader.onerror = reject;\n reader.readAsDataURL(blob);\n })\n );\n\nexport const resizeFile = (file) =>\n new Promise((resolve) => {\n Resizer.imageFileResizer(\n file,\n 200,\n 200,\n \"JPEG\",\n 100,\n 0,\n (uri) => {\n resolve(uri);\n },\n \"base64\"\n );\n });\n\nexport const FileListItems = (files) => {\n var b = new ClipboardEvent(\"\").clipboardData || new DataTransfer();\n for (var i = 0, len = files.length; i < len; i++) b.items.add(files[i]);\n return b.files;\n};\n","import React from \"react\";\nimport Modal from \"react-modal\";\n\nconst ModalConfirm = ({\n title,\n callBackSubmit,\n modalIsOpen,\n setModalIsOpen,\n isLoading,\n item,\n agreeButton,\n notAgreeButton,\n}) => {\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"10px\",\n\n minWidth: \"400px\",\n },\n };\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const displayContent =
    {title}
    ;\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n \n
    \n {displayContent}\n
    \n callBackSubmit(item)}\n style={styles.buttonType2}\n >\n {!isLoading ? <>{agreeButton} : displaySpiner}\n
    \n \n {notAgreeButton}\n \n \n \n \n );\n};\n\nexport default ModalConfirm;\n","import React, { useState, useEffect } from \"react\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useForm } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ButtonSubmitData = ({\n stationId,\n permissions,\n buttonName,\n styleButton,\n startDate,\n isAutoStation,\n}) => {\n const { addToast } = useToasts();\n\n const [dataToConfirm, setDataToConfirm] = useState([]);\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}-${month}-${year}`;\n };\n\n const fetchDailyGageHeight = async () => {\n if (startDate) {\n const result = new Date(startDate);\n\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n let day = result.getDate();\n\n try {\n let res = await dwrApi.get(\n `/DailyGageHeights/Station/${stationId}?month=${month}&year=${year}${\n isAutoStation ? `&day=${day}` : \"\"\n }`\n );\n\n return res.data;\n } catch (err) {\n console.error(err);\n }\n\n // dwrApi\n // .get(\n // `/DailyGageHeights/Station/${stationId}?month=${month}&year=${year}${\n // isAutoStation ? `&day=${day}` : \"\"\n // }`\n // )\n // .then((res) => {\n // const filterDate = res.data.filter((item) => {\n // return convertDate(item.gageHeightDate) == convertDate(startDate);\n // });\n\n // setDataToConfirm(filterDate);\n // })\n // .catch((err) => {\n // console.log(err.message);\n // });\n }\n };\n\n const onConfirmDailyGageHeight = async (ev) => {\n try {\n let confirmData = await fetchDailyGageHeight();\n if (confirmData) {\n console.log(\"check data\", confirmData);\n const firstData = confirmData.slice(0, 1)[0];\n const bodyData = confirmData.slice(1, -1);\n const lastData = confirmData.slice(-1)[0];\n await dwrApi.post(\n `/DailyGageHeights/${firstData.dailyGageHeightId}/${permissions}`\n );\n\n setTimeout(async () => {\n if (bodyData.length) {\n bodyData.map(async (item) => {\n await dwrApi.post(\n `/DailyGageHeights/${item.dailyGageHeightId}/${permissions}`\n );\n });\n }\n\n if (confirmData.length > 1) {\n await dwrApi\n .post(\n `/DailyGageHeights/${lastData.dailyGageHeightId}/${permissions}`\n )\n .then(async () => {\n await fetchDailyGageHeight();\n });\n }\n\n addToast(

    ทำการยืนยันข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n }, 100);\n }\n } catch (err) {\n console.log(err);\n\n addToast(\n

    {err && err.message ? err.message : \"มีบางอย่างผิดพลาด\"}

    ,\n {\n appearance: \"error\",\n autoDismiss: true,\n }\n );\n }\n\n // const firstData = dataToConfirm.slice(0, 1)[0];\n // const bodyData = dataToConfirm.slice(1, -1);\n // const lastData = dataToConfirm.slice(-1)[0];\n\n // try {\n // await dwrApi.post(\n // `/DailyGageHeights/${firstData.dailyGageHeightId}/${permissions}`\n // );\n\n // setTimeout(async () => {\n // if (bodyData.length) {\n // bodyData.map(async (item) => {\n // await dwrApi.post(\n // `/DailyGageHeights/${item.dailyGageHeightId}/${permissions}`\n // );\n // });\n // }\n\n // if (dataToConfirm.length > 1) {\n // await dwrApi\n // .post(\n // `/DailyGageHeights/${lastData.dailyGageHeightId}/${permissions}`\n // )\n // .then(() => fetchDailyGageHeight());\n // }\n\n // fetchDailyGageHeight();\n\n // addToast(

    ทำการยืนยันข้อมูลเรียบร้อยแล้ว

    , {\n // appearance: \"success\",\n // autoDismiss: true,\n // });\n // }, 100);\n // } catch (err) {\n // console.log(\"💣\", err);\n\n // addToast(\n //

    {err && err.message ? err.message : \"มีบางอย่างผิดพลาด\"}

    ,\n // {\n // appearance: \"error\",\n // autoDismiss: true,\n // }\n // );\n // }\n };\n\n useEffect(() => {\n fetchDailyGageHeight();\n }, [startDate]);\n\n const stylesInline = {\n ...styleButton,\n opacity: !stationId ? \"0.5\" : \"1\",\n cursor: !stationId ? \"default\" : \"pointer\",\n };\n\n return (\n
    \n (stationId ? onConfirmDailyGageHeight() : \"\")}\n >\n {buttonName}\n
    \n \n );\n};\n\nexport default ButtonSubmitData;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport { useForm } from \"react-hook-form\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { useToasts } from \"react-toast-notifications\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\nimport ModalPreviewExcel from \"../../../Components/ModalPreviewExcel\";\nimport ModalSubmitData from \"../../../Components/ModalSubmitData\";\nimport ModalChartManualStation from \"../../../Components/ModalChartManualStation\";\nimport ModalTypeRemark from \"../../../Components/ModalTypeRemark\";\nimport ModalDeleteEl from \"../../../Components/ModalDeleteEl\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport ModalShowRemark from \"../../../Components/ModalShowRemark\";\nimport _ from \"lodash\";\nimport { convertDecimals } from \"../../../Services/Function\";\nimport ModalConfirm from \"../../../Components/ModalConfirm\";\nimport ButtonSubmitData from \"../../../Components/ButtonSubmitData\";\n\nconst ManualStation = () => {\n const { addToast } = useToasts();\n const dispatch = useDispatch();\n const [dateSelected, setDateSelected] = useState(\"\");\n const [manageRequest, setManageRequest] = useState(false);\n const [isModalDeleteOpen, setIsModalDeleteOpen] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [isShowSummary, setIsShowSummary] = useState(false);\n const [allBasin, setAllBasin] = useState([]);\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [measureTime, setMeasureTime] = useState([]);\n const [measureTimeSeclected, setMeasureTimeSelected] = useState();\n const [hourlyGageHeights, setHourlyGageHeights] = useState(\"\");\n const [dayOfGageHeights, setDayOfGageHeights] = useState([]);\n const [gageHeightFullfill, setGageHeightFullfill] = useState([]);\n const [alertMessage, setAlertMessage] = useState(\"\");\n const [xlsFile, setXlsFile] = useState(\"\");\n const [dataFromXls, setDataFromXls] = useState([]);\n const [modalConfirmOpen, setModalConfirmOpen] = useState(false);\n const [monthSelected, setMonthSelected] = useState(\"\");\n const [yearSelected, setYearSelected] = useState(\"\");\n const [daysInMonth, setDaysInMonth] = useState(\"\");\n\n const {\n register,\n handleSubmit,\n formState: { errors },\n reset,\n watch,\n setValue,\n } = useForm();\n\n let period = [];\n let optionsBasin = [];\n let optionsStationsOfBasin = [];\n let stationSelected = [];\n let optionsMeasureTime = [];\n let data = [];\n\n let pureHourlyGageHeight = [];\n\n useEffect(() => {\n const dateConvert = new Date(dateSelected);\n const mo = dateConvert.getMonth();\n const ye = dateConvert.getFullYear();\n const dim = new Date(ye, mo + 1, 0).getDate();\n\n setMonthSelected(mo);\n setYearSelected(ye);\n setDaysInMonth(dim);\n }, [dateSelected]);\n\n let years = [];\n\n const startYear = 1960;\n const endYear = new Date().getFullYear();\n\n for (let i = startYear; i <= endYear; i++) {\n const listYear = {\n th: i + 543,\n en: i,\n };\n years.push(listYear);\n }\n\n const months = [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n backgroundValue: {},\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute} น.`;\n };\n\n const convertDateTh = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear() + 543;\n\n const monthNames = [\n \"มกราคม\",\n \"กุมภาพันธ์\",\n \"มีนาคม\",\n \"เมษายน\",\n \"พฤษภาคม\",\n \"มิถุนายน\",\n \"กรกฎาคม\",\n \"สิงหาคม\",\n \"กันยายน\",\n \"ตุลาคม\",\n \"พฤศจิกายน\",\n \"ธันวาคม\",\n ];\n\n return `${date} ${monthNames[month]} ${year}`;\n };\n\n const fetchAllBasin = () => {\n dwrApi\n .get(\"/Basins/User\")\n .then((res) => {\n setAllBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n const fetchStationOfBasin = () => {\n let stationTypeId = \"1\";\n dwrApi\n .get(\n `/Stations/Hydro?StationTypeId=${stationTypeId}&BasinId=${basinIdSelected.value}`\n )\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n const fetchMeasureTime = () => {\n dwrApi\n .get(`/measureTimes`)\n .then((res) => {\n setMeasureTime(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n const fetchHourlyGageHeights = () => {\n if (stationIdSelected && dateSelected) {\n const month = dateSelected.getMonth() + 1;\n const year = dateSelected.getFullYear();\n\n dwrApi\n .get(\n `/HourlyGageHeights/Station/${stationIdSelected.value}?month=${month}&year=${year}`\n )\n .then((res) => {\n if (res.data) {\n setHourlyGageHeights(res.data);\n } else {\n setAlertMessage(\"ไม่พบข้อมูล\");\n }\n\n if (!Array.isArray(res.data)) {\n const filterOptions = optionsMeasureTime.find(\n (option) => option.id == res.data.measureTimeId\n );\n\n setMeasureTimeSelected(filterOptions || {});\n }\n })\n .catch((err) => {\n console.log(err.message);\n });\n }\n };\n\n const onDeleteHourlyGageHeights = () => {\n if (stationIdSelected && dateSelected) {\n const month = dateSelected.getMonth() + 1;\n const year = dateSelected.getFullYear();\n\n const data = {\n stationId: stationIdSelected.value,\n gageHeightDateTime: `${year}-${month}-01T06:52:57.936Z`,\n };\n\n dwrApi\n .delete(\n `/GageHeights/Station/${stationIdSelected.value}?month=${month}&year=${year}`,\n data\n )\n .then((res) => {\n setIsModalDeleteOpen(false);\n fetchHourlyGageHeights();\n })\n .catch((err) => {\n console.log(err.message);\n });\n }\n };\n\n const onHandleManageRequest = async (ev) => {\n // ev.preventDefault();\n setIsLoading(true);\n setGageHeightFullfill([]);\n reset();\n setManageRequest(true);\n setModalConfirmOpen(false);\n await generateDataTable();\n setIsLoading(false);\n };\n\n useEffect(() => {\n fetchAllBasin();\n fetchMeasureTime();\n }, []);\n\n useEffect(() => {\n setHourlyGageHeights(\"\");\n setManageRequest(false);\n fetchHourlyGageHeights();\n setMeasureTimeSelected(\"\");\n }, [dateSelected, stationIdSelected]);\n\n useEffect(() => {\n setManageRequest(false);\n }, [measureTimeSeclected]);\n\n useEffect(() => {\n if (basinIdSelected) {\n fetchStationOfBasin();\n }\n }, [basinIdSelected]);\n\n if (allBasin) {\n allBasin.forEach((basin) => {\n if (basin.basinTh) {\n const list = {\n value: basin.basinId,\n label: `${basin.basinId} : ${basin.basinTh}`,\n };\n optionsBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.active === \"Y\") {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin && stationIdSelected) {\n stationSelected = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n }\n\n if (measureTime) {\n measureTime.forEach((time) => {\n if (time.measureTypeId == 1) {\n const list = {\n value: time.measureTimeDesc,\n label: `${time.measureTimeDesc} เวลา`,\n id: time.measureTimeId,\n };\n optionsMeasureTime.push(list);\n }\n });\n }\n\n if (measureTimeSeclected && hourlyGageHeights) {\n period = measureTime.filter((time) => {\n return (\n time.measureTypeId == 1 &&\n time.measureTimeDesc == measureTimeSeclected.value\n );\n });\n }\n\n if (hourlyGageHeights) {\n hourlyGageHeights.gagehightSiteOuts?.map((item) => {\n item.hourlyGageHeight.map((data) => {\n pureHourlyGageHeight.push(data);\n });\n });\n }\n\n const onHandleSubmit = async (ev) => {\n const month = (new Date(dateSelected).getMonth() + 1)\n .toString()\n .padStart(2, \"0\");\n const year = new Date(dateSelected).getFullYear();\n let ghId = \"\";\n if (\n +period[0].measureTimeId !== +hourlyGageHeights.measureTimeId &&\n hourlyGageHeights &&\n !Array.isArray(hourlyGageHeights)\n ) {\n const dataPostGageHeight = {\n gageHeightId:\n hourlyGageHeights && !Array.isArray(hourlyGageHeights)\n ? hourlyGageHeights?.gagehightSiteOuts[0]?.hourlyGageHeight[0]\n ?.gageHeightId\n : null,\n stationId: stationIdSelected.value,\n recordDate: `${year}-${month}-01T00:00:00`,\n measureTimeId: period[0].measureTimeId,\n };\n\n await dwrApi\n .post(`/GageHeights`, dataPostGageHeight)\n .then((res) => {\n console.log(res.data);\n ghId = res.data.gageHeightId;\n\n setModalConfirmOpen(false);\n })\n .catch((err) => {\n console.log(\"err Post GageHeights\", err.message);\n });\n }\n let newData = [];\n let editData = [];\n let resPost, resPut;\n\n const configPost = {\n headers: {\n \"X-Function-Header\": \"2630\",\n },\n };\n const configPut = {\n headers: {\n \"X-Function-Header\": \"2601\",\n },\n };\n data = Object.keys(ev).map((e, eIndex) => {\n const filterData = pureHourlyGageHeight.filter(\n (data) => data.gageHeightDateTime == e\n )[0];\n\n return {\n gageHeightDateTime: e,\n gageHeight: ev[e].value ? +ev[e].value : null,\n hourlyGageHeightId: filterData ? +filterData.hourlyGageHeightId : null,\n gageHeightId: ghId\n ? +ghId\n : filterData\n ? +filterData.gageHeightId\n : null,\n remark:\n \"remark\" in ev[e]\n ? ev[e].remark\n : filterData\n ? filterData.remark\n : null,\n typeRemarkId:\n \"typeRemark\" in ev[e]\n ? ev[e].typeRemark\n : filterData && filterData.typeRemark\n ? filterData.typeRemark.typeRemarkId\n : null,\n };\n });\n\n try {\n await data.map((item) => {\n if (item.hourlyGageHeightId) {\n editData.push(item);\n } else if (\n !item.hourlyGageHeightId &&\n (item.gageHeight !== null || item.typeRemarkId)\n ) {\n const list = {\n stationId: stationIdSelected.value,\n gageHeightDateTime: item.gageHeightDateTime,\n gageHeight: item.gageHeight,\n typeRemarkId: item.typeRemarkId,\n remark: item.remark,\n };\n newData.push(list);\n }\n });\n\n if (editData.length) {\n resPut = await dwrApi\n .put(`/HourlyGageHeights`, editData, configPut)\n .then(() => {\n setIsLoading(false);\n })\n .catch((err) => {\n setIsLoading(false);\n let message = \"กรุณาลองใหม่\";\n if (err.response && err.response.status == 401) {\n message = \"ไม่สามารถเพิ่มข้อมูลได้ กรุณาล็อกอิน\";\n } else if (err.response && err.response.status == 400) {\n message = \"ข้อมูลไม่ถูกต้อง\";\n }\n addToast(

    {message}

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n }\n if (newData.length) {\n resPost = await dwrApi\n .post(\n `/HourlyGageHeights/Station/${stationIdSelected.value}?month=${month}&year=${year}`,\n newData,\n configPost\n )\n .then((res) => {\n setIsLoading(false);\n return res;\n })\n .catch((err) => {\n setIsLoading(false);\n let message = \"กรุณาลองใหม่\";\n if (err.response && err.response.status == 401) {\n message = \"ไม่สามารถเพิ่มข้อมูลได้ กรุณาล็อกอิน\";\n } else if (err.response && err.response.status == 400) {\n message = \"ข้อมูลไม่ถูกต้อง\";\n }\n addToast(

    {message}

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n }\n fetchHourlyGageHeights();\n setIsShowSummary(true);\n\n if (resPost || resPut) {\n addToast(

    เพิ่มข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n }\n } catch (e) {\n addToast(\n

    {(e.response && e.response.title) || \"มีบางอย่างผิดพลาด\"}

    ,\n {\n appearance: \"error\",\n autoDismiss: true,\n }\n );\n }\n };\n\n const onInsertXls = (ev) => {\n ev.preventDefault();\n const month = dateSelected.getMonth() + 1;\n const year = dateSelected.getFullYear();\n\n const data = new FormData();\n data.append(\"excelFile\", xlsFile);\n\n dwrApi\n .post(`/GageHeights/ReadExcel?firstDayInMonth=${year}-${month}-01`, data)\n .then(async (res) => {\n setDataFromXls([]);\n let dataArr = [];\n\n const getHrsGh = res.data.hourlyGageHeight.filter(\n (item) => item.gageHeight\n );\n\n const ghValue = getHrsGh.map((item) => {\n const objKey = `${item.gageHeightDateTime}`;\n return {\n [objKey]: {\n value:\n item.gageHeight !== null\n ? convertDecimals(+item.gageHeight)\n : null,\n },\n };\n });\n\n const defValues = await Object.assign({}, ...ghValue);\n\n reset(defValues);\n })\n .catch((err) => console.log(err));\n };\n\n const generateDayInMonth = () => {\n if (dateSelected && period.length && hourlyGageHeights) {\n setDayOfGageHeights([]);\n for (let dayIndex = 0; dayIndex < +daysInMonth; dayIndex++) {\n console.log({ dayIndex });\n const dateFilter = hourlyGageHeights?.gagehightSiteOuts?.filter(\n (item) => {\n return (\n new Date(item.avgGageHeight.gageHeightDate).getDate() ==\n dayIndex + 1\n );\n }\n );\n\n const dataBlank = {\n avgGageHeight: {\n gageHeightDate: new Date(\n yearSelected,\n monthSelected,\n dayIndex + 1\n ).toISOString(),\n dailyGageHeightVal: \"\",\n },\n hourlyGageHeight: [],\n };\n\n if (dateFilter && dateFilter.length) {\n setDayOfGageHeights((dayOfGageHeights) => [\n ...dayOfGageHeights,\n ...dateFilter,\n ]);\n } else {\n setDayOfGageHeights((dayOfGageHeights) => [\n ...dayOfGageHeights,\n dataBlank,\n ]);\n }\n }\n }\n };\n\n const generateDataTable = async () => {\n try {\n setGageHeightFullfill([]);\n console.log({ dayOfGageHeights });\n dayOfGageHeights.map((item) => {\n let dateElements = [];\n let remarkElements = [];\n\n for (let index = 0; index < +period[0]?.groupMeasure?.length; index++) {\n const filterByDate = item.hourlyGageHeight.filter((time) => {\n let tm = new Date(time.gageHeightDateTime).getHours();\n let pd = +period[0].groupMeasure[index].timePeriod.slice(0, -6);\n\n return tm === pd;\n });\n\n if (filterByDate.length) {\n dateElements.push(...filterByDate);\n if (filterByDate[0].remark) {\n remarkElements.push({\n time: filterByDate[0].gageHeightDateTime,\n remark: filterByDate[0].remark,\n });\n }\n } else {\n const setDate =\n new Date(\n new Date(item.avgGageHeight.gageHeightDate).valueOf() +\n 1000 * 3600 * 24\n )\n .toISOString()\n .slice(0, 11) + period[0].groupMeasure[index].timePeriod;\n\n const data = {\n gageHeight: null,\n gageHeightDateTime: setDate,\n\n gageHeightId: null,\n hourlyGageHeightId: null,\n remark: null,\n typeRemark: null,\n };\n\n dateElements.push(data);\n }\n }\n\n const dataObj = {\n avgGageHeight: item.avgGageHeight,\n hourlyGageHeight: dateElements,\n remarkElements,\n };\n\n setGageHeightFullfill((gageHeightFullfill) => [\n ...gageHeightFullfill,\n dataObj,\n ]);\n });\n } catch (e) {\n console.log(e);\n }\n };\n\n useEffect(() => {\n generateDayInMonth();\n }, [hourlyGageHeights, measureTimeSeclected]);\n\n useEffect(() => {\n generateDataTable();\n }, [dayOfGageHeights]);\n\n const onHandleBasinIdSelected = (ev) => {\n if (ev) {\n setBasinIdSelected(ev);\n setStationIdSelected(\"\");\n } else {\n setBasinIdSelected(\"\");\n setStationIdSelected(\"\");\n }\n };\n\n const onHandleStationIdSelected = (ev) => {\n if (ev) {\n setStationIdSelected(ev);\n } else {\n setStationIdSelected(\"\");\n }\n };\n\n const onOpenModalConfirm = (ev) => {\n // ev.preventDefault();\n setModalConfirmOpen(true);\n };\n\n const displayForm = (\n
    \n
    \n
    \n
    รหัสลุ่มน้ำ :
    \n
    \n \"ไม่พบลุ่มน้ำ\"}\n isClearable\n />\n
    \n
    \n\n
    \n
    รหัสสถานี :
    \n
    \n \"ไม่พบสถานี\"}\n isClearable\n isDisabled={basinIdSelected ? false : true}\n />\n
    \n
    \n\n
    \n
    \n
    \n {stationSelected.length > 0 ? (\n
    \n {stationSelected[0].location ? (\n <>\n
    \n ที่ตั้ง : ตำบล\n {\n stationSelected[0].location.subDistrict.subDistrictTh\n }{\" \"}\n อำเภอ\n {\n stationSelected[0].location.subDistrict.district\n .districtTh\n }\n จังหวัด\n {\n stationSelected[0].location.subDistrict.district\n .province.provinceTh\n }\n
    \n
    \n ศูนย์เสาระดับ :{\" \"}\n {stationSelected[0]?.gage?.gageLevel\n ? stationSelected[0]?.gage?.gageLevel\n : \"-\"}{\" \"}\n {stationSelected[0].gage?.gageTypeId == 1\n ? \"ม.รทก\"\n : \"เมตร\"}\n
    \n \n ) : (\n
    ไม่ระบุตำแหน่ง
    \n )}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n {stationSelected.length ? (\n <>\n
    \n
    เดือน / ปี :
    \n
    \n \n
    \n
    \n
    \n
    กำหนดเวลา :
    \n
    \n \n ev ? setMeasureTimeSelected(ev) : setMeasureTimeSelected(\"\")\n }\n noOptionsMessage={() => \"ไม่พบคาบเวลา\"}\n />\n
    \n
    \n
    \n \n จัดการข้อมูล\n
    \n
    \n \n ) : (\n \"\"\n )}\n \n \n );\n\n const displayGroupButton = (\n \n
    \n setXlsFile(ev.target.files[0])}\n />\n\n \n นำเข้า\n \n\n \n ดาวน์โหลดไฟล์ตัวอย่าง\n \n
    \n
    \n {hourlyGageHeights ? (\n \n ) : (\n \"\"\n )}\n
    \n \n );\n\n const onResetValues = async () => {\n if (gageHeightFullfill.length) {\n const getHrsGh = gageHeightFullfill\n .map((item) => item.hourlyGageHeight)\n .flat();\n const ghValue = getHrsGh.map((item) => {\n const objKey = `${item.gageHeightDateTime}`;\n return {\n [objKey]: {\n value:\n item.gageHeight !== null\n ? convertDecimals(+item.gageHeight)\n : null,\n },\n };\n });\n\n const defValues = await Object.assign({}, ...ghValue);\n\n reset(defValues);\n }\n };\n\n useEffect(() => {\n onResetValues();\n }, [gageHeightFullfill]);\n\n const displayTable1 = (\n
    \n \n \n \n \n \n \n \n \n \n {period.length &&\n period[0].groupMeasure.map((item, index) => {\n return (\n \n );\n })}\n \n \n {manageRequest ? (\n \n {hourlyGageHeights &&\n gageHeightFullfill.map((item, index) => {\n let gageQty = 0;\n const allDateTime = item.hourlyGageHeight.map((data) => {\n if (watch(`${data.gageHeightDateTime}.value`)) gageQty++;\n\n return `${data.gageHeightDateTime}.value`;\n });\n\n const total = allDateTime.reduce((total, num) => {\n return total + +watch(num);\n }, 0);\n\n return (\n \n \n\n {item.hourlyGageHeight.map((gage, index) => {\n return (\n \n console.log(gage)}\n className=\"text-center input-editable\"\n {...register(`${gage.gageHeightDateTime}.value`)}\n />\n\n \n \n \n \n );\n })}\n\n \n \n \n );\n })}\n \n ) : (\n \"\"\n )}\n
    \n วันที่\n \n ระดับน้ำที่อ่านได้\n เฉลี่ย(เมตร)หมายเหตุ
    \n {item.timePeriod.slice(0, -3)}\n
    \n {item.avgGageHeight\n ? convertDate(item.avgGageHeight.gageHeightDate)\n : \"\"}\n \n {total && gageQty ? (total / gageQty).toFixed(2) : \"\"}\n \n \n
    \n
    \n );\n\n const displayTable2 = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    ระดับน้ำเมตรวันที่เวลา
    สูงสุด{hourlyGageHeights?.maxHourlyGageHeight?.gageHeight}\n {hourlyGageHeights?.maxHourlyGageHeight?.gageHeightDateTime\n ? convertDateTh(\n hourlyGageHeights?.maxHourlyGageHeight?.gageHeightDateTime\n )\n : \"-\"}\n \n {hourlyGageHeights?.maxHourlyGageHeight?.gageHeightDateTime\n ? convertTime(\n hourlyGageHeights?.maxHourlyGageHeight?.gageHeightDateTime\n )\n : \"-\"}\n
    ต่ำสุด{hourlyGageHeights?.minHourlyGageHeight?.gageHeight}\n {hourlyGageHeights?.minHourlyGageHeight?.gageHeightDateTime\n ? convertDateTh(\n hourlyGageHeights?.minHourlyGageHeight?.gageHeightDateTime\n )\n : \"-\"}\n \n {hourlyGageHeights?.minHourlyGageHeight?.gageHeightDateTime\n ? convertTime(\n hourlyGageHeights?.minHourlyGageHeight?.gageHeightDateTime\n )\n : \"-\"}\n
    เฉลี่ยสูงสุด{hourlyGageHeights?.maxAvgGageHeight?.dailyGageHeightVal}\n {hourlyGageHeights?.maxAvgGageHeight?.gageHeightDate\n ? convertDateTh(\n hourlyGageHeights?.maxAvgGageHeight?.gageHeightDate\n )\n : \"-\"}\n \n -\n {/* {hourlyGageHeights?.maxAvgGageHeight?.gageHeightDate\n ? convertTime(\n hourlyGageHeights?.maxAvgGageHeight?.gageHeightDate\n )\n : \"-\"} */}\n
    เฉลี่ยต่ำสุด{hourlyGageHeights?.minAvgGageHeight?.dailyGageHeightVal}\n {hourlyGageHeights?.minAvgGageHeight?.gageHeightDate\n ? convertDateTh(\n hourlyGageHeights?.minAvgGageHeight?.gageHeightDate\n )\n : \"-\"}\n \n -\n {/* {hourlyGageHeights?.minAvgGageHeight?.gageHeightDate\n ? convertTime(\n hourlyGageHeights?.minAvgGageHeight?.gageHeightDate\n )\n : \"-\"} */}\n
    \n \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n \n\n \n\n
    \n {displayForm}\n
    \n {hourlyGageHeights && manageRequest ? (\n <>\n {displayGroupButton}\n\n
    \n {displayTable1}\n {hourlyGageHeights && !Array.isArray(hourlyGageHeights)\n ? displayTable2\n : \"\"}\n\n
    \n \n \n บันทึก\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n \n setIsModalDeleteOpen(true)}\n >\n ลบ\n
    \n \n
    \n \n \n ) : manageRequest ? (\n
    {alertMessage}
    \n ) : (\n \"\"\n )}\n \n );\n};\n\nexport default ManualStation;\n","import React, { useState, useEffect } from \"react\";\nimport { Line, Bar } from \"react-chartjs-2\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle } from \"react-icons/fa\";\n\nconst ModalChartAutoStation = ({ data, dataType }) => {\n const [chartData, setChartData] = useState();\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n const styles = {\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n header: {\n background: \"#06538F\",\n height: \"40px\",\n },\n };\n\n const openModal = (ev) => {\n ev.preventDefault();\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n padding: \"0\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const chartGenerate = async () => {\n const labels = [];\n const valueArr = [];\n\n if (data.length) {\n await data.map((item) => {\n labels.push(\n `${convertDate(item.serverTime)} ${convertTime(item.serverTime)}`\n );\n\n if (!dataType) {\n valueArr.push(item.waterLevel);\n } else if (dataType.value == \"01\") {\n valueArr.push(item.rainFall15);\n } else if (dataType.value == \"04\") {\n valueArr.push(item.temperature);\n }\n });\n }\n\n setChartData({\n labels: labels,\n datasets: [\n {\n label: `กราฟปริมาณ${dataType ? dataType.dataName : \"ระดับน้ำ\"}`,\n // label: \"ระดับน้ำ / เมตร\",\n data: valueArr,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 4,\n pointBorderWidth: 1,\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n fill: false,\n },\n ],\n });\n };\n\n let options = {\n scales: {\n x: {\n ticks: {\n maxTicksLimit: 10,\n maxRotation: 90,\n minRotation: 90,\n },\n },\n },\n plugins: {\n zoom: {\n zoom: {\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: true,\n },\n mode: \"x\",\n },\n pan: {\n enabled: true,\n mode: \"xy\",\n speed: 1,\n threshold: 1,\n },\n },\n legend: false,\n },\n };\n\n useEffect(() => {\n if (data && data.length) {\n chartGenerate();\n }\n }, [data, dataType]);\n\n return (\n
    \n \n แสดงกราฟ\n \n \n \n \n ข้อมูลปริมาณ{dataType?.dataName}\n เฉลี่ยรายวัน {convertDate(data[0]?.serverTime)} ถึง{\" \"}\n {convertDate(data[data?.length - 1]?.serverTime)}\n \n
    \n
    \n
    {`กราฟปริมาณ${\n dataType ? dataType.dataName : \"ระดับน้ำ\"\n }`}
    \n {dataType && dataType.value == \"01\" ? (\n \n ) : (\n \n )}\n
    \n \n \n );\n};\n\nexport default ModalChartAutoStation;\n","import React, { useState, useEffect } from \"react\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../api/dwrApi\";\n\nconst BasinFormSelect = ({\n stationIdSelected,\n setStationIdSelected,\n stationsOfBasin,\n setStationsOfBasin,\n basinIdSelected,\n setBasinIdSelected,\n stationDetail,\n setStationDetail,\n basinIdCallback,\n stationIdCallback,\n isDisabledForm,\n subDomain,\n setTimeFormat,\n setDateSelected = () => {},\n}) => {\n const [allBasin, setAllBasin] = useState([]);\n const [optionsBasin, setOptionsBasin] = useState([]);\n const [optionsStationsOfBasin, setOptionsStationsOfBasin] = useState([]);\n\n const styles = {\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n };\n\n const fetchAllBasin = () => {\n // const sub = subDomain ? subDomain : \"\";\n // .get(`/Basins${sub}`)\n dwrApi\n .get(`/Basins/User`)\n .then((res) => {\n setAllBasin(res.data);\n const list = res.data.map((basin) => {\n if (basin.basinTh) {\n return {\n value: basin.basinId,\n label: `${basin.basinId} : ${basin.basinTh}`,\n };\n }\n });\n\n setOptionsBasin(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n useEffect(() => {\n fetchAllBasin();\n }, []);\n\n useEffect(() => {\n const getItem = optionsBasin.find((item) => item.value == basinIdCallback);\n\n if (basinIdCallback && optionsBasin.length) {\n setBasinIdSelected(getItem);\n }\n }, [basinIdCallback, optionsBasin]);\n\n useEffect(() => {\n const getItem = optionsStationsOfBasin.find(\n (item) => item.value == stationIdCallback\n );\n\n if (stationIdCallback && basinIdSelected && optionsStationsOfBasin.length) {\n setStationIdSelected(getItem);\n }\n }, [stationIdCallback, basinIdSelected, optionsStationsOfBasin]);\n\n const createOptionStations = () => {\n const list = stationsOfBasin\n .filter((el) => el.active === \"Y\")\n .map((station) => {\n return {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n });\n\n setOptionsStationsOfBasin(list);\n };\n\n useEffect(() => {\n if (stationsOfBasin) createOptionStations();\n }, [stationsOfBasin]);\n\n useEffect(() => {\n if (stationsOfBasin && stationIdSelected) {\n const stationSelected = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n\n setStationDetail(stationSelected);\n } else {\n setStationDetail(\"\");\n }\n }, [stationsOfBasin, stationIdSelected]);\n\n const onHandleBasinIdSelected = (ev) => {\n if (ev) {\n setBasinIdSelected(ev);\n setStationIdSelected(\"\");\n } else {\n setBasinIdSelected(\"\");\n setStationIdSelected(\"\");\n }\n if (!!setTimeFormat) {\n setTimeFormat(\"\");\n }\n setDateSelected(\"\");\n };\n\n const onHandleStationIdSelected = (ev) => {\n if (ev) {\n setStationIdSelected(ev);\n } else {\n setStationIdSelected(\"\");\n }\n if (!!setTimeFormat) {\n setTimeFormat(\"\");\n }\n setDateSelected(\"\");\n };\n\n return (\n
    \n
    \n
    รหัสลุ่มน้ำ :
    \n
    \n \"ไม่พบลุ่มน้ำ\"}\n isClearable={true}\n isDisabled={isDisabledForm ? true : false}\n />\n
    \n
    \n\n
    \n
    รหัสสถานี :
    \n
    \n \"ไม่พบสถานี\"}\n // isDisabled={basinIdSelected ? false : true}\n isDisabled={isDisabledForm ? true : false}\n isClearable={true}\n />\n
    \n
    \n\n
    \n
    \n
    \n {stationDetail.length > 0 ? (\n
    \n {stationDetail[0].location ? (\n <>\n
    \n ที่ตั้ง : ตำบล\n {\n stationDetail[0]?.location?.subDistrict?.subDistrictTh\n }{\" \"}\n อำเภอ\n {\n stationDetail[0]?.location?.subDistrict?.district\n ?.districtTh\n }{\" \"}\n จังหวัด\n {\n stationDetail[0]?.location?.subDistrict?.district\n ?.province?.provinceTh\n }\n
    \n {stationDetail[0].gage ? (\n
    \n ศูนย์เสาระดับ :{\" \"}\n {stationDetail[0].gage\n ? stationDetail[0].gage.gageLevel\n : \"-\"}{\" \"}\n {stationDetail[0]?.gage?.gageTypeId &&\n stationDetail[0]?.gage?.gageTypeId == 1\n ? \"เมตร รทก.\"\n : \"เมตร รสม.\"}\n
    \n ) : (\n \"\"\n )}\n \n ) : (\n
    ไม่ระบุตำแหน่ง
    \n )}\n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n );\n};\n\nexport default BasinFormSelect;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport { useSelector } from \"react-redux\";\n\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst ReportWaterLevelAuto = () => {\n const optionsTime = [\n { label: \"ราย 15 นาที\", value: \"1\", type: \"date\" },\n { label: \"รายชั่วโมง\", value: \"2\", type: \"month\" },\n { label: \"รายวัน\", value: \"3\", type: \"year\" },\n /* { label: \"รายปี\", value: \"3\", type: \"year\" }, */\n ];\n const [allBasin, setAllBasin] = useState(\"\");\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationDetail, setStationDetail] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [displayReport, setDisplayReport] = useState(false);\n\n const [timeSelected, setTimeSelected] = useState(optionsTime[0]);\n const [timeFormat, setTimeFormat] = useState();\n const [reportUrl, setReportUrl] = useState(\"\");\n const [disableBtn, setDisableBtn] = useState(false);\n\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n\n const userId = useSelector((state) => state.profileReducer.userData.sub);\n const token = localStorage.getItem(\"token\");\n\n // let optionsBasin = [];\n let optionsStationsOfBasin = [];\n let stationSelected = [];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n // const fetchAllBasin = () => {\n // dwrApi\n // .get(\"/Basins/User\")\n // .then((res) => {\n // setAllBasin(res.data);\n // })\n // .catch((err) => {\n // console.log(err.message);\n // });\n // };\n\n const fetchStationOfBasin = () => {\n dwrApi\n .get(`/Stations/Hydro?StationTypeId=2&BasinId=${basinIdSelected.value}`)\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n // useEffect(() => {\n // fetchAllBasin();\n // }, []);\n\n useEffect(() => {\n fetchStationOfBasin();\n setStationIdSelected(\"\");\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTimeSelected(\"\");\n setTimeFormat(\"\");\n }, [stationIdSelected]);\n\n useEffect(() => {\n console.log({ timeSelected });\n }, [timeSelected]);\n\n useEffect(() => {\n setDisplayReport(false);\n }, [stationIdSelected, basinIdSelected, timeFormat, timeSelected]);\n\n // if (allBasin) {\n // allBasin.forEach((basin) => {\n // if (basin.basinTh) {\n // const list = {\n // value: basin.basinId,\n // label: `${basin.basinId} : ${basin.basinTh}`,\n // };\n // optionsBasin.push(list);\n // }\n // });\n // }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.stationTh) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin && stationIdSelected) {\n stationSelected = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n }\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n setIsLoading(true);\n setDisplayReport(true);\n\n const baseUrl = `${localReportUrl}/frmGageHeight.aspx?`;\n\n const funcId = \"2604\";\n\n const getYear = new Date(timeFormat).getFullYear();\n\n const url = `${baseUrl}station_id=${\n stationIdSelected.value\n }&UserId=${userId}&ServerTime=${convertDate(timeFormat)}&type=${\n timeSelected.value\n }&token=${token}&functionid=${funcId}`;\n const urlTypeYear = `${baseUrl}station_id=${stationIdSelected.value}&UserId=${userId}&YearSelect=${getYear}&type=${timeSelected.value}&token=${token}&functionid=${funcId}`;\n\n if (timeSelected.value == \"3\") {\n setReportUrl(urlTypeYear);\n } else {\n setReportUrl(url);\n }\n\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n if (!stationIdSelected || !timeFormat || !timeSelected) {\n setReportUrl(null);\n }\n\n setDisableBtn(false);\n }, [stationIdSelected, timeFormat, timeSelected]);\n\n const displayForm = (\n
    \n
    \n \n\n {stationIdSelected ? (\n <>\n
    \n
    \n
    \n \n ev ? setTimeSelected(ev) : setTimeSelected(\"\")\n }\n noOptionsMessage={() => \"ไม่พบเวลา\"}\n value={timeSelected}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n แสดงรายงาน\n \n
    \n \n ) : (\n \"\"\n )}\n \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default ReportWaterLevelAuto;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport { useSelector } from \"react-redux\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\n\nconst ReportWaterLevelManualMonthly = () => {\n const [allBasin, setAllBasin] = useState(\"\");\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationDetail, setStationDetail] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [displayReport, setDisplayReport] = useState(false);\n const [disableBtn, setDisableBtn] = useState(false);\n const [timeFormat, setTimeFormat] = useState(\"\");\n const [reportUrl, setReportUrl] = useState(\"\");\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n\n const userId = useSelector((state) => state.profileReducer.userData.sub);\n const token = localStorage.getItem(\"token\");\n\n let optionsBasin = [];\n let optionsStationsOfBasin = [];\n let stationSelected = [];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"30px\",\n top: \"10px\",\n zIndex: 9,\n },\n };\n\n const fetchAllBasin = () => {\n dwrApi\n .get(\"/Basins\")\n .then((res) => {\n setAllBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n const fetchStationOfBasin = () => {\n dwrApi\n .get(`/Stations/Hydro?StationTypeId=1&BasinId=${basinIdSelected.value}`)\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n useEffect(() => {\n fetchAllBasin();\n }, []);\n\n useEffect(() => {\n fetchStationOfBasin();\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n }, [stationIdSelected]);\n\n useEffect(() => {\n setDisplayReport(false);\n }, [stationIdSelected, basinIdSelected, timeFormat]);\n\n if (allBasin) {\n allBasin.forEach((basin) => {\n if (basin.basinTh) {\n const list = {\n value: basin.basinId,\n label: `${basin.basinId} : ${basin.basinTh}`,\n };\n optionsBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.stationTh) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin && stationIdSelected) {\n stationSelected = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n }\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n setIsLoading(true);\n setDisplayReport(true);\n const baseUrl = `${localReportUrl}/frmGageHeight.aspx?`;\n\n const funcId = \"2606\";\n const yearSelect = new Date(timeFormat).getFullYear();\n const urlTypeYear = `${baseUrl}station_id=${stationIdSelected.value}&UserId=${userId}&YearSelect=${yearSelect}&type=4&token=${token}&functionid=${funcId}`;\n setReportUrl(urlTypeYear);\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n if (!stationIdSelected || !timeFormat) {\n setReportUrl(null);\n }\n setDisableBtn(false);\n }, [stationIdSelected, timeFormat]);\n\n const displayForm = (\n
    \n
    \n \n\n
    \n
    ปี :
    \n\n
    \n \n
    \n
    \n\n
    \n \n แสดงรายงาน\n \n
    \n \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default ReportWaterLevelManualMonthly;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport { useSelector } from \"react-redux\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst ReportWaterLevelManualDaily = () => {\n const [allBasin, setAllBasin] = useState(\"\");\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationDetail, setStationDetail] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [displayReport, setDisplayReport] = useState(false);\n\n const [timeFormat, setTimeFormat] = useState(\"\");\n const [reportUrl, setReportUrl] = useState(\"\");\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n const [disableBtn, setDisableBtn] = useState(false);\n\n const userId = useSelector((state) => state.profileReducer.userData.sub);\n\n const token = localStorage.getItem(\"token\");\n\n let optionsBasin = [];\n let optionsStationsOfBasin = [];\n let stationSelected = [];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"30px\",\n top: \"10px\",\n zIndex: 9,\n },\n };\n\n const fetchAllBasin = () => {\n dwrApi\n .get(\"/Basins\")\n .then((res) => {\n setAllBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n const fetchStationOfBasin = () => {\n dwrApi\n .get(`/Stations/Hydro?StationTypeId=1&BasinId=${basinIdSelected.value}`)\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n useEffect(() => {\n fetchAllBasin();\n }, []);\n\n useEffect(() => {\n fetchStationOfBasin();\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n }, [stationIdSelected]);\n\n useEffect(() => {\n setDisplayReport(false);\n }, [stationIdSelected, basinIdSelected, timeFormat]);\n\n if (allBasin) {\n allBasin.forEach((basin) => {\n if (basin.basinTh) {\n const list = {\n value: basin.basinId,\n label: `${basin.basinId} : ${basin.basinTh}`,\n };\n optionsBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.stationTh) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n if (stationsOfBasin && stationIdSelected) {\n stationSelected = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n }\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n setIsLoading(true);\n setDisplayReport(true);\n const baseUrl = `${localReportUrl}/frmGageHeightHourly.aspx?`;\n\n const funcId = \"2605\";\n const getDate = new Date(timeFormat);\n const serverTime = `${getDate.getFullYear()}-${getDate.getMonth() + 1}-01`;\n\n const url = `${baseUrl}station_id=${stationIdSelected.value}&UserId=${userId}&RecordDate=${serverTime}&MeasureTimeId=1&token=${token}&functionid=${funcId}`;\n\n setReportUrl(url);\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n\n useEffect(() => {\n if (!stationIdSelected || !timeFormat) {\n setReportUrl(null);\n }\n setDisableBtn(false);\n }, [stationIdSelected, timeFormat]);\n\n const displayForm = (\n
    \n
    \n \n\n
    \n
    เดือน/ปี
    \n\n
    \n \n
    \n
    \n\n
    \n \n แสดงรายงาน\n \n {/* \n จัดการข้อมูล (API Test)\n */}\n
    \n \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default ReportWaterLevelManualDaily;\n","import React, { useState, useEffect } from \"react\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useForm } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ButtonSubmitDataMeteo = ({\n stationId,\n // dataConfirm,\n permissions,\n buttonName,\n styleButton,\n startDate,\n dataType,\n isAutoStation,\n}) => {\n const { addToast } = useToasts();\n\n // const [dataToConfirm, setDataToConfirm] = useState([]);\n\n const fetchData = async () => {\n const result = new Date(startDate);\n\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n let day = result.getDate();\n\n try {\n let res = await dwrApi\n .get(\n `/DailyMeteos/Station/${stationId}?MeteoTypeId=${\n dataType.value || dataType\n }&month=${month}&year=${year}${isAutoStation ? `&day=${day}` : \"\"}`\n )\n\n return res.data;\n } catch (err) {\n console.error(err);\n }\n // await dwrApi\n // .get(\n // `/DailyMeteos/Station/${stationId}?MeteoTypeId=${\n // dataType.value || dataType\n // }&month=${month}&year=${year}${isAutoStation ? `&day=${day}` : \"\"}`\n // )\n // .then((res) => {\n // setDataToConfirm(res.data);\n // // console.log('res data', res.data)\n // })\n // .catch((err) => {\n // console.log(err.message);\n // });\n \n };\n\n const onConfirmDailyMeteo = async (ev) => {\n try {\n let confirmData = await fetchData();\n if(confirmData) {\n console.log('check data', confirmData)\n const firstData = confirmData.slice(0, 1)[0];\n const bodyData = confirmData.slice(1, -1);\n const lastData = confirmData.slice(-1)[0];\n await dwrApi.post(\n `/DailyMeteos/${firstData.dailyMeteoId}/${permissions}`\n );\n \n setTimeout(async () => {\n if (bodyData.length) {\n bodyData.map(async (item) => {\n await dwrApi.post(\n `/DailyMeteos/${item.dailyMeteoId}/${permissions}`\n );\n });\n }\n \n if (confirmData.length > 1) {\n await dwrApi\n .post(`/DailyMeteos/${lastData.dailyMeteoId}/${permissions}`)\n .then(async () => {\n await fetchData()\n } );\n }\n \n addToast(

    ทำการยืนยันข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n }, 100);\n }\n \n } catch (err) {\n console.log(err);\n\n addToast(\n

    {err && err.message ? err.message : \"มีบางอย่างผิดพลาด\"}

    ,\n {\n appearance: \"error\",\n autoDismiss: true,\n }\n );\n }\n };\n\n useEffect(() => {\n fetchData();\n }, [startDate]);\n\n const stylesInline = {\n ...styleButton,\n opacity: !stationId ? \"0.5\" : \"1\",\n cursor: !stationId ? \"default\" : \"pointer\",\n };\n\n return (\n
    \n (stationId ? onConfirmDailyMeteo() : \"\")}\n >\n {buttonName}\n
    \n \n );\n};\n\nexport default ButtonSubmitDataMeteo;\n","import React, { useState, useEffect } from \"react\";\nimport { Line, Bar } from \"react-chartjs-2\";\nimport Modal from \"react-modal\";\n\nconst ModalChartManualStationMeteo = ({ data, dataType }) => {\n const [chartData, setChartData] = useState();\n const [modalIsOpen, setModalIsOpen] = useState(false);\n\n // console.log(data, dataType);\n\n const styles = {\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const openModal = (ev) => {\n ev.preventDefault();\n setModalIsOpen(true);\n };\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n padding: \"0\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour}:${minute}`;\n };\n\n const chartGenerate = async () => {\n const labels = [];\n const valueArr = [];\n\n const getValue = data.map((item) => item.hourlyMeteo);\n const getGhVaue = getValue.flat();\n\n if (getGhVaue.length) {\n getGhVaue.map((list) => {\n labels.push(\n `${convertDate(list.meteoDateTime)} ${convertTime(\n list.meteoDateTime\n )}`\n );\n\n valueArr.push(list.meteoHourly);\n });\n }\n\n setChartData({\n labels: labels,\n datasets: [\n {\n label: `กราฟปริมาณ${dataType ? dataType.dataName : \"ระดับน้ำ\"}`,\n data: valueArr,\n backgroundColor: [\"rgba(41, 171, 226, 1)\"],\n borderWidth: 4,\n pointBorderWidth: 1,\n borderColor: [\"rgba(41, 171, 226, 1)\"],\n fill: false,\n },\n ],\n });\n };\n\n let options = {\n scales: {\n x: {\n ticks: {\n maxTicksLimit: 10,\n maxRotation: 90,\n minRotation: 90,\n },\n },\n },\n plugins: {\n zoom: {\n zoom: {\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: true,\n },\n mode: \"x\",\n },\n pan: {\n enabled: true,\n mode: \"xy\",\n speed: 1,\n threshold: 1,\n },\n },\n },\n };\n\n useEffect(() => {\n if (data && data.length) {\n chartGenerate();\n }\n }, [data]);\n\n return (\n
    \n \n แสดงกราฟ\n \n \n \n \n ข้อมูลปริมาณ{dataType?.dataName}\n เฉลี่ยรายวัน {convertDate(data[0]?.avgMeteo.meteoDate)} ถึง{\" \"}\n {convertDate(data[data?.length - 1]?.avgMeteo.meteoDate)}\n \n
    \n
    \n {/* */}\n\n
    {`กราฟปริมาณ${\n dataType ? dataType.dataName : \"ระดับน้ำ\"\n }`}
    \n {dataType && dataType.value == \"01\" ? (\n \n ) : (\n \n )}\n
    \n \n \n );\n};\n\nexport default ModalChartManualStationMeteo;\n","import React, { useState, useEffect } from \"react\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ModalChartAutoStation from \"../../../Components/ModalChartAutoStation\";\nimport { useForm } from \"react-hook-form\";\nimport ModalSubmitDataMeteo from \"../../../Components/ModalSubmitDataMeteo\";\nimport { FaRegCommentDots } from \"react-icons/fa\";\nimport { useSelector } from \"react-redux\";\nimport ModalTypeRemark from \"../../../Components/ModalTypeRemark\";\nimport ModalShowRemark from \"../../../Components/ModalShowRemark\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\nimport moment from \"moment\";\nimport { convertDecimals } from \"../../../Services/Function\";\nimport ButtonSubmitDataMeteo from \"../../../Components/ButtonSubmitDataMeteo\";\nimport ModalChartManualStationMeteo from \"../../../Components/ModalChartManualStationMeteo\";\nimport ModalConfirm from \"../../../Components/ModalConfirm\";\n\nconst ManualStationMeteo = () => {\n const { addToast } = useToasts();\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationsOfBasin, setStationsOfBasin] = useState();\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationDetail, setStationDetail] = useState(\"\");\n const [measureTime, setMeasureTime] = useState(\"\");\n\n const [transaction, setTransaction] = useState(\"\");\n const [transactionSelected, setTransactionSelected] = useState(\"\");\n const [newTransactionSelected, setNewTransactionSelected] = useState(\"\");\n const [newTransactionFullfill, setNewTransactionFullfill] = useState(\"\");\n const [timePeriod, setTimePeriod] = useState(\"\");\n const [alertMessage, setAlertMessage] = useState(\"\");\n\n const [dataType, setDataType] = useState(\"\");\n const [measureTimeSeclected, setMeasureTimeSelected] = useState(\"\");\n const [startDate, setStartDate] = useState(\"\");\n const [dateMarkup, setDateMarkup] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [monthSelected, setMonthSelected] = useState(\"\");\n const [yearSelected, setYearSelected] = useState(\"\");\n const [daysInMonth, setDaysInMonth] = useState(\"\");\n\n const [modalConfirmOpen, setModalConfirmOpen] = useState(false);\n\n const userPermissions = useSelector(\n (state) => state.profileReducer.userPermissions\n );\n\n let optionDataType = [];\n let optionTimePeriod = [];\n let dataMeteoMeasurements = [];\n\n useEffect(() => {\n const dateConvert = new Date(startDate);\n const mo = dateConvert.getMonth();\n const ye = dateConvert.getFullYear();\n const dim = new Date(ye, mo + 1, 0).getDate();\n\n setMonthSelected(mo);\n setYearSelected(ye);\n setDaysInMonth(dim);\n }, [startDate]);\n\n let pureHourlyMeteo = [];\n const {\n register,\n handleSubmit,\n watch,\n formState: { errors },\n setValue,\n reset,\n } = useForm();\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear() + 543;\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}/${month}/${year}`;\n };\n\n const convertDate2 = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const convertTime = (value) => {\n const result = new Date(value);\n\n let hour = result.getHours();\n let minute = result.getMinutes();\n\n if (hour < 10) {\n hour = \"0\" + hour;\n }\n if (minute < 10) {\n minute = \"0\" + minute;\n }\n\n return `${hour} : ${minute}`;\n };\n\n const convertMonth = (value) => {\n const result = new Date(value);\n\n let month = result.getMonth();\n let year = result.getFullYear();\n\n const monthNames = [\n \"มกราคม\",\n \"กุมภาพันธ์\",\n \"มีนาคม\",\n \"เมษายน\",\n \"พฤษภาคม\",\n \"มิถุนายน\",\n \"กรกฎาคม\",\n \"สิงหาคม\",\n \"กันยายน\",\n \"ตุลาคม\",\n \"พฤศจิกายน\",\n \"ธันวาคม\",\n ];\n\n return ` ${monthNames[month]} ${year}`;\n };\n\n const fetchMeteoStation = () => {\n let stationTypeId = \"1\";\n dwrApi\n .get(\n `/Stations/Meteo?StationTypeId=${stationTypeId}&BasinId=${basinIdSelected.value}`\n )\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n const fetchTransaction = () => {\n const result = new Date(startDate);\n\n const month = result.getMonth() + 1;\n const year = result.getFullYear();\n\n dwrApi\n .get(\n `/HourlyMeteos/Station/${stationIdSelected.value}?month=${month}&year=${year}`\n )\n .then((res) => {\n setTransaction(res.data);\n if (!res.data.length) {\n setAlertMessage(\"ไม่พบข้อมูล\");\n }\n })\n .catch((err) => {\n console.log(\"err\", err);\n });\n };\n\n const fetchMeasureTime = () => {\n dwrApi\n .get(`/measureTimes`)\n .then((res) => {\n setMeasureTime(res.data);\n })\n .catch((error) => console.error(error.message, \"💥💥💥 \"));\n };\n\n useEffect(() => {\n if (basinIdSelected) {\n fetchMeteoStation();\n }\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTransaction(\"\");\n setNewTransactionSelected(\"\");\n setNewTransactionFullfill(\"\");\n setAlertMessage(\"\");\n\n if (startDate && stationIdSelected) fetchTransaction();\n }, [startDate, stationIdSelected, dataType]);\n\n useEffect(() => {\n if (stationIdSelected) {\n setDataType(\"\");\n setStartDate(\"\");\n setMeasureTimeSelected(null);\n setTransaction(\"\");\n }\n }, [stationIdSelected]);\n\n useEffect(() => {\n fetchMeasureTime();\n }, []);\n\n useEffect(() => {\n if (transaction && dataType) {\n const filterTransaction = transaction.filter((item) => {\n return item.meteoTypeId == dataType.value && item.measureTimeId;\n });\n setTransactionSelected(filterTransaction[0] || []);\n }\n }, [transaction, dataType]);\n\n if (stationDetail.length) {\n stationDetail[0].configDataStation.map((item) => {\n if (item.meteotype) dataMeteoMeasurements.push(item.meteotype);\n });\n }\n\n if (dataMeteoMeasurements.length) {\n dataMeteoMeasurements.forEach((item) => {\n const list = {\n value: item.meteoTypeId,\n label: `${item.meteoTypeId} : ${item.meteoTypeTh} `,\n dataName: item.meteoTypeTh,\n };\n optionDataType.push(list);\n });\n }\n let filterMeasureTimeId = [];\n\n if (transaction.length) {\n transaction.map((item) => {\n if (item.measureTimeId && item.meteoTypeId == dataType.value) {\n filterMeasureTimeId.push(item.measureTimeId);\n }\n });\n }\n\n if (measureTime.length) {\n measureTime.map((time) => {\n if (time.measureTypeId == \"2\") {\n const list = {\n value: time.measureTimeDesc,\n label: `${time.measureTimeDesc} เวลา`,\n id: time.measureTimeId,\n };\n optionTimePeriod.push(list);\n }\n });\n }\n\n if (transactionSelected) {\n transactionSelected.meteoSiteOuts?.map((item) => {\n item.hourlyMeteo.map((data) => {\n pureHourlyMeteo.push(data);\n });\n });\n }\n\n const generateTable = () => {\n if (measureTime && measureTimeSeclected && transaction) {\n const filterTime = measureTime.filter(\n (time) =>\n time.measureTypeId == \"2\" &&\n time.measureTimeDesc == measureTimeSeclected.value\n );\n\n setTimePeriod(filterTime[0]);\n reset();\n setModalConfirmOpen(false);\n // generateDataTable();\n }\n };\n\n const onHandleSubmit = async (ev) => {\n // let data = [];\n let newData = [];\n let editData = [];\n let mId = \"\";\n\n const month = (new Date(startDate).getMonth() + 1)\n .toString()\n .padStart(2, \"0\");\n const year = new Date(startDate).getFullYear();\n\n if (\n !Array.isArray(transactionSelected) &&\n transactionSelected.measureTimeId !== timePeriod.measureTimeId\n ) {\n const dataPostMeteo = {\n meteoId: transactionSelected.maxHourlyMeteo?.meteoId,\n stationId: stationIdSelected.value,\n meteoTypeId: dataType.value,\n recordDate: `${year}-${month}-01T00:00:00`,\n measureTimeId: timePeriod.measureTimeId,\n };\n\n await dwrApi\n .post(`/Meteos`, dataPostMeteo)\n .then((res) => {\n console.log(\".post(`/Meteos\", res.data);\n mId = res.data.meteoId;\n })\n .catch((err) => {\n console.log(\"err Post Meteos\", err.message);\n });\n }\n\n const configPost = {\n headers: {\n \"X-Function-Header\": \"\",\n },\n };\n const configPut = {\n headers: {\n \"X-Function-Header\": \"\",\n },\n };\n\n const data = Object.keys(ev).map((e) => {\n const filterData = pureHourlyMeteo.filter(\n (data) => data.meteoDateTime == e\n )[0];\n\n return {\n meteoDateTime: e,\n // meteoHourly: +ev[e].value || null,\n meteoHourly: ev[e].value ? +ev[e].value : null,\n hourlyMeteoId: filterData ? +filterData.hourlyMeteoId : null,\n meteoId: mId ? +mId : filterData ? +filterData.meteoId : null,\n meteoTypeId: filterData ? +filterData.meteoTypeId : null,\n remark:\n \"remark\" in ev[e]\n ? ev[e].remark\n : filterData\n ? filterData.remark\n : null,\n typeRemark:\n \"typeRemark\" in ev[e]\n ? ev[e].typeRemark\n : filterData\n ? filterData.typeRemark\n : null,\n };\n });\n\n data.map((item) => {\n if (item.hourlyMeteoId) {\n editData.push(item);\n } else if (\n !item.hourlyMeteoId &&\n (item.meteoHourly !== null || item.typeRemark)\n ) {\n const list = {\n stationId: stationIdSelected.value,\n meteoDateTime: item.meteoDateTime,\n meteoTypeId: dataType.value,\n // meteoId: item.meteoId,\n meteoHourly: item.meteoHourly,\n typeRemarkId: item.typeRemark,\n remark: item.remark,\n };\n newData.push(list);\n }\n });\n\n console.log({ editData, newData });\n\n if (editData.length) {\n await dwrApi\n .put(`/HourlyMeteos`, editData)\n .then(() => {\n setIsLoading(false);\n\n addToast(

    แก้ไขข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => {\n setIsLoading(false);\n console.error(\"put HourlyMeteos\", err.response.status, err.message);\n });\n }\n\n if (newData.length) {\n dwrApi\n .post(\n `/HourlyMeteos/Station/${stationIdSelected.value}?MeteoTypeId=${dataType.value}&month=${month}&year=${year}`,\n newData\n )\n .then(() => {\n setIsLoading(false);\n addToast(

    เพิ่มข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => {\n console.error(\"post HourlyMeteos\", err.response.status, err.message);\n\n setIsLoading(false);\n let message = \"กรุณาลองใหม่\";\n if (err.response && err.response.status == 401) {\n message = \"ไม่สามารถเพิ่มข้อมูลได้ กรุณาล็อกอิน\";\n } else if (err.response && err.response.status == 400) {\n message = \"ข้อมูลไม่ถูกต้อง\";\n }\n addToast(

    {message}

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n }\n };\n\n const onOpenModalConfirm = (ev) => {\n ev.preventDefault();\n setModalConfirmOpen(true);\n };\n\n const generateDayInMonth = () => {\n if (startDate && timePeriod && transactionSelected) {\n setNewTransactionSelected([]);\n for (let dayIndex = 0; dayIndex < +daysInMonth; dayIndex++) {\n const dateFilter = transactionSelected?.meteoSiteOuts?.filter(\n (item) => {\n return new Date(item.avgMeteo.meteoDate).getDate() == dayIndex + 1;\n }\n );\n\n const dataBlank = {\n avgMeteo: {\n meteoDate: new Date(yearSelected, monthSelected, dayIndex + 2)\n .toISOString()\n .slice(0, 19),\n dailyMeteo: \"\",\n },\n hourlyMeteo: [],\n };\n\n if (dateFilter && dateFilter.length) {\n setNewTransactionSelected((newTransactionSelected) => [\n ...newTransactionSelected,\n ...dateFilter,\n ]);\n } else {\n setNewTransactionSelected((newTransactionSelected) => [\n ...newTransactionSelected,\n dataBlank,\n ]);\n }\n }\n }\n };\n\n const generateDataTable = async () => {\n await setNewTransactionFullfill([]);\n\n if (newTransactionSelected) {\n newTransactionSelected.map((item) => {\n let dateElements = [];\n let remarkElements = [];\n\n for (let index = 0; index < +timePeriod.groupMeasure.length; index++) {\n const filterByDate = item.hourlyMeteo.filter((time) => {\n let tm = new Date(time.meteoDateTime).getHours();\n let pd = +timePeriod.groupMeasure[index].timePeriod.slice(0, -6);\n\n return tm === pd;\n });\n\n if (filterByDate.length) {\n dateElements.push(filterByDate[0]);\n if (filterByDate[0].remark) {\n remarkElements.push({\n time: filterByDate[0].meteoDateTime,\n remark: filterByDate[0].remark,\n });\n }\n } else {\n const data = {\n meteoHourly: null,\n meteoTypeId: null,\n meteoDateTime: `${convertDate2(item.avgMeteo.meteoDate)}T${\n timePeriod.groupMeasure[index].timePeriod\n }`,\n meteoId: null,\n hourlyMeteoId: null,\n remark: null,\n typeRemark: null,\n };\n\n dateElements.push(data);\n }\n }\n\n const dataObj = {\n avgMeteo: item.avgMeteo,\n hourlyMeteo: dateElements,\n remarkElements,\n };\n\n setNewTransactionFullfill((newTransactionFullfill) => [\n ...newTransactionFullfill,\n dataObj,\n ]);\n });\n }\n };\n\n useEffect(() => {\n generateDayInMonth();\n }, [transactionSelected, timePeriod]);\n\n useEffect(() => {\n if (newTransactionSelected) {\n generateDataTable();\n }\n }, [newTransactionSelected]);\n\n useEffect(() => {\n if (\n transactionSelected &&\n optionTimePeriod.length &&\n !measureTimeSeclected\n ) {\n const filterOptions = optionTimePeriod.filter(\n (option) => option.id == transactionSelected.measureTimeId\n );\n\n if (filterOptions.length) {\n setMeasureTimeSelected(filterOptions[0]);\n }\n }\n }, [transactionSelected]);\n\n const displayForm = (\n
    \n
    \n \n {stationIdSelected ? (\n <>\n
    \n
    ประเภทข้อมูล
    \n
    \n setDataType(ev)}\n noOptionsMessage={() => \"ไม่พบประเภทข้อมูล\"}\n />\n
    \n
    \n
    \n
    เดือน / ปี
    \n
    \n \n
    \n
    \n\n
    \n
    กำหนดเวลา
    \n
    \n setMeasureTimeSelected(ev)}\n value={measureTimeSeclected}\n noOptionsMessage={() => \"ไม่พบคาบเวลา\"}\n />\n
    \n
    \n\n
    \n \n จัดการข้อมูล\n \n
    \n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n\n const onResetValues = async () => {\n if (newTransactionFullfill.length) {\n const getMeteoHrs = newTransactionFullfill\n .map((item) => item.hourlyMeteo)\n .flat()\n .filter((list) => list.meteoHourly);\n\n const meteoValue = getMeteoHrs.map((item) => {\n const objKey = `${item.meteoDateTime}`;\n return {\n [objKey]: {\n value:\n item.meteoHourly !== null\n ? convertDecimals(+item.meteoHourly)\n : null,\n },\n };\n });\n\n const defValues = await Object.assign({}, ...meteoValue);\n\n reset(defValues);\n }\n };\n\n useEffect(() => {\n onResetValues();\n }, [newTransactionFullfill]);\n\n const displayTable = (\n <>\n
    \n
    \n \n
    \n
    \n \n \n \n \n \n \n \n \n \n {timePeriod &&\n timePeriod.groupMeasure.map((item, index) => {\n return (\n \n );\n })}\n \n \n \n {newTransactionFullfill.length ? (\n newTransactionFullfill.map((item, index) => {\n let dataQty = 0;\n const allDateTime = item.hourlyMeteo.map((data) => {\n if (watch(`${data.meteoDateTime}.value`)) dataQty++;\n\n return `${data.meteoDateTime}.value`;\n });\n\n const total = allDateTime.reduce((total, num) => {\n return +total + +watch(num);\n }, 0);\n\n return (\n \n \n {item.hourlyMeteo.map((data, index) => {\n return (\n \n \n \n \n \n \n );\n })}\n \n \n \n );\n })\n ) : (\n

    กรุณาเลือกชุดข้อมูล

    \n )}\n \n
    วันที่\n {dataType.value == \"01\"\n ? \"ปริมาณน้ำฝนที่อ่านได้ ( ม.ม.)\"\n : \"ปริมาณที่อ่านได้\"}\n \n {dataType.value == \"01\" ? \"รวม ( ม.ม.)\" : \"ปริมาณ\"}\n หมายเหตุ
    \n {item.timePeriod.slice(0, -3)}\n
    {convertDate(item.avgMeteo.meteoDate)}\n {total && dataQty ? (total / dataQty).toFixed(2) : \"\"}\n \n \n
    \n
    \n \n \n บันทึก\n \n \n\n \n \n \n\n \n \n \n\n \n \n \n
    \n \n );\n\n return (\n
    \n \n
    \n {displayForm}\n
    \n\n {newTransactionSelected.length && transaction ? (\n <>\n
    \n
    {displayTable}
    \n
    \n \n ) : (\n \"\"\n )}\n\n \n
    \n );\n};\n\nexport default ManualStationMeteo;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ModalDeleteStation = ({ title, selectedDataId, setIsAction }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"10px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n\n let subUrl = \"Stations\";\n dwrApi\n .delete(`/${subUrl}/${selectedDataId}`)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsAction(true);\n setIsLoading(false);\n });\n };\n\n const displayButtonOpenModal = (\n
    \n \n
    \n );\n\n const displayContent = (\n
    คุณต้องการลบ{title} ที่เลือกใช่หรือไม่
    \n );\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n
    \n {displayContent}\n
    \n \n {!isLoading ? <>ตกลง : displaySpiner}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalDeleteStation;\n","import React from \"react\";\n\nconst CheckInput = ({ title, register, required, keyName }) => {\n const styles = {\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n },\n };\n\n return (\n
    \n \n \n
    \n );\n};\n\nexport default CheckInput;\n","import React from \"react\";\n\nconst DateInput = ({ title, register, required, keyName }) => {\n const styles = {\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n return (\n
    \n
    {title}
    \n
    \n \n
    \n
    \n );\n};\n\nexport default DateInput;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm, useFieldArray, Controller } from \"react-hook-form\";\nimport TextInput from \"./TextInput\";\nimport DateInput from \"./DateInput\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport xlsxParser from \"xls-parser\";\nimport _ from \"lodash\";\nimport DatePicker from \"react-datepicker\";\nimport { FaCalendarAlt } from \"react-icons/fa\";\nimport CustomDatePicker from \"./CustomDatePicker\";\n\nconst ModalAddCrossSection = ({\n stationId,\n crossSectionData,\n setCrossSectionData,\n defaultValue,\n type,\n preview,\n}) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const [inputTypeSelected, setInputTypeSelected] = useState(\"text\");\n\n const defaultValues = {\n surveyNo: defaultValue?.surveyNo,\n surveyDate:\n defaultValue && defaultValue.surveyDate\n ? new Date(defaultValue.surveyDate)\n : \"\",\n leftCrossSection: defaultValue?.leftCrossSection,\n rightCrossSection: defaultValue?.rightCrossSection,\n crossSectionInfo: defaultValue?.crossSectionInfo,\n };\n\n const {\n register: registerCs,\n reset: resetCs,\n handleSubmit: handleSubmitCs,\n setValue: setValueCs,\n formState: { errors: errorsCs },\n control: controlCs,\n watch: watchCs,\n } = useForm(defaultValue ? { defaultValues } : \"\");\n\n const { fields, append, prepend, remove, swap, move, insert, replace } =\n useFieldArray({\n control: controlCs,\n name: \"crossSectionInfo\",\n });\n\n const watchFile = watchCs(\"crosssection-file\");\n const watchIdentiify = watchCs(\"crosssection_detail\");\n\n useEffect(() => {\n if (defaultValues && modalIsOpen) {\n resetCs(defaultValues);\n }\n }, [modalIsOpen]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n inputInactive: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 10%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"gray\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"30px\",\n top: \"10px\",\n cursor: \"pointer\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n },\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n resetCs({\n surveyNo: null,\n surveyDate: null,\n leftCrossSection: null,\n rightCrossSection: null,\n crossSectionInfo: [],\n });\n setModalIsOpen(false);\n };\n\n const onSwitchInput = (ev) => {\n setInputTypeSelected(ev.target.value);\n // resetCs({\n // crossSectionInfo: [],\n // });\n\n // setValueCs(\"crossSectionInfo\", []);\n if (ev.target.value === \"text\") {\n setValueCs(\"crosssection-file\", \"\");\n } else if (ev.target.value === \"file\") {\n setValueCs(\"crosssection_detail\", \"\");\n }\n };\n\n const onHandleSunmit = async (ev) => {\n console.log(\"click\");\n const crossSectionInfo = await ev.crossSectionInfo?.map((item, index) => {\n return {\n orderNo: (index + 1).toString(),\n wideRiverX: +item.wideRiverX,\n heightY: +item.heightY,\n };\n });\n\n const data = {\n xId: _.uniqueId(\"x-\"),\n surveyNo: +ev.surveyNo,\n surveyDate: convertDate(ev.surveyDate),\n leftCrossSection: +ev.leftCrossSection,\n rightCrossSection: +ev.rightCrossSection,\n crossSectionInfo,\n };\n\n if (type == \"add\") {\n setCrossSectionData((crossSectionData) => [...crossSectionData, data]);\n } else if (type == \"edit\") {\n const replaceData = crossSectionData.map((item) => {\n return item.crossSectionId === defaultValue.crossSectionId\n ? data\n : item;\n });\n\n console.log({ replaceData, defaultValue, crossSectionData });\n\n setCrossSectionData(replaceData);\n }\n\n closeModal();\n };\n\n const onInsertXls = () => {\n // ev.preventDefault();\n // const file = ev.target.files[0];\n const file = watchFile[0];\n console.log({ file });\n\n if (file) {\n xlsxParser.onFileSelection(file).then(async (data) => {\n let result = data[Object.keys(data)[0]];\n console.log({ result });\n\n let toAdd =\n result.length > 1\n ? {\n leftCrossSection: result[0].heightY,\n rightCrossSection: result[result.length - 1].heightY,\n }\n : {};\n\n resetCs({\n ...toAdd,\n crossSectionInfo: result,\n });\n });\n }\n };\n\n const onHandleData = (ev) => {\n ev.preventDefault();\n\n if (inputTypeSelected === \"text\") {\n let crosssectionArr = [];\n\n for (let i = 0; i < watchIdentiify; i++) {\n const list = { wideRiverX: \"\", heightY: \"\" };\n crosssectionArr.push(list);\n }\n\n resetCs({\n crossSectionInfo: crosssectionArr,\n });\n } else if (inputTypeSelected === \"file\") {\n onInsertXls();\n }\n };\n\n const displayTable = (\n <>\n \n \n \n \n \n \n \n \n \n \n {fields.map((item, index) => {\n return (\n \n \n\n \n \n\n \n \n );\n })}\n \n
    ลำดับความกว้างของท้องน้ำ (ม.) (X) ค่าระกับความสูง (ม.) (Y)ลบ
    {index + 1}\n \n \n \n \n remove(index)} />\n
    \n \n );\n\n const croesstionElQty = watchCs(\"crossSectionInfo\")?.length;\n const [tDate, setTDate] = useState(\"\");\n\n return (\n
    \n
    \n {type == \"add\" ? (\n {}}\n style={preview ? { display: \"none\" } : { cursor: \"pointer\" }}\n >\n เพิ่มข้อมูล Cross section\n
    \n ) : (\n {}}\n style={{ cursor: \"pointer\" }}\n >\n แก้ไข\n
    \n )}\n \n \n \n \n การบันทึก/แก้ไข ข้อมูล Cross section\n \n \n \n \n \n\n
    \n \n
    \n\n
    \n
    เมื่อวันที่ :
    \n
    \n (\n // \n\n \n }\n {...field}\n // onChange={(date) => field.onChange(date)}\n // value={field.value}\n selected={field.value}\n />\n )}\n />\n
    \n
    \n\n
    \n \n
    \n \n
    \n\n
    \n
    \n \n
    \n
    กรอกข้อมูล :
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    นำเข้าข้อมูล :
    \n
    \n \n \n ตัวอย่างไฟล์\n \n
    \n
    \n
    \n
    \n \n จัดการข้อมูล\n \n
    \n\n
    จำนวน CrossSection ทั้งหมด : {croesstionElQty}
    \n
    \n {\n append({ wideRiverX: \"\", heightY: \"\" });\n }}\n style={styles.buttonAdd}\n >\n + เพิ่มข้อมูล\n
    \n \n {fields.length ? (\n <>\n
    {displayTable}
    \n
    \n \n ตกลง\n \n
    \n \n ) : (\n \"\"\n )}\n \n \n \n );\n};\n\nexport default ModalAddCrossSection;\n","import React from \"react\";\n// import Select from \"react-select\";\n\nconst SelectInput = ({\n title,\n options,\n register,\n required,\n keyName,\n defaultValue,\n styleInput,\n}) => {\n const styles = {\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n width: \"100%\",\n fontFamily: \"inherit\",\n height: \"38px\",\n fontFamily: \"THSarabunNew\",\n fontSize: \"20px\",\n },\n };\n\n return (\n
    \n
    {title}
    \n
    \n \n \n {options &&\n options.length &&\n options.map((item, i) => {\n return (\n \n {item.label}\n \n );\n })}\n \n
    \n
    \n );\n};\n\nexport default SelectInput;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { Line } from \"react-chartjs-2\";\n\nconst ModalPreviewCrossSection = ({ crossSectionData }) => {\n const { crossSectionInfo } = crossSectionData;\n const [isModalOpen, setIsModalOpen] = useState(false);\n const [chartData, setChartData] = useState();\n\n let subtitle;\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n minWidth: \"500px\",\n },\n };\n\n const openModal = () => {\n setIsModalOpen(true);\n };\n\n const closeModal = () => {\n setIsModalOpen(false);\n };\n\n const chartGenerate = async () => {\n const orderingCrossSectionInfo = [...crossSectionInfo]?.sort(\n (a, b) => +a.wideRiverX - +b.wideRiverX\n );\n\n const labels = orderingCrossSectionInfo?.map((item) => item.wideRiverX);\n const valueCrossSection = orderingCrossSectionInfo?.map(\n (item) => item.heightY\n );\n\n setChartData({\n labels: labels,\n datasets: [\n {\n label: \"ลำน้ำ\",\n data: valueCrossSection,\n type: \"line\",\n backgroundColor: \"rgba(\t149\t,68\t,13, 1)\",\n borderColor: \"rgba(\t149\t,68\t,13, 1)\",\n fill: \"start\",\n pointRadius: 2,\n tension: 0.1,\n },\n ],\n });\n };\n\n let options = {\n scales: {\n x: {\n ticks: {\n maxTicksLimit: 10,\n maxRotation: 90,\n minRotation: 90,\n },\n },\n },\n plugins: {\n zoom: {\n zoom: {\n wheel: {\n enabled: true,\n },\n pinch: {\n enabled: true,\n },\n mode: \"x\",\n },\n pan: {\n enabled: true,\n mode: \"xy\",\n speed: 1,\n threshold: 1,\n },\n },\n },\n };\n\n useEffect(() => {\n if (crossSectionInfo.length) chartGenerate();\n }, [crossSectionInfo]);\n\n return (\n
    \n
    \n ดูภาพ\n
    \n \n
    \n
    พรีวิวข้อมูล
    \n
    \n x\n
    \n
    \n
    \n {chartData ? (\n \n ) : (\n \"ไม่มีข้อมูล Crosssection\"\n )}\n
    \n \n
    \n );\n};\n\nexport default ModalPreviewCrossSection;\n","import React from \"react\";\nimport Modal from \"react-modal\";\n\nconst ModalView = ({\n title,\n callBackSubmit,\n modalIsOpen,\n setModalIsOpen,\n\n children,\n}) => {\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"10px\",\n minWidth: \"400px\",\n },\n };\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const displayHeader =
    {title}
    ;\n\n return (\n \n
    \n {displayHeader}\n {children}\n
    \n {\n callBackSubmit();\n }}\n style={styles.buttonType2}\n >\n ตกลง\n
    \n \n ยกเลิก\n \n \n \n \n );\n};\n\nexport default ModalView;\n","import React, { useState, useEffect } from \"react\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport CheckInput from \"./CheckInput\";\nimport DateInput from \"./DateInput\";\nimport ModalAddCrossSection from \"./ModalAddCrossSection\";\nimport SelectInput from \"./SelectInput\";\nimport TextInput from \"./TextInput\";\nimport TitleText from \"./TitleText\";\nimport { FaChevronDown, FaChevronUp, FaChevronLeft } from \"react-icons/fa\";\nimport ModalPreviewCrossSection from \"./ModalPreviewCrossSection\";\nimport InputWithUnit from \"./InputWithUnit\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\nimport { useHistory } from \"react-router-dom\";\nimport ModalView from \"../Components/ModalView\";\nimport SpinnerTool from \"../Tools/Spinner/SpinnerTool\";\nimport ModalStationImage from \"./ModalStationImage\";\nimport { useToasts } from \"react-toast-notifications\";\nimport { MdCancel } from \"react-icons/md\";\nimport { resizeFile, toDataURL } from \"../Services/Function\";\nimport _ from \"lodash\";\n\nconst FormStationDetail = ({\n query,\n type,\n crossSectionData,\n setCrossSectionData,\n dataStation,\n preloadValue,\n onHandleSubmit,\n useForm,\n stationImagesData,\n setStationImagesData,\n}) => {\n const history = useHistory();\n const { addToast } = useToasts();\n const { register, handleSubmit, watch, setValue, reset } = useForm();\n const [gageFieldInput, setGageFieldInput] = useState([]);\n const [optionsDepartment, setOptionsDepartment] = useState([]);\n const [optionsStationCenters, setOptionsStationCenters] = useState([]);\n const [mapData, setMapdata] = useState(null);\n const [newStationImagesData, setNewStationImagesData] = useState([]);\n const [optionBasin, setOptionBasin] = useState([]);\n const [optionSubBasin, setOptionSubBasin] = useState([]);\n const [optionProvince, setOptionProvince] = useState([]);\n const [optionDistrict, setOptionDistrict] = useState([]);\n const [optionSubDistrict, setOptionSubDistrict] = useState([]);\n const [stationRemark, setStationRemark] = useState([]);\n const [hydroTypes, setHydroTypes] = useState([]);\n const [meteoTypes, setMeteoTypes] = useState([]);\n const [mapFilePreview, setMapFilePreview] = useState(null);\n const [showModalDeleteXsection, setShowModalDeleteXsection] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [openModalImage, setOpenModalImage] = useState(false);\n const [openModalMapImg, setOpenModalMapImg] = useState(false);\n const [indexImgSelected, setIndexImgSelected] = useState(0);\n\n const [itemSelected, setItemSelected] = useState({\n item: null,\n index: null,\n });\n const basinIdSelected = watch(\"basinId\");\n const provinceIdSelected = watch(\"province\");\n const districtIdSelected = watch(\"district\");\n const gageSelectedQty = watch(\"gage.gageAmount\");\n const watchStationRemark = watch(\"stationRemark\");\n\n const meteoTypeList = [\n { meteoTypeId: \"01\", keyName: \"meteoSurvey.basicRainSurvey\" },\n { meteoTypeId: \"02\", keyName: \"meteoSurvey.panEvaSurvey\" },\n { meteoTypeId: \"03\", keyName: \"meteoSurvey.tempWaterSurvey\" },\n { meteoTypeId: \"04\", keyName: \"meteoSurvey.tempAirSurvey\" },\n { meteoTypeId: \"06\", keyName: \"meteoSurvey.tempMaxSurvey\" },\n { meteoTypeId: \"08\", keyName: \"meteoSurvey.tempMinSurvey\" },\n { meteoTypeId: \"09\", keyName: \"meteoSurvey.dwhumiSurvey\" },\n { meteoTypeId: \"11\", keyName: \"meteoSurvey.airgMachSurvey\" },\n { meteoTypeId: \"12\", keyName: \"meteoSurvey.solarMachSurvey\" },\n { meteoTypeId: \"13\", keyName: \"meteoSurvey.sunsMachSurvey\" },\n ];\n\n const styles = {\n button1: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n button2: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n fontSize: \"20px\",\n fontFamily: \"THSarabunNew\",\n },\n\n gageFieldinput: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n width: \"100%\",\n border: \"0.5px solid #06538F\",\n fontFamily: \"THSarabunNew\",\n height: 42,\n borderRadius: 3.5,\n },\n accordianHeader: {\n backgroundColor: \"#06538F\",\n height: \"35px\",\n color: \"white\",\n fontFamily: \"THSarabunNew\",\n paddingInline: \"20px\",\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n tabHeader: {\n backgroundColor: \"#06538F\",\n height: \"35px\",\n color: \"white\",\n fontFamily: \"THSarabunNew\",\n paddingInline: \"20px\",\n display: \"flex\",\n justifyContent: \"start\",\n alignItems: \"center\",\n marginBottom: \"5px\",\n },\n };\n\n const FileListItems = (files) => {\n var b = new ClipboardEvent(\"\").clipboardData || new DataTransfer();\n for (var i = 0, len = files.length; i < len; i++) b.items.add(files[i]);\n return b.files;\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${date}-${month}-${year}`;\n };\n const convertDateTime = (value) => {\n const result = new Date(value);\n\n let date = result.getDate().toString().padStart(2, \"0\");\n let month = (result.getMonth() + 1).toString().padStart(2, \"0\");\n let year = result.getFullYear();\n\n let ho = result.getHours().toString().padStart(2, \"0\");\n let min = result.getMinutes().toString().padStart(2, \"0\");\n let sec = result.getSeconds().toString().padStart(2, \"0\");\n\n return `${date}/${month}/${year} ${ho}:${min}:${sec}`;\n };\n\n const onHandleInputMap = async (ev) => {\n // const res = await toDataURL(ev.target.files[0]);\n const res = await resizeFile(ev.target.files[0]);\n console.log(\"onHandleInputMap\", res);\n setMapFilePreview(res);\n };\n\n const onHandleInputStationImage = async (ev) => {\n const imgArr = Array.from(ev.target.files);\n console.log({ imgArr });\n const imgObj = await Promise.all(\n imgArr.map(async (el) => {\n const res = await resizeFile(el);\n\n return {\n stationImageId: _.uniqueId(\"stnImg-\"),\n stationImagePath: res,\n file: el,\n };\n })\n );\n\n setNewStationImagesData((prev) => [...prev, ...imgObj]);\n };\n\n const onHandleDeleteStationImage = (imageId) => {\n dwrApi\n .delete(`/StationImages/${imageId}`)\n .then((res) => {\n addToast(

    ลบรูปภาพเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => {\n addToast(

    ลบรูปภาพไม่สำเร็จ

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n });\n };\n\n const downloadFile = (function () {\n const a = document.createElement(\"a\");\n document.body.appendChild(a);\n a.style = \"display: none\";\n return function (data, fileName) {\n a.href = data;\n a.download = fileName;\n a.click();\n };\n })();\n\n const onHandleDownload = async (stationId) => {\n setIsLoading(true);\n const b64 = await dwrApi\n .get(`/StationOnepages/${stationId}`, { responseType: \"blob\" })\n .then((res) => window.URL.createObjectURL(res.data))\n .then((url) => toDataURL(url))\n .then((data) => downloadFile(data, `stationId-${stationId}`))\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n const fetchLog = async () => {\n await dwrApi\n .get(`StationRemarks/Station/${query.stationId}`)\n .then((res) => {\n setStationRemark(res.data);\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n const fetchMapData = async () => {\n try {\n await dwrApi\n .get(`/MapDatas/${query.MapData.mapId}`)\n .then(async (res) => {\n console.log(\"map\", res);\n\n if (res.data.mapName && res.data.mapName !== \"null\") {\n setMapdata(res.data);\n setMapFilePreview(res.data.pathName);\n await fetch(res.data.pathName).then(async (el) => {\n const splitUrl = el.url.split(\"/\");\n const fileName = splitUrl[splitUrl.length - 1];\n\n const blob = await el.blob();\n const file = new File([blob], fileName);\n const fileList = await new FileListItems([file]);\n\n // setMapFilePreview(el.url);\n setValue(\"pathName\", fileList);\n });\n }\n })\n .catch((err) => {\n console.log(err);\n });\n } catch (err) {\n console.log(err);\n }\n };\n const fetchStationImages = async () => {\n await dwrApi\n .get(`/StationImages/Station/${query.stationId}`)\n .then(async (res) => {\n setStationImagesData(res.data);\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n useEffect(() => {\n if (query) {\n setTimeout(async () => {\n await fetchLog();\n await fetchStationImages();\n await fetchMapData();\n }, 2000);\n }\n }, [query]);\n\n useEffect(() => {\n if (query) {\n reset(preloadValue);\n setCrossSectionData(query.crossSection);\n }\n }, [query]);\n\n useEffect(() => {\n if (query) setValue(\"departmentId\", query?.departmentId);\n }, [query, optionsDepartment]);\n useEffect(() => {\n if (query)\n setValue(\"stationCenterId\", query?.StationCenter?.stationCenterId);\n }, [query, optionsStationCenters]);\n useEffect(() => {\n // console.warn('query', query?.subBasin?.basinId, optionBasin)\n if (query) {\n setValue(\"basin.basinId\", query?.subBasin?.basinId);\n }\n }, [query]);\n\n useEffect(() => {\n // console.warn('optionBasin', query?.subBasin, optionBasin)\n // if (optionBasin) {\n // setValue(\"basin.basinId\", query?.subBasin?.basinId);\n // }\n }, [optionBasin]);\n\n useEffect(() => {\n if (query) setValue(\"subBasin\", query?.subBasin?.subBasinId);\n }, [query, optionSubBasin]);\n useEffect(() => {\n if (query)\n setValue(\n \"province\",\n query?.location?.subDistrict?.district.province.provinceId\n );\n }, [query, optionProvince]);\n useEffect(() => {\n if (query)\n setValue(\"district\", query?.location?.subDistrict?.district.districtId);\n }, [query, optionDistrict]);\n useEffect(() => {\n if (query)\n setValue(\"subDistrict\", query?.location?.subDistrict?.subDistrictId);\n }, [query, optionSubDistrict]);\n\n const fetchDepartment = async () => {\n setOptionsDepartment([]);\n await dwrApi.get(\"/Departments\").then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.departmentId,\n label: `${item.departmentTh}`,\n };\n setOptionsDepartment((optionsDepartment) => [\n ...optionsDepartment,\n list,\n ]);\n });\n });\n };\n\n const fetchStationCenters = async () => {\n setOptionsStationCenters([]);\n await dwrApi.get(\"/StationCenters\").then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.stationCenterId,\n label: `${item.stationCenterName}`,\n };\n setOptionsStationCenters((optionsStationCenters) => [\n ...optionsStationCenters,\n list,\n ]);\n });\n });\n };\n\n const fetchBasin = async () => {\n await dwrApi.get(\"/Basins/User\").then((res) => {\n const list = res.data.map((item) => {\n return {\n value: item.basinId,\n label: `${item.basinTh}`,\n };\n });\n setOptionBasin(list);\n });\n };\n\n const fetchSubBasin = async () => {\n setOptionSubBasin([]);\n\n await dwrApi.get(`/SubBasins/Basin/${basinIdSelected}`).then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.subBasinId,\n label: `${item.subBasinTh}`,\n };\n setOptionSubBasin((optionSubBasin) => [...optionSubBasin, list]);\n });\n });\n };\n\n const fetchProvince = async () => {\n setOptionProvince([]);\n await dwrApi.get(`/Provinces`).then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.provinceId,\n label: `${item.provinceTh}`,\n };\n setOptionProvince((optionProvince) => [...optionProvince, list]);\n });\n });\n };\n const fetchDistrict = async () => {\n setOptionDistrict([]);\n await dwrApi\n .get(`/Districts/Province/${provinceIdSelected}`)\n .then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.districtId,\n label: `${item.districtTh}`,\n };\n setOptionDistrict((optionDistrict) => [...optionDistrict, list]);\n });\n });\n };\n\n const fetchSubDistrict = async () => {\n setOptionSubDistrict([]);\n await dwrApi\n .get(`/SubDistricts/District/${districtIdSelected}`)\n .then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.subDistrictId,\n label: `${item.subDistrictTh}`,\n };\n setOptionSubDistrict((optionSubDistrict) => [\n ...optionSubDistrict,\n list,\n ]);\n });\n });\n };\n\n const fetchHydroType = async () => {\n await dwrApi\n .get(`/HydroTypes/Active`)\n .then((res) => {\n setHydroTypes(res.data);\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n const fetchMeteoType = async () => {\n await dwrApi\n .get(`/MeteoTypes/Active`)\n .then((res) => {\n setMeteoTypes(res.data);\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n useEffect(async () => {\n await Promise.all([\n fetchDepartment(),\n fetchStationCenters(),\n fetchBasin(),\n fetchProvince(),\n fetchHydroType(),\n fetchMeteoType(),\n ]);\n }, []);\n\n useEffect(async () => {\n if (basinIdSelected) await fetchSubBasin();\n }, [basinIdSelected]);\n\n useEffect(async () => {\n if (provinceIdSelected) await fetchDistrict();\n }, [provinceIdSelected]);\n\n useEffect(async () => {\n if (districtIdSelected) await fetchSubDistrict();\n }, [districtIdSelected]);\n\n const gageFiledGenerator = () => {\n setGageFieldInput([]);\n let init = [];\n\n for (let index = 0; index < gageSelectedQty; index++) {\n if (\n preloadValue.gage &&\n preloadValue.gage.subGage &&\n preloadValue.gage.subGage.length &&\n index < preloadValue.gage.subGage.length\n ) {\n init.push(preloadValue.gage.subGage[index]);\n } else {\n init.push({\n gageId: preloadValue.gageId,\n gageNo: index + 1,\n totalSheet: 0,\n });\n }\n }\n setGageFieldInput(init);\n };\n\n const onHandleDeleteCrossSection = (item, index) => {\n const crossSectionFilter = crossSectionData.filter(\n (data, dataIndex) => dataIndex !== index\n );\n setCrossSectionData(crossSectionFilter);\n };\n\n useEffect(() => {\n // console.log({ gageFieldInput })\n }, [gageFieldInput]);\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n gageFiledGenerator();\n }, 1000);\n return () => clearTimeout(delayDebounceFn);\n }, [gageSelectedQty]);\n\n // const onHandleFormatLatLng = (ev) => {\n // const numInput = ev.target.value;\n\n // const pnum = numInput?.toString().match(/\\d/g)?.join(\"\");\n\n // const pureNum = pnum?.split(\".\")[0].replace(/\\,/g, \"\");\n // // return pureNum?.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\n // const one = pureNum?.toString().slice(0, 2);\n // const two = pureNum?.toString().slice(2, 4);\n // const three = pureNum?.toString().slice(4, 6);\n\n // const format = `${one}° ${two}' ${three}\" N`;\n\n // console.log(format);\n\n // return format;\n // };\n\n // console.log({ latitudeDms: watch(\"latitudeDms\") });\n\n const displayAddEditStationDetail = (\n <>\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    ประเภทสถานี :
    \n
    \n
    \n
    \n setValue(\"stationType\", \"01\")}\n value=\"01\"\n id=\"manualStation\"\n autoComplete=\"off\"\n />\n \n ธรรมดา\n \n
    \n
    \n setValue(\"stationType\", \"02\")}\n value=\"02\"\n id=\"autoStation\"\n autoComplete=\"off\"\n />\n \n อัตโนมัติ\n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    แสดงบนแผนที่ :
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n {/* */}\n\n
    \n
    เส้นรุ้ง (Latitude) :
    \n
    \n \n °\n \n '\n \n \" N\n
    \n
    \n
    \n
    \n {/* */}\n\n
    \n
    เส้นแวง (longitude) :
    \n
    \n \n °\n \n '\n \n \" E\n
    \n
    \n
    \n
    \n\n
    \n
    \n {/* */}\n\n
    \n
    กำหนดรัศมีเก็บข้อมูล :
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    ศูนย์เป็นผู้สำรวจ :
    \n
    \n
    \n \n setValue(\"bmCreateByCenter\", !watch(\"bmCreateByCenter\"))\n }\n {...register(\"bmCreateByCenter\")}\n />\n\n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n
    ค่าศูนย์เสาระดับ :
    \n
    \n \n
    \n
    \n
    \n
    \n setValue(\"gage.gageTypeId\", 1)}\n {...register(\"gage.gageTypeId\")}\n />\n \n
    \n
    \n setValue(\"gage.gageTypeId\", 2)}\n {...register(\"gage.gageTypeId\")}\n />\n \n
    \n\n {/* {preloadValue.gage.gageTypeId === 1 ?\n
    \n \n \n
    :
    \n \n \n
    \n }\n {preloadValue.gage.gageTypeId === 2 ?\n
    \n \n \n
    :
    \n \n \n
    \n } */}\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    เสาระดับทั้งหมด :
    \n
    \n {/* */}\n \n
    \n
    \n
    \n
    \n\n
    \n {gageFieldInput.map((item, i) => {\n return (\n
    \n
    \n
    เสาต้นที่ {i + 1} :
    \n
    \n \n
    \n
    \n
    \n );\n })}\n
    \n\n
    \n
    \n
    \n
    ศูนย์เป็นผู้สำรวจ :
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    ศูนย์เป็นผู้สำรวจ :
    \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n );\n\n const displayGhSurveyChild = (\n <>\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n );\n\n const displayDcSurveyChild = (\n <>\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n );\n\n const displayWqSurveyChild = (\n <>\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n );\n\n const displayDataHydroStation = (\n <>\n {hydroTypes\n ?.filter(\n (data) =>\n data.active === \"Y\" &&\n (data.hydroTypeId == \"01\" ||\n data.hydroTypeId == \"02\" ||\n data.hydroTypeId == \"03\")\n )\n ?.map((item, i) => {\n let kName;\n let child = <>;\n\n if (item.hydroTypeId == \"01\") {\n kName = \"ghsurvey\";\n child = displayGhSurveyChild;\n } else if (item.hydroTypeId == \"02\") {\n kName = \"dcsurvey\";\n child = displayDcSurveyChild;\n } else if (item.hydroTypeId == \"03\") {\n kName = \"wqsurvey\";\n child = displayWqSurveyChild;\n }\n\n return (\n <>\n
    \n \n
    \n {watch(kName) ? child : \"\"}\n \n );\n })}\n \n );\n\n const displayDataMeteoStation = (\n <>\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n\n
    \n
    \n
    \n {meteoTypes\n ?.filter((data) => data.active === \"Y\")\n .map((item, i) => {\n const getkeyName = meteoTypeList.find(\n (list) => list.meteoTypeId == item.meteoTypeId\n );\n\n if (getkeyName) {\n return (\n
    \n \n
    \n );\n }\n })}\n
    \n
    \n
    \n
    \n \n );\n\n const displayCrossSection = (\n
    \n
    \n Cross section ของลำน้ำ\n \n
    \n
    \n {crossSectionData.map((item, index) => {\n return (\n \n
    \n การสำรวจครั้งที่ {item.surveyNo} เมื่อวันที่{\" \"}\n {convertDate(item.surveyDate)}\n
    \n
    \n
    \n \n
    \n
    \n \n
    \n {\n setItemSelected({\n item,\n index,\n });\n setShowModalDeleteXsection(true);\n }}\n >\n ลบ\n
    \n
    \n
    \n );\n })}\n \n \n );\n\n const displayLocation = (\n
    \n
    \n แผนที่ ที่ตั้งของสถานีโดยสังเขป\n
    \n\n
    \n
    \n \n
    \n
    \n \n
    \n
    \n \n
    \n
    \n
    \n
    \n
    \n
    ไฟล์ภาพแผนที่ :
    \n
    \n \n\n {!!mapFilePreview && (\n
    \n {type !== \"preview\" && (\n {\n setMapFilePreview(null);\n setValue(\"pathName\", null);\n\n addToast(

    ลบรูปภาพเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n }}\n >\n \n \n )}\n {\n setOpenModalMapImg(true);\n setIndexImgSelected(0);\n }}\n />\n
    \n )}\n {openModalMapImg && (\n \n )}\n
    \n
    \n
    \n
    \n
    \n
    ไฟล์รูปสถานี :
    \n
    \n \n
    \n {!!stationImagesData?.length &&\n stationImagesData.map((img, imgIndex) => {\n return (\n
    \n {type !== \"preview\" && (\n {\n onHandleDeleteStationImage(img.stationImageId);\n\n const stationImgArr = [\n ...stationImagesData,\n ].filter(\n (el) => el.stationImageId !== img.stationImageId\n );\n\n setStationImagesData(stationImgArr);\n }}\n >\n \n \n )}\n {\n setOpenModalImage(true);\n setIndexImgSelected(imgIndex);\n }}\n />\n
    \n );\n })}\n {!!newStationImagesData?.length &&\n newStationImagesData.map((img, imgIndex) => {\n return (\n
    \n {type !== \"preview\" && (\n {\n const stationImgArr = [\n ...newStationImagesData,\n ].filter(\n (el) => el.stationImageId !== img.stationImageId\n );\n\n // console.log({ stationImgArr });\n\n const newFiles = new FileListItems(\n stationImgArr.map((el) => el.file)\n );\n\n setValue(\"stationImagePath\", newFiles);\n\n setNewStationImagesData(stationImgArr);\n }}\n >\n \n \n )}\n {\n setOpenModalImage(true);\n setIndexImgSelected(imgIndex);\n }}\n />\n
    \n );\n })}\n
    \n\n {openModalImage && (\n \n )}\n
    \n
    \n
    \n
    \n
    \n );\n\n const displayButtonGroup = (\n
    \n {type == \"edit\" ? (\n reset(preloadValue)}\n >\n คืนค่าเดิม\n
    \n ) : (\n \"\"\n )}\n \n {\n onHandleSubmit(ev);\n setNewStationImagesData([]);\n })}\n className=\"btn mx-4\"\n style={styles.button1}\n >\n บันทึกข้อมูล\n \n \n \n );\n\n const displayAccordian = (\n
    \n
    \n
    \n \n
    ประเภทข้อมูลอุทกวิทยา
    \n
    \n \n
    \n
    \n
    \n \n
    {displayDataHydroStation}
    \n
    \n \n
    \n
    \n \n
    ประเภทข้อมูลอุตุนิยมวิทยา
    \n
    \n \n
    \n
    \n
    \n \n
    {displayDataMeteoStation}
    \n \n \n \n );\n\n const displayRemark = (\n
    \n
    \n หมายเหตุ\n
    \n\n
    \n
    \n \n {/* */}\n
    \n
    \n
    \n );\n const displayLog = (\n
    \n
    \n ประวัติหมายเหตุ\n
    \n\n
    \n \n \n \n \n \n \n \n \n \n {!!stationRemark &&\n !!stationRemark.length &&\n [...stationRemark]\n .sort((a, b) => b.stationRemarkId - a.stationRemarkId)\n .map((el) => {\n return (\n \n \n \n \n \n );\n })}\n \n
    วันที่แก้ไขแก้ไขโดยหมายเหตุ
    {convertDateTime(el.remarkDate)}{el.remarkUser}{el.remark}
    \n
    \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n {!!query && (\n
    \n onHandleDownload(query.stationId)} type=\"button\">\n \"download\"\n \n
    \n )}\n {displayAddEditStationDetail}\n {displayAccordian}\n {displayCrossSection}\n {displayLocation}\n {displayRemark}\n {displayLog}\n {displayButtonGroup}\n {\n onHandleDeleteCrossSection(itemSelected.item, itemSelected.index);\n setShowModalDeleteXsection(false);\n }}\n modalIsOpen={showModalDeleteXsection}\n setModalIsOpen={setShowModalDeleteXsection}\n />\n
    \n );\n};\n\nexport default FormStationDetail;\n","import React, { useEffect, useState } from \"react\";\n\nimport { useForm } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport { Redirect, useLocation, useParams } from \"react-router\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport FormStationDetail from \"../../../Components/FormStationDetail\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { FaChevronDown, FaChevronUp, FaChevronLeft } from \"react-icons/fa\";\nimport { useHistory } from \"react-router-dom\";\n\nconst EditStation = () => {\n let { stationId } = useParams();\n const [stationDetail, setStationDetail] = useState(\"\");\n const { query } = useLocation();\n const { addToast } = useToasts();\n const history = useHistory();\n const [stationImagesData, setStationImagesData] = useState([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [inputData, setInputData] = useState(\"\");\n const [crossSectionData, setCrossSectionData] = useState([]);\n const [configDatas, setConfigDatas] = useState({});\n\n const [dataBenchmarks, setDataBenchmarks] = useState(\"\");\n const [dataGage, setDataGage] = useState(\"\");\n const [dataBasinArea, setDataBasinArea] = useState(\"\");\n const [dataStation, setDataStation] = useState(\"\");\n const [responseMeteoType, setResponseMeteoType] = useState(\"\");\n const [responseHydroType, setResponseHydroType] = useState(\"\");\n const [locationId, setLocationId] = useState(null);\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const fetchConfigDataStations = async (stationId) => {\n if (stationId) {\n try {\n let resConfig = await dwrApi.get(\n `/ConfigDataStations/Station/${stationId}`\n );\n setConfigDatas(resConfig.data);\n\n // const { active, measureTimeId, configDataId, meteotypeId, hydroTypeId } = resConfig.data;\n // setConfigDatas({ active, measureTimeId, configDataId, meteotypeId, hydroTypeId });\n } catch (err) {\n console.error(err);\n }\n }\n };\n\n const fetchStationDetail = async (sId) => {\n try {\n let res = await dwrApi.get(`/Stations/${sId}?Publish=all`);\n setStationDetail(res.data);\n console.log(\"stationDetail\", res.data);\n setCrossSectionData(res.data.crossSection);\n return res.data.stationId;\n } catch (err) {\n console.error(err.message);\n }\n };\n\n useEffect(async () => {\n if (stationId) {\n let sId = await fetchStationDetail(stationId);\n await fetchConfigDataStations(sId);\n }\n // console.log(\"stationDetail\", stationDetail);\n }, [stationId]);\n\n // useEffect(() => {\n // // console.log({ crossSectionData })\n // }, [crossSectionData])\n\n const filterMeteo = (meteotypeId) => {\n const filterResult = stationDetail?.configDataStation?.filter(\n (item) => item.meteotypeId == meteotypeId\n );\n\n return filterResult && filterResult.length ? true : false;\n };\n\n const subgagePreload = stationDetail?.gage?.subGage?.map((item) => {\n return { ...item };\n });\n\n const onHandlePureNumber = (numInput, index) => {\n if (numInput) {\n const splittedDeg = numInput.split(\"°\");\n const splittedSingleQuote = splittedDeg[1]?.split(\"'\");\n const splittedDoubleQuote = splittedSingleQuote[1]?.split('\"');\n\n switch (index) {\n case 0:\n return splittedDeg[0]?.toString().match(/\\d/g)?.join(\"\");\n case 1:\n return splittedSingleQuote[0]?.toString().match(/\\d/g)?.join(\"\");\n case 2:\n return splittedDoubleQuote[0]?.toString().match(/\\d/g)?.join(\"\");\n\n default:\n return \"\";\n }\n }\n return \"\";\n };\n\n const preloadValue = {\n BetweenMainRoad: stationDetail?.MapData?.betweenMainRoad,\n FarMainRoad: stationDetail?.MapData?.farMainRoad,\n RoadNo: stationDetail?.MapData?.roadNo,\n basinId: stationDetail?.subBasin ? stationDetail?.subBasin?.basinId : null,\n basinArea: {\n ...stationDetail?.basinArea,\n measureDate: stationDetail?.basinArea?.measureDate\n ? convertDate(stationDetail?.basinArea?.measureDate)\n : null,\n measureByCenter:\n stationDetail?.basinArea?.measureByCenter == \"0\" ? false : true,\n },\n benchmark: {\n createByCenter: stationDetail?.bm?.createByCenter === \"0\" ? false : true,\n bmLevel: stationDetail?.bm?.bmlevel,\n nearbyPlace: stationDetail?.bm?.nearbyPlace,\n bmcreateDate: stationDetail?.bm?.bmcreateDate\n ? convertDate(stationDetail?.bm?.bmcreateDate)\n : null,\n },\n bmCreateByCenter: stationDetail?.bm?.createByCenter === \"0\" ? false : true,\n bmcreateDate: stationDetail?.bm?.bmcreateDate\n ? convertDate(stationDetail?.bm?.bmcreateDate)\n : null,\n\n bubbleCdate: stationDetail?.hydroSurvey?.bubbleCdate\n ? convertDate(stationDetail?.hydroSurvey?.bubbleCdate)\n : null,\n bubbleIdate: stationDetail?.hydroSurvey?.bubbleIdate\n ? convertDate(stationDetail?.hydroSurvey?.bubbleIdate)\n : null,\n buildingDate: stationDetail?.buildingDate\n ? convertDate(stationDetail?.buildingDate)\n : null,\n controllerName: stationDetail?.controllerName,\n dcsurvey: stationDetail?.hydroSurvey?.dcsurvey,\n floatCdate: stationDetail?.hydroSurvey?.floatCdate\n ? convertDate(stationDetail?.hydroSurvey?.floatCdate)\n : null,\n floatIdate: stationDetail?.hydroSurvey?.floatIdate\n ? convertDate(stationDetail?.hydroSurvey?.floatIdate)\n : null,\n gage: {\n gageAmount: stationDetail?.gage?.gageAmount,\n gageLevel: stationDetail?.gage?.gageLevel,\n gageTypeId: stationDetail?.gage?.gageTypeId,\n gageSurveyDate: stationDetail?.gage?.gageSurveyDate\n ? convertDate(stationDetail?.gage?.gageSurveyDate)\n : null,\n\n subGage: subgagePreload,\n surveyByCenter: stationDetail?.gage?.surveyByCenter == \"1\" ? true : false,\n },\n gageSurveyDate: stationDetail?.gage?.gageSurveyDate\n ? convertDate(stationDetail?.gage?.gageSurveyDate)\n : null,\n\n latitudeDms: [\n onHandlePureNumber(stationDetail?.location?.latitudeDms, 0),\n onHandlePureNumber(stationDetail?.location?.latitudeDms, 1),\n onHandlePureNumber(stationDetail?.location?.latitudeDms, 2),\n ],\n longitudeDms: [\n onHandlePureNumber(stationDetail?.location?.longitudeDms, 0),\n onHandlePureNumber(stationDetail?.location?.longitudeDms, 1),\n onHandlePureNumber(stationDetail?.location?.longitudeDms, 2),\n ],\n\n meteo_Temp: filterMeteo(\"04\"),\n meteo_evaporate: filterMeteo(\"02\"),\n meteo_humidity: filterMeteo(\"09\"),\n meteo_maxTemp: filterMeteo(\"06\"),\n meteo_minTemp: filterMeteo(\"08\"),\n meteo_rain: filterMeteo(\"01\"),\n meteo_sunlight_intensity: filterMeteo(\"13\"),\n meteo_sunlight_period: filterMeteo(\"12\"),\n meteo_waterTemp: filterMeteo(\"03\"),\n meteo_wind: filterMeteo(\"11\"),\n nearbyPlace: stationDetail?.location?.nearbyPlace,\n pathName: null,\n personName: stationDetail?.personName,\n\n publish: stationDetail?.publish == \"Y\" ? true : false,\n radius: stationDetail?.location?.radius,\n ratioMap: stationDetail?.ratioMap,\n sheetNo: stationDetail?.sheetNo,\n staffCdate: stationDetail?.hydroSurvey?.staffCdate\n ? convertDate(stationDetail?.hydroSurvey?.staffCdate)\n : null,\n staffIdate: stationDetail?.hydroSurvey?.staffIdate\n ? convertDate(stationDetail?.hydroSurvey?.staffIdate)\n : null,\n stationEn: stationDetail?.stationEn,\n stationImagePath: null,\n stationTh: stationDetail?.stationTh,\n stationType: stationDetail?.stationTypeId == 1 ? \"01\" : \"02\",\n stationlabel: stationDetail?.stationLabel,\n subDistrict: stationDetail?.location\n ? stationDetail.location.subDistrictId\n : null,\n tel: stationDetail?.tel,\n village: stationDetail?.location?.village,\n waterCdate: stationDetail?.hydroSurvey?.waterCdate\n ? convertDate(stationDetail?.hydroSurvey?.waterCdate)\n : null,\n waterSdate: stationDetail?.hydroSurvey?.waterSdate\n ? convertDate(stationDetail?.hydroSurvey?.waterSdate)\n : null,\n ghsurvey: stationDetail?.hydroSurvey?.ghsurvey,\n hydroCreateDate: stationDetail?.hydroCreateDate\n ? convertDate(stationDetail?.hydroCreateDate)\n : null,\n wqsurvey: stationDetail?.hydroSurvey?.wqsurvey,\n wqcdate: !!stationDetail?.hydroSurvey?.wqcdate\n ? convertDate(stationDetail?.hydroSurvey?.wqcdate)\n : null,\n wqsdate: !!stationDetail?.hydroSurvey?.wqsdate\n ? convertDate(stationDetail?.hydroSurvey?.wqsdate)\n : null,\n meteoSurvey: stationDetail?.MeteoSurvey,\n meteoSdate: !!stationDetail?.MeteoSurvey?.meteoSdate\n ? convertDate(stationDetail?.MeteoSurvey?.meteoSdate)\n : null,\n meteoCdate: !!stationDetail?.MeteoSurvey?.meteoCdate\n ? convertDate(stationDetail?.MeteoSurvey?.meteoCdate)\n : null,\n meteoCreateDate: stationDetail?.meteoCreateDate\n ? convertDate(stationDetail?.meteoCreateDate)\n : null,\n remark: \"\",\n // remark: !!stationDetail?.stationRemark\n // ? stationDetail?.stationRemark[stationDetail?.stationRemark.length - 1]\n // ?.remark\n // : \"\",\n stationRemarkId: !!stationDetail?.stationRemark\n ? stationDetail?.stationRemark[stationDetail?.stationRemark.length - 1]\n ?.stationRemarkId\n : null,\n stationRemark: stationDetail?.stationRemark,\n };\n\n const { register, handleSubmit, watch, setValue, reset } = useForm();\n\n const onSubmitStationDetail = async (ev) => {\n // console.warn({ onSubmitStationDetail: ev });\n\n let payload = {\n stationId: stationDetail?.stationId,\n stationLabel: ev.stationlabel,\n stationEn: ev.stationEn,\n stationTh: ev.stationTh,\n locationId: ev.locationId || stationDetail?.locationId,\n stationCenterId: +ev.stationCenterId,\n subBasinId: ev.subBasin,\n ratioMap: ev.ratioMap,\n sheetNo: ev.sheetNo,\n buildingDate: ev.buildingDate,\n controllerName: ev.controllerName,\n meteoCreateDate: !!ev.meteoCreateDate ? ev.meteoCreateDate : null,\n hydroCreateDate: !!ev.hydroCreateDate ? ev.hydroCreateDate : null,\n stationTypeId: +ev.stationType,\n departmentId: ev.departmentId,\n solarConstant: stationDetail?.solarConstant,\n forecastGageHeight: stationDetail?.forecastGageHeight,\n travelDistanceWater: stationDetail?.travelDistanceWater,\n calculatDischarge: stationDetail?.calculatDischarge,\n hydroSurveyId: ev.hydroSurveyId || stationDetail?.hydroSurveyId,\n meteoSurveyId: ev.meteoSurveyId || stationDetail?.meteoSurveyId,\n bmid: ev.bmid || stationDetail?.bmid,\n basinAreaId: ev.basinAreaId,\n gageId: ev.gageId || stationDetail?.gageId,\n mapId: ev.mapId || stationDetail?.mapId,\n publish: ev.publish === true ? \"Y\" : \"N\",\n active: \"Y\",\n regionId: stationDetail?.regionId,\n personName: ev.personName,\n tel: ev.tel,\n remark: ev.remark,\n };\n\n try {\n let res = await dwrApi.put(\n `/Stations/${stationDetail?.stationId}`,\n payload\n );\n console.log(\"upload station Done\", res.data);\n setDataStation(res.data);\n return stationDetail?.stationId;\n } catch (err) {\n console.error(err);\n }\n };\n\n const onSubmitBenchmarks = async (ev) => {\n // console.log({ onSubmitBenchmarks: ev });\n const dataBenchmarks = {\n bmlevel: +ev.benchmark.bmLevel,\n nearbyPlace: ev.benchmark.nearbyPlace,\n bmcreateDate: !!ev.bmcreateDate ? ev.bmcreateDate : null,\n createByCenter: ev.bmCreateByCenter ? \"1\" : \"0\",\n };\n\n if (stationDetail && stationDetail.bmid) {\n let resBm = await dwrApi\n .put(`/Benchmarks/${stationDetail.bmid}`, {\n ...dataBenchmarks,\n bmid: stationDetail.bmid,\n })\n .then((res) => {\n console.log(\"upload Benchmarks Done\", res.data);\n setDataBenchmarks(res.data);\n return { bmid: stationDetail.bmid };\n })\n .catch((err) => {\n console.log(\"can not upload Benchmarks\", err.message);\n });\n\n return resBm.bmid;\n } else {\n let resBm = await dwrApi\n .post(`/Benchmarks`, dataBenchmarks)\n .then((res) => {\n console.log(\"upload Benchmarks Done\", res.data);\n setDataBenchmarks(res.data);\n return res.data;\n })\n .catch((err) => {\n console.log(\"can not upload Benchmarks\", err.message);\n });\n\n return resBm.bmid;\n }\n };\n\n const onSubmitLocation = async (ev) => {\n console.log({ ev });\n const dataLocation = {\n latitudeDms: `${ev.latitudeDms[0]}° ${ev.latitudeDms[1]}' ${ev.latitudeDms[2]}\" N`,\n longitudeDms: `${ev.longitudeDms[0]}° ${ev.longitudeDms[1]}' ${ev.longitudeDms[2]}\" E`,\n village: ev.village,\n nearbyPlace: ev.nearbyPlace,\n subDistrictId: ev.subDistrict,\n radius: +ev.radius,\n };\n\n if (stationDetail && stationDetail.locationId) {\n let resLocation = await dwrApi\n .put(`/Locations/${stationDetail?.locationId}`, {\n ...dataLocation,\n locationId: stationDetail?.locationId,\n })\n .then((res) => {\n console.log(\"put location Done\", res.data);\n })\n .catch((err) => {\n console.log(\"can not put location\", err.message);\n })\n .finally(() => {});\n\n return resLocation?.locationId;\n } else {\n let resLocation = await dwrApi\n .post(`/Locations/Station/${stationDetail?.stationId}`, dataLocation)\n .then((res) => {\n console.log(\"post location Done\", res.data);\n if (res.data && res.data.locationId) {\n // setLocationId(res.data.locationId);\n return res.data;\n }\n })\n .catch((err) => {\n console.log(\"can not put location\", err.message);\n })\n .finally(() => {});\n\n if (!!resLocation) {\n return resLocation.locationId;\n }\n }\n };\n\n const onSubmitGage = async (ev) => {\n const payload = {\n gageLevel: +ev.gage.gageLevel,\n gageTypeId: !!ev.gage.gageTypeId ? +ev.gage.gageTypeId : null,\n gageAmount: !!ev.gage.gageAmount ? +ev.gage.gageAmount : null,\n surveyByCenter: ev.gage.surveyByCenter ? \"1\" : \"0\",\n gageSurveyDate: !!ev.gageSurveyDate ? ev.gageSurveyDate : null,\n };\n\n console.log({ stationDetail });\n\n if (stationDetail && stationDetail.gageId) {\n try {\n let res = await dwrApi.put(`/Gages/${stationDetail?.gageId}`, {\n ...payload,\n gageId: stationDetail?.gageId,\n });\n // setDataGage(res.data);\n await onSubmitSubGage(res.data, ev);\n return stationDetail.gageId;\n } catch (err) {\n console.error(\"can not upload Gage\", err.message);\n }\n } else {\n try {\n let res = await dwrApi.post(`/Gages`, payload);\n setDataGage(res.data);\n await onSubmitSubGage(res.data, ev);\n console.log(\"post gage\", res);\n return res.data.gageId;\n } catch (err) {\n console.error(\"can not upload Gage\", err.message);\n }\n }\n };\n\n const onSubmitSubGage = async (gageRes, ev) => {\n console.log(\"onSubmitSubGage\", { gageRes, ev });\n let gageAmount = !!ev.gage.gageAmount ? +ev.gage.gageAmount : 0;\n\n let payload = [];\n ev.gage.subGage.map((sub, i) => {\n if (i < gageAmount) {\n payload.push({\n gageId: gageRes?.gageId || stationDetail?.gageId,\n gageNo: i + 1,\n totalSheet: !!sub.totalSheet ? +sub.totalSheet : 0,\n });\n }\n });\n dwrApi\n .post(`/SubGages`, payload)\n .then((res) => {\n console.warn(\"upload SubGages Done\", res.data);\n })\n .catch((err) => {\n console.error(\"can not upload SubGages\", err.message);\n });\n };\n\n const onSubmitBasinArea = async (ev) => {\n const payload = {\n basinArea: !isNaN(ev.basinArea.BasinArea)\n ? +ev.basinArea.BasinArea\n : null,\n measureDate: !!ev.basinArea.measureDate ? ev.basinArea.measureDate : null,\n measureByCenter: ev.basinArea.measureByCenter ? \"1\" : \"0\",\n };\n\n if (stationDetail && stationDetail.basinAreaId) {\n try {\n let res = await dwrApi.put(\n `/BasinAreas/${stationDetail?.basinAreaId}`,\n {\n ...payload,\n basinAreaId: stationDetail?.basinAreaId,\n }\n );\n\n console.log(\"SubmitBasinArea Done\", res.data);\n setDataBasinArea(res.data);\n return stationDetail?.basinAreaId;\n } catch (err) {\n console.error(\"SubmitBasinArea FAILED\", err.message);\n }\n } else {\n try {\n let res = await dwrApi.post(`/BasinAreas`, payload);\n setDataBasinArea(res.data);\n console.log(\"SubmitBasinArea Done\", res.data);\n return res.data.basinAreaId;\n } catch (err) {\n console.error(\"SubmitBasinArea FAILED\", err.message);\n }\n }\n };\n\n const fetchHydroSurvey = async (ev) => {\n const data = {\n ghsurvey: ev.ghsurvey,\n staffIdate: ev.staffIdate,\n staffCdate: ev.staffCdate,\n floatIdate: ev.floatIdate,\n floatCdate: ev.floatCdate,\n bubbleIdate: ev.bubbleIdate,\n bubbleCdate: ev.bubbleCdate,\n\n dcsurvey: ev.dcsurvey,\n waterSdate: ev.waterSdate,\n waterCdate: ev.waterCdate,\n\n wqsurvey: ev.wqsurvey,\n wqsdate: ev.wqsdate,\n wqcdate: ev.wqcdate,\n };\n if (stationDetail && stationDetail?.hydroSurveyId) {\n try {\n let res = await dwrApi.put(\n `/HydroSurveys/${stationDetail?.hydroSurveyId}`,\n {\n ...data,\n hydroSurveyId: stationDetail?.hydroSurveyId,\n }\n );\n setResponseHydroType(res.data);\n return stationDetail?.hydroSurveyId;\n } catch (err) {\n console.error(err.message);\n }\n } else {\n try {\n let res = await dwrApi.post(`/HydroSurveys`, data);\n\n setResponseHydroType(res.data);\n return res.data.hydroSurveyId;\n } catch (err) {\n console.error(err.message);\n }\n }\n };\n\n const fetchMeteoSurvey = async (ev) => {\n const data = {\n meteoSdate: !!ev.meteoSdate ? ev.meteoSdate : null,\n meteoCdate: !!ev.meteoCdate ? ev.meteoCdate : null,\n basicRainSurvey: ev.meteoSurvey.basicRainSurvey,\n panEvaSurvey: ev.meteoSurvey.panEvaSurvey,\n tempWaterSurvey: ev.meteoSurvey.tempWaterSurvey,\n tempAirSurvey: ev.meteoSurvey.tempAirSurvey,\n tempMaxSurvey: ev.meteoSurvey.tempMaxSurvey,\n tempMinSurvey: ev.meteoSurvey.tempMinSurvey,\n dwhumiSurvey: ev.meteoSurvey.dwhumiSurvey,\n airgMachSurvey: ev.meteoSurvey.airgMachSurvey,\n solarMachSurvey: ev.meteoSurvey.solarMachSurvey,\n sunsMachSurvey: ev.meteoSurvey.sunsMachSurvey,\n };\n\n if (stationDetail?.meteoSurveyId) {\n try {\n let res = await dwrApi.put(\n `/MeteoSurveys/${stationDetail?.meteoSurveyId}`,\n {\n ...data,\n meteoSurveyId: stationDetail?.meteoSurveyId,\n }\n );\n\n return stationDetail?.meteoSurveyId;\n } catch (err) {\n console.error(err);\n }\n } else {\n try {\n let res = await dwrApi.post(`/MeteoSurveys`, data);\n setResponseMeteoType(res.data);\n return res.data.meteoSurveyId;\n } catch (err) {\n console.error(err);\n }\n }\n };\n\n const onSubmitConfigDataStation = async (stationId, ev) => {\n try {\n if (stationDetail?.stationId) {\n if (stationDetail?.configDataStation) {\n const existHydroTypeIds = [];\n const existMeteoTypeIds = [];\n\n stationDetail.configDataStation.map(async (item) => {\n const putHydroConfigData = async (item, isActive) => {\n existHydroTypeIds.push(item.hydroTypeId);\n if (item.active === \"Y\") {\n await dwrApi.put(\n `/ConfigDataStations/${item.configDataId}${\n !isActive ? \"/UnActive\" : \"\"\n }`,\n {\n stationId: stationId,\n configDataId: item.configDataId,\n hydroTypeId: item.hydroTypeId,\n }\n );\n } else if (isActive) {\n await dwrApi.put(`/ConfigDataStations/${item.configDataId}`, {\n stationId: stationId,\n configDataId: item.configDataId,\n hydroTypeId: item.hydroTypeId,\n });\n }\n };\n\n switch (item.hydroTypeId) {\n case \"01\":\n await putHydroConfigData(item, ev.ghsurvey);\n break;\n case \"02\":\n await putHydroConfigData(item, ev.dcsurvey);\n break;\n case \"03\":\n await putHydroConfigData(item, ev.wqsurvey);\n break;\n default:\n break;\n }\n\n const putMeteoConfigData = async (item, isActive) => {\n existMeteoTypeIds.push(item.meteotypeId);\n if (item.active === \"Y\") {\n await dwrApi.put(\n `/ConfigDataStations/${item.configDataId}${\n !isActive ? \"/UnActive\" : \"\"\n }`,\n {\n stationId: stationId,\n configDataId: item.configDataId,\n meteotypeId: item.meteotypeId,\n }\n );\n } else if (isActive) {\n await dwrApi.put(`/ConfigDataStations/${item.configDataId}`, {\n stationId: stationId,\n configDataId: item.configDataId,\n meteotypeId: item.meteotypeId,\n });\n }\n };\n\n switch (true) {\n case item.meteotypeId == \"01\":\n await putMeteoConfigData(item, ev.meteoSurvey.basicRainSurvey);\n break;\n case item.meteotypeId == \"02\":\n await putMeteoConfigData(item, ev.meteoSurvey.panEvaSurvey);\n break;\n case item.meteotypeId == \"03\":\n await putMeteoConfigData(item, ev.meteoSurvey.tempWaterSurvey);\n break;\n case item.meteotypeId == \"04\":\n await putMeteoConfigData(item, ev.meteoSurvey.tempAirSurvey);\n break;\n case item.meteotypeId == \"06\":\n await putMeteoConfigData(item, ev.meteoSurvey.tempMaxSurvey);\n break;\n case item.meteotypeId == \"08\":\n await putMeteoConfigData(item, ev.meteoSurvey.tempMinSurvey);\n break;\n case item.meteotypeId == \"09\":\n await putMeteoConfigData(item, ev.meteoSurvey.dwhumiSurvey);\n break;\n case item.meteotypeId == \"11\":\n await putMeteoConfigData(item, ev.meteoSurvey.airgMachSurvey);\n break;\n case item.meteotypeId == \"12\":\n await putMeteoConfigData(item, ev.meteoSurvey.solarMachSurvey);\n break;\n case item.meteotypeId == \"13\":\n await putMeteoConfigData(item, ev.meteoSurvey.sunsMachSurvey);\n break;\n default:\n break;\n }\n });\n\n let hydroTypeIds = [\"01\", \"02\", \"03\"];\n let hydroPostItems = hydroTypeIds.filter(\n (x) => !existHydroTypeIds.includes(x)\n );\n console.log({ hydroPostItems });\n\n let meteoTypeIds = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"06\",\n \"08\",\n \"09\",\n \"11\",\n \"12\",\n \"13\",\n ];\n let meteoPostItems = meteoTypeIds.filter(\n (x) => !existMeteoTypeIds.includes(x)\n );\n console.log({ meteoPostItems });\n const postHydroConfigData = async (hyId) => {\n await dwrApi.post(`/ConfigDataStations`, {\n stationId: stationId,\n hydroTypeId: hyId,\n });\n };\n const postMeteoConfigData = async (mtId) => {\n await dwrApi.post(`/ConfigDataStations`, {\n stationId: stationId,\n meteotypeId: mtId,\n });\n };\n hydroPostItems.map(async (hy) => {\n switch (true) {\n case hy === \"01\" && ev.ghsurvey:\n await postHydroConfigData(hy);\n break;\n case hy === \"02\" && ev.dcsurvey:\n await postHydroConfigData(hy);\n break;\n case hy === \"03\" && ev.wqsurvey:\n await postHydroConfigData(hy);\n break;\n default:\n break;\n }\n });\n meteoPostItems.map(async (mt) => {\n switch (true) {\n case mt == \"01\" && ev.meteoSurvey.basicRainSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"02\" && ev.meteoSurvey.panEvaSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"03\" && ev.meteoSurvey.tempWaterSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"04\" && ev.meteoSurvey.tempAirSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"06\" && ev.meteoSurvey.tempMaxSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"08\" && ev.meteoSurvey.tempMinSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"09\" && ev.meteoSurvey.dwhumiSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"11\" && ev.meteoSurvey.airgMachSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"12\" && ev.meteoSurvey.solarMachSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"13\" && ev.meteoSurvey.sunsMachSurvey:\n await postMeteoConfigData(mt);\n break;\n default:\n break;\n }\n });\n }\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n const getFilteredDeleteCrossection = async (item, index) => {\n const crossSectionFilter = stationDetail?.crossSection.filter(\n (data, dataIndex) => !crossSectionData.includes(data)\n );\n\n console.log({ crossSectionFilter });\n\n // setCrossSectionData(crossSectionFilter);\n return crossSectionFilter;\n };\n\n const onDeleteCrossSection = async (item) => {\n try {\n // await Promise.all(crossSectionInfo.map(cross => dwrApi.delete(`/CrossSectionInfoes/${cross.crossSectionId}`)) )\n await dwrApi.delete(\n `/CrossSectionInfoes/CrossSection/${item.crossSectionId}`\n );\n const data = {\n crossSectionId: item.crossSectionId,\n surveyNo: item.surveyNo,\n surveyDate: item.surveyDate,\n stationId: stationDetail?.stationId,\n leftCrossSection: item.leftCrossSection,\n rightCrossSection: item.rightCrossSection,\n };\n\n const res = await dwrApi.delete(`/CrossSections/${item.crossSectionId}`, {\n data,\n });\n } catch (err) {\n console.error(err);\n }\n };\n\n const submitCrossection = async () => {\n const filtedCrossections = await getFilteredDeleteCrossection();\n\n if (crossSectionData.length) {\n await Promise.all(\n crossSectionData.map(async (item) => {\n const data = {\n ...item,\n stationId: stationDetail?.stationId,\n };\n\n if (item.crossSectionId) {\n return dwrApi\n .put(`/CrossSections/${item.crossSectionId}`, data)\n .then((res) => {\n console.log(\"PUT croesstion\", res.data);\n // dwrApi.post(`/CrossSectionInfoes/${item.crossSectionId}`, {});\n })\n .catch((err) => {\n console.error('fail PUT croesstion\"', err.message);\n });\n } else {\n return dwrApi\n .post(`/CrossSections`, data)\n .then((res) => {\n console.log(\"post croesstion\", res.data);\n const { crossSectionId, orderNo, wideRiverX, heightY } =\n res.data;\n // dwrApi.post(`/CrossSectionInfoes/${crossSectionId}`, {\n // crossSectionId,\n // orderNo,\n // wideRiverX,\n // heightY,\n // });\n })\n .catch((err) => {\n console.error('fail post croesstion\"', err.message);\n });\n }\n })\n );\n }\n if (filtedCrossections.length) {\n await Promise.all(\n filtedCrossections.map((item) => {\n return onDeleteCrossSection(item);\n })\n );\n }\n };\n\n const postMapData = async (ev) => {\n const data = new FormData();\n data.append(\"RoadNo\", ev.RoadNo);\n data.append(\"BetweenMainRoad\", ev.BetweenMainRoad);\n data.append(\"FarMainRoad\", ev.FarMainRoad);\n const editData = new FormData();\n editData.append(\"MapId\", stationDetail.mapId);\n editData.append(\"RoadNo\", ev.RoadNo);\n editData.append(\"BetweenMainRoad\", ev.BetweenMainRoad);\n editData.append(\"FarMainRoad\", ev.FarMainRoad);\n\n if (stationDetail && stationDetail.mapId) {\n try {\n if (!!ev.pathName) {\n editData.append(\"file\", ev.pathName[0]);\n }\n\n let res = await dwrApi.put(\n `/MapDatas/${stationDetail.mapId}`,\n editData\n );\n console.log(\"putMapData\", res.data);\n return stationDetail?.mapId;\n } catch (err) {\n console.error('fail postMapData\"', err.message);\n }\n } else {\n try {\n if (!!ev.pathName) {\n editData.append(\"file\", ev.pathName[0]);\n }\n let res = await dwrApi.post(`/MapDatas`, data);\n console.log(\"postMapData\", res.data);\n return res.data.mapId;\n } catch (err) {\n console.error('fail postMapData\"', err.message);\n }\n }\n };\n\n const submitImage = async (ev) => {\n try {\n // let exstImg = [];\n\n // stationImagesData.map(async (imgData) => {\n // const res = await fetch(imgData.stationImagePath);\n // const blobFile = await res.blob();\n // const imgFile = new File([blobFile], imgData.stationImageName, {\n // type: \"image/png\",\n // });\n\n // exstImg.push(imgFile);\n // });\n\n const exstImg = await Promise.all(\n stationImagesData.map(async (imgData) => {\n const res = await fetch(imgData.stationImagePath);\n\n const blobFile = await res.blob();\n const imgFile = new File([blobFile], imgData.stationImageName, {\n type: \"image/png\",\n });\n\n return imgFile;\n })\n );\n\n console.log({ exstImg });\n\n const imgArr = [...exstImg, ...Array.from(ev.stationImagePath)];\n\n // console.log({img: ev.pathName[0]});\n if (imgArr.length) {\n const stationImgData = new FormData();\n stationImgData.append(\"stationId\", ev.stationId);\n\n imgArr.map((img) => {\n stationImgData.append(\"files\", img);\n });\n\n let res = await dwrApi.post(`/StationImages`, stationImgData);\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n const submitRemark = async (ev) => {\n if (!ev.remark) return;\n try {\n let payload = {\n stationId: ev.stationId,\n remark: ev.remark,\n };\n await dwrApi.post(`/StationRemarks`, payload);\n // if (!stationDetail?.stationRemark || stationDetail?.stationRemark?.length == 0) {\n // let payload = {\n // stationId: ev.stationId,\n // remark: ev.remark\n // }\n\n // await dwrApi.post(\n // `/StationRemarks`,\n // payload\n // );\n // }\n // else {\n // let payload = { stationRemarkId: ev.stationRemarkId, remark: ev.remark, stationId: ev.stationId }\n // await dwrApi.put(`/StationRemarks/${ev.stationRemarkId}`, payload);\n // }\n } catch (err) {\n console.error(err);\n }\n };\n\n const onHandleSubmit = async (ev) => {\n setInputData(ev);\n setIsLoading(true);\n try {\n let locationId = await onSubmitLocation(ev);\n let bmid = await onSubmitBenchmarks(ev);\n let gageId = await onSubmitGage(ev);\n let basinAreaId = await onSubmitBasinArea(ev);\n\n let hydroSurveyId = await fetchHydroSurvey(ev);\n let meteoSurveyId = await fetchMeteoSurvey(ev);\n let mapId = await postMapData({ ...ev });\n let stationId = await onSubmitStationDetail({\n ...ev,\n locationId,\n bmid,\n gageId,\n basinAreaId,\n hydroSurveyId,\n meteoSurveyId,\n mapId,\n });\n\n await onSubmitConfigDataStation(stationId, {\n ...ev,\n locationId,\n bmid,\n gageId,\n basinAreaId,\n hydroSurveyId,\n meteoSurveyId,\n mapId,\n });\n await submitCrossection(stationId);\n await Promise.all([\n submitImage({ ...ev, stationId }),\n submitRemark({ ...ev, stationId }),\n ]);\n\n const showToast = async () => {\n addToast(

    บันทึกข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n };\n await fetchStationDetail(stationId);\n await showToast();\n } catch (err) {\n console.error(err, \"❌\");\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n } finally {\n setIsLoading(false);\n }\n };\n\n // useEffect(() => {\n // if (dataStation && responseMeteoType && responseHydroType)\n // onSubmitConfigDataStation(inputData);\n // }, [dataStation, responseMeteoType, responseHydroType]);\n\n return (\n
    \n {isLoading ? : \"\"}\n
    \n history.goBack()}>\n กลับ\n
    \n }\n />\n \n \n \n );\n};\n\nexport default EditStation;\n","import React, { useState, useEffect, useMemo } from \"react\";\nimport { useParams, useRouteMatch, Switch, Route } from \"react-router-dom\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport { useForm } from \"react-hook-form\";\nimport FormStationDetail from \"../../../Components/FormStationDetail\";\nimport EditStation from \"./EditStation\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { FaChevronDown, FaChevronUp, FaChevronLeft } from \"react-icons/fa\";\nimport { useHistory } from \"react-router-dom\";\n\nconst StationDetail = () => {\n let { stationId } = useParams();\n let { path } = useRouteMatch();\n const history = useHistory();\n\n const [stationDetail, setStationDetail] = useState(\"\");\n const [crossSectionData, setCrossSectionData] = useState([]);\n const [stationImagesData, setStationImagesData] = useState([]);\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const fetchStationDetail = async () => {\n try {\n let res = await dwrApi.get(`/Stations/${stationId}?Publish=all`);\n setStationDetail(res.data);\n return res.data.stationId;\n } catch (err) {\n console.error(err.message);\n }\n };\n\n useEffect(async () => {\n if (stationId) {\n await fetchStationDetail(stationId);\n }\n }, [stationId]);\n\n const filterMeteo = (meteotypeId) => {\n const filterResult = stationDetail?.configDataStation?.filter(\n (item) => item.meteotypeId == meteotypeId\n );\n\n return filterResult && filterResult.length ? true : false;\n };\n\n const subgagePreload = stationDetail?.gage?.subGage?.map((item) => {\n return { ...item };\n });\n\n const onHandlePureNumber = (numInput, index) => {\n if (numInput) {\n const splittedDeg = numInput.split(\"°\");\n const splittedSingleQuote = splittedDeg[1]?.split(\"'\");\n const splittedDoubleQuote = splittedSingleQuote[1]?.split('\"');\n\n switch (index) {\n case 0:\n return splittedDeg[0]?.toString().match(/\\d/g)?.join(\"\");\n case 1:\n return splittedSingleQuote[0]?.toString().match(/\\d/g)?.join(\"\");\n case 2:\n return splittedDoubleQuote[0]?.toString().match(/\\d/g)?.join(\"\");\n\n default:\n return \"\";\n }\n }\n return \"\";\n };\n\n console.log({ basinId: stationDetail?.subBasin?.basinId });\n const preloadValue = {\n BetweenMainRoad: stationDetail?.MapData?.betweenMainRoad,\n FarMainRoad: stationDetail?.MapData?.farMainRoad,\n RoadNo: stationDetail?.MapData?.roadNo,\n basinId: stationDetail?.subBasin ? stationDetail?.subBasin?.basinId : null,\n basinArea: {\n ...stationDetail?.basinArea,\n measureDate: stationDetail?.basinArea?.measureDate\n ? convertDate(stationDetail?.basinArea?.measureDate)\n : null,\n measureByCenter:\n stationDetail?.basinArea?.measureByCenter == \"0\" ? false : true,\n },\n benchmark: {\n createByCenter: stationDetail?.bm?.createByCenter === \"0\" ? false : true,\n bmLevel: stationDetail?.bm?.bmlevel,\n nearbyPlace: stationDetail?.bm?.nearbyPlace,\n bmcreateDate: stationDetail?.bm?.bmcreateDate\n ? convertDate(stationDetail?.bm?.bmcreateDate)\n : null,\n },\n bmCreateByCenter: stationDetail?.bm?.createByCenter === \"0\" ? false : true,\n bmcreateDate: stationDetail?.bm?.bmcreateDate\n ? convertDate(stationDetail?.bm?.bmcreateDate)\n : null,\n\n bubbleCdate: stationDetail?.hydroSurvey?.bubbleCdate\n ? convertDate(stationDetail?.hydroSurvey?.bubbleCdate)\n : null,\n bubbleIdate: stationDetail?.hydroSurvey?.bubbleIdate\n ? convertDate(stationDetail?.hydroSurvey?.bubbleIdate)\n : null,\n buildingDate: stationDetail?.buildingDate\n ? convertDate(stationDetail?.buildingDate)\n : null,\n controllerName: stationDetail?.controllerName,\n dcsurvey: stationDetail?.hydroSurvey?.dcsurvey,\n floatCdate: stationDetail?.hydroSurvey?.floatCdate\n ? convertDate(stationDetail?.hydroSurvey?.floatCdate)\n : null,\n floatIdate: stationDetail?.hydroSurvey?.floatIdate\n ? convertDate(stationDetail?.hydroSurvey?.floatIdate)\n : null,\n gage: {\n gageAmount: stationDetail?.gage?.gageAmount,\n gageLevel: stationDetail?.gage?.gageLevel,\n gageTypeId: stationDetail?.gage?.gageTypeId,\n gageSurveyDate: stationDetail?.gage?.gageSurveyDate\n ? convertDate(stationDetail?.gage?.gageSurveyDate)\n : null,\n\n subGage: subgagePreload,\n surveyByCenter: stationDetail?.gage?.surveyByCenter == \"1\" ? true : false,\n },\n gageSurveyDate: stationDetail?.gage?.gageSurveyDate\n ? convertDate(stationDetail?.gage?.gageSurveyDate)\n : null,\n\n latitudeDms: [\n onHandlePureNumber(stationDetail?.location?.latitudeDms, 0),\n onHandlePureNumber(stationDetail?.location?.latitudeDms, 1),\n onHandlePureNumber(stationDetail?.location?.latitudeDms, 2),\n ],\n longitudeDms: [\n onHandlePureNumber(stationDetail?.location?.longitudeDms, 0),\n onHandlePureNumber(stationDetail?.location?.longitudeDms, 1),\n onHandlePureNumber(stationDetail?.location?.longitudeDms, 2),\n ],\n\n meteo_Temp: filterMeteo(\"04\"),\n meteo_evaporate: filterMeteo(\"02\"),\n meteo_humidity: filterMeteo(\"09\"),\n meteo_maxTemp: filterMeteo(\"06\"),\n meteo_minTemp: filterMeteo(\"08\"),\n meteo_rain: filterMeteo(\"01\"),\n meteo_sunlight_intensity: filterMeteo(\"13\"),\n meteo_sunlight_period: filterMeteo(\"12\"),\n meteo_waterTemp: filterMeteo(\"03\"),\n meteo_wind: filterMeteo(\"11\"),\n nearbyPlace: stationDetail?.location?.nearbyPlace,\n pathName: null,\n personName: stationDetail?.personName,\n\n publish: stationDetail?.publish == \"Y\" ? true : false,\n radius: stationDetail?.location?.radius,\n ratioMap: stationDetail?.ratioMap,\n sheetNo: stationDetail?.sheetNo,\n staffCdate: stationDetail?.hydroSurvey?.staffCdate\n ? convertDate(stationDetail?.hydroSurvey?.staffCdate)\n : null,\n staffIdate: stationDetail?.hydroSurvey?.staffIdate\n ? convertDate(stationDetail?.hydroSurvey?.staffIdate)\n : null,\n stationEn: stationDetail?.stationEn,\n stationImagePath: null,\n stationTh: stationDetail?.stationTh,\n stationType: stationDetail?.stationTypeId == 1 ? \"01\" : \"02\",\n stationlabel: stationDetail?.stationLabel,\n subDistrict: stationDetail?.location\n ? stationDetail.location.subDistrictId\n : null,\n tel: stationDetail?.tel,\n village: stationDetail?.location?.village,\n waterCdate: stationDetail?.hydroSurvey?.waterCdate\n ? convertDate(stationDetail?.hydroSurvey?.waterCdate)\n : null,\n waterSdate: stationDetail?.hydroSurvey?.waterSdate\n ? convertDate(stationDetail?.hydroSurvey?.waterSdate)\n : null,\n ghsurvey: stationDetail?.hydroSurvey?.ghsurvey,\n hydroCreateDate: stationDetail?.hydroCreateDate\n ? convertDate(stationDetail?.hydroCreateDate)\n : null,\n wqsurvey: stationDetail?.hydroSurvey?.wqsurvey,\n wqcdate: !!stationDetail?.hydroSurvey?.wqcdate\n ? convertDate(stationDetail?.hydroSurvey?.wqcdate)\n : null,\n wqsdate: !!stationDetail?.hydroSurvey?.wqsdate\n ? convertDate(stationDetail?.hydroSurvey?.wqsdate)\n : null,\n meteoSurvey: stationDetail?.MeteoSurvey,\n meteoSdate: !!stationDetail?.MeteoSurvey?.meteoSdate\n ? convertDate(stationDetail?.MeteoSurvey?.meteoSdate)\n : null,\n meteoCdate: !!stationDetail?.MeteoSurvey?.meteoCdate\n ? convertDate(stationDetail?.MeteoSurvey?.meteoCdate)\n : null,\n meteoCreateDate: stationDetail?.meteoCreateDate\n ? convertDate(stationDetail?.meteoCreateDate)\n : null,\n remark: \"\",\n stationRemarkId: !!stationDetail?.stationRemark\n ? stationDetail?.stationRemark[stationDetail?.stationRemark.length - 1]\n ?.stationRemarkId\n : null,\n };\n\n const { register, handleSubmit, watch, setValue, reset } = useForm();\n\n const displayStationDetail = (\n <>\n
    \n
    \n \n \n
    \n \n );\n\n return (\n
    \n \n \n history.goBack()}>\n กลับ\n
    \n }\n />\n {displayStationDetail}\n \n \n \n \n \n \n );\n};\n\nexport default StationDetail;\n","import React, { useState } from \"react\";\n\nimport {\n ColumnDef,\n flexRender,\n getCoreRowModel,\n getSortedRowModel,\n useReactTable,\n getFilteredRowModel,\n getPaginationRowModel,\n} from \"@tanstack/react-table\";\nimport Pagination from \"react-js-pagination\";\n\nconst TableComp = ({ data, columns }) => {\n const [sorting, setSorting] = useState([]);\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const table = useReactTable({\n data,\n columns,\n state: {\n sorting,\n },\n onSortingChange: setSorting,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getFilteredRowModel: getFilteredRowModel(),\n getPaginationRowModel: getPaginationRowModel(),\n debugTable: true,\n });\n\n const displayPaginationJs = (\n
    \n table.setPageIndex(pageNumber - 1)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displaylimitResults = (\n
    \n แสดง\n {\n table.setPageSize(Number(e.target.value));\n }}\n value={table.getState().pagination.pageSize}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n return (\n
    \n {displaylimitResults}\n \n \n {table.getHeaderGroups().map((headerGroup) => (\n \n {headerGroup.headers.map((header) => {\n return (\n \n );\n })}\n \n ))}\n \n \n {table.getRowModel().rows.map((row) => (\n \n {row.getVisibleCells().map((cell) => (\n \n ))}\n \n ))}\n \n
    \n {header.isPlaceholder ? null : (\n <>\n {header.column.columnDef.sort ? (\n \n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n {{\n asc: \"⬆\",\n desc: \"⬇\",\n }[header.column.getIsSorted()] ?? null}\n \n ) : (\n
    \n {flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n
    \n )}\n \n )}\n
    \n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n
    \n\n {displayPaginationJs}\n
    \n );\n};\n\nexport default TableComp;\n","import React, { useState, useEffect } from \"react\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport {\n Link,\n useHistory,\n Route,\n useRouteMatch,\n Switch,\n} from \"react-router-dom\";\nimport TitleText from \"../../../Components/TitleText\";\nimport { useToasts } from \"react-toast-notifications\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Select from \"react-select\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport Pagination from \"react-js-pagination\";\nimport ModalDeleteStation from \"../../../Components/ModalDeleteStation\";\nimport StationDetail from \"./StationDetail\";\nimport EditStation from \"./EditStation\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\nimport TableComp from \"../../../Components/TableComp\";\nimport { GrDocumentDownload } from \"react-icons/gr\";\n\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport fs from \"fs\";\nimport { toDataURL } from \"../../../Services/Function\";\n\npdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\n\nconst StationManagement = () => {\n let { path, url } = useRouteMatch();\n\n const optionsSearch = [\n { label: \"ทั้งหมด\", value: \"1\" },\n { label: \"เลือกลุ่มน้ำ\", value: \"2\" },\n ];\n const history = useHistory();\n const [station, setstation] = useState([]);\n const [pdfReport, setPdfReport] = useState(null);\n const { addToast } = useToasts();\n const [optionsBasin, setOptionBasin] = useState([]);\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [typeSearch, setTypeSearch] = useState(optionsSearch[0]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n const [base64Pdf, setBase64Pdf] = useState(null);\n const [numPages, setNumPages] = useState(null);\n const [pageNumber, setPageNumber] = useState(1);\n\n function onDocumentLoadSuccess({ numPages }) {\n setNumPages(numPages);\n }\n\n // let filterSearch;\n\n const styles = {\n searchContainer: {},\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const downloadFile = (function () {\n const a = document.createElement(\"a\");\n document.body.appendChild(a);\n a.style = \"display: none\";\n return function (data, fileName) {\n a.href = data;\n a.download = fileName;\n a.click();\n };\n })();\n\n const onHandleDownload = async (stationId) => {\n setIsLoading(true);\n const b64 = await dwrApi\n .get(`/StationOnepages/${stationId}`, { responseType: \"blob\" })\n .then((res) => window.URL.createObjectURL(res.data))\n .then((url) => toDataURL(url))\n .then((data) => downloadFile(data, `stationId-${stationId}`))\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n });\n };\n\n const tableData = filterBySearchTerm.map((el, elIndex) => {\n return {\n id: elIndex,\n stationLabel: (\n \n {el.stationLabel}\n \n ),\n stationTh: (\n \n {el.stationTh}\n \n ),\n basinTh: el.subBasin?.basin?.basinTh,\n edit: (\n \n \n \n \n \n ),\n delete: (\n \n \n \n ),\n download: (\n \n onHandleDownload(el.stationId)} type=\"button\">\n \"download\"\n \n {/* */}\n \n ),\n };\n });\n\n const tableColumn = [\n {\n accessorKey: \"stationLabel\",\n id: \"stationLabel\",\n cell: (info) => info.getValue(),\n header: \"รหัสสถานี\",\n },\n {\n accessorKey: \"stationTh\",\n id: \"stationTh\",\n cell: (info) => info.getValue(),\n header: \"ชื่อสถานี (ไทย)\",\n },\n {\n accessorKey: \"basinTh\",\n id: \"basinTh\",\n cell: (info) => info.getValue(),\n header: \"ลุ่มน้ำ\",\n sort: true,\n },\n {\n accessorKey: \"edit\",\n id: \"edit\",\n cell: (info) => info.getValue(),\n header: แก้ไข,\n },\n {\n accessorKey: \"delete\",\n id: \"delete\",\n cell: (info) => info.getValue(),\n header: ลบ,\n },\n {\n accessorKey: \"download\",\n id: \"download\",\n cell: (info) => info.getValue(),\n header: ดาวน์โหลด,\n },\n ];\n\n const customStyles = {\n container: (provided) => ({\n ...provided,\n width: 200,\n marginInline: \"10px\",\n }),\n };\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth();\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${month} / ${date} / ${year}`;\n };\n\n const onHandleEdit = (station) => {\n console.log(station);\n };\n\n const fetchSearchStation = () => {\n setIsLoading(true);\n dwrApi\n .get(`/stations?SearchNameOrLabel=${searchTerm}`)\n .then((res) => setstation(res.data))\n .catch((err) => console.log(err.message))\n .finally(() => setIsLoading(false));\n };\n\n const fetchBasins = () => {\n setIsLoading(true);\n dwrApi\n .get(\"Basins\")\n .then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.basinId,\n label: `${item.basinTh}`,\n };\n setOptionBasin((optionBasin) => [...optionBasin, list]);\n });\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => setIsLoading(false));\n };\n\n const fetchStationOfBasin = () => {\n setIsLoading(true);\n dwrApi\n .get(`/Stations?basinId=${basinIdSelected}`)\n .then((res) => {\n setstation(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n })\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n fetchSearchStation();\n }, [isAction]);\n\n useEffect(() => {\n fetchBasins();\n }, []);\n\n const filterSearchFn = () => {\n if (station.length) {\n const result = station?.filter((item) => {\n return (\n item.stationLabel.toLowerCase().includes(searchTerm.toLowerCase()) ||\n item.subBasin?.basin?.basinTh\n ?.toLowerCase()\n .includes(searchTerm.toLowerCase()) ||\n item.stationTh?.toLowerCase().includes(searchTerm.toLowerCase())\n );\n });\n\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n filterSearchFn();\n }, [station, searchTerm]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm]);\n\n useEffect(() => {\n setSearchTerm(\"\");\n setPage(1);\n }, [typeSearch]);\n\n const displayHeader = (\n
    \n
    \n
    \n setTypeSearch(ev)}\n />\n
    \n
    \n {typeSearch.value == \"1\" ? (\n setSearchTerm(ev.target.value)}\n />\n ) : (\n
    \n setBasinIdSelected(ev.value)}\n />\n
    \n )}\n
    \n
    \n \n ค้นหา\n \n \n
    \n
    \n\n
    \n \n history.push(\"/addstation\")}\n >\n เพิ่มสถานี\n \n \n
    \n
    \n );\n\n const displayStationManagement = (\n <>\n \n
    \n
    {displayHeader}
    \n {station.length ? (\n <>\n {/*
    {displaylimitResults}
    */}\n {/*
    {displayManagement}
    */}\n \n {/*
    {displayPagination}
    */}\n \n ) : (\n \"\"\n )}\n
    \n \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n\n {/* */}\n\n \n \n
    {displayStationManagement}
    \n
    \n \n \n \n
    \n
    \n );\n};\n\nexport default StationManagement;\n","import React, { useEffect, useState } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { useToasts } from \"react-toast-notifications\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport FormStationDetail from \"../../../Components/FormStationDetail\";\nimport { useHistory } from \"react-router-dom\";\nimport { FaChevronDown, FaChevronUp, FaChevronLeft } from \"react-icons/fa\";\nimport TitleText from \"../../../Components/TitleText\";\n\nconst AddStation = () => {\n const history = useHistory();\n\n const { register, handleSubmit, watch } = useForm();\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [inputData, setInputData] = useState(\"\");\n\n const [crossSectionData, setCrossSectionData] = useState([]);\n const [dataBenchmarks, setDataBenchmarks] = useState(\"\");\n const [dataGage, setDataGage] = useState(\"\");\n const [dataBasinArea, setDataBasinArea] = useState(\"\");\n\n const [dataStation, setDataStation] = useState(\"\");\n\n const [responseMeteoType, setResponseMeteoType] = useState(\"\");\n const [responseHydroType, setResponseHydroType] = useState(\"\");\n\n const preloadValue = {\n BetweenMainRoad: null,\n FarMainRoad: null,\n RoadNo: null,\n basinId: null,\n basinArea: {\n measureDate: null,\n measureByCenter: false,\n },\n benchmark: {\n createByCenter: false,\n bmLevel: null,\n nearbyPlace: null,\n bmcreateDate: null,\n },\n bmCreateByCenter: false,\n bmcreateDate: null,\n\n bubbleCdate: null,\n bubbleIdate: null,\n buildingDate: null,\n controllerName: null,\n dcsurvey: false,\n floatCdate: null,\n floatIdate: null,\n gage: {\n gageAmount: 0,\n gageLevel: null,\n gageTypeId: 1,\n gageSurveyDate: null,\n\n subGage: [],\n surveyByCenter: false,\n },\n gageSurveyDate: null,\n\n latitudeDms: [null, null, null],\n longitudeDms: [null, null, null],\n\n nearbyPlace: null,\n pathName: null,\n personName: null,\n\n publish: false,\n radius: null,\n ratioMap: null,\n sheetNo: null,\n staffCdate: null,\n staffIdate: null,\n stationEn: null,\n stationImagePath: null,\n stationTh: null,\n stationType: \"01\",\n stationlabel: null,\n subDistrict: null,\n tel: null,\n village: null,\n waterCdate: null,\n waterSdate: null,\n ghsurvey: null,\n hydroCreateDate: null,\n wqsurvey: null,\n wqcdate: null,\n wqsdate: null,\n meteoSurvey: null,\n meteoSdate: null,\n meteoCdate: null,\n meteoCreateDate: null,\n remark: \"\",\n stationRemarkId: null,\n };\n\n const onSubmitStationDetail = async (ev) => {\n // const data = {\n // stationLabel: ev.stationlabel,\n // stationEn: ev.stationEn,\n // stationTh: ev.stationTh,\n // locationId: null,\n // stationCenterId: +ev.stationCenterId,\n // subBasinId: ev.subBasin,\n // ratioMap: ev.ratioMap,\n // sheetNo: ev.sheetNo,\n // buildingDate: ev.buildingDate,\n // controllerName: ev.controllerName,\n // meteoCreateDate: ev.meteoCreateDate,\n // hydroCreateDate: ev.hydroCreateDate,\n // stationTypeId: +ev.stationType,\n // departmentId: ev.departmentId,\n // bmid: dataBenchmarks.bmid,\n // basinAreaId: dataBasinArea.basinAreaId,\n // gageId: dataGage.gageId,\n // publish: ev.publish === true ? \"Y\" : \"N\",\n // personName: ev.personName,\n // tel: ev.tel,\n // active: \"Y\",\n // };\n\n // let payload = {\n // stationId: stationDetail?.stationId,\n // stationLabel: ev.stationlabel,\n // stationEn: ev.stationEn,\n // stationTh: ev.stationTh,\n // locationId: ev.locationId || stationDetail?.locationId,\n // stationCenterId: +ev.stationCenterId,\n // subBasinId: ev.subBasin,\n // ratioMap: ev.ratioMap,\n // sheetNo: ev.sheetNo,\n // buildingDate: ev.buildingDate,\n // controllerName: ev.controllerName,\n // meteoCreateDate: ev.meteoCreateDate,\n // hydroCreateDate: ev.hydroCreateDate,\n // stationTypeId: +ev.stationType,\n // departmentId: ev.departmentId,\n // solarConstant: stationDetail?.solarConstant,\n // forecastGageHeight: stationDetail?.forecastGageHeight,\n // travelDistanceWater: stationDetail?.travelDistanceWater,\n // calculatDischarge: stationDetail?.calculatDischarge,\n // hydroSurveyId: ev.hydroSurveyId || stationDetail?.hydroSurveyId,\n // meteoSurveyId: ev.meteoSurveyId || stationDetail?.meteoSurveyId,\n // bmid: ev.bmid || stationDetail?.bmid,\n // basinAreaId: ev.basinAreaId,\n // gageId: ev.gageId || stationDetail?.gageId,\n // mapId: ev.mapId || stationDetail?.mapId,\n // publish: ev.publish === true ? \"Y\" : \"N\",\n // active: \"Y\",\n // regionId: stationDetail?.regionId,\n // personName: ev.personName,\n // tel: ev.tel,\n // remark: ev.remark\n // };\n\n let payload = {\n stationLabel: ev.stationlabel,\n stationEn: ev.stationEn,\n stationTh: ev.stationTh,\n locationId: ev.locationId,\n stationCenterId: +ev.stationCenterId,\n subBasinId: ev.subBasin,\n ratioMap: ev.ratioMap,\n sheetNo: ev.sheetNo,\n buildingDate: !!ev.buildingDate ? ev.buildingDate : null,\n controllerName: ev.controllerName,\n meteoCreateDate: !!ev.meteoCreateDate ? ev.meteoCreateDate : null,\n hydroCreateDate: !!ev.hydroCreateDate ? ev.hydroCreateDate : null,\n stationTypeId: +ev.stationType,\n departmentId: ev.departmentId,\n hydroSurveyId: ev.hydroSurveyId,\n meteoSurveyId: ev.meteoSurveyId,\n bmid: ev.bmid,\n basinAreaId: ev.basinAreaId,\n gageId: ev.gageId,\n mapId: ev.mapId,\n publish: ev.publish === true ? \"Y\" : \"N\",\n personName: ev.personName,\n tel: ev.tel,\n remark: ev.remark,\n };\n\n try {\n let res = await dwrApi.post(`/Stations`, payload);\n console.log(\"upload station Done\", res.data);\n setDataStation(res.data);\n return res?.data?.stationId;\n } catch (err) {\n console.error(err);\n console.log(\"can not upload station\", err.message);\n }\n };\n\n const onSubmitBenchmarks = async (ev) => {\n const dataBenchmarks = {\n bmlevel: +ev.benchmark.bmLevel,\n nearbyPlace: ev.benchmark.nearbyPlace,\n bmcreateDate: !!ev.bmcreateDate ? ev.bmcreateDate : null,\n createByCenter: ev.bmCreateByCenter ? \"1\" : \"0\",\n };\n\n console.log({ dataBenchmarks });\n\n let resBm = await dwrApi\n .post(`/Benchmarks`, dataBenchmarks)\n .then((res) => {\n console.log(\"upload Benchmarks Done\", res.data);\n setDataBenchmarks(res.data);\n return res.data;\n })\n .catch((err) => {\n console.log(\"can not upload Benchmarks\", err.message);\n });\n\n return resBm.bmid;\n };\n\n const onSubmitLocation = async (ev) => {\n const dataLocation = {\n latitudeDms: `${ev.latitudeDms[0]}° ${ev.latitudeDms[1]}' ${ev.latitudeDms[2]}\" N`,\n longitudeDms: `${ev.longitudeDms[0]}° ${ev.longitudeDms[1]}' ${ev.longitudeDms[2]}\" E`,\n village: ev.village,\n nearbyPlace: ev.nearbyPlace,\n subDistrictId: ev.subDistrict,\n radius: +ev.radius,\n };\n\n console.log({ dataLocation });\n try {\n let resLocation = await dwrApi.post(\n `/Locations/Station/${ev.stationId}`,\n dataLocation\n );\n if (!!resLocation) {\n return resLocation.locationId;\n }\n } catch (err) {\n console.error(err);\n } finally {\n setIsLoading(false);\n }\n };\n\n const onSubmitGage = async (ev) => {\n try {\n const payload = {\n gageLevel: +ev.gage.gageLevel,\n gageTypeId: +ev.gage.gageTypeId,\n gageAmount: +ev.gage.gageAmount,\n surveyByCenter: ev.gage.surveyByCenter ? \"1\" : \"0\",\n gageSurveyDate: !!ev.gageSurveyDate ? ev.gageSurveyDate : null,\n };\n\n console.log({ dataGage: payload });\n let res = await dwrApi.post(`/Gages`, payload);\n setDataGage(res.data);\n await onSubmitSubGage(res.data, ev);\n return res.data.gageId;\n } catch (err) {\n console.error(\"can not upload Gage\", err.message);\n }\n };\n\n const onSubmitSubGage = async (gageRes, ev) => {\n console.log({ gageRes, ev });\n let gageAmount = !!ev.gage.gageAmount ? +ev.gage.gageAmount : 0;\n\n let payload = [];\n ev.gage.subGage.map((sub, i) => {\n if (i < gageAmount) {\n payload.push({\n gageId: gageRes?.gageId,\n gageNo: i + 1,\n totalSheet: !!sub.totalSheet ? +sub.totalSheet : 0,\n });\n }\n });\n dwrApi\n .post(`/SubGages`, payload)\n .then((res) => {\n console.warn(\"upload SubGages Done\", res.data);\n })\n .catch((err) => {\n console.error(\"can not upload SubGages\", err.message);\n });\n };\n\n // const onSubmitSubGage = async (ev) => {\n // const dataSubGage = ev.gage?.subgage?.map((item, index) => {\n // return {\n // gageId: +dataGage.gageId,\n // gageNo: index + 1,\n // startLevel: +item.subGageLevel,\n // totalSheet: 1,\n // };\n // });\n\n // await dwrApi\n // .post(`/SubGages`, dataSubGage)\n // .then((res) => {\n // console.log(\"upload SubGages Done\", res.data);\n // })\n // .catch((err) => {\n // console.log(\"can not upload SubGages\", err.message);\n // });\n // };\n\n const onSubmitBasinArea = async (ev) => {\n try {\n const payload = {\n basinArea: !isNaN(ev.basinArea.BasinArea)\n ? +ev.basinArea.BasinArea\n : null,\n measureDate: !!ev.basinArea.measureDate\n ? ev.basinArea.measureDate\n : null,\n measureByCenter: ev.basinArea.measureByCenter ? \"1\" : \"0\",\n };\n\n console.log({ dataBasinArea: payload });\n let res = await dwrApi.post(`/BasinAreas`, payload);\n setDataBasinArea(res.data);\n console.log(\"SubmitBasinArea Done\", res.data);\n return res.data.basinAreaId;\n } catch (err) {\n console.error(err);\n }\n // const data = {\n // basinArea1: ev.basinArea,\n // measureDate: ev.dateOfBasin,\n // measureByCenter: ev.isCenterResearch_basin ? \"1\" : \"0\",\n // };\n\n // await dwrApi\n // .post(`/BasinAreas`, data)\n // .then((res) => {\n // console.log(\"upload SubGages Done\", res.data);\n // setDataBasinArea(res.data);\n // })\n // .catch((err) => {\n // console.log(\"can not upload SubGages\", err.message);\n // });\n };\n\n const fetchHydroSurvey = async (ev) => {\n const data = {\n ghsurvey: ev.ghsurvey,\n staffIdate: !!ev.staffIdate ? ev.staffIdate : null,\n staffCdate: !!ev.staffCdate ? ev.staffCdate : null,\n floatIdate: !!ev.floatIdate ? ev.floatIdate : null,\n floatCdate: !!ev.floatCdate ? ev.floatCdate : null,\n bubbleIdate: !!ev.bubbleIdate ? ev.bubbleIdate : null,\n bubbleCdate: !!ev.bubbleCdate ? ev.bubbleCdate : null,\n\n dcsurvey: ev.dcsurvey,\n waterSdate: !!ev.waterSdate ? ev.waterSdate : null,\n waterCdate: !!ev.waterCdate ? ev.waterCdate : null,\n\n wqsurvey: ev.wqsurvey,\n wqsdate: !!ev.wqsdate ? ev.wqsdate : null,\n wqcdate: !!ev.wqcdate ? ev.wqcdate : null,\n };\n\n console.log({ hydroData: data });\n try {\n let res = await dwrApi.post(`/HydroSurveys`, data);\n setResponseHydroType(res.data);\n return res.data.hydroSurveyId;\n } catch (err) {\n console.error(err.message);\n }\n };\n\n const fetchMeteoSurvey = async (ev) => {\n console.log({ fetchMeteoSurvey: ev });\n const data = {\n meteoSdate: !!ev.meteoSdate ? ev.meteoSdate : null,\n meteoCdate: !!ev.meteoCdate ? ev.meteoCdate : null,\n basicRainSurvey: ev.meteoSurvey.basicRainSurvey,\n panEvaSurvey: ev.meteoSurvey.panEvaSurvey,\n tempWaterSurvey: ev.meteoSurvey.tempWaterSurvey,\n tempAirSurvey: ev.meteoSurvey.tempAirSurvey,\n tempMaxSurvey: ev.meteoSurvey.tempMaxSurvey,\n tempMinSurvey: ev.meteoSurvey.tempMinSurvey,\n dwhumiSurvey: ev.meteoSurvey.dwhumiSurvey,\n airgMachSurvey: ev.meteoSurvey.airgMachSurvey,\n solarMachSurvey: ev.meteoSurvey.solarMachSurvey,\n sunsMachSurvey: ev.meteoSurvey.sunsMachSurvey,\n };\n\n console.log({ meteoData: data });\n\n try {\n let res = await dwrApi.post(`/MeteoSurveys`, data);\n setResponseMeteoType(res.data);\n return res.data.meteoSurveyId;\n } catch (err) {\n console.error(err);\n }\n };\n\n const onSubmitConfigDataStation = async (stationId, ev) => {\n console.log({ ConfigDataStation: ev });\n\n const postHydroConfigData = async (hyId) => {\n await dwrApi.post(`/ConfigDataStations`, {\n stationId: stationId,\n hydroTypeId: hyId,\n });\n };\n const postMeteoConfigData = async (mtId) => {\n await dwrApi.post(`/ConfigDataStations`, {\n stationId: stationId,\n meteotypeId: mtId,\n });\n };\n let hydroTypeIds = [\"01\", \"02\", \"03\"];\n\n hydroTypeIds.map(async (hd) => {\n switch (true) {\n case hd == \"01\" && ev.ghsurvey:\n await postHydroConfigData(hd);\n case hd == \"02\" && ev.dcsurvey:\n await postHydroConfigData(hd);\n case hd == \"03\" && ev.wqsurvey:\n await postHydroConfigData(hd);\n default:\n break;\n }\n });\n\n let meteoTypeIds = [\n \"01\",\n \"02\",\n \"03\",\n \"04\",\n \"06\",\n \"08\",\n \"09\",\n \"11\",\n \"12\",\n \"13\",\n ];\n meteoTypeIds.map(async (mt) => {\n switch (true) {\n case mt == \"01\" && ev.meteoSurvey.basicRainSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"02\" && ev.meteoSurvey.panEvaSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"03\" && ev.meteoSurvey.tempWaterSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"04\" && ev.meteoSurvey.tempAirSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"06\" && ev.meteoSurvey.tempMaxSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"08\" && ev.meteoSurvey.tempMinSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"09\" && ev.meteoSurvey.dwhumiSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"11\" && ev.meteoSurvey.airgMachSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"12\" && ev.meteoSurvey.solarMachSurvey:\n await postMeteoConfigData(mt);\n break;\n case mt == \"13\" && ev.meteoSurvey.sunsMachSurvey:\n await postMeteoConfigData(mt);\n break;\n default:\n break;\n }\n });\n };\n\n const submitCrossection = async (stationId) => {\n if (crossSectionData.length) {\n crossSectionData.map((item) => {\n const data = {\n ...item,\n stationId: stationId,\n };\n\n dwrApi\n .post(`/CrossSections`, data)\n .then((res) => {\n console.log(\"post croesstion\", res.data);\n })\n .catch((err) => {\n console.log('fail post croesstion\"', err.message);\n });\n });\n }\n };\n\n const postMapData = async (ev) => {\n const data = new FormData();\n data.append(\"RoadNo\", ev.RoadNo);\n data.append(\"BetweenMainRoad\", ev.BetweenMainRoad);\n data.append(\"FarMainRoad\", ev.FarMainRoad);\n\n // data.append(\"MapName\", \"\");\n // data.append(\"PathName\", \"\");\n data.append(\"File\", ev.pathName[0]);\n\n try {\n let res = await dwrApi.post(`/MapDatas`, data);\n return res.data.mapId;\n } catch (err) {\n console.error(err);\n }\n };\n\n const submitImage = async (ev) => {\n const imgArr = Array.from(ev.stationImagePath);\n\n try {\n // console.log({img: ev.pathName[0]});\n if (imgArr.length) {\n const stationImgData = new FormData();\n stationImgData.append(\"stationId\", ev.stationId);\n imgArr.map((img) => {\n stationImgData.append(\"files\", img);\n });\n\n let res = await dwrApi.post(`/StationImages`, stationImgData);\n }\n } catch (err) {\n console.error(err);\n }\n };\n\n const submitRemark = async (ev) => {\n if (!ev.remark) return;\n try {\n let payload = {\n stationId: ev.stationId,\n remark: ev.remark,\n };\n await dwrApi.post(`/StationRemarks`, payload);\n } catch (err) {\n console.error(err);\n }\n };\n\n const onHandleSubmit = async (ev) => {\n // setInputData(ev);\n setIsLoading(true);\n try {\n // await onSubmitBenchmarks(ev);\n // await onSubmitGage(ev);\n // await onSubmitBasinArea(ev);\n // setTimeout(async () => {\n // await fetchHydroSurvey(ev);\n // await fetchMeteoSurvey(ev);\n // await postMapData(ev);\n // addToast(

    บันทึกข้อมูลเรียบร้อยแล้ว

    , {\n // appearance: \"success\",\n // autoDismiss: true,\n // });\n // }, 1000);\n\n // submitCrossection(inputData);\n // onSubmitConfigDataStation(ev)\n\n let bmid = await onSubmitBenchmarks(ev);\n let gageId = await onSubmitGage(ev);\n let basinAreaId = await onSubmitBasinArea(ev);\n let hydroSurveyId = await fetchHydroSurvey(ev);\n let meteoSurveyId = await fetchMeteoSurvey(ev);\n let mapId = await postMapData({ ...ev });\n let stationId = await onSubmitStationDetail({\n ...ev,\n bmid,\n gageId,\n basinAreaId,\n hydroSurveyId,\n meteoSurveyId,\n mapId,\n });\n\n if (stationId) {\n let locationId = await onSubmitLocation({ ...ev, stationId });\n await onSubmitConfigDataStation(stationId, {\n ...ev,\n locationId,\n bmid,\n gageId,\n basinAreaId,\n hydroSurveyId,\n meteoSurveyId,\n mapId,\n });\n await submitCrossection(stationId);\n await Promise.all([\n submitImage({ ...ev, stationId }),\n submitRemark({ ...ev, stationId }),\n ]);\n\n addToast(

    บันทึกข้อมูลเรียบร้อยแล้ว

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n\n await gotoEditPage(stationId);\n } else {\n addToast(

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

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n }\n } catch (err) {\n console.log(err);\n } finally {\n setIsLoading(false);\n }\n };\n\n const gotoEditPage = async (stationId) => {\n history.push(`/stationmanagement/${stationId}/edit`);\n };\n\n // useEffect(() => {\n // if (dataBenchmarks && dataGage && dataBasinArea)\n // onSubmitStationDetail(inputData);\n // }, [dataBenchmarks, dataGage, dataBasinArea]);\n\n // useEffect(() => {\n // if (dataGage) onSubmitSubGage(inputData);\n // }, [dataGage]);\n\n // useEffect(() => {\n // if (dataStation) {\n // onSubmitLocation(inputData);\n // submitCrossection(inputData);\n // onSubmitRemark(inputData);\n // }\n // }, [dataStation]);\n\n // useEffect(() => {\n // if (dataStation && responseMeteoType && responseHydroType)\n // onSubmitConfigDataStation(inputData);\n // }, [dataStation, responseMeteoType, responseHydroType]);\n\n return (\n
    \n {isLoading ? : \"\"}\n history.goBack()}>\n กลับ\n
    \n }\n />\n
    \n \n \n \n );\n};\n\nexport default AddStation;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\n\nconst ModalAddLocation = ({\n title,\n provinceIdSelected,\n districtIdSelected,\n setIsAction,\n}) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { register, handleSubmit, reset } = useForm();\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [permission, setPermission] = useState(\"\");\n\n useEffect(() => {\n if (title == \"จังหวัด\") {\n setPermission(2211);\n } else if (title == \"อำเภอ\") {\n setPermission(2214);\n } else if (title == \"ตำบล\") {\n setPermission(2217);\n }\n }, [title]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n reset();\n };\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n let data;\n let subUrl = \"\";\n\n const dataProvince = {\n provinceId: ev.id,\n provinceEn: ev.nameEn,\n provinceTh: ev.nameTh,\n };\n\n const dataDistrict = {\n districtId: ev.id,\n districtEn: ev.nameEn,\n districtTh: ev.nameTh,\n provinceId: provinceIdSelected?.value,\n };\n\n const dataSubDistrict = {\n subDistrictId: ev.id,\n subDistrictEn: ev.nameEn,\n subDistrictTh: ev.nameTh,\n districtId: districtIdSelected?.value,\n };\n\n if (title == \"จังหวัด\") {\n data = dataProvince;\n subUrl = \"Provinces\";\n } else if (title == \"อำเภอ\") {\n data = dataDistrict;\n subUrl = \"Districts\";\n } else if (title == \"ตำบล\") {\n data = dataSubDistrict;\n subUrl = \"SubDistricts\";\n }\n\n dwrApi\n .post(`/${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n };\n\n const displayButtonOpenModal = (\n \n
    \n เพิ่ม\n
    \n
    \n );\n\n const displayHeader = (\n \n \n เพิ่มข้อมูล {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n \n \n \n
    \n );\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {displayContent}\n
    \n \n {!isLoading ? <>บันทึก : displaySpiner}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalAddLocation;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\n\nconst ModalDeleteLocation = ({\n title,\n provinceIdSelected,\n districtIdSelected,\n subDistrictIdSelected,\n selectedDataId,\n setIsAction,\n}) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [permission, setPermission] = useState(\"\");\n\n useEffect(() => {\n if (title == \"จังหวัด\") {\n setPermission(2213);\n } else if (title == \"อำเภอ\") {\n setPermission(2216);\n } else if (title == \"ตำบล\") {\n setPermission(2219);\n }\n }, [title]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"10px\",\n\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n };\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n let id;\n let subUrl = \"\";\n\n if (title == \"จังหวัด\") {\n id = provinceIdSelected.value;\n subUrl = \"Provinces\";\n } else if (title == \"อำเภอ\") {\n id = districtIdSelected.value;\n subUrl = \"Districts\";\n } else if (title == \"ตำบล\") {\n id = subDistrictIdSelected.value;\n subUrl = \"SubDistricts\";\n }\n\n dwrApi\n .delete(`/${subUrl}/${id}`)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n };\n\n const displayButtonOpenModal = (\n \n \n ลบ\n \n \n );\n\n const displayContent = (\n
    คุณต้องการลบ{title} ที่เลือกใช่หรือไม่
    \n );\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n
    \n {displayContent}\n
    \n \n {!isLoading ? <>ตกลง : displaySpiner}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalDeleteLocation;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaRegCommentDots } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\n\nconst ModalEditLocation = ({\n title,\n selectedDataId,\n provinceIdSelected,\n districtIdSelected,\n subDistrictIdSelected,\n setIsAction,\n}) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { register, handleSubmit, reset, setValue } = useForm();\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [permission, setPermission] = useState(\"\");\n\n useEffect(() => {\n if (title == \"จังหวัด\") {\n setPermission(2212);\n } else if (title == \"อำเภอ\") {\n setPermission(2215);\n } else if (title == \"ตำบล\") {\n setPermission(2218);\n }\n }, [title]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n input: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n reset();\n };\n\n const fetchProvinceSelected = () => {\n dwrApi\n .get(`/Provinces/${provinceIdSelected.value}`)\n .then((res) => {\n setValue(\"id\", res.data.provinceId);\n setValue(\"nameTh\", res.data.provinceTh);\n setValue(\"nameEn\", res.data.provinceEn);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n const fetchDistrictSelected = () => {\n dwrApi\n .get(`/Districts/${districtIdSelected.value}`)\n .then((res) => {\n setValue(\"id\", res.data.districtId);\n setValue(\"nameTh\", res.data.districtTh);\n setValue(\"nameEn\", res.data.districtEn);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n const fetchSubDistrictSelected = () => {\n dwrApi\n .get(`/SubDistricts/${subDistrictIdSelected.value}`)\n .then((res) => {\n setValue(\"id\", res.data.subDistrictId);\n setValue(\"nameTh\", res.data.subDistrictTh);\n setValue(\"nameEn\", res.data.subDistrictEn);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n useEffect(() => {\n if (modalIsOpen && title == \"จังหวัด\") {\n fetchProvinceSelected();\n } else if (modalIsOpen && title == \"อำเภอ\") {\n fetchDistrictSelected();\n } else if (modalIsOpen && title == \"ตำบล\") {\n fetchSubDistrictSelected();\n }\n }, [\n provinceIdSelected,\n districtIdSelected,\n subDistrictIdSelected,\n modalIsOpen,\n ]);\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n let data;\n let subUrl = \"\";\n\n const dataProvince = {\n provinceId: ev.id,\n provinceEn: ev.nameEn,\n provinceTh: ev.nameTh,\n };\n\n const dataDistrict = {\n districtId: ev.id,\n districtEn: ev.nameEn,\n districtTh: ev.nameTh,\n provinceId: provinceIdSelected?.value,\n };\n\n const dataSubDistrict = {\n subDistrictId: ev.id,\n subDistrictEn: ev.nameEn,\n subDistrictTh: ev.nameTh,\n districtId: districtIdSelected?.value,\n };\n\n if (title == \"จังหวัด\") {\n data = dataProvince;\n subUrl = `Provinces/${provinceIdSelected.value}`;\n } else if (title == \"อำเภอ\") {\n data = dataDistrict;\n subUrl = `Districts/${districtIdSelected.value}`;\n } else if (title == \"ตำบล\") {\n data = dataSubDistrict;\n subUrl = `SubDistricts/${subDistrictIdSelected.value}`;\n }\n\n dwrApi\n .put(`/${subUrl}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(true);\n });\n };\n\n const displayButtonOpenModal = (\n \n \n แก้ไข\n \n \n );\n\n const displayHeader = (\n \n \n แก้ไขข้อมูล {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n \n \n \n
    \n );\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {displayContent}\n
    \n \n {!isLoading ? <>บันทึก : displaySpiner}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalEditLocation;\n","import React from \"react\";\nimport Select from \"react-select\";\nimport ModalAddLocation from \"./ModalAddLocation\";\nimport ModalDeleteLocation from \"./ModalDeleteLocation\";\nimport ModalEditLocation from \"./ModalEditLocation\";\n\nconst LocationInputEl = ({\n title,\n options,\n placeholder,\n selectedDataId,\n setSelectedDataId,\n provinceIdSelected,\n subDistrictIdSelected,\n districtIdSelected,\n setIsAction,\n}) => {\n return (\n
    \n
    \n
    {title}
    \n
    \n \n ev ? setSelectedDataId(ev) : setSelectedDataId(\"\")\n }\n value={selectedDataId}\n noOptionsMessage={() => \"ไม่พบข้อมูล\"}\n isClearable\n />\n
    \n
    \n
    \n
    \n
    \n
    \n \n\n \n\n \n
    \n
    \n
    \n
    \n );\n};\n\nexport default LocationInputEl;\n","import React, { useState, useEffect } from \"react\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport LocationInputEl from \"../../../Components/LocationInputEl\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst LocationManagement = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [optionProvince, setOptionProvince] = useState([]);\n const [optionDistrict, setOptionDistrict] = useState([]);\n const [optionSubDistrict, setOptionSubDistrict] = useState([]);\n const [provinceIdSelected, setProvinceIdSelected] = useState(\"\");\n const [districtIdSelected, setDistrictIdSelected] = useState(\"\");\n const [subDistrictIdSelected, setsubDistrictIdSelected] = useState(\"\");\n\n const [isProvinceAction, setIsProvinceAction] = useState(false);\n const [isDistrictAction, setIsDistrictAction] = useState(false);\n const [isSubDistrictAction, setIsSubDistrictAction] = useState(false);\n\n const fetchProvince = () => {\n setOptionProvince([]);\n dwrApi\n .get(`/Provinces`)\n .then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.provinceId,\n label: `${item.provinceId} : ${item.provinceTh}`,\n };\n setOptionProvince((optionProvince) => [...optionProvince, list]);\n });\n })\n .catch((err) => {\n console.log(\"err\", err.message);\n })\n .finally(() => {\n setIsProvinceAction(false);\n });\n };\n\n const fetchDistrict = () => {\n setOptionDistrict([]);\n dwrApi\n .get(`/Districts/Province/${provinceIdSelected.value}`)\n .then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.districtId,\n label: `${item.districtId} : ${item.districtTh}`,\n };\n setOptionDistrict((optionDistrict) => [...optionDistrict, list]);\n });\n })\n .catch((err) => {\n console.log(\"err\", err.message);\n })\n .finally(() => {\n setIsDistrictAction(false);\n });\n };\n\n const fetchSubDistrict = () => {\n setOptionSubDistrict([]);\n dwrApi\n .get(`/SubDistricts/District/${districtIdSelected.value}`)\n .then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.subDistrictId,\n label: `${item.subDistrictId} : ${item.subDistrictTh}`,\n };\n setOptionSubDistrict((optionSubDistrict) => [\n ...optionSubDistrict,\n list,\n ]);\n });\n })\n .catch((err) => {\n console.log(\"err\", err.message);\n })\n .finally(() => {\n setIsSubDistrictAction(false);\n });\n };\n\n useEffect(() => {\n setProvinceIdSelected(\"\");\n fetchProvince();\n }, [isProvinceAction]);\n\n useEffect(() => {\n setDistrictIdSelected(\"\");\n setsubDistrictIdSelected(\"\");\n if (provinceIdSelected) fetchDistrict();\n }, [provinceIdSelected, isDistrictAction]);\n\n useEffect(() => {\n setsubDistrictIdSelected(\"\");\n if (districtIdSelected) fetchSubDistrict();\n }, [districtIdSelected, isSubDistrictAction]);\n\n return (\n
    \n {isLoading ? : \"\"}\n \n
    \n \n {provinceIdSelected ? (\n \n ) : (\n \"\"\n )}\n {provinceIdSelected && districtIdSelected ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default LocationManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport Select from \"react-select\";\n\nconst ModalCRUDConfig = ({ title, detail, setIsAction, measureType }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [optionsMeasureTime, setOptionsMeasureTime] = useState([]);\n\n const { register, handleSubmit, reset, control, setValue } = useForm();\n\n useEffect(() => {\n setValue(\n \"period\",\n optionsMeasureTime.find((item) => item.value == detail?.measureTimeId)\n );\n setValue(\"isActive\", detail?.active);\n }, [detail, optionsMeasureTime]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n reset();\n };\n\n const fetchMeasureTimes = () => {\n dwrApi\n .get(`/MeasureTimes?MeasureType=${measureType}`)\n .then((res) => {\n const list = res.data\n // .filter((data) => data.measureTypeId == measureType)\n .map((item) => {\n return {\n label: item.measureTimeDesc + \" \" + \"เวลา\",\n value: item.measureTimeId,\n };\n });\n\n setOptionsMeasureTime(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n useEffect(() => {\n fetchMeasureTimes();\n }, []);\n\n const onSubmit = async (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/ConfigDataStations\";\n\n const data = {\n configDataId: +detail.configDataId,\n stationId: detail.stationId,\n meteotypeId: detail.meteotypeId,\n hydroTypeId: detail.hydroTypeId,\n measureTimeId: ev.period.value,\n active: ev.isActive,\n };\n\n await dwrApi\n .put(`${subUrl}/${detail.configDataId}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n if (ev.isActive == \"N\") {\n await dwrApi.put(`/ConfigDataStations/${detail.configDataId}/UnActive`);\n }\n\n closeModal();\n };\n\n const displayButtonOpenModal = (\n <>\n console.log(detail)}\n />\n \n );\n\n const displayHeader = (\n \n แก้ไข{title}\n \n \n \n
    \n );\n\n const displayContent = (\n
    \n
    \n
    กำหนดคาบเวลา
    \n (\n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {basinResults.length\n ? sliceResult.map((basin) => {\n return (\n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    รหัสลุ่มน้ำชื่อลุ่มน้ำ (ไทย)ชื่อลุ่มน้ำ (อังกฤษ)แก้ไขลบ
    {basin.basinId}{basin.basinTh}{basin.basinEn}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeader = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayHeader}\n {displaylimitResults}\n {displayManagement}\n {displayPagination}\n
    \n );\n};\n\nexport default BasinManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport Select from \"react-select\";\n\nconst ModalCRUDStationCenter = ({ title, detail, type, setIsAction }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [optionRegions, setOptionRegions] = useState([]);\n\n const [results, setResults] = useState();\n\n const fetchData = () => {\n setIsLoading(true);\n dwrApi\n .get(`/StationCenters/${detail.stationCenterId}`)\n .then((res) => {\n setResults(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n useEffect(() => {\n if (detail && modalIsOpen) fetchData();\n }, [detail, modalIsOpen]);\n\n const defaultValues = {\n id: results && results.stationCenterId ? +results?.stationCenterId : \"\",\n nameTh:\n results && results.stationCenterName ? results?.stationCenterName : \"\",\n };\n\n const { register, handleSubmit, reset, control, setValue } = useForm();\n\n useEffect(() => {\n if (results) reset(defaultValues);\n }, [results]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n reset();\n };\n\n const fetchRegions = () => {\n dwrApi\n .get(\"/Regions\")\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.regionNameTh,\n value: item.regionId,\n };\n });\n setOptionRegions(list);\n })\n .catch((err) => {\n console.log(err);\n });\n };\n\n useEffect(() => {\n if (modalIsOpen) fetchRegions();\n }, [modalIsOpen]);\n\n useEffect(async () => {\n if (optionRegions.length && results) {\n const defaultValuesRegion = await optionRegions.find(\n (item) => item.value == results.regionId\n );\n\n setValue(\"regionIdSelect\", defaultValuesRegion);\n }\n }, [optionRegions, results]);\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/StationCenters\";\n\n const data = {\n regionId: +ev?.regionIdSelect?.value,\n stationCenterId: detail ? detail?.stationCenterId : +ev.id,\n stationCenterName: ev.nameTh,\n };\n\n if (type == \"add\") {\n dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n dwrApi\n .put(`${subUrl}/${detail.stationCenterId}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n dwrApi\n .delete(`${subUrl}/${detail.stationCenterId}`)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n }\n };\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n \n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\" && \"เพิ่ม\"}\n {type == \"edit\" && \"แก้ไข\"}\n {type == \"delete\" && \"ลบ\"}\n {title}\n \n \n \n \n
    \n );\n\n const displayContent = (\n
    \n (\n \n )}\n />\n \n \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบ{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n \n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDStationCenter;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport { Link, useHistory, Route, Redirect } from \"react-router-dom\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Pagination from \"react-js-pagination\";\nimport ModalCRUDStationCenter from \"../../../Components/ModalCRUDStationCenter\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\n\nconst DataHydroManagement = () => {\n const [results, setResults] = useState([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const fetchData = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/StationCenters\")\n .then((res) => {\n setResults(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (results.length) {\n const result = results?.filter((item) => {\n return (\n item.stationCenterName\n .toLowerCase()\n .includes(searchTerm.toLowerCase()) ||\n item.region?.regionNameTh\n ?.toLowerCase()\n .includes(searchTerm.toLowerCase()) ||\n item.region?.regionNameEn\n ?.toLowerCase()\n .includes(searchTerm.toLowerCase()) ||\n item.stationCenterId?.toString().includes(searchTerm.toLowerCase())\n );\n });\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchData();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [results, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {results.length\n ? sliceResult.map((item) => {\n return (\n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    รหัสข้อมูลส่วนอุทกวิทยาชื่อข้อมูลส่วนอุทกวิทยาชื่อสำนักงานภาคแก้ไขลบ
    {item.stationCenterId}{item.stationCenterName}{item.region?.regionNameTh}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeader = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayHeader}\n {displaylimitResults}\n {displayManagement}\n {displayPagination}\n
    \n );\n};\n\nexport default DataHydroManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ModalCRUDRegion = ({ title, detail, type, setIsAction }) => {\n const [regions, setRegions] = useState([]);\n\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n\n const fetchRegions = () => {\n setIsLoading(true);\n dwrApi\n .get(`/Regions/${detail.regionId}`)\n .then((res) => {\n setRegions(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n useEffect(() => {\n if (detail && modalIsOpen) fetchRegions();\n }, [detail, modalIsOpen]);\n\n const defaultValues = {\n id: regions && regions.regionId ? +regions.regionId : \"\",\n nameEn: regions ? regions?.regionNameEn : \"\",\n nameTh: regions ? regions?.regionNameTh : \"\",\n };\n\n const { register, handleSubmit, reset } = useForm();\n\n useEffect(() => {\n if (regions) reset(defaultValues);\n }, [regions]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n reset();\n };\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/Regions\";\n\n const data = {\n regionId: detail ? detail.regionId : +ev.id,\n regionNameEn: ev.nameEn,\n regionNameTh: ev.nameTh,\n };\n\n if (type == \"add\") {\n dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n dwrApi\n .put(`${subUrl}/${detail.regionId}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n dwrApi\n .delete(`${subUrl}/${detail.regionId}`, data)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n }\n };\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n \n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\" && \"เพิ่มข้อมูล\"}\n {type == \"edit\" && \"แก้ไขข้อมูล\"}\n {type == \"delete\" && \"ลบข้อมูล\"}\n {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n \n \n \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบ{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n \n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDRegion;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport { Link, useHistory, Route, Redirect } from \"react-router-dom\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Pagination from \"react-js-pagination\";\nimport ModalCRUDRegion from \"../../../Components/ModalCRUDRegion\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\n\nconst DepartmentManagement = () => {\n const [regions, setRegions] = useState([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const fetchRegions = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/Regions\")\n .then((res) => {\n setRegions(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (regions.length) {\n const result = regions?.filter((item) => {\n const { regionId,regionNameTh, regionNameEn } = item;\n let rid = regionId+''\n return (\n rid.includes(searchTerm.toLowerCase()) ||\n regionNameTh.toLowerCase().includes(searchTerm.toLowerCase()) ||\n regionNameEn.toLowerCase().includes(searchTerm.toLowerCase())\n );\n });\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchRegions();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [regions, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {regions.length\n ? sliceResult.map((item, index) => {\n return (\n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    รหัสภาคชื่อสำนักงานภาค (ไทย)ชื่อสำนักงานภาค (อังกฤษ)แก้ไขลบ
    {item.regionId}{item.regionNameTh}{item.regionNameEn}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeader = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayHeader}\n {displaylimitResults}\n {displayManagement}\n {displayPagination}\n
    \n );\n};\n\nexport default DepartmentManagement;\n","import React, { useState, useEffect, useMemo } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport Select from \"react-select\";\nimport DatePicker from \"react-datepicker\";\nimport { format } from \"date-fns\";\n\nconst ModalCRUDPerson = ({ title, detail, type, setIsAction }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [isPreloadValues, setIsPreloadValues] = useState(false);\n const [isOnInit, setIsOnInit] = useState(false);\n\n const [startDate, setStartDate] = useState(\"\");\n const [endDate, setEndDate] = useState(\"\");\n const [provinceInput, setProvinceInput] = useState(false);\n const [districtInput, setDistrictInput] = useState(false);\n const [subDistrictInput, setSubDistrictInput] = useState(false);\n\n const [optionsPosition, setOptionsPosition] = useState([]);\n const [optionsStationCenters, setOptionsStationCenters] = useState([]);\n const [optionProvince, setOptionProvince] = useState([]);\n const [optionDistrict, setOptionDistrict] = useState([]);\n const [optionSubDistrict, setOptionSubDistrict] = useState([]);\n\n const [persons, setPersons] = useState([]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"500px\",\n },\n };\n\n const fetchPersonDetail = async () => {\n if (detail) {\n setIsLoading(true);\n await dwrApi\n .get(`/Persons/${detail.personId}`)\n .then((res) => {\n setPersons(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n }\n };\n\n const optionsPrename = [\n { label: \"นาย\", value: 1 },\n { label: \"นาง\", value: 2 },\n { label: \"นางสาว\", value: 3 },\n ];\n\n const defaultValues = {\n preNameId: persons\n ? optionsPrename.find((item) => item.value == persons.preNameId)\n : \"\",\n firstName: persons ? persons.firstName : \"\",\n lastName: persons ? persons.lastName : \"\",\n email: persons ? persons.email : \"\",\n tels: persons ? persons.tels : \"\",\n postCode1: persons ? persons.postCode1 : \"\",\n address1: persons ? persons.address1 : \"\",\n isActive: persons && persons.active === \"Y\" ? true : false,\n positionId:\n persons && optionsPosition.length\n ? optionsPosition.find(\n (item) => item.value === persons?.position?.positionId\n )\n : \"\",\n stationCenterId:\n persons && optionsStationCenters.length\n ? optionsStationCenters.find(\n (item) => item.value === persons?.stationCenter?.stationCenterId\n )\n : \"\",\n provinceId:\n persons && optionProvince.length\n ? optionProvince.find(\n (item) => item.value == persons?.subDistrict1?.district?.provinceId\n )\n : \"\",\n districtId:\n persons && optionDistrict.length\n ? optionDistrict.find(\n (item) => item.value == persons?.subDistrict1?.district?.districtId\n )\n : \"\",\n subDistrictId1:\n persons && optionSubDistrict.length\n ? optionSubDistrict.find(\n (item) => item.value == persons?.subDistrict1?.subDistrictId\n )\n : \"\",\n };\n\n const {\n register,\n handleSubmit,\n reset,\n watch,\n control,\n setValue,\n formState: { errors },\n } = useForm();\n\n let anyError = Object.keys(errors).length;\n const provinceIdSelected = watch(\"provinceId\");\n const districtIdSelected = watch(\"districtId\");\n const subDistrictId1Selected = watch(\"subDistrictId1\");\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n setStartDate(\"\");\n setEndDate(\"\");\n reset();\n };\n\n const fetchPosition = async () => {\n setOptionsPosition([]);\n await dwrApi.get(\"/Positions\").then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.positionId,\n label: `${item.positionId} : ${item.positionName}`,\n };\n setOptionsPosition((optionsPosition) => [...optionsPosition, list]);\n });\n });\n };\n\n const fetchStationCenters = async () => {\n setOptionsStationCenters([]);\n await dwrApi.get(\"/StationCenters\").then((res) => {\n res.data.map((item) => {\n const list = {\n value: item.stationCenterId,\n label: `${item.stationCenterId} : ${item.stationCenterName}`,\n };\n setOptionsStationCenters((optionsStationCenters) => [\n ...optionsStationCenters,\n list,\n ]);\n });\n });\n };\n\n const fetchProvince = async () => {\n console.log(\"fetchProvince\");\n setOptionProvince([]);\n await dwrApi.get(`/Provinces`).then(async (res) => {\n const list = await res.data.map((item) => {\n return {\n value: item.provinceId,\n label: `${item.provinceId} : ${item.provinceTh}`,\n };\n });\n\n setOptionProvince(list);\n });\n };\n\n const fetchDistrict = async (provinceId) => {\n if (provinceId) {\n console.log(\"fetchDistrict\");\n setOptionDistrict([]);\n await dwrApi\n .get(`/Districts/Province/${provinceId}`)\n .then(async (res) => {\n const list = await res.data.map((item) => {\n return {\n value: item.districtId,\n label: `${item.districtId} : ${item.districtTh}`,\n };\n });\n\n setOptionDistrict(list);\n });\n }\n };\n\n const fetchSubDistrict = async (districtId) => {\n if (districtId) {\n console.log(\"fetchSubDistrict\");\n setOptionSubDistrict([]);\n await dwrApi\n .get(`/SubDistricts/District/${districtId}`)\n .then(async (res) => {\n const list = await res.data.map((item) => {\n return {\n value: item.subDistrictId,\n label: `${item.subDistrictId} : ${item.subDistrictTh}`,\n };\n });\n\n setOptionSubDistrict(list);\n });\n }\n };\n\n useEffect(async () => {\n if (modalIsOpen) {\n setIsOnInit(true);\n await fetchPersonDetail();\n await fetchPosition();\n await fetchStationCenters();\n await fetchProvince();\n if (detail) {\n await fetchPersonDetail();\n await fetchDistrict(detail?.subDistrict1?.district?.provinceId);\n await fetchSubDistrict(detail?.subDistrict1?.district?.districtId);\n }\n setIsPreloadValues(true);\n setIsOnInit(false);\n }\n }, [modalIsOpen]);\n\n useEffect(() => {\n if (isPreloadValues) {\n reset(defaultValues);\n setIsPreloadValues(false);\n }\n }, [isPreloadValues]);\n\n useEffect(() => {\n if (persons) {\n setStartDate(\n persons && persons.startDate ? new Date(persons.startDate) : \"\"\n );\n setEndDate(persons && persons.endDate ? new Date(persons.endDate) : \"\");\n }\n }, [persons]);\n\n useEffect(() => {\n if (provinceInput) {\n setValue(\"districtId\", null);\n setValue(\"subDistrictId1\", null);\n setOptionDistrict([]);\n setOptionSubDistrict([]);\n if (provinceIdSelected) {\n fetchDistrict(provinceIdSelected.value);\n }\n setProvinceInput(false);\n }\n }, [provinceInput]);\n\n useEffect(() => {\n if (districtInput) {\n setValue(\"subDistrictId1\", null);\n setOptionSubDistrict([]);\n if (districtIdSelected) {\n fetchSubDistrict(districtIdSelected.value);\n }\n setDistrictInput(false);\n }\n }, [districtInput]);\n\n console.log({ startDate });\n\n const onSubmit = (ev) => {\n console.log(\"subnit\");\n setIsLoading(true);\n\n let subUrl = \"/Persons\";\n\n const data = {\n preNameId: +ev.preNameId.value,\n firstName: ev.firstName,\n lastName: ev.lastName,\n email: ev.email,\n tels: ev.tels,\n startDate: format(new Date(startDate), \"yyyy-MM-dd\"),\n endDate: format(new Date(endDate), \"yyyy-MM-dd\"),\n subDistrictId1: ev.subDistrictId1.value,\n postCode1: ev.postCode1,\n address1: ev.address1,\n positionId: +ev.positionId.value,\n stationCenterId: +ev.stationCenterId.value,\n active: ev.isActive ? \"Y\" : \"N\",\n };\n\n if (type == \"add\") {\n dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่มข้อมูล{title}สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n const dataEdit = {\n personId: detail ? +detail.personId : \"\",\n preNameId: +ev.preNameId.value,\n firstName: ev.firstName,\n lastName: ev.lastName,\n email: ev.email,\n tels: ev.tels,\n startDate: format(new Date(startDate), \"yyyy-MM-dd\"),\n endDate: format(new Date(endDate), \"yyyy-MM-dd\"),\n subDistrictId1: ev.subDistrictId1.value,\n postCode1: ev.postCode1,\n address1: ev.address1,\n positionId: +ev.positionId.value,\n stationCenterId: +ev.stationCenterId.value,\n active: ev.isActive ? \"Y\" : \"N\",\n };\n\n dwrApi\n .put(`${subUrl}/${detail?.personId}`, dataEdit)\n .then((res) => {\n addToast(

    แก้ไขข้อมูล{title}สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n dwrApi\n .delete(`${subUrl}/${detail?.personId}`, data)\n .then((res) => {\n addToast(

    ลบข้อมูล{title}สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n if (err.response.status === 400 && title === \"เจ้าหน้าที่\") {\n addToast(\n

    \n ไม่สามารถลบข้อมูลได้ เนื่องจากรหัสผู้ใช้ถูกนำไปใช้งานแล้ว\n

    ,\n {\n appearance: \"error\",\n autoDismiss: true,\n }\n );\n } else {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n }\n })\n .finally(() => setIsLoading(false));\n }\n };\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n console.log(detail)}\n />\n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\"\n ? \"เพิ่มข้อมูล\"\n : type == \"edit\"\n ? \"แก่ไขข้อมูล\"\n : \"ลบข้อมูล\"}\n {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n
    \n
    \n
    คำนำหน้า
    \n
    \n (\n \n )}\n />\n
    \n
    \n
    \n
    ชื่อ
    \n
    \n \n
    \n
    \n
    \n
    นามสกุล
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    ตำแหน่ง
    \n
    \n (\n \n )}\n />\n
    \n
    \n
    \n\n
    \n
    \n
    Email
    \n
    \n \n
    \n
    \n
    \n
    เบอร์โทรศัพท์
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    ที่อยู่ปัจจุบัน
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    จังหวัด
    \n
    \n {\n return (\n {\n setProvinceInput(true);\n field.onChange(ev);\n }}\n options={optionProvince}\n isClearable\n />\n );\n }}\n />\n
    \n
    \n
    \n
    อำเภอ
    \n
    \n {\n return (\n {\n setDistrictInput(true);\n field.onChange(ev);\n }}\n options={optionDistrict}\n isClearable\n />\n );\n }}\n />\n
    \n
    \n
    \n\n
    \n
    \n
    ตำบล
    \n
    \n {\n return (\n {\n setSubDistrictInput(true);\n field.onChange(ev);\n }}\n options={optionSubDistrict}\n isClearable\n />\n );\n }}\n />\n
    \n
    \n
    \n
    รหัสไปรษณีย์
    \n
    \n \n
    \n
    \n
    \n\n
    \n
    \n
    วันที่ปฏิบัติงาน
    \n
    \n }\n selected={startDate}\n onChange={(ev) => setStartDate(ev)}\n />\n
    \n
    \n
    \n
    วันสิ้นสุดปฏิบัติงาน
    \n
    \n }\n selected={endDate}\n onChange={(ev) => setEndDate(ev)}\n />\n
    \n
    \n
    \n\n
    \n \n \n
    \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบข้อมูล{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n {isOnInit && type === \"edit\" ? (\n
    {displaySpiner} กรุณารอ
    \n ) : (\n \"\"\n )}\n\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n }\n : handleSubmit(onSubmit)\n }\n style={styles.buttonType2}\n >\n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDPerson;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Pagination from \"react-js-pagination\";\nimport ModalCRUDPerson from \"../../../Components/ModalCRUDPerson\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\n\nconst PersonManagement = () => {\n const [persons, setPersons] = useState([]);\n const [isLoading, setIsLoading] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const fetchStaff = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/Persons\")\n .then((res) => {\n setPersons(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (persons.length) {\n const result = persons?.filter((item) => {\n const { firstName, lastName, stationCenter, tels, position } = item;\n return (\n stationCenter?.stationCenterName\n .toLowerCase()\n .includes(searchTerm?.toLowerCase()) ||\n position?.positionName\n .toLowerCase()\n .includes(searchTerm?.toLowerCase()) ||\n tels?.toLowerCase().includes(searchTerm?.toLowerCase()) ||\n firstName?.toLowerCase().includes(searchTerm?.toLowerCase()) ||\n lastName?.toLowerCase().includes(searchTerm?.toLowerCase())\n );\n });\n setFilterBySeachTerm(result);\n }\n };\n\n console.log({ persons });\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchStaff();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [persons, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {persons.length\n ? sliceResult.map((item) => {\n return (\n \n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    ชื่อตำแหน่งศูนย์สำรวจเบอร์โทร\n แก้ไข\n \n ลบ\n
    \n {item.firstName} {item.lastName}\n {item.position?.positionName}{item.stationCenter?.stationCenterName}{item.tels}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeader = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayHeader}\n {displaylimitResults}\n {displayManagement}\n {displayPagination}\n
    \n );\n};\n\nexport default PersonManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ModalCRUDMeteoType = ({ title, meteoDetail, type, setIsAction }) => {\n const [meteoTypes, setMeteoTypes] = useState([]);\n\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n\n const fetchMeteoTypesDetail = () => {\n setIsLoading(true);\n dwrApi\n .get(`/MeteoTypes/${meteoDetail.meteoTypeId}`)\n .then((res) => {\n setMeteoTypes(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n useEffect(() => {\n if (meteoDetail) fetchMeteoTypesDetail();\n }, [meteoDetail]);\n\n const defaultValues = {\n id: meteoTypes ? meteoTypes?.meteoTypeId : \"\",\n nameEn: meteoTypes ? meteoTypes?.meteoTypeEn : \"\",\n nameTh: meteoTypes ? meteoTypes?.meteoTypeTh : \"\",\n isActive: meteoTypes ? meteoTypes?.active : \"\",\n };\n\n const { register, handleSubmit, reset } = useForm();\n\n useEffect(() => {\n if (meteoTypes) reset(defaultValues);\n }, [meteoTypes]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n reset();\n };\n\n const onSubmit = async (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/MeteoTypes\";\n\n const data = {\n meteoTypeId: meteoDetail ? meteoDetail.meteoTypeId : ev.id,\n meteoTypeEn: ev.nameEn,\n meteoTypeTh: ev.nameTh,\n active: ev.isActive,\n };\n\n if (type == \"add\") {\n await dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n await dwrApi\n .put(`${subUrl}/${meteoDetail.meteoTypeId}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n await dwrApi\n .delete(`${subUrl}/${meteoDetail.meteoTypeId}`, data)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n }\n\n if (type !== \"delete\" && ev.isActive === \"N\") {\n await dwrApi\n .put(`${subUrl}/${meteoDetail.meteoTypeId}/UnActive`)\n .then(() => {\n console.log(\"UnActive done\");\n });\n }\n };\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n console.log(meteoDetail)}\n />\n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\" && \"เพิ่ม\"}\n {type == \"edit\" && \"แก้ไข\"}\n {type == \"delete\" && \"ลบ\"}\n {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n \n \n \n
    \n
    สถานะการใช้งาน
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบ{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n \n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDMeteoType;\n","import React, { useState, useEffect } from \"react\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport Pagination from \"react-js-pagination\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\nimport ModalCRUDMeteoType from \"./ModalCRUDMeteoType\";\n\nconst MeteoTypeManagement = ({ setIsLoading }) => {\n const [meteoTypes, setMeteoTypes] = useState([]);\n\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n\n header: {\n backgroundColor: \"#06538F\",\n height: \"35px\",\n color: \"white\",\n fontSize: \"22px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"200px\",\n margin: \"auto\",\n },\n };\n\n const fetchMeteoTypes = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/MeteoTypes\")\n .then((res) => {\n setMeteoTypes(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (meteoTypes.length) {\n const result = meteoTypes?.filter((item) => {\n return (\n item?.meteoTypeId?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n item?.meteoTypeTh?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n item?.meteoTypeEn?.toLowerCase().includes(searchTerm.toLowerCase())\n );\n });\n\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchMeteoTypes();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [meteoTypes, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayMeteo = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {meteoTypes.length\n ? sliceResult.map((item) => {\n return (\n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    รหัสข้อมูลอุตุชื่อข้อมูลอุตุ (ไทย)ชื่อข้อมูลอุตุ (อังกฤษ)\n แก้ไข\n \n ลบ\n
    {item.meteoTypeId}{item.meteoTypeTh}{item.meteoTypeEn}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeaderMeteo = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n {displayHeaderMeteo}\n {displaylimitResults}\n {displayMeteo}\n {displayPagination}\n
    \n );\n};\n\nexport default MeteoTypeManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\n\nconst ModalCRUDHydroType = ({ title, detail, type, setIsAction }) => {\n const [hydroTypes, setHydroTypes] = useState([]);\n\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n\n const fetchHydroTypesDetail = () => {\n console.log(\"fetchHydroTypesDetail\");\n setIsLoading(true);\n dwrApi\n .get(`/HydroTypes/${detail.hydroTypeId}`)\n .then((res) => {\n setHydroTypes(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n useEffect(() => {\n if (detail) fetchHydroTypesDetail();\n }, [detail]);\n\n const defaultValues = {\n id: hydroTypes ? hydroTypes?.hydroTypeId : \"\",\n nameEn: hydroTypes ? hydroTypes?.hydroTypeEn : \"\",\n nameTh: hydroTypes ? hydroTypes?.hydroTypeTh : \"\",\n isActive: hydroTypes ? hydroTypes?.active : \"\",\n };\n\n const { register, handleSubmit, reset } = useForm({ defaultValues });\n\n useEffect(() => {\n if (hydroTypes) reset(defaultValues);\n }, [hydroTypes]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n reset();\n };\n\n const onSubmit = async (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/HydroTypes\";\n\n const data = {\n hydroTypeId: detail ? detail.hydroTypeId : ev.id,\n hydroTypeEn: ev.nameEn,\n hydroTypeTh: ev.nameTh,\n active: ev.isActive,\n };\n\n if (type == \"add\") {\n await dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n await dwrApi\n .put(`${subUrl}/${detail.hydroTypeId}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n await dwrApi\n .delete(`${subUrl}/${detail.hydroTypeId}`, data)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n }\n\n if (type !== \"delete\" && ev.isActive === \"N\") {\n await dwrApi.put(`${subUrl}/${detail.hydroTypeId}/UnActive`).then(() => {\n console.log(\"UnActive done\");\n });\n }\n };\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n console.log(detail)}\n />\n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\" && \"เพิ่ม\"}\n {type == \"edit\" && \"แก้ไข\"}\n {type == \"delete\" && \"ลบ\"}\n {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n \n \n \n
    \n
    สถานะการใช้งาน
    \n
    \n
    \n \n \n
    \n
    \n \n \n
    \n
    \n
    \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบ{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n \n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDHydroType;\n","import React, { useState, useEffect } from \"react\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport Pagination from \"react-js-pagination\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport ModalCRUDHydroType from \"./ModalCRUDHydroType\";\nimport ProtectGate from \"../Tools/ProtectGate/ProtectGate\";\n\nconst HydroTypeManagement = ({ setIsLoading }) => {\n const [hydroTypes, setHydroTypes] = useState([]);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n\n header: {\n backgroundColor: \"#06538F\",\n height: \"35px\",\n color: \"white\",\n fontSize: \"22px\",\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"200px\",\n margin: \"auto\",\n },\n };\n\n const fetchHydroTypes = () => {\n setIsLoading(true);\n dwrApi\n .get(\"HydroTypes\")\n .then((res) => {\n setHydroTypes(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (hydroTypes.length) {\n const result = hydroTypes?.filter((item) => {\n return (\n item?.hydroTypeId?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n item?.hydroTypeTh?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n item?.hydroTypeEn?.toLowerCase().includes(searchTerm.toLowerCase())\n );\n });\n\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchHydroTypes();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [hydroTypes, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayHydro = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n {hydroTypes.length\n ? sliceResult.map((item) => {\n return (\n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    รหัสข้อมูลอุทกชื่อข้อมูลอุทก (ไทย)ชื่อข้อมูลอุทก (อังกฤษ)\n แก้ไข\n \n ลบ\n
    {item.hydroTypeId}{item.hydroTypeTh}{item.hydroTypeEn}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeaderHydro = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n {displayHeaderHydro}\n {displaylimitResults}\n {displayHydro}\n {displayPagination}\n
    \n );\n};\n\nexport default HydroTypeManagement;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport MeteoTypeManagement from \"../../../Components/MeteoTypeManagement\";\nimport HydroTypeManagement from \"../../../Components/HydroTypeManagement\";\n\nconst StationTypeManagement = () => {\n const [isLoading, setIsLoading] = useState(false);\n const [activeType, setActiveType] = useState(\"1\");\n\n const styles = {\n activeHeader: {\n backgroundColor: \"#06538F\",\n color: \"white\",\n fontSize: \"22px\",\n width: \"200px\",\n margin: \"auto 10px\",\n },\n inActiveHeader: {\n backgroundColor: \"white\",\n color: \"#06538F\",\n fontSize: \"22px\",\n width: \"200px\",\n margin: \"auto 10px\",\n border: \"1px solid #06538F\",\n },\n };\n\n const displayToggleTabs = (\n
    \n setActiveType(ev.target.value)}\n />\n \n ข้อมูลอุทกวิทยา\n \n setActiveType(ev.target.value)}\n />\n \n ข้อมูลอุตุนิยมวิทยา\n \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayToggleTabs}\n\n {activeType == \"1\" ? (\n \n ) : (\n \n )}\n
    \n );\n};\n\nexport default StationTypeManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport Select from \"react-select\";\nimport { useSelector } from \"react-redux\";\n\nconst ModalCRUDSubBasin = ({\n title,\n subBasinDetail,\n type,\n setIsAction,\n optionsBasin,\n}) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [basinSelected, setBasinSelected] = useState(\"\");\n const [subBasinResults, setSubBasinResults] = useState([]);\n const userDetail = useSelector((state) => state.profileReducer.userDetail);\n\n const fetchSubBasinDetail = () => {\n setIsLoading(true);\n dwrApi\n .get(`/SubBasins/${subBasinDetail.subBasinId}`)\n .then((res) => {\n setSubBasinResults(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => setIsLoading(false));\n };\n\n useEffect(() => {\n if (subBasinDetail && modalIsOpen) fetchSubBasinDetail();\n }, [subBasinDetail, modalIsOpen]);\n\n const defaultValues = {\n id: subBasinResults ? subBasinResults?.subBasinId : \"\",\n nameEn: subBasinResults ? subBasinResults?.subBasinEn : \"\",\n nameTh: subBasinResults ? subBasinResults?.subBasinTh : \"\",\n };\n\n const { register, handleSubmit, reset } = useForm();\n\n useEffect(() => {\n reset(defaultValues);\n }, [subBasinResults]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n setBasinSelected(\"\");\n reset();\n };\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/SubBasins\";\n\n const data = {\n basinId: basinSelected.value,\n subBasinId: subBasinDetail ? subBasinDetail.subBasinId : ev.id,\n subBasinEn: ev.nameEn,\n subBasinTh: ev.nameTh,\n // updateUser: userDetail?.fullName,\n // updateDate: new Date(),\n };\n\n if (type == \"add\") {\n dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n dwrApi\n .put(`${subUrl}/${subBasinDetail.subBasinId}`, data)\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n dwrApi\n .delete(`${subUrl}/${subBasinDetail.subBasinId}`, data)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n }\n };\n\n const setDefaultBasinFn = () => {\n const result = optionsBasin.filter(\n (item) => item.value == subBasinDetail.basinId\n );\n\n if (result.length) setBasinSelected(result[0]);\n };\n\n useEffect(() => {\n if (subBasinDetail) setDefaultBasinFn();\n }, [subBasinDetail, optionsBasin]);\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n \n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\" && \"เพิ่มข้อมูล\"}\n {type == \"edit\" && \"แก้ไขข้อมูล\"}\n {type == \"delete\" && \"ลบข้อมูล\"}\n {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n (ev ? setBasinSelected(ev) : setBasinSelected(\"\"))}\n noOptionsMessage={() => \"ไม่พบข้อมูล\"}\n isClearable\n />\n\n \n \n \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบ{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n \n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDSubBasin;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport { Link, useHistory, Route, Redirect } from \"react-router-dom\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Pagination from \"react-js-pagination\";\nimport ModalCRUDSubBasin from \"../../../Components/ModalCRUDSubBasin\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\n\nconst SubBasinManagement = () => {\n const [subBasinResults, setSubBasinResults] = useState([]);\n const [optionsBasin, setOptionsBasin] = useState([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n searchContainer: {},\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const fetchBasins = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/Basins\")\n .then((res) => {\n const options = res.data.map((item) => {\n return {\n value: item.basinId,\n label: item.basinTh,\n };\n });\n setOptionsBasin(options);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => setIsLoading(false));\n };\n\n const fetchSubBasins = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/SubBasins\")\n .then((res) => {\n console.log(res.data);\n setSubBasinResults(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (subBasinResults.length) {\n const result = subBasinResults?.filter((item) => {\n // console.log({item, searchTerm})\n const {subBasinTh, subBasinId, subBasinEn, basin} = item;\n return (\n basin?.basinTh?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n subBasinTh?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n subBasinId?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n subBasinEn?.toLowerCase().includes(searchTerm.toLowerCase())\n );\n });\n console.log(result);\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchBasins();\n }, []);\n useEffect(() => {\n fetchSubBasins();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [subBasinResults, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {subBasinResults.length > 0\n ? sliceResult.map((item) => {\n return (\n \n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    รหัสลุ่มน้ำสาขาชื่อลุ่มน้ำสาขา (ไทย)ชื่อลุ่มน้ำสาขา (อังกฤษ)ลุ่มน้ำแก้ไขลบ
    {item.subBasinId}{item.subBasinTh}{item.subBasinEn}{item.basin.basinTh}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeader = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayHeader}\n {displaylimitResults}\n {displayManagement}\n {displayPagination}\n
    \n );\n};\n\nexport default SubBasinManagement;\n","import React, { useState, useEffect } from \"react\";\nimport Modal from \"react-modal\";\nimport { FaTimesCircle, FaPencilAlt, FaTrashAlt } from \"react-icons/fa\";\nimport { useForm, Controller } from \"react-hook-form\";\nimport { dwrApi } from \"../api/dwrApi\";\nimport { useToasts } from \"react-toast-notifications\";\nimport Select from \"react-select\";\n\nconst ModalCRUDMachine = ({ title, machineDetail, type, setIsAction }) => {\n const [modalIsOpen, setModalIsOpen] = useState(false);\n const { addToast } = useToasts();\n const [isLoading, setIsLoading] = useState(false);\n const [optionsMachine, setOptionsMachine] = useState([]);\n const [optionsGroupTypes, setOptionsGroupTypes] = useState([]);\n const [machineSelected, setMachineSelected] = useState(\"\");\n const [groupTypesSelected, setGroupTypesSelected] = useState(\"\");\n\n const [machineResults, setMachineResults] = useState([]);\n\n const fetchMachineDetail = () => {\n setIsLoading(true);\n dwrApi\n .get(`/Machines/${machineDetail.machineId}`)\n .then((res) => {\n setMachineResults(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n useEffect(() => {\n if (machineDetail) fetchMachineDetail();\n }, [machineDetail]);\n\n const defaultValues = {\n nameEn: machineResults ? machineResults?.machineEn : \"\",\n nameTh: machineResults ? machineResults?.machineTh : \"\",\n };\n\n const { register, handleSubmit, reset, control, setValue } = useForm();\n\n useEffect(() => {\n if (machineResults) reset(defaultValues);\n }, [machineResults]);\n\n const styles = {\n header: {\n background: \"#06538F\",\n height: \"34px\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538f\",\n color: \"#231F20\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n };\n\n const customStyles = {\n content: {\n top: \"50%\",\n left: \"50%\",\n right: \"auto\",\n bottom: \"auto\",\n marginRight: \"-50%\",\n transform: \"translate(-50%, -50%)\",\n maxHeight: \"90vh\",\n padding: \"0\",\n // minHeight: \"300px\",\n\n minWidth: \"400px\",\n },\n };\n\n const openModal = () => {\n setModalIsOpen(true);\n };\n\n const closeModal = () => {\n setModalIsOpen(false);\n setIsAction(true);\n reset();\n };\n\n const onSubmit = (ev) => {\n setIsLoading(true);\n\n let subUrl = \"/Machines\";\n\n const data = {\n machineTypeId: ev.machineSelected.value,\n groupId: ev.groupTypesSelected.value,\n machineEn: ev.nameEn,\n machineTh: ev.nameTh,\n };\n\n if (type == \"add\") {\n dwrApi\n .post(`${subUrl}`, data)\n .then((res) => {\n addToast(

    เพิ่ม{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"edit\") {\n dwrApi\n .put(`${subUrl}/${machineDetail.machineId}`, {\n ...data,\n machineId: +machineDetail.machineId,\n })\n .then((res) => {\n addToast(

    แก้ไข{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n } else if (type == \"delete\") {\n dwrApi\n .delete(`${subUrl}/${machineDetail.machineId}`, data)\n .then((res) => {\n addToast(

    ลบ{title} สำเร็จ

    , {\n appearance: \"success\",\n autoDismiss: true,\n });\n closeModal();\n })\n .catch((err) => {\n addToast(

    บันทึกข้อมูลไม่ได้ ข้อมูลผิดพลาด

    , {\n appearance: \"error\",\n autoDismiss: true,\n });\n })\n .finally(() => setIsLoading(false));\n }\n };\n\n const fetchMachine = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/MachineTypes\")\n .then((res) => {\n const options = res.data.map((item) => {\n return {\n value: item.machineTypeId,\n label: item.machineTypeTh,\n };\n });\n setOptionsMachine(options);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => setIsLoading(false));\n };\n\n const fetchGroupType = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/GroupTypes\")\n .then((res) => {\n const options = res.data.map((item) => {\n return {\n value: item.groupId,\n label: item.groupTh || \"-\",\n };\n });\n setOptionsGroupTypes(options);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => setIsLoading(false));\n };\n\n const setDefaultMachine = () => {\n const result = optionsMachine.find(\n (item) => item.value == machineResults?.machineTypeId\n );\n\n if (result) {\n setValue(\"machineSelected\", result);\n }\n };\n\n const setDefaulGroupTypes = () => {\n const result = optionsGroupTypes.find(\n (item) => item.value == machineResults.groupId\n );\n\n if (result) {\n setValue(\"groupTypesSelected\", result);\n }\n };\n\n useEffect(() => {\n if (machineResults) setDefaultMachine();\n }, [machineResults, optionsMachine]);\n\n useEffect(() => {\n if (machineResults) setDefaulGroupTypes();\n }, [machineResults, optionsGroupTypes]);\n\n useEffect(() => {\n fetchMachine();\n fetchGroupType();\n }, []);\n\n const displayButtonOpenModal = (\n <>\n {type == \"add\" ? (\n
    \n เพิ่มข้อมูล\n
    \n ) : (\n \"\"\n )}\n {type == \"edit\" ? (\n \n ) : (\n \"\"\n )}\n {type == \"delete\" ? (\n \n ) : (\n \"\"\n )}\n \n );\n\n const displayHeader = (\n \n \n {type == \"add\" && \"เพิ่มข้อมูล\"}\n {type == \"edit\" && \"แก้ไขข้อมูล\"}\n {type == \"delete\" && \"ลบข้อมูล\"}\n {title}\n \n \n \n \n \n );\n\n const displayContent = (\n
    \n (\n \"ไม่พบข้อมูล\"}\n isClearable\n options={optionsMachine}\n className=\"my-4\"\n placeholder=\"เลือกชนิดเครื่องมือ\"\n />\n )}\n />\n (\n \"ไม่พบข้อมูล\"}\n isClearable\n options={optionsGroupTypes}\n className=\"my-4\"\n placeholder=\"เลือกกลุ่มข้อมูล\"\n />\n )}\n />\n\n \n \n
    \n );\n\n const displayContentDelete = (\n
    คุณต้องการลบ{title}ที่เลือกใช่หรือไม่
    \n );\n\n const displaySpiner = (\n
    \n Loading...\n
    \n );\n\n return (\n
    \n {displayButtonOpenModal}\n \n {displayHeader}\n
    \n {type == \"delete\" ? displayContentDelete : displayContent}\n
    \n \n {!isLoading ? (\n <>{type == \"delete\" ? \"ตกลง\" : \"บันทึก\"}\n ) : (\n displaySpiner\n )}\n
    \n \n ยกเลิก\n
    \n \n \n \n \n );\n};\n\nexport default ModalCRUDMachine;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\nimport { FaTrashAlt, FaSearch, FaPencilAlt } from \"react-icons/fa\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport Pagination from \"react-js-pagination\";\nimport ModalCRUDMachine from \"../../../Components/ModalCRUDMachine\";\nimport ProtectGate from \"../../../Tools/ProtectGate/ProtectGate\";\n\nconst MachineManagement = () => {\n const [machineResults, setMachineResults] = useState([]);\n\n const [isLoading, setIsLoading] = useState(false);\n const [searchTerm, setSearchTerm] = useState(\"\");\n const [page, setPage] = useState(1);\n const [itemPerPage, setItemPerPage] = useState(10);\n const [filterBySearchTerm, setFilterBySeachTerm] = useState([]);\n const [sliceResult, setSliceResult] = useState([]);\n const [isAction, setIsAction] = useState(false);\n\n const styles = {\n buttonSearch: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n\n buttonAdd: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box;\",\n border: \"0.5px solid #06538F\",\n color: \"#231F20\",\n width: \"120px\",\n },\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n };\n\n const fetchMachine = () => {\n setIsLoading(true);\n dwrApi\n .get(\"/Machines\")\n .then((res) => {\n setMachineResults(res.data);\n })\n .catch((err) => {\n console.log(err);\n })\n .finally(() => {\n setIsLoading(false);\n setIsAction(false);\n });\n };\n\n const filterSearchFn = () => {\n if (machineResults.length) {\n const result = machineResults?.filter((item) => {\n const { machineType, group, machineTh, machineEn } = item;\n return (\n machineTh?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n machineEn?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n machineType?.machineTypeTh?.toLowerCase().includes(searchTerm.toLowerCase()) ||\n group.groupTh?.toLowerCase().includes(searchTerm.toLowerCase())\n );\n });\n\n setFilterBySeachTerm(result);\n }\n };\n\n const sliceResultFn = (page) => {\n let start = page * itemPerPage - itemPerPage;\n let end = page * itemPerPage;\n\n setSliceResult(filterBySearchTerm.slice(start, end));\n };\n\n useEffect(() => {\n fetchMachine();\n }, [isAction]);\n\n useEffect(() => {\n filterSearchFn();\n }, [machineResults, searchTerm]);\n\n useEffect(() => {\n setPage(1);\n }, [searchTerm, itemPerPage]);\n\n useEffect(() => {\n sliceResultFn(page);\n }, [filterBySearchTerm, page, itemPerPage]);\n\n const displaylimitResults = (\n
    \n แสดง\n setItemPerPage(ev.target.value)}\n defaultValue={itemPerPage}\n className=\"mx-2 form-select\"\n style={{ width: \"fit-content\" }}\n >\n \n \n \n \n \n \n\n แถว\n
    \n );\n\n const displayPagination = (\n
    \n setPage(pageNumber)}\n itemClass=\"page-item\"\n linkClass=\"page-link\"\n nextPageText=\"ถัดไป\"\n prevPageText=\"ก่อนหน้า\"\n />\n
    \n );\n\n const displayManagement = (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n {machineResults.length\n ? sliceResult.map((item) => {\n return (\n \n \n \n \n \n \n \n \n );\n })\n : \"-\"}\n \n
    ชื่อเครื่องมือ (ไทย)ชื่อเครื่องมือ (อังกฤษ)ชนิดเครื่องมือกลุ่มข้อมูลแก้ไขลบ
    {item.machineTh}{item.machineEn}{item.machineType?.machineTypeTh}{item.group?.groupTh}\n \n \n \n \n \n \n \n
    \n \n );\n\n const displayHeader = (\n
    \n
    \n
    \n setSearchTerm(ev.target.value)}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n \n \n
    \n
    \n );\n\n return (\n
    \n \n {isLoading ? : \"\"}\n {displayHeader}\n {displaylimitResults}\n {displayManagement}\n {displayPagination}\n
    \n );\n};\n\nexport default MachineManagement;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport { useSelector } from \"react-redux\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst ReportMeteoAuto = () => {\n const optionsTime = [\n { label: \"ราย 15 นาที\", value: \"1\", type: \"date\" },\n { label: \"รายชั่วโมง\", value: \"2\", type: \"month\" },\n { label: \"รายวัน\", value: \"3\", type: \"year\" },\n /* { label: \"รายปี\", value: \"3\", type: \"year\" }, */\n ];\n const [allBasin, setAllBasin] = useState(\"\");\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationDetail, setStationDetail] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [displayReport, setDisplayReport] = useState(false);\n\n const [timeSelected, setTimeSelected] = useState(optionsTime[0]);\n const [timeFormat, setTimeFormat] = useState(\"\");\n const [reportUrl, setReportUrl] = useState(\"\");\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n const [disableBtn, setDisableBtn] = useState(false);\n\n const userId = useSelector((state) => state.profileReducer.userData.sub);\n\n const token = localStorage.getItem(\"token\");\n const [optionsMeteo, setOptionsMeteo] = useState([]);\n const [stationSelected, setStationSelected] = useState([]);\n const [meteoDataTypeSelected, setMeteoDataTypeSelected] = useState(\"\");\n\n // let optionsBasin = [];\n let optionsStationsOfBasin = [];\n // let stationSelected = [];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n };\n\n // const fetchAllBasin = () => {\n // dwrApi\n // .get(\"/Basins\")\n // .then((res) => {\n // setAllBasin(res.data);\n // })\n // .catch((err) => {\n // console.log(err.message);\n // });\n // };\n\n const fetchStationOfBasin = () => {\n dwrApi\n .get(`/Stations/Meteo?BasinId=${basinIdSelected.value}`)\n .then((res) => {\n const autoStationList = res.data.filter(\n (station) => station.stationTypeId === 2\n );\n setStationsOfBasin(autoStationList);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n // useEffect(() => {\n // fetchAllBasin();\n // }, []);\n\n useEffect(() => {\n fetchStationOfBasin();\n }, [basinIdSelected]);\n\n // if (allBasin) {\n // allBasin.forEach((basin) => {\n // if (basin.basinTh) {\n // const list = {\n // value: basin.basinId,\n // label: `${basin.basinId} : ${basin.basinTh}`,\n // };\n // optionsBasin.push(list);\n // }\n // });\n // }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.stationTh) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n const getStationDetail = () => {\n const res = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n\n setStationSelected(res);\n };\n\n const getMeteoType = () => {\n let listMeteo = [];\n stationSelected[0]?.configDataStation?.map((item) => {\n if (\n !!item.meteotype &&\n !listMeteo\n .map((item) => item.value)\n .includes(item.meteotype.meteoTypeId)\n ) {\n listMeteo.push({\n value: item.meteotype.meteoTypeId,\n label: item.meteotype.meteoTypeTh || \"\",\n });\n }\n });\n setOptionsMeteo(listMeteo);\n };\n\n useEffect(() => {\n if (stationSelected) getMeteoType();\n }, [stationSelected]);\n\n useEffect(() => {\n if (stationIdSelected) {\n getStationDetail();\n }\n }, [stationIdSelected]);\n\n useEffect(() => {\n setStationIdSelected(\"\");\n setTimeSelected(\"\");\n setTimeFormat(\"\");\n setMeteoDataTypeSelected(\"\");\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTimeSelected(null);\n setTimeFormat(\"\");\n setMeteoDataTypeSelected(\"\");\n }, [stationIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n }, [timeSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n }, [meteoDataTypeSelected]);\n\n useEffect(() => {\n setDisplayReport(false);\n setDisableBtn(false);\n }, [\n stationIdSelected,\n basinIdSelected,\n timeSelected,\n timeFormat,\n meteoDataTypeSelected,\n ]);\n\n const convertDate = (value) => {\n const result = new Date(value);\n\n let date = result.getDate();\n let month = result.getMonth() + 1;\n let year = result.getFullYear();\n\n if (date < 10) {\n date = \"0\" + date;\n }\n if (month < 10) {\n month = \"0\" + month;\n }\n\n return `${year}-${month}-${date}`;\n };\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n setDisplayReport(true);\n setIsLoading(true);\n\n const baseUrl = `${localReportUrl}/frmMeteo.aspx?`;\n\n const funcId = \"2905\";\n const getYear = new Date(timeFormat).getFullYear();\n\n const url = `${baseUrl}station_id=${\n stationIdSelected.value\n }&UserId=${userId}&ServerTime=${convertDate(timeFormat)}&MeteoTypeId=${\n meteoDataTypeSelected.value\n }&type=${timeSelected.value}&token=${token}&functionid=${funcId}`;\n const urlTypeYear = `${baseUrl}station_id=${stationIdSelected.value}&UserId=${userId}&YearSelect=${getYear}&MeteoTypeId=${meteoDataTypeSelected.value}&type=${timeSelected.value}&token=${token}&functionid=${funcId}`;\n\n if (timeSelected.value == \"3\") {\n setReportUrl(urlTypeYear);\n } else {\n setReportUrl(url);\n }\n\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n\n const displayForm = (\n
    \n
    \n \n\n {stationIdSelected ? (\n <>\n
    \n
    ประเภทข้อมูล :
    \n
    \n {\n setMeteoDataTypeSelected(ev);\n //init\n setTimeFormat(\"\");\n setTimeSelected(\"\");\n }}\n noOptionsMessage={() => \"ไม่พบข้อมูล\"}\n isDisabled={stationIdSelected ? false : true}\n value={meteoDataTypeSelected}\n />\n
    \n
    \n\n
    \n
    \n
    \n \n ev ? setTimeSelected(ev) : setTimeSelected(null)\n }\n noOptionsMessage={() => \"ไม่พบเวลา\"}\n value={timeSelected}\n />\n
    \n
    \n \n
    \n
    \n\n
    \n \n แสดงรายงาน\n \n
    \n \n ) : (\n \"\"\n )}\n \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default ReportMeteoAuto;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport { useSelector } from \"react-redux\";\n\nimport { FaCalendarAlt } from \"react-icons/fa\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst ReportMeteoDaily = () => {\n const [allBasin, setAllBasin] = useState(\"\");\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationDetail, setStationDetail] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [displayReport, setDisplayReport] = useState(false);\n\n const [timeFormat, setTimeFormat] = useState(\"\");\n const [reportUrl, setReportUrl] = useState(\"\");\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n\n const userId = useSelector((state) => state.profileReducer.userData.sub);\n\n const token = localStorage.getItem(\"token\");\n const [optionsMeteo, setOptionsMeteo] = useState([]);\n const [stationSelected, setStationSelected] = useState([]);\n const [meteoDataTypeSelected, setMeteoDataTypeSelected] = useState({});\n const [measureTime, setMeasureTime] = useState(\"\");\n const [disableBtn, setDisableBtn] = useState(false);\n\n // let optionsBasin = [];\n let optionsStationsOfBasin = [];\n // let stationSelected = [];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"30px\",\n top: \"10px\",\n zIndex: 9,\n },\n };\n\n // const fetchAllBasin = () => {\n // dwrApi\n // .get(\"/Basins\")\n // .then((res) => {\n // setAllBasin(res.data);\n // })\n // .catch((err) => {\n // console.log(err.message);\n // });\n // };\n\n const fetchStationOfBasin = () => {\n dwrApi\n .get(`/Stations/Meteo?StationTypeId=1&BasinId=${basinIdSelected.value}`)\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n // useEffect(() => {\n // fetchAllBasin();\n // }, []);\n\n useEffect(() => {\n fetchStationOfBasin();\n }, [basinIdSelected]);\n\n // if (allBasin) {\n // allBasin.forEach((basin) => {\n // if (basin.basinTh) {\n // const list = {\n // value: basin.basinId,\n // label: `${basin.basinId} : ${basin.basinTh}`,\n // };\n // optionsBasin.push(list);\n // }\n // });\n // }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.stationTh) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n configDataStation: station.configDataStation || [],\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n const getStationDetail = () => {\n const res = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n\n setStationSelected(res);\n };\n\n // console.log(\"a\", stationSelected[0]?.configDataStation);\n\n const getMeteoType = () => {\n let listMeteo = [];\n stationSelected[0]?.configDataStation?.map((item) => {\n if (\n !!item.meteotype &&\n !listMeteo\n .map((item) => item.value)\n .includes(item.meteotype.meteoTypeId)\n ) {\n listMeteo.push({\n value: item.meteotype.meteoTypeId || null,\n label: item.meteotype.meteoTypeTh || \"\",\n });\n }\n });\n setOptionsMeteo(listMeteo);\n };\n\n useEffect(() => {\n // console.log({ stationIdSelected, stationsOfBasin })\n if (stationIdSelected) {\n getStationDetail();\n }\n }, [stationIdSelected]);\n\n useEffect(() => {\n if (meteoDataTypeSelected) {\n let station = stationsOfBasin.find(\n (station) => station.stationId === stationIdSelected.value\n ) || { configDataStation: [] };\n // console.log({ station });\n\n let mt = station.configDataStation.find((item) => {\n return item.meteotypeId === meteoDataTypeSelected.value;\n });\n if (mt) {\n // console.log({ mt })\n setMeasureTime(mt.measureTimeId);\n }\n }\n }, [meteoDataTypeSelected]);\n\n useEffect(() => {\n if (stationSelected) {\n getMeteoType();\n }\n }, [stationSelected]);\n\n useEffect(() => {\n setStationIdSelected(\"\");\n setTimeFormat(\"\");\n setMeteoDataTypeSelected(\"\");\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n setMeteoDataTypeSelected(\"\");\n }, [stationIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n }, [meteoDataTypeSelected]);\n\n useEffect(() => {\n console.log(\"use effect\");\n setDisplayReport(false);\n setDisableBtn(false);\n }, [stationIdSelected, basinIdSelected, timeFormat, meteoDataTypeSelected]);\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n setIsLoading(true);\n setDisplayReport(true);\n const baseUrl = `${localReportUrl}/frmMeteoHourly.aspx?`;\n const funcId = \"2906\";\n const getDate = new Date(timeFormat);\n const serverTime = `${getDate.getFullYear()}-${getDate.getMonth() + 1}-01`;\n\n const url = `${baseUrl}station_id=${stationIdSelected.value}&UserId=${userId}&MeasureTimeId=${measureTime}&RecordDate=${serverTime}&MeteoTypeID=${meteoDataTypeSelected.value}&token=${token}&functionid=${funcId}`;\n\n setReportUrl(url);\n // setIsLoading(false);\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n\n const displayForm = (\n
    \n
    \n \n\n
    \n
    ประเภทข้อมูล :
    \n
    \n {\n setMeteoDataTypeSelected(ev);\n //init\n setTimeFormat(\"\");\n }}\n noOptionsMessage={() => \"ไม่พบข้อมูล\"}\n isDisabled={stationIdSelected ? false : true}\n value={meteoDataTypeSelected}\n />\n
    \n
    \n\n
    \n
    เดือน/ปี
    \n\n
    \n \n
    \n
    \n\n
    \n \n แสดงรายงาน\n \n
    \n \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default ReportMeteoDaily;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { dwrApi } from \"../../../api/dwrApi\";\nimport BasinFormSelect from \"../../../Components/BasinFormSelect\";\nimport { useSelector } from \"react-redux\";\n// import { FaCalendarAlt } from \"react-icons/fa\";\nimport CustomDatePicker from \"../../../Components/CustomDatePicker\";\nimport SpinnerTool from \"../../../Tools/Spinner/SpinnerTool\";\n\nconst ReportMeteoMonthly = () => {\n // const [allBasin, setAllBasin] = useState(\"\");\n const [basinIdSelected, setBasinIdSelected] = useState(\"\");\n const [stationsOfBasin, setStationsOfBasin] = useState([]);\n const [stationIdSelected, setStationIdSelected] = useState();\n const [stationDetail, setStationDetail] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [displayReport, setDisplayReport] = useState(false);\n\n const [timeFormat, setTimeFormat] = useState(\"\");\n const [reportUrl, setReportUrl] = useState(\"\");\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n\n const userId = useSelector((state) => state.profileReducer.userData.sub);\n\n const token = localStorage.getItem(\"token\");\n const [optionsMeteo, setOptionsMeteo] = useState([]);\n const [stationSelected, setStationSelected] = useState([]);\n const [meteoDataTypeSelected, setMeteoDataTypeSelected] = useState(\"\");\n const [disableBtn, setDisableBtn] = useState(false);\n\n // let optionsBasin = [];\n let optionsStationsOfBasin = [];\n // let stationSelected = [];\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n unit: {\n position: \"absolute\",\n display: \"block\",\n right: \"30px\",\n top: \"10px\",\n zIndex: 9,\n },\n };\n\n // const fetchAllBasin = () => {\n // dwrApi\n // .get(\"/Basins\")\n // .then((res) => {\n // setAllBasin(res.data);\n // })\n // .catch((err) => {\n // console.log(err.message);\n // });\n // };\n\n const fetchStationOfBasin = () => {\n dwrApi\n .get(`/Stations/Meteo?StationTypeId=1&BasinId=${basinIdSelected.value}`)\n .then((res) => {\n setStationsOfBasin(res.data);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n // useEffect(() => {\n // fetchAllBasin();\n // }, []);\n\n useEffect(() => {\n fetchStationOfBasin();\n }, [basinIdSelected]);\n\n // if (allBasin) {\n // allBasin.forEach((basin) => {\n // if (basin.basinTh) {\n // const list = {\n // value: basin.basinId,\n // label: `${basin.basinId} : ${basin.basinTh}`,\n // };\n // optionsBasin.push(list);\n // }\n // });\n // }\n\n if (stationsOfBasin) {\n stationsOfBasin.forEach((station) => {\n if (station.stationTh) {\n const list = {\n value: station.stationId,\n label: `${station.stationLabel} : ${station.stationTh}`,\n };\n optionsStationsOfBasin.push(list);\n }\n });\n }\n\n const getStationDetail = () => {\n const res = stationsOfBasin.filter((station) => {\n return station.stationId == stationIdSelected.value;\n });\n\n setStationSelected(res);\n };\n\n const getMeteoType = () => {\n let listMeteo = [];\n stationSelected[0]?.configDataStation?.map((item) => {\n if (\n !!item.meteotype &&\n !listMeteo\n .map((item) => item.value)\n .includes(item.meteotype.meteoTypeId)\n ) {\n listMeteo.push({\n value: item.meteotype.meteoTypeId || null,\n label: item.meteotype.meteoTypeTh || \"\",\n });\n }\n });\n setOptionsMeteo(listMeteo);\n };\n\n useEffect(() => {\n if (stationIdSelected) getStationDetail();\n }, [stationIdSelected]);\n\n useEffect(() => {\n if (stationSelected) getMeteoType();\n }, [stationSelected]);\n\n useEffect(() => {\n setStationIdSelected(\"\");\n setTimeFormat(\"\");\n setMeteoDataTypeSelected(null);\n }, [basinIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n setMeteoDataTypeSelected(null);\n }, [stationIdSelected]);\n\n useEffect(() => {\n setTimeFormat(\"\");\n }, [meteoDataTypeSelected]);\n\n useEffect(() => {\n setDisplayReport(false);\n setDisableBtn(false);\n }, [stationIdSelected, basinIdSelected, timeFormat, meteoDataTypeSelected]);\n\n const onSubmit = (ev) => {\n ev.preventDefault();\n setDisplayReport(true);\n setIsLoading(true);\n const baseUrl = `${localReportUrl}/frmMeteo.aspx?`;\n\n const funcId = \"2907\";\n const yearSelect = new Date(timeFormat).getFullYear();\n\n const urlTypeYear = `${baseUrl}station_id=${stationIdSelected.value}&UserId=${userId}&YearSelect=${yearSelect}&MeteoTypeId=${meteoDataTypeSelected.value}&type=4&token=${token}&functionid=${funcId}`;\n\n setReportUrl(urlTypeYear);\n\n setDisableBtn(true);\n };\n\n const onHandleLoad = (ev) => {\n const { returnValue } = ev.nativeEvent;\n\n if (returnValue) {\n setIsLoading(false);\n }\n };\n const displayForm = (\n
    \n
    \n \n\n
    \n
    ประเภทข้อมูล :
    \n
    \n {\n setMeteoDataTypeSelected(ev);\n //init\n setTimeFormat(\"\");\n }}\n noOptionsMessage={() => \"ไม่พบข้อมูล\"}\n isDisabled={stationIdSelected ? false : true}\n isClearable={true}\n value={meteoDataTypeSelected}\n />\n
    \n
    \n\n
    \n
    ปี
    \n\n
    \n \n
    \n
    \n\n
    \n \n แสดงรายงาน\n \n
    \n \n
    \n );\n\n return (\n
    \n {isLoading ? : \"\"}\n\n \n
    \n {displayForm}\n
    \n
    \n {displayReport ? (\n \n ) : (\n \"\"\n )}\n
    \n
    \n );\n};\n\nexport default ReportMeteoMonthly;\n","import React, { useState, useEffect } from \"react\";\nimport TitleText from \"../../../Components/TitleText\";\nimport Select from \"react-select\";\nimport { useForm, Controller } from \"react-hook-form\";\n\nimport { dwrApi } from \"../../../api/dwrApi\";\n\nconst ReportSummary = () => {\n const token = localStorage.getItem(\"token\");\n const [searchType, setSearchType] = useState(\"\");\n const [optionsBasin, setOptionsBasin] = useState([]);\n const [optionsStationCenter, setOptionsStationCenter] = useState([]);\n const [optionsSubBasin, setOptionsSubBasin] = useState([]);\n const [optionsStation, setOptionsStation] = useState([]);\n const [optionsProvince, setOptionsProvince] = useState([]);\n const [reportUrl, setReportUrl] = useState(\"\");\n const [disableThaiBtn, setDisableThaiBtn] = useState(false);\n const [disableEngBtn, setDisableEngBtn] = useState(false);\n\n const { register, handleSubmit, control, reset, watch, setValue } = useForm();\n const localReportUrl = localStorage.getItem(\"reportUrl\");\n const watchValue = watch();\n\n const styles = {\n tableHeader: {\n borderTop: \"4px solid #06538A\",\n background: \"#E8ECF4\",\n color: \"#06538F\",\n },\n buttonType1: {\n background:\n \"transparent linear-gradient(180deg, #FFFFFF 0%, #DDDEDF 42%, #CFD1D2 67%) 0% 0% no-repeat padding-box\",\n color: \"#06538F\",\n },\n buttonType2: {\n background:\n \"transparent linear-gradient(180deg, #0086C6 0%, #0081C1 7%, #045F9C 68%, #06538F 100%) 0% 0% no-repeat padding-box\",\n color: \"white\",\n },\n button: {\n background:\n \"transparent linear-gradient(180deg, #DADBE2 0%, #FFFFFF 100%) 0% 0% no-repeat padding-box\",\n border: \"0.5px solid #06538F\",\n },\n address: {\n background: \"#06538F\",\n minHeight: \"50px\",\n color: \"white\",\n },\n };\n\n const onSubmit = (ev, lang) => {\n const funcId = 2102;\n\n let baseUrl;\n if (lang === 1) {\n baseUrl = `${localReportUrl}/frmSearchStation.aspx?`;\n setDisableThaiBtn(true);\n setDisableEngBtn(false);\n } else {\n baseUrl = `${localReportUrl}/frmstation.aspx?`;\n setDisableThaiBtn(false);\n setDisableEngBtn(true);\n }\n\n let subUrl;\n if (searchType == \"station\") {\n // subUrl = `/stationId/${ev.station}`;\n subUrl = `OptionSel=station&Value=${ev.station}`;\n } else if (searchType == \"basin\") {\n // subUrl = `/basinId/${ev.basin.value}`;\n subUrl = `OptionSel=basin&Value=${ev.basin.value}`;\n } else if (searchType == \"subBasin\") {\n // subUrl = `/subBasinId/${ev.subBasin.value}`;\n subUrl = `OptionSel=subbasin&Value=${ev.subBasin.value}`;\n } else if (searchType == \"province\") {\n // subUrl = `/provinceId/${ev.province.value}`;\n subUrl = `OptionSel=province&Value=${ev.province.value}`;\n } else if (searchType == \"stationCenter\") {\n subUrl = `optionsel=stationcenter&value=${ev.stationCenter.value}`;\n }\n\n let fullUrl = `${baseUrl}${subUrl}&token=${token}&functionid=${funcId}`;\n\n setReportUrl(fullUrl);\n };\n\n const fetchOptionsStation = () => {\n dwrApi\n .get(\"/Stations\")\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.stationTh,\n value: item.stationId,\n };\n });\n\n setOptionsStation(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n const fetchOptionsStationCenter = () => {\n dwrApi\n .get(\"/StationCenters\")\n .then((res) => {\n console.log(\"StationCenters\", res);\n const list = res.data.map((item) => {\n return {\n label: `${item.stationCenterId} : ${item.stationCenterName}`,\n value: item.stationCenterId,\n };\n });\n\n setOptionsStationCenter(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n const fetchOptionsBasin = () => {\n dwrApi\n .get(\"/Basins\")\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.basinTh,\n value: item.basinId,\n };\n });\n\n setOptionsBasin(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n const fetchOptionsSubBasins = () => {\n dwrApi\n .get(\"/subBasins\")\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.subBasinTh,\n value: item.subBasinId,\n };\n });\n\n setOptionsSubBasin(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n const fetchOptionsProvinces = () => {\n dwrApi\n .get(\"/Provinces\")\n .then((res) => {\n const list = res.data.map((item) => {\n return {\n label: item.provinceTh,\n value: item.provinceId,\n };\n });\n\n setOptionsProvince(list);\n })\n .catch((err) => {\n console.log(err.message);\n });\n };\n\n useEffect(() => {\n fetchOptionsStationCenter();\n fetchOptionsStation();\n fetchOptionsBasin();\n fetchOptionsSubBasins();\n fetchOptionsProvinces();\n }, []);\n\n const onHandleSelectType = (ev) => {\n setSearchType(ev.target.value);\n };\n\n useEffect(() => {\n if (searchType) {\n setValue(\"station\", null);\n setValue(\"basin\", null);\n setValue(\"subBasin\", null);\n setValue(\"province\", null);\n setValue(\"stationCenter\", null);\n }\n }, [searchType]);\n\n useEffect(() => {\n setDisableThaiBtn(false);\n setDisableEngBtn(false);\n }, [\n watchValue.station,\n watchValue.basin,\n watchValue.subBasin,\n watchValue.province,\n watchValue.stationCenter,\n searchType,\n ]);\n\n const displayForm = (\n
    \n
    \n {/*
    \n
    \n \n
    \n
    \n \n
    \n
    */}\n\n
    \n
    \n \n
    \n
    \n {\n return (\n \"ไม่พบข้อมูล\"}\n isClearable={true}\n />\n );\n }}\n />\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n {\n return (\n \"ไม่พบข้อมูล\"}\n isClearable={true}\n />\n );\n }}\n />\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n {\n return (\n \"ไม่พบข้อมูล\"}\n isClearable={true}\n />\n );\n }}\n />\n
    \n
    \n\n
    \n
    \n \n
    \n
    \n {\n return (\n \"ไม่พบข้อมูล\"}\n isClearable={true}\n />\n );\n }}\n />\n
    \n
    \n\n
    \n onSubmit(ev, 1))}\n >\n แสดงรายงานภาษาไทย\n \n onSubmit(ev, 2))}\n >\n แสดงรายงานภาษาอังกฤษ\n \n
    \n
    \n
    \n );\n\n return (\n
    \n \n
    \n {displayForm}\n
    \n
    \n