{"version":3,"sources":["api/axiosClientDownLoad.js","login/Login.js","shared/sidebar/Sidebar.js","api/axiosClientFile.js","api/TaiKhoanApi.js","core/Authen.js","core/ThongBao.js","shared/header/Header.js","shared/footer/Footer.js","main/home/Home.js","api/LopBanDoApi.js","api/QuanHuyenApi.js","main/lopbando/LopBanDo.js","main/hethong/chucnang/ChucNang.js","api/NhomQuyenApi.js","main/hethong/nhomquyen/NhomQuyen.js","main/hethong/taikhoan/TaiKhoan.js","shared/selecthuyen/SelectHuyen.js","api/HienTrangSuDungDatLuaApi.js","api/LopMauApi.js","main/hientrangsudungdatlua/ModalEditThongTin.js","main/hientrangsudungdatlua/HienTrangSuDungDatLua.js","api/DiemLayMauApi.js","main/diemlaymau/ModalDiemLayMau.js","main/diemlaymau/DiemLayMau.js","api/PhanQuyenApi.js","main/hethong/phanquyen/PhanQuyen.js","main/lopmau/LopMau.js","api/LienHeApi.js","api/PostCategoryApi.js","shared/loading/Loading.js","shared/right-info/ChatLuongDat.js","shared/right-info/DanCu.js","shared/right-info/DeXuat.js","shared/right-info/DuongSat.js","shared/right-info/HienTrang.js","shared/right-info/RgHuyen.js","shared/right-info/RgXa.js","shared/right-info/TenHuyen.js","shared/right-info/TenThon.js","shared/right-info/TenXa.js","shared/right-info/ThichHop.js","shared/right-info/BinhDo.js","shared/right-info/GiaoThong.js","shared/right-info/ThongTinHanhChinh.js","shared/right-info/ThongTinTrungViLuong.js","shared/right-info/ThoNhuong.js","shared/right-info/ThuyLoi.js","shared/sidebar-layer/SidebarLayer.js","api/ChuGiaiApi.js","shared/footer-note/ChuGiaiNongHoa.js","shared/footer-note/ChuGiaiThoNhuong.js","shared/footer-note/ChuGiaiDeXuat.js","shared/footer-note/ChuGiaiThichHop.js","shared/footer-note/ChuGiaiChatLuongDat.js","shared/footer-note/ChuGiaiHienTrang.js","shared/footer-note/ChuGiaiHanhChinhHuyen.js","shared/footer-note/FooterNote.js","shared/sidebar-left/SidebarLeft.js","api/BanDoPublicApi.js","api/BanDoHienTrangApi.js","shared/selectchugiai/SelectChuGiaiMulti.js","shared/selectchugiai/SelectHienTrangMulti.js","shared/timkiemnangcao/TimKiemHienTrangDatSanXuatNongNghiep.js","api/BanDoThoNhuongApi.js","shared/selectchugiai/SelectThoNhuongMulti.js","shared/timkiemnangcao/TimKiemThoNhuong.js","api/BanDoNongHoaApi.js","shared/timkiemnangcao/TimKiemNongHoa.js","api/BanDoThichHopApi.js","shared/timkiemnangcao/TimKiemThichHopDatDai.js","api/BanDoDeXuatApi.js","shared/selectchugiai/SelectDeXuatMulti.js","shared/timkiemnangcao/TimKiemDeXuatSuDungDat.js","api/BanDoChatLuongDatApi.js","api/ExportExcelApi.js","shared/selectchugiai/SelectTuoi.js","shared/selectchugiai/SelectDaLan.js","shared/selectchugiai/SelectDoDoc.js","shared/selectchugiai/SelectDoDay.js","shared/selectchugiai/SelectDoPhi.js","shared/selectchugiai/SelectTpcg.js","shared/timkiemnangcao/TimKiemChatLuongDat.js","shared/timkiemnangcao/TimKiemNangCao.js","api/TimKiemApi.js","api/KhuyenCaoPhanBonApi.js","public/khuyencaophanbon/khuyencaophanbon.js","public/bando/BanDo.js","shared/selecthuyenmulti/SelectMulti.js","shared/selecthuyenmulti/SelectHuyenMulti.js","api/MenuPublicApi.js","api/HuongDanApi.js","public/huongdan/HuongDan.js","api/GopYApi.js","public/gopy/GopY.js","public/menu/Menu.js","public/PublicBanDo.js","api/BaoCaoChatLuongDatApi.js","public/baocao/BaoCaoChuyenDeDat.js","public/baocao/SoLieu.js","public/PublicBaoCao.js","public/PublicSoLieu.js","public/Public.js","api/FolderApi.js","api/UploadFile.js","api/FileApi.js","shared/quanlytaptin/QuanLyTapTin.js","main/tienich/lienhe/LienHe.js","api/TrangApi.js","core/Ultility.js","main/tienich/trang/Trang.js","api/DonViDatDaiApi.js","main/donvidatdai/ModalDonViDatDai.js","main/donvidatdai/DonViDatDai.js","api/SlideApi.js","main/tienich/slide/Slide.js","main/tienich/postcategory.js","main/baocaochatluongdat/BaoCaoChatLuongDat.js","api/PostApi.js","main/tienich/post.js","main/bandothonhuong/ModalEditThongTin.js","main/madontinh/madontinh.js","main/bandothonhuong/BanDoThoNhuong.js","main/bandomucdothichhop/ModalEditThongTin.js","main/bandomucdothichhop/BanDoMucDoThichHop.js","api/BanDoDeXuatSuDungDatApi.js","main/bandodexuatsudungdat/ModalEditThongTin.js","main/bandodexuatsudungdat/BanDoDeXuatSuDungDat.js","main/bandochatluongdat/ModalEditThongTin.js","main/bandochatluongdat/BanDoChatLuongDat.js","main/bandonen/BanDoNen.js","api/LoaiCayApi.js","main/danhmuc/loaicay/LoaiCay.js","api/BanDoDeXuatPhanBonApi.js","api/MuaVuApi.js","main/bandodexuatphanbon/ModalEditThongTin.js","main/bandodexuatphanbon/BanDoDeXuatPhanBon.js","api/NhatKyDangNhapApi.js","main/hethong/nhatkydangnhap/nhatkydangnhap.js","main/baocaochatluongdat/SoLieuChatLuongDat.js","api/LienKetWebsiteApi.js","main/tienich/lienketwebsite/LienKetWebSite.js","shared/selectxa/SelectXa.js","shared/modaladdedit/ModalChatLuong.js","shared/modaladdedit/ModalHienTrang.js","shared/modaladdedit/ModalThichHop.js","shared/modaladdedit/ModalThoNhuong.js","shared/modaladdedit/ModalDeXuat.js","shared/modaladdedit/ModalNongHoa.js","main/bando/BanDo.js","main/tienich/huongdan/huongdan.js","main/tienich/huongdan/huongdanaddedit.js","main/tienich/gopy/GopY.js","main/Main.js","App.js","serviceWorker.js","index.js","shared/sidebar-left/SidebarLeft.module.css","api/axiosClient.js","shared/sidebar-layer/SidebarLayer.module.css","main/bando/BanDo.module.css","shared/footer-note/FooterNote.module.css","shared/timkiemnangcao/TimKiemNangCao.module.css"],"names":["axiosClientDownLoad","axios","create","baseURL","process","headers","paramsSerializer","params","queryString","stringify","responseType","interceptors","request","use","a","config","token","localStorage","getItem","Authorization","response","data","error","console","log","Login","history","useHistory","useForm","mode","register","handleSubmit","errors","onSubmit","post","then","setItem","push","className","name","type","placeholder","style","input","borderColor","userName","ref","require","password","onClick","Sidebar","useState","listFunctions","setFunction","loadFunction","axiosClient","get","useEffect","id","href","to","filter","x","ParentId","sort","y","SortOrder","map","item","key","listChil","Id","length","Url","CssClass","Name","data-toggle","data-target","aria-expanded","aria-controls","aria-labelledby","data-parent","child","index","axiosClientFile","TaiKhoanApi","getPaging","getDetail","url","createUser","updateUser","put","DeleteUser","delete","UploadFile","getUserRoles","changePass","setPass","Authen","logout","getUser","nv","jwt_decode","UserName","FullName","fullName","Email","Avatar","avatar","checkAccess","checkQuyen","func","roles","findIndex","permissions","JSON","parse","thongBao","alertify","defaults","autoReset","basic","closable","closableByDimmer","invokeOnCloseOff","frameless","defaultFocusOff","maintainFocus","maximizable","modal","movable","moveBounded","overflow","padding","pinnable","pinned","preventBodyShift","resizable","startMaximized","transition","transitionOff","tabbable","notifier","delay","position","closeButton","classes","base","prefix","message","top","right","bottom","left","center","visible","hidden","close","glossary","title","ok","cancel","theme","hooks","preinit","instance","postinit","ThongBao","printSuccessMessage","success","printErrorMessage","prinWarningMessage","warning","printConfirmationDialog","okCallback","noCallback","confirm","Header","nhanVien","setNhanVien","show","setShow","handleClose","reset","saveData","Password","ConfirmPassword","role","aria-haspopup","src","removeItem","Modal","onHide","animation","Title","Body","autoFocus","Footer","Button","variant","size","Home","default","LopBanDoApi","getAll","getLopBanDo","QuanHuyenApi","LopBanDo","listLopBanDos","setLopBanDo","setFilter","listQuanHuyens","setQuanHuyen","selectedOption","setSelectedOption","selectedOptionLopBanDo","setSelectedOptionLopBanDo","setRoleAdd","roleEdit","setRoleEdit","setRoleDel","listOptionLopBanDo","value","label","pageIndex","totalPages","currentPage","showMax","threeDots","prevNext","page","loadLopBanDo","paginationConfig","setPaging","pageSize","keyword","idQuanHuyen","Items","forEach","Checked","Math","ceil","TotalRow","list","Ten","IdQuanHuyen","Type","CreatedBy","GeoJson","checkBoHandler","onChange","e","target","LayerName","Ratio","indexLopBanDo","width","checked","TenQuanHuyen","event","options","borderRadius","height","spacing","controlHeight","menuGutter","baseUnit","ChucNang","NhomQuyenApi","NhomQuyen","listNhomQuyens","setNhomQuyen","roleAdd","roleDel","loadNhomQuyen","Description","Message","TaiKhoan","apiUrl","replace","listNhanViens","listQuyen","setListQuyen","setRoles","roleMutil","setRoleMutil","rowSelected","setRowSelected","isEdit","setIsEdit","isXem","setIsXem","setAvatar","stringAvatar","setStringAvatar","search","setSearch","showDoiMatKhau","setShowDoiMatKhau","loadTaiKhoan","setPaginationConfig","loadUserRoles","res","opt","loadQuyen","handleShowEdit","Address","Status","PhoneNumber","roleArr","GetArrQuyen","formData","FormData","append","resAvatar","Path","UserRoles","saveDatLaiMatKhau","catch","handleDoiMatKhauClose","disabled","lst","lstChecked","dialogclassName","backdrop","keyboard","required","pattern","minLength","files","optionSelected","isMulti","components","DropdownIndicator","IndicatorSeparator","RoleId","readOnly","SelectHuyen","props","loadQuanHuyen","onChangeHuyenProps","HienTrangSuDungDatLuaApi","str","updateGeo","addGeo","updateThongTin","addThongTin","LopMauApi","ModalEditThongTin","closeThongTin","listLopMau","setLopMau","gid","setGid","MaMau","Gid","themMoi","saveSuccess","showEdit","thongTin","TenHuyen","huyen","TenXa","xa","PhanVung","phanvung","LoaiDat","g","DiaHinhTuongDoi","dhtd","DiaHinh","sl","TangDay","tangday","ThanhPhanCoGioi","tpcg","MucDoDaLan","dalan","DungTrong","dungtrong","PhanCapPH","pc_ph","PhanCapCEC","pc_cec","PhanCapDinhDuong","pc_dd","PhanCapNito","pc_n","PhanCapPhotPho","pc_p","PhanCapKali","pc_k","PhanCapHuuCoTong","pc_om","PhanCapDoPhi","pc_dp","LuongMua","luongmua_d","TongTichOn","tton_dt","MucDoKhoHan","khohan_dt","NhietDo","nhietdo","ChiSoKhoHan","chisokhoha","PhanCapChiSoKhoHan","pc_chisokh","SoThangKhoHan","sothangkho","PC_R","pc_r","PC_T","pc_t","MaDat","madat","CayTrong","caytrong","NgapUng","ngapung_dt","CheDoTuoi","tuoi_dt","CheDoTieu","tieu_dt","dvdd","DienTich","dt_bs","defaultValue","HienTrangSuDungDatLua","view","ol","View","zoom","Map","setMap","setThongTin","layer","Vector","provinceDat","setDat","source","sourceDat","setSourcDat","selectDat","setSelectDat","flagAddEdit","setFlagAddEdit","draw","setdraw","IdHuyen","setIdHuyen","flagEdit","setFlagEdit","setShowEdit","listStyles","setListStyle","isThemMoi","setThemMoi","color","text","Style","fill","Fill","stroke","Stroke","Text","stylefunction","feature","resolution","MauSac","highlightStyle","idhuyen","_tyle","kieuBanDo","idHuyen","province","Image","ImageWMS","layers","version","Version","serverType","ratio","setVisible","addLayer","format","GeoJSON","flagHtml","document","getElementById","getAttribute","drawNew","interaction","Draw","image","Circle","radius","addInteraction","addInteractions","getSource","on","ev","getId","geoText","WKT","writeGeometry","getGeometry","getFeatures","Geometry","removeFeature","controls","control","extend","ScaleLine","units","FullScreen","ZoomSlider","evt","setStyle","forEachFeatureAtPixel","pixel","thongTinNew","ba_kich","bi_xanh","bo_khai","buoi","ca_gaileo","cam","cat","cec","chum_ngay","code_qh","dt","dua_hau","dungtrong_","ht_qh","k2o","keo","khoai_so","khoi_tu","lac","lua","ma_congtua","ma_dexuat","mang_tay","mau_anhhuo","mia","mit","n","ngo","nhan","oc","oi","om","p2o5","pthongTinNewc_r","phkcl","qh_qh","rau","thongTinNewsa","sam_day","san","set","symbol_qh","tenpd","thit","tinh","tn","truongnhan","removeLayer","setView","toaDoX","toaDoY","removeInteraction","flagadd","getInteractions","select","Select","wrapX","modify","Modify","features","selected_features","dirty","element","fid","clear","flagedit","getLayers","l","DiemLayMauApi","ModalDiemLayMau","id3","DiemLayMau","flagDelete","setFlagDelete","substring","offsetY","PhanQuyenApi","getbyRole","roleId","PhanQuyen","listRoles","listQuyens","setQuyen","setroleId","loadChucNang","BuildTree","arr","roots","i","Tree","childs","children","listActions","FunctionId","Actions","action","ActionId","loadPermissionByRole","key1","funtion","clickFunction","key2","j","clickAction","LopMau","listLopMaus","setEdit","isDelete","setDelete","myStatus","setStatus","listTypes","React","myColor","setColor","loadLopMau","_type","hex","DuongKe","backgroundColor","initialValue","updatedColor","placement","LienHeApi","updateLienHe","getLienHe","PostCategoryApi","Loading","override","css","loading","DVDD","tenxa","colSpan","admin","showEditThongTin","dt_ha","displayType","thousandSeparator","decimalScale","dvdd_h","phancaptuoi","phancapdoc","phancapdalan","phancapdoday","phancaptpcg","phancapfe","DanCu","tenHuyen","tenTinh","tenXa","khHienTrang","HienTrang","DeXuat","tendx","DuongSat","capHanhChinh","GhiChu","symbol_ht","tenht","RgHuyen","RgXa","DienTichTu","Dan_So","MatDo_DanS","TenThon","tenThon","ThichHop","thichnghi_","thtieu","thcaffe","thcaosu","thdieu","thlua","thngo","thsan","thkhoai","thrau","thduoclieu","thbo","thsaurieng","thbi","thlac","thhoa","thcam","thbuoi","thchanhday","thnhan","thmit","thxoai","thna","thchuoi","thdautam","thmangtay","thdua","BinhDo","DoCao","GiaoThong","ThongTinHanhChinh","nam","DienTichKm2","tbDanSo1000","mdDanSoKm2","PhuongXa","ThiTran","ThongTinTrungViLuong","dienTich","maTrungViLuong","maCa","maMg","ma_tsSi","ma_ddFe","ma_dtMo","ma_tdMn","ma_htBo","ma_dtZn","ma_dtCu","ma_htS","ThoNhuong","symbol_dat","tendat","ThuyLoi","SidebarLayer","setKey","showTab","setShowTab","thongTinSuDungDat","setThongTinSuDungDat","thongTinThoNhuong","setThongTinThoNhuong","thongTinThichHop","setThongTinThichHop","thongTinHienTrang","setThongTinHienTrang","thongTinChatLuongDat","setThongTinChatLuongDat","thongTinHanhChinh","setThongTinHanhChinh","thongTinTrungViLuong","setThongTinTrungViLuong","thongTinRgHuyen","setThongTinRgHuyen","thongTinRgXa","setThongTinRgXa","thongTinTenHuyen","setThongTinTenHuyen","thongTinTenXa","setThongTinTenXa","thongTinTenThon","setThongTinTenThon","thongTinDanCu","setThongTinDanCu","thongTinGiaoThong","setThongTinGiaoThong","thongTinThuyLoi","setThongTinThuyLoi","thongTinBinhDo","setThongTinBinhDo","thongTinDuongSat","setThongTinDuongSat","window","innerWidth","xPosition","setX","toggleMenu","useLayoutEffect","updateSize","addEventListener","removeEventListener","tabSelect","Ma","tableName","k","clickTab","updateTableSelect","Fragment","stylelocal","sidebar","transform","togglemenu","outer","inner","rotate","sidecontent","Tabs","activeKey","onSelect","Tab","eventKey","ChuGiaiApi","getThoNhuong","getAllDvdd","getDeXuat","getThichHop","getChatLuongDat","getHienTrang","ChuGiaiNongHoa","listChuGiais","setListChuGiai","rowSpan","clickChuGiai","maNongHoa","join","clickRow","backgroundImage","pHKCL","tPCG","oC","tsDam","tsLan","tsKali","dtLan","dtKali","cEC","ChuGiaiThoNhuong","khDat","tenDat","ChuGiaiDeXuat","khDeXuat","ChuGiaiThichHop","matn","mamau","ChuGiaiChatLuongDat","ChuGiaiHienTrang","ChuGiaiHanhChinhHuyen","maMau","maHuyen","FooterNote","setListChuGuai","listBanDos","setListBanDo","setLoading","innerHeight","minHeight","yPosition","setY","maBanDo","loadGhiChu","MaBanDo","getHanhChinhHuyen","listHanhChinhHuyens","getNongHoa","listNongHoas","listThoNhuongs","listDeXuats","listThichHops","listThichHopSuDungDats","listChatLuongDats","listHienTrangSuDungDats","timKiemGhiChu","footernote","border","footermenu","footercontent","mapghichu","SidebarLeft","isSapXep","setSapXep","loadMenu","listTrees","BuilTree","selectBanDo","parents","level","expanded","CheckedGhiChu","getGhiChu","parent","parentExpanded","isChildren","ClickTree","clickGhiChu","ghichu","clickScolpan","ExpandedBotton","Expanded","sortLopBanDo","indexOld","sortOrder","sortOrderOld","onSapXep","listSort","b","listsSorted","buidSort","treeSort","mapbando","colsapxep","rowan","menu","scolpan","marginLeft","mngroup","IsEdit","gcactive","gc","IsGhiChu","class","onLen","xuong","onXuong","BanDoPublicApi","getById","getThongTinTinhPhanBon","getInfoById","getTimKiem","exportExcel","BanDoHienTrangApi","getAllDanhMucHienTrang","update","add","SelectChuGiaiMulti","allowSelectAll","allOption","selected","result","includes","option","defaultProps","SelectHienTrangMulti","listHts","setHt","Kh","setTimeout","onChangeHT","data-trigger","data-content","closeMenuOnSelect","hideSelectedOptions","Option","isSelected","MultiValue","labelToBeDisplayed","currentValues","getValue","ValueContainer","toBeRendered","some","val","styles","container","zIndex","TimKiemHienTrangDatSanXuatNongNghiep","listKetQuas","setKetQua","tongRow","setTongRow","tongDienTich","setTongDienTich","setListHT","query","getSql","sql","DienTichMin","DienTichDieuKienMin","DienTichMax","DienTichDieuKienMax","queryHuyen","loadDuLieu","timKiemLoading","TongDienTich","err","defaultActiveKey","getKhHT","min","timKiem","timKiemGetChiTiet","ma","BanDoThoNhuongApi","SelectThoNhuongMulti","listDats","KhDat","onChangeDat","TimKiemThoNhuong","setListDat","getSQL","getKhDat","BanDoNongHoaApi","getAllDanhMuc","TimKiemNongHoa","phKClMin","phKClDieuKienMin","phKClMax","phKClDieuKienMax","tsDamMin","tsDamDieuKienMin","tsDamMax","tsDamDieuKienMax","tsLanMin","tsLanDieuKienMin","tsLanMax","tsLanDieuKienMax","tsKaliMin","tsKaliDieuKienMin","tsKaliMax","tsKaliDieuKienMax","dtLanMin","dtLanDieuKienMin","dtLanMax","dtLanDieuKienMax","dtKaLiMin","dtKaLiDieuKienMin","dtKaLiMax","dtKaLiDieuKienMax","cECMin","cECDieuKienMin","cECMax","cECDieuKienMax","oCMin","oCDieuKienMin","oCMax","oCDieuKienMax","BanDoThichHopApi","TimKiemThichHopDatDai","ThLua","ThNgo","ThSan","ThKhoai","ThRau","ThBi","ThLac","ThHoa","ThCam","ThBuoi","ThChanh","ThNhan","ThMit","ThBo","ThSauRieng","ThXoai","ThNa","ThChuoi","ThDieu","ThCaoSu","ThTieu","ThCafe","ThDauTam","ThMang","ThDuoc","ThDua","BanDoDeXuatApi","SelectDeXuatMulti","setDeXuat","KhDeXuat","onChangeDX","TimKiemDeXuatSuDungDat","setListDX","getKhDeXuat","BanDoChatLuongDatApi","SelectTuoi","listDks","setDk","loadDkTuoi","listTuois","maTuoi","PhanCap","onChangeTuoiProps","SelectDaLan","listDaLans","maDalan","onChangeDaLanProps","SelectDoDoc","listDocs","maDodoc","onChangeDocProps","SelectDoDay","listDays","maDoday","onChangeDoDayProps","SelectDoPhi","listFes","maDoPhi","onChangeDoPhiProps","SelectTpcg","listTpcgs","maTpcg","onChangeTpcgProps","TimKiemChatLuongDat","tuoi","setSelectedTuoi","doc","setSelectedDoc","day","setSelectedDay","setSelectedDaLan","fe","setSelectedFe","setSelectedTpcg","onChangeTuoi","onChangeDoc","onChangeDay","onChangeDaLan","onChangeFe","onChangeTpcg","TimKiemNangCao","setListLopBanDo","setQueryHuyen","listHuyens","onTimKiem","onTimKiemNangCao","Sql","onExportExcel","createElement","download","click","loadThongTinById","tieude","undefined","TimKiemApi","getFilter","getBangDuLieu","KhuyenCaoPhanBonApi","KhuyenCaoPhanBon","hienTrang","setHienTrang","selectCayTrong","p","phanBon","setPhanBon","coSo","setCoSo","$","loadThongTin","tinhCanSo","nMax","nMin","pMax","pMin","kMax","kMin","handle","tabIndex","data-backdrop","data-keyboard","aria-hidden","dophi","CayTrongs","cecdat","onChangeCaytrong","BanDo","minZoom","maxZoom","projection","proj","showKhuyenCao","setShowKhuyenCao","isThongTin","setIsThongTin","showLeft","setShowLeft","showFooter","setShowFooter","showTimKiemNangCao","setShowTimKiemNangCao","showRight","setShowRight","selectGhiChu","setSelectGhiChu","listMenu","setTabSelect","setId","mousePositionControl","setMousePositionControl","drawDo","setDrawDo","soureDo","vectorDo","setVectorDo","vectorSelect","setVectorSelect","Feature","positionFeature","setPositionFeature","accuracyFeature","OSM","attributions","sourceBase","setSourceBase","Tile","mapBase","setMapBase","preload","Infinity","BingMaps","imagerySet","bingMap","Geolocation","trackingOptions","enableHighAccuracy","getProjection","geolocaltion","urlFunction","geomjson","getView","getCode","featureProjection","defaultDataProjection","readFeatures","TableName","flyTo","extent","getCenter","getExtent","setGeometry","getAccuracyGeometry","setProjection","getAccuracy","getAltitude","getSpeed","getPosition","innerHTML","coordinates","geom","Point","zoomSize","getZoom","MousePosition","coordinateFormat","coordinate","createStringXY","undefinedHTML","vectorViTri","addControl","customControl","clickDoKhoangCach","clickDoDienTich","clickViTri","timKiemNangCao","showLopBanDo","coord","removeAttribute","controll","hasAttribute","getOverlays","controllButton","setAttribute","addInteractionDo","showinfo","setTracking","classCss","icon","button","appendChild","Control","CQL_FILTER","updateParams","printMap","getViewport","htmlToImage","dataUrl","pdf","jsPDF","addImage","clientWidth","clientHeight","open","output","toaDo","showPhanBon","helpTooltipElement","helpTooltip","localtion","zoomNew","parts","called","callback","complete","animate","duration","sketch","measureTooltipElement","measureTooltip","listener","lineDash","createMeasureTooltip","parentNode","removeChild","Overlay","offset","positioning","addOverlay","tooltipCoord","Polygon","formatArea","getInteriorPoint","getCoordinates","LineString","formatLength","getLastCoordinate","setPosition","setOffset","Observable","unByKey","polygon","area","Sphere","getArea","round","line","getLength","listMenus","isCheck","getUrls","setUrl","crossOrigin","setZIndex","getSelectGhiChu","TimKiemGhiChu","timkiemGhiChu","newProj","SelectMulti","SelectHuyenMulti","ToaDoX","ToaDoY","Zoom","MenuPublicApi","HuongDanApi","HuongDan","listHuongDans","setListHuongDans","huongDan","setHuongDan","setSrcBaoCao","loadHuongDan","hienThiCongKhai","URL","TapTin","viewHuongDan","TieuDe","dangerouslySetInnerHTML","__html","NoiDung","GopYApi","GopY","guiThanhCong","setGuiThanhCong","IdGopY","Delete","CreatedDate","Date","HoTen","rows","Menu","setlistMenu","count","setCount","showHuongDan","setShowHuongDan","selectMenu","setSelectMenu","showGopY","setShowGopY","Code","alt","Icon","clickMenu","each","this","hasClass","addClass","removeClass","clickLink","PublicBanDo","setUrlFunction","setPrintMap","listFilters","setListFilter","valueFilter","setValueFilter","setToaDoX","setToaDoY","setToaDo","requestTimer","setGeomjson","setListHuyen","khuyenCaoPhanBon","setKhuyenCaoPhanBon","useLocation","pathname","getIdHuyen","inputProps","wrapperStyle","display","items","getItemValue","tenthon","clearTimeout","renderItem","isHighlighted","parseFloat","BaoCaoChatLuongDatApi","getPagingPublic","BaoCaoChuyenDeDat","listBaoCaos","setBaoCao","loadBaoCao","loaiBaoCao","MoTa","SoLieu","PublicBaoCao","setHuyen","setKeyword","Switch","exact","path","PublicSoLieu","Public","FolderApi","UploadFileApi","idFolder","FileApi","QuanLyTapTin","closeModal","setDanhMucCha","loadCategory","viewModal","loadAllFolder","setParentItem","parentItem","showFolder","setShowFolder","handleCloseFolder","saveDataFolder","isLoadFile","tree","buildTree","setTreeData","loadPagingUpload","parentId","lstTemp","lstKetQua","treeData","showUpload","setShowUpload","fileSelected","setFileSelected","pageIndexUpload","listFile","setListFile","paginationConfigUpload","setPagingUpload","extension","lastIndexOf","toLowerCase","listFileUpload","setListFileUpload","handleCloseUpload","saveDataUpload","treeRef","useRef","ParentName","lstId","onFileSelected","defaultExpandAll","selectedKeys","info","selectedNodes","Object","assign","handleClickImage","onDoubleClick","handleDbClickImage","multiple","LienHe","listLienHes","setListLienHe","lienHe","setLienHe","ckdData","setckdData","srcImage","setSrcImage","setViewModal","loadLienHe","other","changeTab","phone","email","website","address","lat","lng","status","logo","facebook","youtube","youtubedetail","google","hotline","description","zalo","instagram","fax","sologan1","sologan2","dialogClassName","editor","ClassicEditor","getData","TrangApi","createTrang","updateTrang","DeleteTrang","getTrang","Ultility","MakeSeoTitle","slug","Trang","listTrang","setListTrang","trang","setTrang","showModalImage","setShowModalImage","noImage","loadTrang","content","metakeyword","metadescription","alias","homeflag","alertDell","textContent_Style","textOverflow","createddate","createdby","updateddate","updatedby","changeCK","DonViDatDaiApi","ModalDonViDatDai","TenTinh","DonViDatDai","SlideApi","createSlide","updateSlide","DeleteSlide","getSlide","Slide","listSlide","setListSlide","slide","setSlide","setOpt","loadSlide","DisplayOrder","Content","Createddate","Createdby","Updateddate","Updatedby","Metakeyword","Metadescription","Thumbnailimage","dateNow","date","getDate","month","getMonth","getFullYear","PostCategory","listPostCategory","setPostCategory","listDanhMucCha","setAlias","Alias","onKeyPress","HomeFlag","HotFlag","MetaKeyword","MetaDescription","IconCss","BaoCaoChatLuongDat","showQuanLyTapTin","setShowQuanLyTapTin","tapTin","setTapTin","LoaiBaoCao","onChangeFilter","PostApi","Post","listPosts","setListPosts","selectedPostcategoryTimKiem","setSelectedPostcategoryTimKiem","postModal","setPostModal","setContent","loadPosts","categoryId","toString","CategoryId","ViewCount","Tags","onChangeContent","geometry","DungTrong_","Mau_AnhHuo","MADONTINH","getTen","resuit","Value","indexOf","splice","rs","BanDoThoNhuong","dvt","setDVT","provi","bo","bs","caffe","cao_su","chanh_day","chuoi","code_dat","code_xa","dau_tam","de","dieu","duoc_lieu","dvdd_xa","gv","ho_tieu","hoa","khoai","na","rau_cai","sau_rieng","slop","tbc","ten_xa","thichngh00","xoai","donVT","donvitinh","madontinh","tnh","Dvdd","Dvddh","dvddh","Lua","Ngo","Rau","Khoai","San","Lac","Mia","Cam","Quyt","quyt","Buoi","Che","che","DuaHau","Na","Chanh","chanh","Xoai","CaGaiLeo","ca_gai_leo","DauTam","Nhan","CaPhe","ca_phe_che","DauTuong","dau_tuong","BanDoMucDoThichHop","BanDoDeXuatSuDungDatApi","BanDoDeXuatSuDungDat","duongKe","ctx","getContext","img","fillStyle","createPattern","rotateWithView","getThongTin","qh","BanDoChatLuongDat","BanDoNen","LoaiCayApi","getLoaiCay","LoaiCay","listLoaiCay","setListLoaiCay","loaiCay","setLoaiCay","isExist","setIsExist","isValueExist","setIsValueExist","loadLoaiCay","handleShow","exi","MaLoai","CreateBy","UpdateBy","confirmAlert","buttons","TenLoai","BanDoDeXuatPhanBonApi","maloai","GetThongTin","MuaVuApi","getMuaVu","selectedOptionMuaVu","setSelectedOptionMuaVu","listMuaVu","setMuaVu","Count","LoaiPhan","KhoiLuong","listRow","setListRow","listRowDefault","createRow","setCreateRow","rowCount","setRowCount","listObject","setListObject","modeEdit","setModeEdit","MaMuaVu","deleteRow","onChangeLP","onChangeKL","BanDoDeXuatPhanBon","NhatKyDangNhapApi","NhatKyDangNhap","Ngay","DiaChiIp","SoLieuChatLuongDat","LienKetWebSiteApi","LienKetWebsite","listLienKetWebsite","setListLienKetWebsite","lienKetWebsite","setLienKetWebsite","loadLienKetWebsite","LienKetWebsiteApi","loadType","optLienKetWebsite","SelectXa","listXas","setXa","loadXa","onChangeXaProps","ModalChatLuong","listDvdds","setListDvdd","selectedDvdd","setSelectedDvdd","selectTuoi","selectDay","selectDoc","selectDalan","selectTpcg","selectFe","showModal","maxa","dungtichha","donobazo","tongcation","pctuoi","pcdoc","pctpcg","pcdalan","pcdoday","pcfe","dodoc","doday","onChangeXa","do_doc","tang_day","da_lan","changeMapComplete","ex","ModalHienTrang","listHienTrangs","setListHienTrang","selectedHienTrang","setSelectedHienTrang","ModalThichHop","setListTh","selectedThichHop","setSelectedThichHop","selectedLua","setSelectedLua","selectedNgo","setSelectedNgo","selectedSan","setSelectedSan","selectedKhoai","setSelectedKhoai","selectedRau","setSelectedRau","selectedBi","setSelectedBi","selectedLac","setSelectedLac","selectedHoa","setSelectedHoa","selectedCam","setSelectedCam","selectedBuoi","setSelectedBuoi","selectedChanh","setSelectedChanh","selectedNhan","setSelectedNhan","selectedMit","setSelectedMit","selectedBo","setSelectedBo","selectedSauRieng","setSelectedSauRieng","selectedXoai","setSelectedXoai","selectedNa","setSelectedNa","selectedChuoi","setSelectedChuoi","selectedDieu","setSelectedDieu","selectedCaoSu","setSelectedCaoSu","selectedCafe","setSelectedCafe","selectedDauTam","setSelectedDauTam","selectedHoTieu","setSelectedHoTieu","selectedDuocLieu","setSelectedDuocLieu","selectedMang","setSelectedMang","selectedDua","setSelectedDua","bi","dua","ModalThoNhuong","setListThoNhuong","selectedThoNhuong","setSelectedThoNhuong","codeDat","ModalDeXuat","setListDeXuat","selectedDeXuat","setSelectedDeXuat","ModalNongHoa","listphKCLs","setListphKCL","selectedphKCL","setSelectedphKCL","listtsDams","setListtsDam","selectedtsDam","setSelectedtsDam","listtsLan","setListtsLan","selectedtsLan","setSelectedtsLan","listtsKalis","setListtsKali","selectedtsKali","setSelectedtsKali","listdtLans","setListdtLan","selecteddtLan","setSelecteddtLan","listdtKalis","setListdtKali","selecteddtKali","setSelecteddtKali","listCecs","setListCec","selectedCec","setSelectedCec","listOcs","setListOc","selectedOc","setSelectedOc","setListTpcg","selectedTpcg","maXa","maTinh","phKCl","dtKaLi","CEC","OC","maTPCG","Ghichu","tenDatTCVN","onChangeHuyen","phKCL","showModalAddEdit","setShowModalAddEdit","thongTinAddEdit","setThongTinAddEdit","addEdit","soureAdd","vectorAdd","maEdit","dokhoangcach","dodientich","vitri","tknangcao","lopbando","controllAddEdit","controllIsEdit","changed","errr","closeModalAddEdit","bando","addedit","listHuongDan","IdHuongDan","ThuTu","HienThiCongKhai","HuongDanAddEdit","useParams","listGopY","setGopY","loadGopY","DienThoai","moment","Main","component","App","Boolean","location","hostname","match","ReactDOM","render","StrictMode","navigator","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.4340c858.chunk.js","sourcesContent":["import axios from 'axios';\r\nimport queryString from 'query-string';\r\n\r\n// Set up default config for http requests here\r\n// Please have a look at here `https://github.com/axios/axios#request- config` for the full list of configs\r\nconst axiosClientDownLoad = axios.create({\r\n baseURL: process.env.REACT_APP_API_URL,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n paramsSerializer: params => queryString.stringify(params),\r\n responseType: 'arraybuffer',\r\n \r\n});\r\n\r\naxiosClientDownLoad.interceptors.request.use(async (config) => {\r\n const token = localStorage.getItem(process.env.REACT_APP_TOKEN);\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n});\r\n\r\naxiosClientDownLoad.interceptors.response.use((response) => {\r\n if (response && response.data) {\r\n return response.data;\r\n }\r\n\r\n return response;\r\n}, (error) => {\r\n // Handle errors\r\n console.log(error)\r\n throw error;\r\n});\r\n\r\nexport default axiosClientDownLoad;","import React from 'react'\r\nimport { useForm } from 'react-hook-form';\r\nimport axios from 'axios';\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { style } from 'openlayers';\r\n\r\n\r\nexport const Login = () => {\r\n let history = useHistory();\r\n const {register, handleSubmit, errors} = useForm({\r\n mode: \"onBlur\"\r\n });\r\n \r\n const onSubmit = (data)=>{\r\n axios.post(process.env.REACT_APP_API_URL + '/Account/login', data).then(response =>{\r\n localStorage.setItem(process.env.REACT_APP_TOKEN, response.data.token);\r\n history.push(\"/main\");\r\n })\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

ĐĂNG NHẬP HỆ THỐNG

\r\n
\r\n
\r\n
\r\n \r\n {errors.userName}\r\n
\r\n
\r\n \r\n {errors.password}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport axiosClient from '../../api/axiosClient';\r\n\r\n\r\nexport const Sidebar = () => {\r\n const [listFunctions, setFunction] = useState([]);\r\n const loadFunction = async () => {\r\n let response = await axiosClient.get('/permission/functions-view');\r\n setFunction(response);\r\n }\r\n\r\n useEffect(() => {\r\n loadFunction();\r\n }, [])\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import axios from 'axios';\r\nimport queryString from 'query-string';\r\n\r\n// Set up default config for http requests here\r\n// Please have a look at here `https://github.com/axios/axios#request- config` for the full list of configs\r\nconst axiosClientFile = axios.create({\r\n baseURL: process.env.REACT_APP_API_URL,\r\n headers: {\r\n 'content-type': 'multipart/form-data',\r\n },\r\n paramsSerializer: params => queryString.stringify(params),\r\n});\r\n\r\naxiosClientFile.interceptors.request.use(async (config) => {\r\n const token = localStorage.getItem(process.env.REACT_APP_TOKEN);\r\n if (token) {\r\n config.headers.Authorization = `Bearer ${token}`;\r\n }\r\n return config;\r\n});\r\n\r\naxiosClientFile.interceptors.response.use((response) => {\r\n if (response && response.data) {\r\n return response.data;\r\n }\r\n\r\n return response;\r\n}, (error) => {\r\n // Handle errors\r\n console.log(error)\r\n throw error;\r\n});\r\n\r\nexport default axiosClientFile;","import axiosClient from './axiosClient';\r\nimport axiosClientFile from './axiosClientFile';\r\nconst TaiKhoanApi = {\r\n getPaging: (params) => {\r\n const url = '/User/paging';\r\n return axiosClient.get(url, {params})\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/User/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n createUser:(params) => {\r\n const url = '/User/add';\r\n return axiosClient.post(url, params);\r\n \r\n },\r\n\r\n updateUser:(params) => {\r\n const url = '/User';\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n DeleteUser:(Id) => {\r\n const url = '/User/'+ Id;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n UploadFile:(params) => {\r\n const url = '/Upload/avatar';\r\n return axiosClientFile.post(url,params);\r\n },\r\n\r\n getUserRoles: (Id) => {\r\n const url = '/User/Roles/' +Id;\r\n return axiosClient.get(url)\r\n },\r\n changePass: (data)=>{\r\n const url = 'Account/changedpass';\r\n return axiosClient.post(url, data);\r\n },\r\n setPass: (data)=>{\r\n const url = '/User/setpass';\r\n return axiosClient.post(url, data);\r\n }\r\n}\r\nexport default TaiKhoanApi;","import jwt_decode from \"jwt-decode\"\r\nimport axiosClient from '../api/axiosClient';\r\n\r\nconst Authen = {\r\n logout: () => {\r\n const url = '/Account/logout';\r\n return axiosClient.post(url);\r\n },\r\n\r\n getUser: () => {\r\n let token = localStorage.getItem(process.env.REACT_APP_TOKEN);\r\n if (token != null) {\r\n let nv = jwt_decode(token);\r\n return {\r\n Id: nv.Id,\r\n UserName: nv.UserName,\r\n FullName: nv.fullName,\r\n Email: nv.Email,\r\n Avatar: nv.avatar\r\n };\r\n }\r\n return {};\r\n },\r\n\r\n checkAccess: () => {\r\n let token = localStorage.getItem(process.env.REACT_APP_TOKEN);\r\n if (token != null) {\r\n\r\n return true;\r\n }\r\n return false;\r\n },\r\n checkQuyen: (func) =>{\r\n let token = localStorage.getItem(process.env.REACT_APP_TOKEN);\r\n if(token != null){\r\n let nv = jwt_decode(token);\r\n let type = typeof nv.roles;\r\n if(type === \"string\"){\r\n if(nv.roles === \"Admin\"){\r\n return true;\r\n }\r\n }\r\n else{\r\n if( nv.roles.findIndex(x=>x===\"Admin\") !== -1)\r\n {\r\n return true;\r\n };\r\n }\r\n let permissions = [];\r\n permissions = JSON.parse(nv.permissions);\r\n console.log(permissions);\r\n if( permissions.findIndex(x=>x === func) !== -1)\r\n {\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n}\r\nexport default Authen;","import alertify from 'alertifyjs';\r\nimport 'alertifyjs/build/css/alertify.min.css';\r\nimport 'alertifyjs/build/css/themes/default.min.css';\r\nconst thongBao = alertify;\r\nalertify.defaults = {\r\n // dialogs defaults\r\n autoReset: true,\r\n basic: false,\r\n closable: true,\r\n closableByDimmer: true,\r\n invokeOnCloseOff: false,\r\n frameless: false,\r\n defaultFocusOff: false,\r\n maintainFocus: true, // <== global default not per instance, applies to all dialogs\r\n maximizable: true,\r\n modal: true,\r\n movable: true,\r\n moveBounded: false,\r\n overflow: true,\r\n padding: true,\r\n pinnable: true,\r\n pinned: true,\r\n preventBodyShift: false, // <== global default not per instance, applies to all dialogs\r\n resizable: true,\r\n startMaximized: false,\r\n transition: 'pulse',\r\n transitionOff: false,\r\n tabbable: 'button:not(:disabled):not(.ajs-reset),[href]:not(:disabled):not(.ajs-reset),input:not(:disabled):not(.ajs-reset),select:not(:disabled):not(.ajs-reset),textarea:not(:disabled):not(.ajs-reset),[tabindex]:not([tabindex^=\"-\"]):not(:disabled):not(.ajs-reset)', // <== global default not per instance, applies to all dialogs\r\n\r\n // notifier defaults\r\n notifier: {\r\n // auto-dismiss wait time (in seconds) \r\n delay: 5,\r\n // default position\r\n position: 'bottom-right',\r\n // adds a close button to notifier messages\r\n closeButton: false,\r\n // provides the ability to rename notifier classes\r\n classes: {\r\n base: 'alertify-notifier',\r\n prefix: 'ajs-',\r\n message: 'ajs-message',\r\n top: 'ajs-top',\r\n right: 'ajs-right',\r\n bottom: 'ajs-bottom',\r\n left: 'ajs-left',\r\n center: 'ajs-center',\r\n visible: 'ajs-visible',\r\n hidden: 'ajs-hidden',\r\n close: 'ajs-close'\r\n }\r\n },\r\n\r\n // language resources \r\n glossary: {\r\n // dialogs default title\r\n title: 'Thông báo',\r\n // ok button text\r\n ok: 'Đồng ý',\r\n // cancel button text\r\n cancel: 'Hủy'\r\n },\r\n\r\n // theme settings\r\n theme: {\r\n // class name attached to prompt dialog input textbox.\r\n input: 'ajs-input',\r\n // class name attached to ok button\r\n ok: 'ajs-ok',\r\n // class name attached to cancel button \r\n cancel: 'ajs-cancel'\r\n },\r\n // global hooks\r\n hooks: {\r\n // invoked before initializing any dialog\r\n preinit: function (instance) { },\r\n // invoked after initializing any dialog\r\n postinit: function (instance) { },\r\n },\r\n};\r\n\r\nconst ThongBao = {\r\n\r\n printSuccessMessage: (message) => {\r\n alertify.success(message);\r\n },\r\n\r\n printErrorMessage: (message) => {\r\n alertify.error(message);\r\n },\r\n prinWarningMessage: (message) => {\r\n alertify.warning(message);\r\n },\r\n\r\n printConfirmationDialog: (message, okCallback, noCallback) => {\r\n if(noCallback != null){\r\n thongBao.confirm(message, function () { okCallback() }, function() {noCallback()});\r\n }\r\n else{\r\n thongBao.confirm(message, function () { okCallback() });\r\n }\r\n }\r\n};\r\n\r\nexport default ThongBao;\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport { useHistory } from 'react-router-dom';\r\nimport TaiKhoanApi from '../../api/TaiKhoanApi';\r\nimport Authen from '../../core/Authen';\r\nimport ThongBao from '../../core/ThongBao';\r\n\r\nexport const Header = () => {\r\n\r\n const [nhanVien, setNhanVien] = useState({});\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n setNhanVien(Authen.getUser());\r\n }, []);\r\n\r\n const logout = () => {\r\n Authen.logout().then(() => {\r\n localStorage.removeItem(process.env.REACT_APP_TOKEN);\r\n history.push(\"/login\");\r\n });\r\n }\r\n const doiMatKhau = () => {\r\n reset({\r\n UserName: Authen.getUser().UserName,\r\n Password: '',\r\n ConfirmPassword: ''\r\n });\r\n setShow(true);\r\n }\r\n const saveData = (data) =>{\r\n if(data.Password !== data.ConfirmPassword){\r\n ThongBao.prinWarningMessage(\"Mật khẩu nhắc lại không khớp!\");\r\n }\r\n TaiKhoanApi.changePass(data).then(()=>{\r\n setShow(false);\r\n ThongBao.printSuccessMessage(\"Đổi mật khẩu thành công!\");\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import React from 'react'\r\n\r\nexport const Footer = () => {\r\n return (\r\n
\r\n
\r\n
\r\n Copyright © Your Website 2020\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React from 'react'\r\n\r\nexport const Home = () => {\r\n return (\r\n
\r\n Home\r\n
\r\n )\r\n}\r\n","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst LopBanDoApi = {\r\n getAll: () => {\r\n const url = '/lopbando/getall';\r\n return axiosClient.get(url);\r\n },\r\n getPaging: (params) => {\r\n const url = '/lopbando/paging';\r\n return axiosClient.get(url, { params });\r\n },\r\n\r\n getDetail: (id) => {\r\n const url = '/lopbando/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) => {\r\n const url = '/lopbando/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/lopbando/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) => {\r\n const url = '/lopbando/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getLopBanDo: (params) => {\r\n const url = 'lopbando/getlopbando';\r\n return axiosClient.get(url, { params });\r\n }\r\n}\r\n\r\nexport default LopBanDoApi;","import axiosClient from './axiosClient';\r\nconst QuanHuyenApi = {\r\n getAll: () => {\r\n const url = '/quanhuyen/getall';\r\n return axiosClient.get(url)\r\n },\r\n}\r\nexport default QuanHuyenApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport Select from 'react-select';\r\nimport QuanHuyenApi from '../../api/QuanHuyenApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const LopBanDo = () => {\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [listQuanHuyens, setQuanHuyen] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState('');\r\n const [selectedOptionLopBanDo, setSelectedOptionLopBanDo] = useState('');\r\n\r\n const [nhanVien,setNhanVien] = useState({});\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n const listOptionLopBanDo = [\r\n { value: '', label: 'Chọn lớp bản đồ' },\r\n { value: '1', label: 'Lớp nền' },\r\n { value: '2', label: 'Lớp thổ nhưỡng' },\r\n { value: '3', label: 'Lớp bản đồ chất lượng đất' },\r\n { value: '4', label: 'Lớp bản đồ mức độ thích hợp' },\r\n { value: '5', label: 'Lớp bản đồ đề xuất sử dụng đất' }];\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n center: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadLopBanDo();\r\n }\r\n });\r\n\r\n const loadLopBanDo = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n idQuanHuyen: ''\r\n }\r\n const response = await LopBanDoApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow/ pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setLopBanDo(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadLopBanDo();\r\n loadQuanHuyen();\r\n setNhanVien(Authen.getUser());\r\n setRoleAdd(Authen.checkQuyen('LOPBANDO_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('LOPBANDO_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('LOPBANDO_DELETE'));\r\n }, []);\r\n\r\n\r\n const timKiem = () => {\r\n loadLopBanDo();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const saveData = (data) => {\r\n if(selectedOption.value){\r\n data.IdQuanHuyen = selectedOption.value;\r\n }\r\n data.Type = selectedOptionLopBanDo.value;\r\n data.CreatedBy = nhanVien.Id;\r\n if(data.GeoJson)\r\n data.GeoJson=1;\r\n else\r\n data.GeoJson=0;\r\n \r\n if (data.Id === \"0\") {\r\n LopBanDoApi.post(data).then(() => {\r\n setShow(false);\r\n loadLopBanDo();\r\n })\r\n }\r\n else {\r\n LopBanDoApi.put(data).then(() => {\r\n setShow(false);\r\n loadLopBanDo();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Name: null\r\n }, [reset]);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listLopBanDos.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n LopBanDoApi.getDetail(listLopBanDos[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Name: response.Name,\r\n LayerName: response.LayerName,\r\n SortOrder: response.SortOrder,\r\n Url: response.Url,\r\n IdQuanHuyen: response.IdQuanHuyen,\r\n Ratio: response.Ratio,\r\n Type: response.Type,\r\n Checked: response.Checked,\r\n GeoJson: response.GeoJson\r\n }, [reset])\r\n setShow(true);\r\n let index = listQuanHuyens.findIndex(x=>x.value == response.IdQuanHuyen);\r\n let indexLopBanDo = listOptionLopBanDo.findIndex(x=>x.value == response.Type);\r\n setSelectedOption(listQuanHuyens[index]);\r\n setSelectedOptionLopBanDo(listOptionLopBanDo[indexLopBanDo]);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listLopBanDos.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n LopBanDoApi.delete(listLopBanDos[index].Id).then(() => {\r\n loadLopBanDo();\r\n })\r\n }\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const onChangeQuanHuyen = (event) =>{\r\n setSelectedOption(event);\r\n }\r\n\r\n const onChangeLopBanDo = (event) =>{\r\n setSelectedOptionLopBanDo(event);\r\n }\r\n\r\n function loadQuanHuyen() {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn huyện' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten });\r\n })\r\n setQuanHuyen(list);\r\n })\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Lớp bản đồ
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleEdit == true ?:''}\r\n {roleEdit == true ?:''}\r\n {roleEdit == true ?:''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
TênLớp bản đồThứ tựHuyệnKiểu lớp
\r\n
\r\n \r\n
\r\n
{item.Name}{item.LayerName}{item.SortOrder}{item.TenQuanHuyen}{console.log(item), item.Type===1?\"Lớp nền\":\r\n (item.Type===2?\"Lớp thổ nhưỡng\":\r\n (item.Type===3?\"Lớp bản đồ chất lượng đất\":\r\n (item.Type===4?\"Lớp bản đồ mức độ thích hợp\":\r\n \"Lớp bản đồ đề xuất sử dụng đất\")))}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Lớp bản đồ\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React from 'react'\r\n\r\nexport const ChucNang = () => {\r\n return (\r\n
\r\n Chức năng\r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst NhomQuyenApi = {\r\n getAll: () => {\r\n const url = '/role';\r\n return axiosClient.get(url);\r\n },\r\n\r\n getPaging: (params) => {\r\n const url = '/role/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/role/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/role';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/role';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/role/' + id;\r\n return axiosClient.delete(url);\r\n }\r\n}\r\nexport default NhomQuyenApi;","import React, { useState, useEffect } from 'react'\r\nimport NhomQuyenApi from '../../../api/NhomQuyenApi';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const NhomQuyen = () => {\r\n const [listNhomQuyens, setNhomQuyen] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [filter, setFilter] = useState('');\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadNhomQuyen();\r\n }\r\n });\r\n\r\n const loadNhomQuyen = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter\r\n }\r\n const response = await NhomQuyenApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setNhomQuyen(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadNhomQuyen();\r\n setRoleAdd(Authen.checkQuyen('NHOMQUYEN_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('NHOMQUYEN_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('NHOMQUYEN_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadNhomQuyen();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const saveData = (data) => {\r\n if (data.Id === \"\") {\r\n NhomQuyenApi.post(data).then(() => {\r\n setShow(false);\r\n loadNhomQuyen();\r\n })\r\n }\r\n else {\r\n NhomQuyenApi.put(data).then(() => {\r\n setShow(false);\r\n loadNhomQuyen();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listNhomQuyens.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setNhomQuyen([...listNhomQuyens]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Name: null,\r\n Description: null\r\n }, [reset]);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listNhomQuyens.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n NhomQuyenApi.getDetail(listNhomQuyens[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Name: response.Name,\r\n Description: response.Description\r\n }, [reset])\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listNhomQuyens.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa bản ghi được chọn không?\", () => {\r\n NhomQuyenApi.delete(listNhomQuyens[index].Id).then((response) => {\r\n if (response.Message == \"\") {\r\n ThongBao.printSuccessMessage(\"Xóa bản ghi thành công!\");\r\n loadNhomQuyen();\r\n }\r\n else {\r\n ThongBao.prinWarningMessage(response.Message);\r\n }\r\n })\r\n })\r\n }\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Nhóm quyền
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listNhomQuyens.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã nhómTên nhóm
\r\n
\r\n \r\n
\r\n
{item.Name}{item.Description}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Nhóm quyền\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport TaiKhoanApi from '../../../api/TaiKhoanApi';\r\nimport NhomQuyenApi from '../../../api/NhomQuyenApi';\r\nimport '../../../css/apppublic.css';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport '../../../css/reactconfirm.css';\r\nimport '../../../css/reactselect.css';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport Authen from '../../../core/Authen';\r\nimport ThongBao from '../../../core/ThongBao';\r\n\r\nexport const TaiKhoan = () => {\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('api', '');\r\n const [listNhanViens, setNhanVien] = useState([]);\r\n const [listQuyen, setListQuyen] = useState([]);\r\n const [roles, setRoles] = useState('');\r\n const [roleMutil, setRoleMutil] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [rowSelected, setRowSelected] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\r\n const [avatar, setAvatar] = useState([]);\r\n const [stringAvatar, setStringAvatar] = useState([]);\r\n const [search, setSearch] = useState('');\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const { handleSubmit, reset, register, errors } = useForm();\r\n const [showDoiMatKhau, setShowDoiMatKhau] = useState(false);\r\n let pageIndex = 1, pageSize = 20;\r\n const [paginationConfig, setPaginationConfig] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: 'sm',\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n if (page != null) {\r\n pageIndex = page;\r\n loadTaiKhoan();\r\n }\r\n\r\n }\r\n });\r\n\r\n const loadUserRoles = async (id) => {\r\n if (id == null || id == '') {\r\n setRoleMutil([]);\r\n }\r\n else {\r\n const res = await TaiKhoanApi.getUserRoles(id);\r\n if (res.length >= 0) {\r\n let opt = {\r\n options: res.map((x) => ({\r\n value: x.Name,\r\n label: x.Description\r\n }))\r\n };\r\n\r\n setRoleMutil(opt);\r\n }\r\n else {\r\n setRoleMutil([]);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const loadQuyen = async () => {\r\n try {\r\n const res = await NhomQuyenApi.getAll();\r\n\r\n setListQuyen({\r\n Items: res.map((x) => ({\r\n value: x.Name,\r\n label: x.Description\r\n }))\r\n });\r\n }\r\n catch (err) {\r\n }\r\n };\r\n loadQuyen();\r\n }, [])\r\n\r\n const options = listQuyen.Items;\r\n\r\n const onChangeSelect = (optionSelected) => {\r\n /* setRoles({values: optionSelected.values,label: optionSelected.label}); */\r\n setRoleMutil(optionSelected);\r\n }\r\n\r\n\r\n\r\n const loadTaiKhoan = async () => {\r\n try {\r\n const params = {\r\n keyword: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const response = await TaiKhoanApi.getPaging(params);\r\n response.Items.forEach((x) => {\r\n x.Checked = false\r\n });\r\n setNhanVien(response.Items);\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow == 0 ? 1 : response.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n setRowSelected(false);\r\n }\r\n catch (err) { }\r\n }\r\n\r\n const rowClick = (id) => {\r\n listNhanViens.map((x) => {\r\n if (x.Id === id) {\r\n x.Checked = !x.Checked;\r\n if (x.Checked) {\r\n setRowSelected(true);\r\n }\r\n else {\r\n setRowSelected(false);\r\n }\r\n }\r\n else {\r\n x.Checked = false;\r\n }\r\n }\r\n )\r\n setNhanVien([...listNhanViens]);\r\n }\r\n\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setIsXem(false);\r\n }\r\n const handleShow = () => {\r\n reset({\r\n Id: 0,\r\n UserName: \"\",\r\n Password: \"\",\r\n Address: \"\",\r\n Email: \"\",\r\n FullName: \"\",\r\n Status: true,\r\n PhoneNumber: \"\"\r\n }, [reset]);\r\n setIsEdit(false);\r\n setStringAvatar('');\r\n setAvatar([]);\r\n loadUserRoles(null);\r\n setIsXem(false);\r\n setShow(true);\r\n }\r\n\r\n\r\n const handleShowEdit = (isXem) => {\r\n let index = listNhanViens.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n TaiKhoanApi.getDetail(listNhanViens[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n UserName: response.UserName,\r\n Password: response.Password,\r\n Address: response.Address,\r\n Email: response.Email,\r\n FullName: response.FullName,\r\n Status: response.Status,\r\n PhoneNumber: response.PhoneNumber\r\n }, [reset]);\r\n setIsEdit(true);\r\n setAvatar([]);\r\n setStringAvatar(response.Avatar);\r\n setIsXem(isXem);\r\n loadUserRoles(response.Id);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const GetArrQuyen = () => {\r\n try {\r\n var roleArr = '';\r\n if (roleMutil.options == null) {\r\n roleMutil.map((x) => {\r\n if (roleArr == '') {\r\n roleArr = x.value;\r\n }\r\n else {\r\n roleArr += ',' + x.value;\r\n }\r\n })\r\n }\r\n else {\r\n roleMutil.options.map((x) => {\r\n if (roleArr == '') {\r\n roleArr = x.value;\r\n }\r\n else {\r\n roleArr += ',' + x.value;\r\n }\r\n })\r\n }\r\n setRoles(roleArr);\r\n }\r\n catch {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n GetArrQuyen();\r\n }, [roleMutil])\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n if (avatar.length != 0) {\r\n const formData = new FormData();\r\n formData.append('body', avatar);\r\n const resAvatar = await TaiKhoanApi.UploadFile(formData);\r\n data.Avatar = resAvatar.Path;\r\n }\r\n else {\r\n data.Avatar = stringAvatar;\r\n }\r\n data.UserRoles = roles;\r\n if (data.Id == \"0\") {\r\n TaiKhoanApi.createUser(data).then(res => {\r\n if (res.Message != \"\") {\r\n ThongBao.prinWarningMessage(res.Message);\r\n } else {\r\n setShow(false);\r\n setIsXem(false);\r\n loadTaiKhoan();\r\n reset({}, [reset]);\r\n }\r\n });\r\n }\r\n else {\r\n TaiKhoanApi.updateUser(data).then(res => {\r\n setShow(false);\r\n setIsXem(false);\r\n loadTaiKhoan();\r\n reset({}, [reset]);\r\n })\r\n }\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n loadTaiKhoan();\r\n setRoleAdd(Authen.checkQuyen('TAIKHOAN_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('TAIKHOAN_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('TAIKHOAN_DELETE'));\r\n }, []);\r\n\r\n const setFilter = (e) => {\r\n setSearch(e.target.value);\r\n }\r\n\r\n const alertDell = () => {\r\n\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstChecked = listNhanViens.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n TaiKhoanApi.DeleteUser(lstChecked[0].Id).then((res) => {\r\n if (res.Message == \"\") {\r\n loadTaiKhoan();\r\n setRowSelected(false);\r\n }\r\n else {\r\n ThongBao.prinWarningMessage(res.Message);\r\n }\r\n })\r\n }\r\n });\r\n }\r\n\r\n const Timkiem = () => {\r\n loadTaiKhoan();\r\n }\r\n\r\n const saveDatLaiMatKhau = (data) => {\r\n if (data.UserName === \"Admin\") {\r\n ThongBao.prinWarningMessage(\"Bạn không đặt lại được mật khẩu tài khoản Admin.\");\r\n return;\r\n }\r\n else {\r\n if (data.Password != data.ConfirmPassword) {\r\n ThongBao.prinWarningMessage(\"Xác nhận mật khẩu không khớp.\");\r\n }\r\n else {\r\n const params = {\r\n Id: data.Id,\r\n Password: data.Password\r\n };\r\n TaiKhoanApi.setPass(params).then((res) => {\r\n if (res.Message == \"\") {\r\n setShowDoiMatKhau(false);\r\n loadTaiKhoan();\r\n }\r\n else {\r\n ThongBao.prinWarningMessage(res.Message);\r\n }\r\n }).catch(() => {\r\n\r\n })\r\n }\r\n }\r\n }\r\n\r\n const handleDoiMatKhauClose = () => {\r\n setShowDoiMatKhau(false);\r\n }\r\n\r\n const showDatLaiMatKhau = () => {\r\n var lst = listNhanViens.filter(x => x.Checked == true);\r\n if (lst.length > 0) {\r\n reset({\r\n Id: lst[0].Id,\r\n UserName: lst[0].UserName\r\n }, [reset]);\r\n }\r\n setShowDoiMatKhau(true);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Tài khoản
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {roleEdit == true ? : ''}\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listNhanViens.map((item, key) => {\r\n return (\r\n rowClick(item.Id)}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
AvatarTài khoảnHọ tênEmailStatus
\r\n item.checked = e.target.value}>\r\n \r\n \r\n {item.UserName}{item.FullName}{item.Email}{item.Status ? Kích hoạt : Khóa}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Tài khoản\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Tên tài khoản *\r\n
\r\n
\r\n \r\n {errors.UserName && errors.UserName.message}\r\n
\r\n
\r\n \r\n
\r\n
\r\n Họ và tên *\r\n
\r\n
\r\n \r\n {errors.FullName && errors.FullName.message}\r\n
\r\n
\r\n Email *\r\n
\r\n
\r\n \r\n {errors.Email && errors.Email.message}\r\n
\r\n
\r\n
\r\n
\r\n Số điện thoại *\r\n
\r\n
\r\n \r\n {errors.PhoneNumber && errors.PhoneNumber.message}\r\n
\r\n
\r\n
\r\n
\r\n Địa chỉ*\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Avartar\r\n
\r\n
\r\n setAvatar(e.target.files[0])}>\r\n
\r\n
\r\n
\r\n
\r\n Thuộc nhóm\r\n
\r\n
\r\n */}\r\n {errors.RoleId && errors.RoleId.message}\r\n
\r\n
\r\n
\r\n
\r\n Kích hoạt\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Hủy\r\n \r\n
\r\n\r\n \r\n \r\n Đặt lại mật khẩu.\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.Password && errors.Password.message}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.ConfirmPassword && errors.ConfirmPassword.message}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Hủy\r\n \r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport QuanHuyenApi from '../../api/QuanHuyenApi';\r\n\r\n\r\nexport const SelectHuyen = (props) => {\r\n\r\n const [listQuanHuyens, setQuanHuyen] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n loadQuanHuyen();\r\n }, [])\r\n\r\n const loadQuanHuyen = () => {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 10, label: 'Tất cả'});\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten});\r\n });\r\n if (list.length > 0) {\r\n setSelectedOption(list[0]);\r\n props.onChangeHuyenProps(list[0]);\r\n }\r\n setQuanHuyen(list);\r\n })\r\n }\r\n\r\n const onChangeHuyen = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeHuyenProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n\r\n />\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst HienTrangSuDungDatLuaApi = {\r\n getAll: () => {\r\n const url = '/hientrangsudungdatlua/getall';\r\n return axiosClient.get(url)\r\n },\r\n\r\n delete: (str) => {\r\n const url = '/hientrangdatlua/delete?str=' + str;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n updateGeo: (data) =>{\r\n const url = '/hientrangdatlua/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n addGeo: (data) =>{\r\n const url = '/hientrangdatlua/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n updateThongTin: (data) => {\r\n const url = '/hientrangdatlua/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/hientrangdatlua/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default HienTrangSuDungDatLuaApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst LopMauApi = {\r\n getPaging: (params) => {\r\n const url = '/lopmau/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/lopmau/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/lopmau/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/lopmau/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/lopmau/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getLopBanDo: (params) =>{\r\n const url = 'lopmau/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default LopMauApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport HienTrangSuDungDatLuaApi from '../../api/HienTrangSuDungDatLuaApi';\r\nimport LopMauApi from '../../api/LopMauApi';\r\n\r\nexport const ModalEditThongTin = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeThongTin();\r\n setShow(false)\r\n };\r\n const { register, handleSubmit, reset } = useForm();\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listLopMau, setLopMau] = useState([]);\r\n const [gid, setGid] = useState('');\r\n useEffect(() => {\r\n loadLopMau();\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.MaMau = selectedOption.value;\r\n }\r\n data.Gid = gid;\r\n if (props.themMoi) {\r\n HienTrangSuDungDatLuaApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n else {\r\n HienTrangSuDungDatLuaApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n const onChangeMau = (e) => {\r\n setSelectedOption(e);\r\n\r\n }\r\n\r\n function loadLopMau() { \r\n LopMauApi.getLopBanDo().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn màu' });\r\n response.forEach(item => {\r\n if(item.Type===1 || item.Type===2)\r\n list.push({ value: item.MaMau, label: item.Ten });\r\n })\r\n setLopMau(list);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n TenHuyen: props.thongTin.huyen,\r\n TenXa: props.thongTin.xa,\r\n PhanVung: props.thongTin.phanvung,\r\n LoaiDat: props.thongTin.g,\r\n DiaHinhTuongDoi: props.thongTin.dhtd,\r\n DiaHinh: props.thongTin.sl,\r\n TangDay: props.thongTin.tangday,\r\n ThanhPhanCoGioi: props.thongTin.tpcg,\r\n MucDoDaLan: props.thongTin.dalan,\r\n DungTrong: props.thongTin.dungtrong,\r\n PhanCapPH: props.thongTin.pc_ph,\r\n PhanCapCEC: props.thongTin.pc_cec,\r\n PhanCapDinhDuong: props.thongTin.pc_dd,\r\n PhanCapNito: props.thongTin.pc_n,\r\n PhanCapPhotPho: props.thongTin.pc_p,\r\n PhanCapKali: props.thongTin.pc_k,\r\n PhanCapHuuCoTong: props.thongTin.pc_om,\r\n PhanCapDoPhi: props.thongTin.pc_dp,\r\n\r\n LuongMua: props.thongTin.luongmua_d,\r\n TongTichOn: props.thongTin.tton_dt,\r\n MucDoKhoHan: props.thongTin.khohan_dt,\r\n\r\n NhietDo: props.thongTin.nhietdo,\r\n ChiSoKhoHan: props.thongTin.chisokhoha,\r\n PhanCapChiSoKhoHan: props.thongTin.pc_chisokh,\r\n\r\n SoThangKhoHan: props.thongTin.sothangkho,\r\n PC_R: props.thongTin.pc_r,\r\n PC_T: props.thongTin.pc_t,\r\n\r\n MaDat: props.thongTin.madat,\r\n CayTrong: props.thongTin.caytrong,\r\n NgapUng: props.thongTin.ngapung_dt,\r\n\r\n CheDoTuoi: props.thongTin.tuoi_dt,\r\n CheDoTieu: props.thongTin.tieu_dt,\r\n MaMau: props.thongTin.dvdd,\r\n\r\n DienTich: props.thongTin.dt_bs,\r\n\r\n }, [reset])\r\n setShow(true);\r\n var index = listLopMau.findIndex(x => x.value == props.thongTin.g);\r\n setSelectedOption(listLopMau[index]);\r\n }\r\n\r\n }, [props.showEdit]);\r\n\r\n\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n Thông tin\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
*/}\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport HienTrangSuDungDatLuaApi from '../../api/HienTrangSuDungDatLuaApi';\r\nimport { ModalEditThongTin } from './ModalEditThongTin';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const HienTrangSuDungDatLua = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n const [thongTin, setThongTin] = useState({});\r\n const [filter, setFilter] = useState();\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('g');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n setThongTin(thongTin);\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n // HienTrangSuDungDatLuaApi.updateGeo(data).then(() => {\r\n // ThongBao.printSuccessMessage(\"Cập nhật thành công!\");\r\n // });\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: 2\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: 2,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n if (item.Checked) {\r\n province.setVisible(item.Checked);\r\n }\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === 2) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n if (item.Checked) {\r\n provinceDat.setVisible(item.Checked);\r\n }\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n let data = {\r\n Gid: provinceDat.getSource().getFeatures()[0].getId(),\r\n Geometry: geoText\r\n }\r\n thongTin = {};\r\n thongTin.Geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin(thongTin);\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n // HienTrangSuDungDatLuaApi.addGeo(data).then(() => {\r\n // ThongBao.printSuccessMessage(\"Cập nhật thành công!\");\r\n // });\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('HTSUDUNGDATLUA_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('HTSUDUNGDATLUA_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('HTSUDUNGDATLUA_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) { \r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n setThongTin({ ...{} });\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n console.log(feature);\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n let thongTinNew = {};\r\n thongTinNew.gid = feature.getId();\r\n thongTinNew.ba_kich = feature.get('ba_kich');\r\n thongTinNew.bi_xanh = feature.get('bi_xanh');\r\n thongTinNew.bo_khai = feature.get('bo_khai');\r\n thongTinNew.buoi = feature.get('buoi');\r\n thongTinNew.ca_gaileo = feature.get('ca_gaileo');\r\n thongTinNew.cam = feature.get('cam');\r\n thongTinNew.cat = feature.get('cat');\r\n thongTinNew.caytrong = feature.get('caytrong');\r\n thongTinNew.cec = feature.get('cec');\r\n thongTinNew.chisokhoha = feature.get('chisokhoha');\r\n thongTinNew.chum_ngay = feature.get('chum_ngay');\r\n thongTinNew.code_qh = feature.get('code_qh');\r\n thongTinNew.dalan = feature.get('dalan');\r\n thongTinNew.dhtd = feature.get('dhtd');\r\n thongTinNew.dt = feature.get('dt');\r\n thongTinNew.dt_bs = feature.get('dt_bs');\r\n thongTinNew.dua_hau = feature.get('dua_hau');\r\n thongTinNew.dungtrong = feature.get('dungtrong');\r\n thongTinNew.dungtrong_ = feature.get('dungtrong_');\r\n thongTinNew.dvdd = feature.get('dvdd');\r\n thongTinNew.g = feature.get('g');\r\n thongTinNew.ht_qh = feature.get('ht_qh');\r\n thongTinNew.huyen = feature.get('huyen');\r\n thongTinNew.id = feature.get('id');\r\n thongTinNew.k2o = feature.get('k2o');\r\n thongTinNew.keo = feature.get('keo');\r\n thongTinNew.khoai_so = feature.get('khoai_so');\r\n thongTinNew.khohan_dt = feature.get('khohan_dt');\r\n thongTinNew.khoi_tu = feature.get('khoi_tu');\r\n thongTinNew.khoi_tu = feature.get('khoi_tu');\r\n thongTinNew.lac = feature.get('lac');\r\n thongTinNew.lua = feature.get('lua');\r\n thongTinNew.luongmua_d = feature.get('luongmua_d');\r\n thongTinNew.ma_congtua = feature.get('ma_congtua');\r\n thongTinNew.ma_dexuat = feature.get('ma_dexuat');\r\n thongTinNew.madat = feature.get('madat');\r\n thongTinNew.mang_tay = feature.get('mang_tay');\r\n thongTinNew.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTinNew.mia = feature.get('mia');\r\n thongTinNew.mit = feature.get('mit');\r\n thongTinNew.n = feature.get('n');\r\n thongTinNew.ngapung_dt = feature.get('ngapung_dt');\r\n thongTinNew.ngo = feature.get('ngo');\r\n thongTinNew.nhan = feature.get('nhan');\r\n thongTinNew.nhietdo = feature.get('nhietdo');\r\n thongTinNew.oc = feature.get('oc');\r\n thongTinNew.oi = feature.get('oi');\r\n thongTinNew.om = feature.get('om');\r\n thongTinNew.p2o5 = feature.get('p2o5');\r\n thongTinNew.pc_cec = feature.get('pc_cec');\r\n thongTinNew.pc_chisokh = feature.get('pc_chisokh');\r\n thongTinNew.pc_dd = feature.get('pc_dd');\r\n thongTinNew.pc_dp = feature.get('pc_dp');\r\n thongTinNew.pc_k = feature.get('pc_k');\r\n thongTinNew.pc_n = feature.get('pc_n');\r\n thongTinNew.pc_om = feature.get('pc_om');\r\n thongTinNew.pc_p = feature.get('pc_p');\r\n thongTinNew.pc_ph = feature.get('pc_ph');\r\n thongTinNew.pthongTinNewc_r = feature.get('pc_r');\r\n thongTinNew.pc_t = feature.get('pc_t');\r\n thongTinNew.phanvung = feature.get('phanvung');\r\n thongTinNew.phkcl = feature.get('phkcl');\r\n thongTinNew.qh_qh = feature.get('qh_qh');\r\n thongTinNew.rau = feature.get('rau');\r\n thongTinNew.thongTinNewsa = feature.get('sa');\r\n thongTinNew.sam_day = feature.get('sam_day');\r\n thongTinNew.san = feature.get('san');\r\n thongTinNew.set = feature.get('set');\r\n thongTinNew.sl = feature.get('sl');\r\n thongTinNew.sothangkho = feature.get('sothangkho');\r\n thongTinNew.symbol_qh = feature.get('symbol_qh');\r\n thongTinNew.tangday = feature.get('tangday');\r\n thongTinNew.tenpd = feature.get('tenpd');\r\n thongTinNew.thit = feature.get('thit');\r\n thongTinNew.tieu_dt = feature.get('tieu_dt');\r\n thongTinNew.tinh = feature.get('tinh');\r\n thongTinNew.tn = feature.get('tn');\r\n thongTinNew.tpcg = feature.get('tpcg');\r\n thongTinNew.truongnhan = feature.get('truongnhan');\r\n thongTinNew.tton_dt = feature.get('tton_dt');\r\n thongTinNew.tuoi_dt = feature.get('tuoi_dt');\r\n thongTinNew.xa = feature.get('xa');\r\n setThongTin(thongTinNew);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n }\r\n else {\r\n setThongTin({ ...{} });\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const timKiem = () => {\r\n\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n HienTrangSuDungDatLuaApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n const closeThongTin = () => {\r\n setShowEdit(false);\r\n\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Hiện trạng sử dụng đất
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleEdit == true ?: ''}\r\n {roleAdd == true ?: ''}\r\n {roleEdit == true ?: ''}\r\n {roleDel == true ?: ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
Tỉnh{thongTin.tinh}
Huyện{thongTin.huyen}
{thongTin.xa}
Mã đất{thongTin.madat}
Phân vùng{thongTin.phanvung}
Loại đất{thongTin.g}
Địa hình tương đối{thongTin.dhtd}
Địa hình{thongTin.sl}
Tầng dày{thongTin.tangday}
Thành phần cơ giới{thongTin.tpcg}
Mức độ Đá lẫn{thongTin.dalan}
Dung trọng{thongTin.dungtrong}
Phân Cấp PH{thongTin.pc_ph}
Phân cấp CEC{thongTin.pc_cec}
Phân cấp dinh dưỡng{thongTin.pc_dd}
Phân cấp nito{thongTin.pc_n}
Phân cấp phốt pho{thongTin.pc_p}
Phân cấp Kali{thongTin.pc_k}
Phân cấp chất hữu cơ{thongTin.pc_om}
Phân cấp độ phì{thongTin.pc_dp}
Lượng mưa{thongTin.luongmua_d}
Tổng tích ôn{thongTin.tton_dt}
Mức độ khô hạn{thongTin.khohan_dt}
Nhiệt đô{thongTin.nhietdo}
Chỉ số khô hạn{thongTin.chisokhoha}
Phân cấp chỉ số khô hạn{thongTin.pc_chisokh}
Số tháng khô hạn{thongTin.sothangkho}
PC_R{thongTin.pc_r}
PC_T{thongTin.pc_t}
Cây trồng{thongTin.caytrong}
Ngập úng{thongTin.ngapung_dt}
Chế độ tưới{thongTin.tuoi_dt}
Chế độ tiêu{thongTin.tieu_dt}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst DiemLayMauApi = { \r\n updateThongTin: (data) => {\r\n const url = '/diemlaymau/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/diemlaymau/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default DiemLayMauApi;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport DiemLayMauApi from '../../api/DiemLayMauApi';\r\n\r\nexport const ModalDiemLayMau = (props) => {\r\n const { register, handleSubmit, reset } = useForm();\r\n const [show, setShow] = useState(false);\r\n const [gid, setGid] = useState('');\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n cat: props.thongTin.cat,\r\n cec: props.thongTin.cec,\r\n dungtrong: props.thongTin.dungtrong,\r\n id3: props.thongTin.id3,\r\n k2o: props.thongTin.k2o,\r\n mau_anhhuo: props.thongTin.mau_anhhuo,\r\n n: props.thongTin.n,\r\n oc: props.thongTin.oc,\r\n om: props.thongTin.om,\r\n p2o5: props.thongTin.p2o5,\r\n phkcl: props.thongTin.phkcl,\r\n set: props.thongTin.set,\r\n tenpd: props.thongTin.tenpd,\r\n thit: props.thongTin.thit,\r\n }, [reset])\r\n }, [props.showEdit]);\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setShow(true);\r\n }\r\n }, [props.showEdit]);\r\n const saveData = (data) => {\r\n data.Gid = gid;\r\n data.Geometry=props.thongTin.Geometry;\r\n if (props.themMoi) {\r\n DiemLayMauApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n else {\r\n DiemLayMauApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin điểm lấy mẫu đất\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport HienTrangSuDungDatLuaApi from '../../api/HienTrangSuDungDatLuaApi';\r\nimport { ModalDiemLayMau } from './ModalDiemLayMau';\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const DiemLayMau = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n\r\n const kieuBanDo = 6;\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n const [filter, setFilter] = useState();\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [flagDelete, setFlagDelete] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd,setRoleAdd] = useState(false);\r\n const [roleEdit,setRoleEdit] = useState(false);\r\n\r\n const style = (text) => {\r\n if(text != null && text.substring(0,4) == \"C.CP\"){\r\n return new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n fill: new ol.style.Fill({\r\n color: \"#00ff00\",\r\n }),\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n offsetY: -12,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n return new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n fill: new ol.style.Fill({\r\n color: \"#0000ff\",\r\n }),\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n offsetY: -12,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let text = '';\r\n if (resolution < 10) {\r\n text = feature.get('tenpd');\r\n }\r\n return style(text);\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n fill: new ol.style.Fill({\r\n color: \"rgb(37 98 236)\",\r\n }),\r\n })\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n setThongTin(thongTin);\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n thongTin = {};\r\n setThongTin(thongTin);\r\n }\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n if (item.Checked) {\r\n province.setVisible(item.Checked);\r\n }\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Point\",\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 4,\r\n fill: new ol.style.Fill({\r\n color: \"rgb(37 98 236)\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n if (item.Checked) {\r\n provinceDat.setVisible(item.Checked);\r\n }\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin(thongTin);\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n \r\n setRoleAdd(Authen.checkQuyen(\"DIEMLAYMAUDAT_CREATE\"));\r\n setRoleEdit(Authen.checkQuyen(\"DIEMLAYMAUDAT_UPDATE\"));\r\n setFlagDelete(Authen.checkQuyen(\"DIEMLAYMAUDAT_DELETE\"));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n\r\n if (selectDat !== null && flagHtml !== \"2\") {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n thongTin = {};\r\n setThongTin(thongTin);\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n console.log(feature)\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n thongTin.gid = feature.getId();\r\n thongTin.cat = feature.get('cat');\r\n thongTin.cec = feature.get('cec');\r\n thongTin.dungtrong = feature.get('dungtrong');\r\n thongTin.id3 = feature.get('id3');\r\n thongTin.k2o = feature.get('k2o');\r\n thongTin.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTin.n = feature.get('n');\r\n thongTin.oc = feature.get('oc');\r\n thongTin.cec = feature.get('cec');\r\n thongTin.om = feature.get('om');\r\n thongTin.p2o5 = feature.get('p2o5');\r\n thongTin.phkcl = feature.get('phkcl');\r\n thongTin.set = feature.get('set');\r\n thongTin.tenpd = feature.get('tenpd');\r\n thongTin.thit = feature.get('thit');\r\n setThongTin(thongTin);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n }\r\n else {\r\n if (flagHtml !== \"2\") {\r\n thongTin = {};\r\n setThongTin(thongTin);\r\n }\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const timKiem = () => {\r\n\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n HienTrangSuDungDatLuaApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n\r\n }\r\n\r\n const closeThongTin = () => {\r\n setShowEdit(false);\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Điểm lấy mẫu đất
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n \r\n {roleAdd ===true? ():''}\r\n {roleEdit === true? ():''}\r\n {flagDelete === true?():''}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
cat{thongTin.cat}
cec{thongTin.cec}
dungtrong{thongTin.dungtrong}
id3{thongTin.id3}
k2o{thongTin.k2o}
mau_anhhuo{thongTin.mau_anhhuo}
n{thongTin.n}
oc{thongTin.oc}
om{thongTin.om}
p2o5{thongTin.p2o5}
phkcl{thongTin.phkcl}
set{thongTin.set}
tenpd{thongTin.tenpd}
thit{thongTin.thit}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst PhanQuyenApi = {\r\n getAll: () => {\r\n const url = '/permission/function-actions';\r\n return axiosClient.get(url);\r\n }, \r\n\r\n getbyRole: (params) => {\r\n const url = '/permission/' + params.roleId + '/role-permissions';\r\n return axiosClient.get(url, {params});\r\n }, \r\n\r\n post: (data) =>{\r\n const url = '/permission/' + data.roleId + '/save-permissions';\r\n return axiosClient.post(url, data.permissions);\r\n } \r\n}\r\nexport default PhanQuyenApi;","import React, { useState, useEffect } from 'react'\r\nimport PhanQuyenApi from '../../../api/PhanQuyenApi';\r\nimport NhomQuyenApi from '../../../api/NhomQuyenApi';\r\nimport Select from 'react-select';\r\nimport './PhanQuyen.css';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const PhanQuyen = () => {\r\n const [listRoles, setNhomQuyen] = useState([]);\r\n // const [selectedOption, setSelectedOption] = useState('');\r\n const [listQuyens, setQuyen] = useState([]);\r\n const [listFunctions, setFunction] = useState([]);\r\n const [roleId, setroleId] = useState('');\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n\r\n const loadChucNang = async () => {\r\n try {\r\n const response = await PhanQuyenApi.getAll();\r\n setQuyen(response);\r\n setFunction(BuildTree(response));\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadChucNang();\r\n loadRoles();\r\n setRoleEdit(Authen.checkQuyen('PHANQUYEN_UPDATE'));\r\n }, []); \r\n\r\n function loadRoles() {\r\n NhomQuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn nhóm quyền' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Description });\r\n })\r\n setNhomQuyen(list);\r\n })\r\n }\r\n\r\n\r\n function onChangeRole(e) {\r\n //console.log(e);\r\n // console.log(listQuyens);\r\n // console.log(listFunctions); \r\n // setSelectedOption(e.value) \r\n setroleId(e.value);\r\n loadPermissionByRole(e.value);\r\n }\r\n\r\n function loadPermissionByRole(role) {\r\n //console.log(roleId);\r\n const params = {\r\n roleId: role\r\n }\r\n if (role !== '') {\r\n PhanQuyenApi.getbyRole(params).then((response) => {\r\n listQuyens.forEach(item => {\r\n let listActions = response.filter(x => x.FunctionId === item.Id);\r\n for (let action of item.Actions) {\r\n action.Checked = listActions.findIndex(x => x.ActionId === action.Id) !== -1;\r\n }\r\n });\r\n setFunction(BuildTree(listQuyens));\r\n });\r\n }\r\n else {\r\n PhanQuyenApi.getAll().then((response) => {\r\n setQuyen(response);\r\n setFunction(BuildTree(response));\r\n }\r\n );\r\n }\r\n\r\n }\r\n\r\n function BuildTree(arr = []) {\r\n let roots = [];\r\n roots = arr.filter(x => x.ParentId === null);\r\n for (var i = 0; i < roots.length; i++) {\r\n Tree(arr, roots[i]);\r\n }\r\n return roots;\r\n }\r\n\r\n function Tree(arr = [], list) {\r\n let childs = arr.filter(x => x.ParentId === list.Id);\r\n //list.data.expanded = true;\r\n list.children = childs;\r\n for (var i = 0; i < childs.length; i++) {\r\n Tree(arr, childs[i]);\r\n }\r\n }\r\n\r\n const clickFunction = (funtion) => {\r\n // console.log(funtion);\r\n // console.log(listQuyens);\r\n funtion.Checked = !funtion.Checked;\r\n for (let action of funtion.Actions) {\r\n action.Checked = funtion.Checked;\r\n }\r\n let i = listQuyens.findIndex(x => x.Id === funtion.Id);\r\n if (i !== -1)\r\n listQuyens[i] = funtion;\r\n setFunction(BuildTree(listQuyens));\r\n }\r\n\r\n const clickAction = (func, action) => {\r\n // console.log(action);\r\n // console.log(fuc);\r\n\r\n action.Checked = !action.Checked;\r\n\r\n let j = func.Actions.findIndex(x => x.Id === action.Id);\r\n if (j !== -1)\r\n func.Actions[j] = action;\r\n\r\n let i = listQuyens.findIndex(x => x.Id === func.Id);\r\n if (i !== -1)\r\n listQuyens[i] = func;\r\n\r\n setFunction(BuildTree(listQuyens));\r\n }\r\n\r\n const saveData = () => {\r\n let data = {};\r\n data.roleId = roleId;\r\n\r\n let list = [];\r\n listQuyens.forEach(item => {\r\n for (let action of item.Actions) {\r\n if (action.Checked) {\r\n list.push({\r\n FunctionId: item.Id,\r\n ActionId: action.Id\r\n });\r\n }\r\n }\r\n });\r\n data.permissions = list;\r\n PhanQuyenApi.post(data).then(() => {\r\n ThongBao.printSuccessMessage(\"Cập nhật thành công!\");\r\n })\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Phân quyền
\r\n
\r\n
\r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n {roleEdit == true ?:''}\r\n
\r\n
\r\n
\r\n
    \r\n {\r\n listFunctions.map((item, key) => {\r\n return (\r\n
  • \r\n \r\n {item.Name}\r\n \r\n
      \r\n {\r\n item.children.map((child, key1) => {\r\n return (\r\n
    • \r\n \r\n
        \r\n
      • \r\n {\r\n child.Actions.map((action, key2) => {\r\n return (\r\n
        \r\n clickAction(child, action)} />\r\n {action.Name}\r\n
        \r\n )\r\n })\r\n }\r\n
      • \r\n\r\n
      \r\n
    • \r\n\r\n )\r\n })\r\n }\r\n\r\n
    \r\n
  • \r\n )\r\n })\r\n }\r\n
\r\n \r\n\r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Select from 'react-select';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport InputColor from 'react-input-color';\r\nimport './LopMau.css'\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { set } from 'ol/transform';\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const LopMau = () => {\r\n const [listLopMaus, setLopMau] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [isEdit, setEdit] = useState(false);\r\n const [isDelete, setDelete] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [myStatus, setStatus] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n const listTypes = [\r\n { value: '', label: 'Chọn lớp bản đồ' },\r\n { value: '1', label: 'Lớp nền' },\r\n { value: '2', label: 'Lớp thổ nhưỡng' },\r\n { value: '3', label: 'Lớp bản đồ chất lượng đất' },\r\n { value: '4', label: 'Lớp bản đồ mức độ thích hợp' },\r\n { value: '5', label: 'Lớp bản đồ đề xuất sử dụng đất' }\r\n ];\r\n // const [myColor, setColor] = useState('#3cd6bf');\r\n const [myColor, setColor] = React.useState({});\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 20,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadLopMau();\r\n }\r\n });\r\n\r\n const loadLopMau = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n _type: ''\r\n }\r\n const response = await LopMauApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow / 20) == 0 ? 1 : Math.ceil(response.TotalRow / 20);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setLopMau(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadLopMau();\r\n setRoleAdd(Authen.checkQuyen('LOPMAU_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('LOPMAU_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('LOPMAU_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadLopMau();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.Type = selectedOption.value;\r\n }\r\n data.MauSac = myColor.hex;\r\n data.Status = myStatus;\r\n if (data.Id === \"0\") {\r\n LopMauApi.post(data).then(() => {\r\n setShow(false);\r\n loadLopMau();\r\n })\r\n }\r\n else {\r\n LopMauApi.put(data).then(() => {\r\n setShow(false);\r\n loadLopMau();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listLopMaus.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setLopMau([...listLopMaus]);\r\n let list = listLopMaus.filter(x => x.Checked);\r\n if (list.length == 1) {\r\n setDelete(true);\r\n setEdit(true);\r\n }\r\n else {\r\n setDelete(false);\r\n setEdit(false);\r\n }\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n MaMau: null,\r\n MauSac: null\r\n }, [reset]);\r\n setShow(true);\r\n setSelectedOption(listTypes[0]);\r\n setColor({ hex: '#000000' });\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listLopMaus.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n LopMauApi.getDetail(listLopMaus[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n MaMau: response.MaMau,\r\n MauSac: response.MauSac,\r\n DuongKe: response.DuongKe,\r\n Status: response.Status,\r\n Type: response.Type,\r\n Ten: response.Ten\r\n }, [reset])\r\n setStatus(response.Status);\r\n var index = listTypes.findIndex(x => x.value == response.Type);\r\n setSelectedOption(listTypes[index]);\r\n setColor({ hex: response.MauSac });\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n\r\n let index = listLopMaus.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa lớp màu không?\", () => {\r\n LopMauApi.delete(listLopMaus[index].Id).then(() => {\r\n ThongBao.printSuccessMessage(\"Xóa thành công!\");\r\n loadLopMau();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { \r\n \r\n }\r\n\r\n const checkStatus = (e) => {\r\n setStatus(e);\r\n }\r\n\r\n const onChangeType = (e) => {\r\n setSelectedOption(e);\r\n }\r\n\r\n const onColorChange = (updatedColor) => {\r\n setColor(updatedColor);\r\n\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Mã màu
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ?:''}\r\n {roleEdit == true ?:''}\r\n {roleDel == true ?:''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopMaus.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắcMã màuĐường kẻTênTrạng thái
\r\n
\r\n checkBoHandler()} />\r\n
\r\n
\r\n
{item.MauSac}
\r\n
{item.MaMau}{item.DuongKe}{item.Ten}\r\n {item.Status ? 'Kích hoạt' : 'Khóa'}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Mã màu\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n checkStatus(!myStatus)} />\r\n Kích hoạt\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\n\r\nconst LienHeApi = {\r\n updateLienHe:(params) => {\r\n const url = '/LienHe';\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/LienHe/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n getLienHe:(params) => {\r\n const url = '/LienHe/paging';\r\n return axiosClient.get(url, {params});\r\n \r\n }\r\n}\r\n\r\nexport default LienHeApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst PostCategoryApi = {\r\n getPaging: (params) => {\r\n const url = '/postcategory/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/postcategory/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/postcategory/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/postcategory/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/postcategory/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'postcategory/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default PostCategoryApi;","import React from 'react'\r\nimport ScaleLoader from \"react-spinners/ScaleLoader\";\r\nimport { css } from \"@emotion/core\";\r\n\r\nexport const Loading = (props) => {\r\n const override = css`\r\n position: fixed;\r\n top: 50%;\r\n left: calc(50% - 50px)\r\n `;\r\n return (\r\n props.loading ?\r\n
\r\n \r\n
\r\n : ''\r\n )\r\n}\r\n","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nexport const DVDD = (props) => {\r\n\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n\r\n return (\r\n
\r\n {\r\n props.thongTin.tenxa ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bản đồ chất lượng đất\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
HuyệnChư Pưh
{props.thongTin?.tenxa}
Diện tích(ha)\r\n \r\n
Mã dvdd{props.thongTin?.dvdd_h}
Chế độ tưới{props.thongTin?.phancaptuoi}
Chế độ tiêu{props.thongTin?.tieu}
Địa hình tương đối{props.thongTin?.diaHinh}
Độ dốc{props.thongTin?.phancapdoc}
Mức độ đá lẫn{props.thongTin?.phancapdalan}
Độ day tầng đất{props.thongTin?.phancapdoday}
Thành phần cơ giới{props.thongTin?.phancaptpcg}
Độ phì{props.thongTin?.phancapfe}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const DanCu = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Vùng dân cư\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
kí hiệu hiện trạng{props.thongTin?.khHienTrang}
Hiện trạng{props.thongTin?.HienTrang}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nexport const DeXuat = (props) => {\r\n\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n\r\n return (\r\n
\r\n {\r\n props.thongTin.tenxa ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bản đồ đề xuất sử dụng đất\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
HuyệnChư Pưh
{props.thongTin?.tenxa}
Diện tích(ha)\r\n \r\n
Mã đề xuất{props.thongTin?.symbol_qh}
Đề xuất{props.thongTin?.tendx}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const DuongSat = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Đường sắt\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
Cấp hành chính{props.thongTin?.capHanhChinh}
Ghi chú{props.thongTin?.GhiChu}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\n\r\nexport const HienTrang = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenxa ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bản đồ hiện trạng sử dụng đất\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
HuyệnChư Pưh
{props.thongTin?.tenxa}
Diện tích(ha)\r\n \r\n
Kh Hiện trạng{props.thongTin?.symbol_ht}
Tên Hiện trạng{props.thongTin?.tenht}
:
Không có thông tin
\r\n }\r\n
\r\n\r\n )\r\n};","import React from 'react';\r\n\r\nexport const RgHuyen = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Ranh giới huyện\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nexport const RgXa = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.TenXa ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Hành chính xã\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
HuyệnChư Pưh
{props.thongTin?.TenXa}
Diện tích{props.thongTin?.DienTichTu}
Dân số\r\n \r\n
Mật độ{props.thongTin?.MatDo_DanS}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const TenHuyen = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tên huyện\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const TenThon = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tên Thôn\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
Cấp hành chính{props.thongTin?.capHanhChinh}
Tên thôn{props.thongTin?.tenThon}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const TenXa = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Tên xã\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
Cấp hành chính{props.thongTin?.capHanhChinh}
Ghi chú{props.thongTin?.GhiChu}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nexport const ThichHop = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenxa ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bản đồ thích nghi\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
HuyệnChư Pưh
{props.thongTin?.tenxa}
Diện tích(ha)\r\n \r\n
Mã thích hợp{props.thongTin?.thichnghi_}
Hồ tiêu{props.thongTin?.thtieu}
Caffe{props.thongTin?.thcaffe}
Cao su{props.thongTin?.thcaosu}
Điều{props.thongTin?.thdieu}
Lúa{props.thongTin?.thlua}
Ngô{props.thongTin?.thngo}
Sắn{props.thongTin?.thsan}
Khoai{props.thongTin?.thkhoai}
Rau{props.thongTin?.thrau}
Dược liệu{props.thongTin?.thduoclieu}
{props.thongTin?.thbo}
Sầu riêng{props.thongTin?.thsaurieng}
{props.thongTin?.thbi}
Lạc{props.thongTin?.thlac}
Hoa{props.thongTin?.thhoa}
Cam{props.thongTin?.thcam}
Bưởi{props.thongTin?.thbuoi}
Chanh dây{props.thongTin?.thchanhday}
Nhãn{props.thongTin?.thnhan}
Mít{props.thongTin?.thmit}
Xoài{props.thongTin?.thxoai}
Na{props.thongTin?.thna}
Chuối{props.thongTin?.thchuoi}
Dâu tằm{props.thongTin?.thdautam}
măng tây{props.thongTin?.thmangtay}
Dứa{props.thongTin?.thdua}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const BinhDo = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Đường bình độ\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
Độ cao{props.thongTin?.DoCao}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const GiaoThong = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Vùng giao thông\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
kí hiệu hiện trạng{props.thongTin?.khHienTrang}
Hiện trạng{props.thongTin?.HienTrang}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nexport const ThongTinHanhChinh = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
Bản đồ hành chính huyện\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
Năm{props.thongTin?.nam}
Diện tích (km2)\r\n \r\n
Dân số (nghìn)\r\n \r\n
Mật độ (người/km2)\r\n \r\n
Số phường xã{props.thongTin?.PhuongXa}
Số thị trấn{props.thongTin?.ThiTran}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\nexport const ThongTinTrungViLuong = (props) => {\r\n\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bản đồ trung vi lượng\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
Diện tích(ha)\r\n \r\n
Mã TVL{props.thongTin?.maTrungViLuong}
Chế Canxi{props.thongTin?.maCa}
Magiê{props.thongTin?.maMg}
Silic{props.thongTin?.ma_tsSi}
Sắt di động{props.thongTin?.ma_ddFe}
Molypđen{props.thongTin?.ma_dtMo}
Mangan{props.thongTin?.ma_tdMn}
Bo hòa tan{props.thongTin?.ma_htBo}
Kẽm dễ tiêu{props.thongTin?.ma_dtZn}
Đồng dễ tiêu{props.thongTin?.ma_dtCu}
Lưu huỳnh hòa tan{props.thongTin?.ma_htS}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\nimport NumberFormat from 'react-number-format';\r\n\r\n\r\nexport const ThoNhuong = (props) => {\r\n\r\n\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n {\r\n props.thongTin.tenxa ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Bản đồ thổ nhưỡng\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
HuyệnChư Pưh
{props.thongTin?.tenxa}
Diện tích(ha)\r\n \r\n
Kh Đất{props.thongTin?.symbol_dat}
Tên đất{props.thongTin?.tendat}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React from 'react';\r\n\r\nexport const ThuyLoi = (props) => {\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.tenHuyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Vùng thủy lợi\r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Tỉnh{props.thongTin?.tenTinh}
Huyện{props.thongTin?.tenHuyen}
{props.thongTin?.tenXa}
kí hiệu hiện trạng{props.thongTin?.khHienTrang}
Hiện trạng{props.thongTin?.HienTrang}
:
Không có thông tin
\r\n }\r\n
\r\n )\r\n};","import React, { useEffect, useLayoutEffect, useState } from 'react'\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { Loading } from '../loading/Loading';\r\nimport { DVDD } from '../right-info/ChatLuongDat';\r\nimport { DanCu } from '../right-info/DanCu';\r\nimport { DeXuat } from '../right-info/DeXuat';\r\nimport { DuongSat } from '../right-info/DuongSat';\r\nimport { HienTrang } from '../right-info/HienTrang';\r\nimport { RgHuyen } from '../right-info/RgHuyen';\r\nimport { RgXa } from '../right-info/RgXa';\r\nimport { TenHuyen } from '../right-info/TenHuyen';\r\nimport { TenThon } from '../right-info/TenThon';\r\nimport { TenXa } from '../right-info/TenXa';\r\nimport { ThichHop } from '../right-info/ThichHop';\r\nimport { BinhDo } from '../right-info/BinhDo';\r\nimport { GiaoThong } from '../right-info/GiaoThong';\r\nimport { ThongTinHanhChinh } from '../right-info/ThongTinHanhChinh';\r\nimport { ThongTinNongHoa } from '../right-info/ThongTinNongHoa';\r\nimport { ThongTinTrungViLuong } from '../right-info/ThongTinTrungViLuong';\r\nimport { ThoNhuong } from '../right-info/ThoNhuong';\r\nimport { ThuyLoi } from '../right-info/ThuyLoi';\r\nimport stylelocal from \"./SidebarLayer.module.css\"\r\n\r\nexport const SidebarLayer = (props) => {\r\n const [loading, setLoading] = useState(false);\r\n const [key, setKey] = useState('');\r\n const [showTab, setShowTab] = useState(false);\r\n const [thongTinSuDungDat, setThongTinSuDungDat] = useState({});\r\n const [thongTinThoNhuong, setThongTinThoNhuong] = useState({});\r\n const [thongTinThichHop, setThongTinThichHop] = useState({});\r\n const [thongTinHienTrang, setThongTinHienTrang] = useState({});\r\n const [thongTinChatLuongDat, setThongTinChatLuongDat] = useState({});\r\n const [thongTinNongHoa, setThongTinNongHoa] = useState({});\r\n const [thongTinHanhChinh, setThongTinHanhChinh] = useState({});\r\n const [thongTinTrungViLuong, setThongTinTrungViLuong] = useState({});\r\n const [thongTinRgHuyen, setThongTinRgHuyen] = useState({});\r\n const [thongTinRgXa, setThongTinRgXa] = useState({});\r\n const [thongTinTenHuyen, setThongTinTenHuyen] = useState({});\r\n const [thongTinTenXa, setThongTinTenXa] = useState({});\r\n const [thongTinTenThon, setThongTinTenThon] = useState({});\r\n const [thongTinDanCu, setThongTinDanCu] = useState({});\r\n const [thongTinGiaoThong, setThongTinGiaoThong] = useState({});\r\n const [thongTinThuyLoi, setThongTinThuyLoi] = useState({});\r\n const [thongTinBinhDo, setThongTinBinhDo] = useState({});\r\n const [thongTinDuongSat, setThongTinDuongSat] = useState({});\r\n var width = window.innerWidth - props.width;\r\n if (window.innerWidth < 768) {\r\n width = window.innerWidth - 10;\r\n }\r\n const [xPosition, setX] = React.useState(width);\r\n const toggleMenu = () => {\r\n if (xPosition < width) {\r\n setX(width);\r\n } else {\r\n setX(width - 290);\r\n }\r\n };\r\n useLayoutEffect(() => {\r\n function updateSize() {\r\n width = window.innerWidth - props.width;\r\n setX(width)\r\n }\r\n window.addEventListener('resize', updateSize);\r\n return () => window.removeEventListener('resize', updateSize);\r\n }, []);\r\n useEffect(() => {\r\n if (props.x > 0) {\r\n setKey(props.tabSelect);\r\n }\r\n }, [props.x]);\r\n useEffect(() => {\r\n const show = props.listLopBanDos.findIndex(x => x.Checked && (x.ParentId !== 'BANDONEN' || x.Ma === 'BDRGXA') && x.ParentId !== 'BANDOVETINH' && x.LayerName != null) !== -1;\r\n setShowTab(show);\r\n }, [props.listLopBanDos]);\r\n useEffect(() => {\r\n const tableName = props.listLopBanDos.filter(x => x.Checked && (x.ParentId !== 'BANDONEN' || x.Ma === 'BDRGXA') && x.ParentId !== 'BANDOVETINH' && x.LayerName != null);\r\n let k = props.tabSelect;\r\n if (tableName.length > 0 && k === '') {\r\n k = tableName[0].Ma;\r\n }\r\n switch (k) {\r\n case 'BDHANHCHINHHUYEN':\r\n setThongTinHanhChinh(props.thongTin);\r\n break;\r\n case 'BDDEXUATSUDUNGDAT':\r\n setThongTinSuDungDat(props.thongTin);\r\n break;\r\n case 'BDTHONHUONG':\r\n setThongTinThoNhuong(props.thongTin);\r\n break;\r\n case 'BDTHICHHOPSUDUNGDAT':\r\n setThongTinThichHop(props.thongTin);\r\n break;\r\n case 'BDHIENTRANGSUDUNGDAT':\r\n setThongTinHienTrang(props.thongTin);\r\n case 'BDCHATLUONGDAT':\r\n setThongTinChatLuongDat(props.thongTin);\r\n break;\r\n case 'BDTRUNGVILUONG':\r\n setThongTinTrungViLuong(props.thongTin);\r\n break;\r\n case 'BDHANHCHINHHUYEN':\r\n setThongTinHanhChinh(props.thongTin);\r\n break;\r\n case 'BDRANHGIOIHUYEN':\r\n setThongTinRgHuyen(props.thongTin);\r\n break;\r\n case 'BDRGXA':\r\n setThongTinRgXa(props.thongTin);\r\n break;\r\n case 'BDTENHUYEN':\r\n setThongTinTenHuyen(props.thongTin);\r\n break;\r\n case 'BDTENXA':\r\n setThongTinTenXa(props.thongTin);\r\n break;\r\n case 'BDTENTHON':\r\n setThongTinTenThon(props.thongTin);\r\n break;\r\n case 'BDDANCU':\r\n setThongTinDanCu(props.thongTin);\r\n break;\r\n case 'BDTHUYLOI':\r\n setThongTinThuyLoi(props.thongTin);\r\n break;\r\n case 'BDGIAOTHONG':\r\n setThongTinGiaoThong(props.thongTin);\r\n break;\r\n case 'BDBINHDO':\r\n setThongTinBinhDo(props.thongTin);\r\n break;\r\n case 'BDDUONGSAT':\r\n setThongTinDuongSat(props.thongTin);\r\n break;\r\n }\r\n }, [props.thongTin])\r\n useEffect(() => {\r\n setKey(props.tabSelect);\r\n }, [props.tabSelect])\r\n\r\n useEffect(() => {\r\n if (props.show > 0 && xPosition > width - 290) {\r\n toggleMenu();\r\n }\r\n }, [props.show]);\r\n\r\n const clickTab = async (k) => {\r\n setKey(k)\r\n // const tableName = props.listLopBanDos.filter(x => x.Ma === k);\r\n // console.log(tableName[0].TableName);\r\n // props.updateTableSelect(tableName[0].TableName);\r\n props.updateTableSelect(k);\r\n }\r\n const adminstyle = {\r\n height: 'calc(100vh - 140px)'\r\n }\r\n\r\n const showEditThongTin = (e) => {\r\n props.showEditThongTin(e);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n toggleMenu()}\r\n className={stylelocal.togglemenu}\r\n style={{\r\n transform: `translate(${-25}px, 0px)`\r\n }}\r\n >\r\n {\r\n
\r\n
THÔNG TIN
\r\n
\r\n }\r\n \r\n
\r\n {\r\n showTab === true ? clickTab(k)}\r\n >\r\n {\r\n props.listLopBanDos.filter(x => (x.Type > 1 || x.Ma==='BDRGXA') && x.Checked).map((item, index) => {\r\n switch (item.Ma) {\r\n case 'BDHANHCHINHHUYEN':\r\n return (\r\n \r\n { showEditThongTin(thongTinHanhChinh) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDDEXUATSUDUNGDAT':\r\n return (\r\n \r\n { showEditThongTin(thongTinSuDungDat) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDTHONHUONG':\r\n return (\r\n \r\n { showEditThongTin(thongTinThoNhuong) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDTHICHHOPSUDUNGDAT':\r\n return (\r\n \r\n { showEditThongTin(thongTinThichHop) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDHIENTRANGSUDUNGDAT':\r\n return (\r\n \r\n { showEditThongTin(thongTinHienTrang) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDCHATLUONGDAT':\r\n return (\r\n \r\n { showEditThongTin(thongTinChatLuongDat) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDTRUNGVILUONG':\r\n return (\r\n \r\n { showEditThongTin(thongTinTrungViLuong) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDRANHGIOIHUYEN':\r\n return (\r\n \r\n { showEditThongTin(thongTinRgHuyen) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDRGXA':\r\n return (\r\n \r\n { showEditThongTin(thongTinRgXa) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDTENHUYEN':\r\n return (\r\n \r\n { showEditThongTin(thongTinTenHuyen) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDTENXA':\r\n return (\r\n \r\n { showEditThongTin(thongTinTenXa) }} admin={props.admin} />\r\n \r\n )\r\n \r\n case 'BDTENTHON':\r\n return (\r\n \r\n { showEditThongTin(thongTinTenThon) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDDANCU':\r\n return (\r\n \r\n { showEditThongTin(thongTinDanCu) }} admin={props.admin} />\r\n \r\n )\r\n \r\n case 'BDGIAOTHONG':\r\n return (\r\n \r\n { showEditThongTin(thongTinGiaoThong) }} admin={props.admin} />\r\n \r\n )\r\n \r\n case 'BDTHUYLOI':\r\n return (\r\n \r\n { showEditThongTin(thongTinThuyLoi) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDBINHDO':\r\n return (\r\n \r\n { showEditThongTin(thongTinBinhDo) }} admin={props.admin} />\r\n \r\n )\r\n \r\n case 'BDDUONGSAT':\r\n return (\r\n \r\n { showEditThongTin(thongTinDuongSat) }} admin={props.admin} />\r\n \r\n )\r\n }\r\n })\r\n }\r\n\r\n :
Bạn chưa chọn bản đồ
\r\n }\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst ChuGiaiApi = {\r\n\r\n getThoNhuong: () => {\r\n const url = 'chugiai/thonhuong';\r\n return axiosClient.get(url)\r\n },\r\n getAllDvdd: () => {\r\n const url = 'chugiai/getalldvdd';\r\n return axiosClient.get(url)\r\n },\r\n getDeXuat: () => {\r\n const url = 'chugiai/dexuat';\r\n return axiosClient.get(url)\r\n },\r\n getThichHop: () => {\r\n const url = 'chugiai/thichhop';\r\n return axiosClient.get(url)\r\n },\r\n getChatLuongDat: () => {\r\n const url = 'chugiai/chatluongdat';\r\n return axiosClient.get(url)\r\n },\r\n getHienTrang: () => {\r\n const url = 'chugiai/hientrang';\r\n return axiosClient.get(url)\r\n }\r\n}\r\nexport default ChuGiaiApi;","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiNongHoa = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(()=>{\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n item.Checked = !item.Checked;\r\n setListChuGiai([...listChuGiais]);\r\n props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.maNongHoa + \"'\").join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n clickRow(item)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắc Ký hiệuĐặc tính nông hóa
pHKCLTPCGOC(%)N(%)P2O5ts(%)K2Ots(%)P2O5dt(mg/100g đất)K2Odt(mg/100g đất)CEC(meq/100g đất)
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.maNongHoa}\r\n
\r\n
{item.pHKCL}{item.tPCG}{item.oC}{item.tsDam}{item.tsLan}{item.tsKali}{item.dtLan}{item.dtKali}{item.cEC}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiThoNhuong = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(() => {\r\n // let list = [];\r\n // props.listChuGiais.filter(x => x.parentId == null).forEach(item => {\r\n // item.Checked = false;\r\n // list.push(item);\r\n // props.listChuGiais.filter(x => x.parentId === item.id).forEach(child => {\r\n // list.push(child);\r\n // })\r\n // })\r\n // setListChuGiai(list);\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n item.Checked = !item.Checked;\r\n setListChuGiai([...listChuGiais]);\r\n props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.khDat + \"'\").join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n\r\n clickRow(item)} key={key}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắc Ký hiệuTÊN ĐẤT VIỆT NAM
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.khDat}\r\n
\r\n
{item.khDat}. {item.tenDat}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiDeXuat = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(() => {\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n item.Checked = !item.Checked;\r\n setListChuGiai([...listChuGiais]);\r\n props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.khDeXuat + \"'\").join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n clickRow(item)} key={key}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắc Ký hiệuCƠ CẤU CÂY TRỒNG
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.khDeXuat}\r\n
\r\n
{item.DeXuat}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiThichHop = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(() => {\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n item.Checked = !item.Checked;\r\n setListChuGiai([...listChuGiais]);\r\n props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.matn + \"'\").join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n clickRow(item)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắc Ký hiệuTHÍCH HỢP ĐẤT ĐAI VỚI CÁC CÂY TRỒNG
LúaNgôSắnKhoaiRauHoaLạcCamBưởiChanh dâyNhãnMítSầu riêngXoàiNaChuốiĐiềuCao suHồ tiêuCaffeDâu tằmMăng tâyDừaDược liệu
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.matn}\r\n
\r\n
{item.thlua}{item.thngo}{item.thsan}{item.thkhoai}{item.thrau}{item.thhoa}{item.thbi}{item.thlac}{item.thcam}{item.thbuoi}{item.thchanhday}{item.thnhan}{item.thmit}{item.thbo}{item.thsaurieng}{item.thxoai}{item.thna}{item.thchuoi}{item.thdieu}{item.thcaosu}{item.thtieu}{item.thcaffe}{item.thdautam}{item.thmangtay}{item.thdua}{item.thduoclieu}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiChatLuongDat = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(() => {\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n item.Checked = !item.Checked;\r\n setListChuGiai([...listChuGiais]);\r\n props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.dvdd_h + \"'\").join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n clickRow(item)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắc Ký hiệuĐẶC TÍNH ĐƠN VỊ ĐẤT ĐAI
Chế độ tướiĐộ dốcMức độ đá lẫnĐộ dày tầng đấtThành phần cơ giớiĐộ phì
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.dvdd_h}\r\n
\r\n
{item.phancaptuoi}{item.phancapdoc}{item.phancapdalan}{item.phancapdoday}{item.phancaptpcg}{item.phancapfe}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiHienTrang = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(() => {\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n item.Checked = !item.Checked;\r\n setListChuGiai([...listChuGiais]);\r\n props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.khHienTrang + \"'\").join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n clickRow(item)} key={key}>\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Màu sắc Ký hiệuHIỆN TRẠNG SỬ DỤNG ĐẤT
Hiện trạng
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.khHienTrang}\r\n
\r\n
{item.HienTrang}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiHanhChinhHuyen = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(()=>{\r\n setListChuGiai(props.listChuGiais);\r\n }, [props.listChuGiais]);\r\n const clickRow = (item) => {\r\n // item.Checked = !item.Checked;\r\n // setListChuGiai([...listChuGiais]);\r\n // props.clickChuGiai(listChuGiais.filter(x => x.Checked).map(x => x.maHienTrang).join(','));\r\n }\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listChuGiais?.map((item, key) => {\r\n return (\r\n clickRow(item)} key={key}>\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã huyện Màu sắcHÀNH CHÍNH HUYỆN
Tên huyệnNămDiện tích(Km2)Dân số(1000)Mật độSố phường xãThị trấn
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.maHuyen}\r\n
\r\n
{item.tenHuyen}{item.nam}{item.DienTichKm2}{item.tbDanSo1000}{item.mdDanSoKm2}{item.PhuongXa}{item.ThiTran}
\r\n )\r\n}\r\n","import React, { useEffect, useLayoutEffect, useState } from 'react'\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport { ChuGiaiNongHoa } from './ChuGiaiNongHoa';\r\nimport { ChuGiaiThoNhuong } from './ChuGiaiThoNhuong';\r\nimport { ChuGiaiDeXuat } from './ChuGiaiDeXuat';\r\nimport stylelocal from './FooterNote.module.css'\r\nimport { ChuGiaiThichHop } from './ChuGiaiThichHop';\r\nimport { ChuGiaiChatLuongDat } from './ChuGiaiChatLuongDat';\r\nimport { ChuGiaiHienTrang } from './ChuGiaiHienTrang';\r\nimport { ChuGiaiHanhChinhHuyen } from './ChuGiaiHanhChinhHuyen';\r\nimport { Loading } from '../loading/Loading';\r\n\r\nexport const FooterNote = (props) => {\r\n\r\n const [listChuGiais, setListChuGuai] = useState([]);\r\n const [listBanDos, setListBanDo] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n var height = window.innerHeight - props.height;\r\n var width = window.innerWidth;\r\n var minHeight = 250;\r\n if (width < 768) {\r\n minHeight = height - 30;\r\n }\r\n const [yPosition, setY] = React.useState(height);\r\n const toggleMenu = () => {\r\n if (yPosition < height) {\r\n setY(height);\r\n } else {\r\n setY(height - minHeight);\r\n }\r\n };\r\n useEffect(() => {\r\n setY(height);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.show > 0 && yPosition === height) {\r\n toggleMenu();\r\n }\r\n }, [props.show]);\r\n\r\n useEffect(() => {\r\n if (props.maBanDo != null) {\r\n loadGhiChu();\r\n }\r\n }, [props.maBanDo]);\r\n\r\n const loadGhiChu = async () => {\r\n const index = listBanDos.findIndex(x => x.MaBanDo === props.maBanDo);\r\n if (index === -1) {\r\n setLoading(true);\r\n switch (props.maBanDo) {\r\n case 'BDHANHCHINH':\r\n const listHanhChinhHuyens = await ChuGiaiApi.getHanhChinhHuyen();\r\n setListChuGuai(listHanhChinhHuyens);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listHanhChinhHuyens });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDNONGHOA':\r\n const listNongHoas = await ChuGiaiApi.getNongHoa();\r\n setListChuGuai(listNongHoas);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listNongHoas });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDTHONHUONG':\r\n const listThoNhuongs = await ChuGiaiApi.getThoNhuong();\r\n setListChuGuai(listThoNhuongs);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listThoNhuongs });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDDEXUATSUDUNGDAT':\r\n const listDeXuats = await ChuGiaiApi.getDeXuat();\r\n setListChuGuai(listDeXuats);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listDeXuats });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDTHICHHOP':\r\n const listThichHops = await ChuGiaiApi.getThichHop();\r\n setListChuGuai(listThichHops);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listThichHops });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDTHICHHOPSUDUNGDAT':\r\n const listThichHopSuDungDats = await ChuGiaiApi.getThichHop();\r\n setListChuGuai(listThichHopSuDungDats);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listThichHopSuDungDats });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDCHATLUONGDAT':\r\n const listChatLuongDats = await ChuGiaiApi.getChatLuongDat();\r\n setListChuGuai(listChatLuongDats);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listChatLuongDats });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDHIENTRANGSUDUNGDAT':\r\n const listHienTrangSuDungDats = await ChuGiaiApi.getHienTrang();\r\n setListChuGuai(listHienTrangSuDungDats);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listHienTrangSuDungDats });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n }\r\n setLoading(false);\r\n }\r\n else {\r\n setListChuGuai(listBanDos[index].listChuGiais);\r\n }\r\n\r\n }\r\n\r\n useLayoutEffect(() => {\r\n function updateSize() {\r\n height = window.innerHeight - 90;\r\n width = window.innerWidth;\r\n setY(height)\r\n }\r\n window.addEventListener('resize', updateSize);\r\n return () => window.removeEventListener('resize', updateSize);\r\n }, []);\r\n\r\n const clickChuGiai = (list) => {\r\n // console.log(list)\r\n // item.Checked = !item.Checked;\r\n // setListChuGuai([...listChuGiais]);\r\n // props.timKiemGhiChu(listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.MaHienThi + \"'\").join(','));\r\n props.timKiemGhiChu(list);\r\n }\r\n\r\n return (\r\n \r\n \r\n toggleMenu()}\r\n className={stylelocal.footermenu}\r\n style={{\r\n transform: `translate(0px, ${-25}px)`\r\n }}\r\n >\r\n {\r\n // yPosition < height?:\r\n CHÚ GIẢI\r\n }\r\n \r\n {\r\n height - yPosition > 0 ?
\r\n
\r\n {\r\n props.maBanDo === 'BDHANHCHINH' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDNONGHOA' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDTHONHUONG' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDDEXUATSUDUNGDAT' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDTHICHHOP' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDTHICHHOPSUDUNGDAT' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDCHATLUONGDAT' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDHIENTRANGSUDUNGDAT' ? clickChuGiai(e)}> : ''\r\n }\r\n
\r\n
: null\r\n }\r\n \r\n \r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport stylelocal from \"./SidebarLeft.module.css\"\r\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\r\n\r\n\r\nexport const SidebarLeft = (props) => {\r\n const width = 350;\r\n const [xPosition, setX] = React.useState(-width);\r\n const [listBanDos, setListBanDo] = useState([]);\r\n const [isSapXep, setSapXep] = useState(false);\r\n const toggleMenu = () => {\r\n if (xPosition < -5) {\r\n setX(-5);\r\n } else {\r\n setX(-width);\r\n }\r\n // console.log(xPosition)\r\n };\r\n\r\n useEffect(() => {\r\n if (props.show > 0) {\r\n toggleMenu();\r\n }\r\n }, [props.show]);\r\n\r\n useEffect(() => {\r\n setX(-width);\r\n loadMenu();\r\n }, []);\r\n\r\n const loadMenu = async () => {\r\n const list = await LopBanDoApi.getAll();\r\n const listTrees = BuilTree(list);\r\n setListBanDo(listTrees);\r\n props.selectBanDo(listTrees.filter(x => x.Checked));\r\n }\r\n\r\n const BuilTree = (list) => {\r\n let roots = [];\r\n let parents = list.filter(x => x.ParentId === null);\r\n for (let i = 0; i < parents.length; i++) {\r\n parents[i].level = 0;\r\n parents[i].expanded = true;\r\n // parents[i].Checked = parents[i].Ma === 'BANDOVETINH' || parents[i].Ma === 'BANDONEN' || parents[i].Ma === 'BDHANHCHINH';\r\n if (parents[i].Ma === 'BDCHATLUONGDAT') {\r\n parents[i].CheckedGhiChu = true;\r\n props.getGhiChu(parents[i]);\r\n }\r\n roots.push(parents[i]);\r\n Tree(list, parents[i], 0, roots);\r\n }\r\n // console.log(roots)\r\n return roots;\r\n }\r\n\r\n const Tree = (list, parent, level, roots) => {\r\n let childs = list.filter(x => x.ParentId === parent.Ma);\r\n if (childs.length > 0) {\r\n parent.parentExpanded = false;\r\n parent.isChildren = true;\r\n for (let i = 0; i < childs.length; i++) {\r\n childs[i].level = level + 25;\r\n childs[i].expanded = false;\r\n // childs[i].Checked = childs[i].Ma === 'GOOGLE' || childs[i].ParentId === 'BANDONEN' || childs[i].ParentId === 'BDHANHCHINH';\r\n roots.push(childs[i]);\r\n Tree(list, childs[i], childs[i].level, roots);\r\n }\r\n }\r\n }\r\n function ClickTree(list, item) {\r\n if (item.Url === 'BANDONEN') {\r\n return;\r\n }\r\n list.filter(x => x.ParentId === item.Ma).forEach(child => {\r\n child.Checked = item.Checked;\r\n child.expanded = true;\r\n ClickTree(list, child);\r\n });\r\n }\r\n\r\n const clickRow = (menu) => {\r\n menu.Checked = !menu.Checked;\r\n if (menu.ParentId == null) {\r\n if (menu.Ma === 'BANDOVETINH') {\r\n if (menu.Checked) {\r\n listBanDos.filter(x => x.ParentId === menu.Ma).forEach(item => {\r\n item.Checked = false;\r\n })\r\n listBanDos.filter(x => x.ParentId === menu.Ma)[0].Checked = true;\r\n props.selectBanDo([listBanDos.filter(x => x.ParentId === menu.Ma)[0]])\r\n }\r\n else {\r\n ClickTree(listBanDos, menu);\r\n props.selectBanDo(listBanDos.filter(x => x.ParentId === menu.Ma));\r\n }\r\n }\r\n else {\r\n ClickTree(listBanDos, menu);\r\n const list = listBanDos.filter(x => x.ParentId === menu.Ma);\r\n if (list.length > 0) {\r\n props.selectBanDo(list);\r\n }\r\n else {\r\n props.selectBanDo([menu]);\r\n }\r\n }\r\n }\r\n else {\r\n if (menu.ParentId === 'BANDOVETINH') {\r\n listBanDos.filter(x => x.ParentId === 'BANDOVETINH').forEach(item => {\r\n if (item.Ma !== menu.Ma) {\r\n item.Checked = false\r\n }\r\n });\r\n props.selectBanDo([menu]);\r\n }\r\n else {\r\n props.selectBanDo([menu]);\r\n }\r\n }\r\n\r\n setListBanDo([...listBanDos]);\r\n }\r\n\r\n const clickGhiChu = (ghichu) => {\r\n listBanDos.forEach(item => {\r\n item.CheckedGhiChu = false;\r\n });\r\n ghichu.CheckedGhiChu = true;\r\n if (ghichu.Checked === false) {\r\n ghichu.Checked = true;\r\n props.selectBanDo([ghichu]);\r\n }\r\n setListBanDo([...listBanDos]);\r\n props.getGhiChu(ghichu);\r\n }\r\n const clickScolpan = (item) => {\r\n Expanded(item);\r\n\r\n }\r\n function Expanded(item) {\r\n item.parentExpanded = !item.parentExpanded;\r\n ExpandedBotton(listBanDos, item.Ma, item.parentExpanded)\r\n setListBanDo([...listBanDos]);\r\n }\r\n function ExpandedBotton(list, id, expanded) {\r\n let childs = list.filter(x => x.ParentId === id);\r\n for (let child of childs) {\r\n child.expanded = expanded;\r\n child.parentExpanded = true;\r\n ExpandedBotton(list, child.Ma, expanded);\r\n }\r\n }\r\n\r\n const adminstyle = {\r\n height: 'calc(100vh - 150px)'\r\n }\r\n\r\n const onLen = (item) => {\r\n // debugger\r\n if (item.ParentId !== null) {\r\n const list = listBanDos.filter(x => x.SortOrder < item.SortOrder && x.ParentId === item.ParentId).sort((a, b) => (a.SortOrder < b.SortOrder) ? 1 : -1);\r\n sortLopBanDo(list, item);\r\n } else {\r\n const list = listBanDos.filter(x => x.SortOrder < item.SortOrder && x.ParentId === null).sort((a, b) => (a.SortOrder < b.SortOrder) ? 1 : -1);\r\n sortLopBanDo(list, item)\r\n }\r\n }\r\n const onXuong = (item) => {\r\n if (item.ParentId !== null) {\r\n const list = listBanDos.filter(x => x.SortOrder > item.SortOrder && x.ParentId === item.ParentId).sort((a, b) => (a.SortOrder > b.SortOrder) ? 1 : -1);\r\n sortLopBanDo(list, item)\r\n }\r\n else {\r\n const list = listBanDos.filter(x => x.SortOrder > item.SortOrder && x.ParentId === null).sort((a, b) => (a.SortOrder > b.SortOrder) ? 1 : -1);\r\n sortLopBanDo(list, item)\r\n }\r\n }\r\n\r\n const sortLopBanDo = (list, item) => {\r\n if (list.length > 0) {\r\n const indexOld = listBanDos.findIndex(x => x.Ma === item.Ma);\r\n const index = listBanDos.findIndex(x => x.Ma === list[0].Ma);\r\n const sortOrder = listBanDos[index].SortOrder;\r\n const sortOrderOld = listBanDos[indexOld].SortOrder;\r\n listBanDos[index].SortOrder = sortOrderOld;\r\n listBanDos[indexOld].SortOrder = sortOrder;\r\n props.onSapXep([listBanDos[index], listBanDos[indexOld]]);\r\n const listSort = listBanDos.sort((a, b) => (a.SortOrder > b.SortOrder) ? 1 : -1);\r\n let listsSorted = buidSort(listSort);\r\n setListBanDo([...listsSorted]);\r\n }\r\n }\r\n\r\n const buidSort = (list) => {\r\n let roots = [];\r\n const parents = list.filter(x => x.ParentId === null);\r\n parents.forEach(item => {\r\n roots.push(item);\r\n treeSort(list, item, roots);\r\n });\r\n return roots;\r\n }\r\n\r\n const treeSort = (list, parent, roots) => {\r\n const childs = list.filter(x => x.ParentId === parent.Ma);\r\n if (childs.length > 0) {\r\n childs.forEach(item => {\r\n roots.push(item);\r\n treeSort(list, item, roots);\r\n });\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n {\r\n xPosition === -5 ? toggleMenu()}\r\n className={stylelocal.togglemenu}\r\n style={{\r\n transform: `translate(${349}px)`\r\n }}\r\n >\r\n \r\n : ''\r\n }\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listBanDos.map((item, key) => {\r\n\r\n return (\r\n \r\n \r\n \r\n {\r\n isSapXep === false ? : ''\r\n }\r\n {\r\n isSapXep ? : ''\r\n }\r\n \r\n )\r\n })\r\n }\r\n \r\n
\r\n Bản đồ { setSapXep(!isSapXep) }}>\r\n {\r\n isSapXep ? : \r\n }\r\n
clickRow(item)}>\r\n
\r\n \r\n
\r\n
clickScolpan(item)}>\r\n
\r\n {item.Name}{item.isChildren ? : ''}\r\n
\r\n
\r\n {\r\n props.admin ? (item.IsEdit ? clickGhiChu(item)} className={'fas fa-edit ' + (item.CheckedGhiChu ? stylelocal.gcactive : stylelocal.gc)}> : '') :\r\n (item.IsGhiChu ? clickGhiChu(item)} className={'fas fa-info-circle ' + (item.CheckedGhiChu ? stylelocal.gcactive : stylelocal.gc)}> : '')\r\n }\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\n\r\nconst BanDoPublicApi = {\r\n\r\n getDetail: (params) => {\r\n const url = '/mappublic/getinfo';\r\n return axiosClient.get(url, { params });\r\n },\r\n delete: (params) => {\r\n const url = 'xoabando/delete';\r\n return axiosClient.delete(url, { params });\r\n },\r\n getById: (params) => {\r\n const url = '/mappublic/getbyid';\r\n return axiosClient.get(url, { params });\r\n },\r\n getThongTinTinhPhanBon: (params) => {\r\n const url = '/mappublic/getthongtintinhphanbon';\r\n return axiosClient.get(url, { params });\r\n },\r\n getInfoById: (params) => {\r\n const url = '/mappublic/getinfobyid';\r\n return axiosClient.get(url, { params });\r\n },\r\n getTimKiem: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n },\r\n exportExcel: (params) => {\r\n const url = '/mappublic/exportexcel';\r\n return axiosClient.get(url, { params });\r\n }\r\n\r\n}\r\n\r\nexport default BanDoPublicApi;","import axiosClient from './axiosClient';\r\n\r\nconst BanDoHienTrangApi = {\r\n\r\n getAllDanhMucHienTrang: () => {\r\n const url = '/bandohientrang/getalldanhmuc';\r\n return axiosClient.get(url);\r\n },\r\n getDetail: (params) => {\r\n const url = '/bandohientrang/getbyid';\r\n return axiosClient.get(url, { params });\r\n },\r\n update: (data) => {\r\n const url = '/bandohientrangdat/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n add: (params) => {\r\n const url = '/bandohientrang/add';\r\n return axiosClient.post(url, params);\r\n },\r\n getPaging: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n }\r\n\r\n}\r\n\r\nexport default BanDoHienTrangApi;","import React from 'react';\r\nimport { default as ReactSelect } from \"react-select\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport const SelectChuGiaiMulti = (props) => {\r\n if (props.allowSelectAll) {\r\n return (\r\n {\r\n if (selected !== null && selected.length > 0) {\r\n if (selected[selected.length - 1].value === props.allOption.value) {\r\n return props.onChange([props.allOption, ...props.options]);\r\n }\r\n let result = [];\r\n if (selected.length === props.options.length) {\r\n if (selected.includes(props.allOption)) {\r\n result = selected.filter(\r\n option => option.value !== props.allOption.value\r\n );\r\n } else if (event.action === \"select-option\") {\r\n result = [props.allOption, ...props.options];\r\n }\r\n return props.onChange(result);\r\n }\r\n }\r\n return props.onChange(selected);\r\n }}\r\n />\r\n );\r\n }\r\n return ;\r\n}\r\nSelectChuGiaiMulti.propTypes = {\r\n options: PropTypes.array,\r\n value: PropTypes.any,\r\n onChange: PropTypes.func,\r\n allowSelectAll: PropTypes.bool,\r\n allOption: PropTypes.shape({\r\n label: PropTypes.string,\r\n value: PropTypes.string\r\n })\r\n};\r\nSelectChuGiaiMulti.defaultProps = {\r\n allOption: {\r\n label: \"Chọn ký hiệu\",\r\n value: 0,\r\n Ma: 0\r\n }\r\n};","import React, { useEffect, useState } from 'react'\r\nimport { components } from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport { SelectChuGiaiMulti } from './SelectChuGiaiMulti'\r\n\r\nexport const SelectHienTrangMulti = (props) => {\r\n const [listHts, setHt] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n const loadDat = () => {\r\n ChuGiaiApi.getHienTrang().then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.khHienTrang, label: item.HienTrang, Kh: item.khHienTrang });\r\n });\r\n setHt(list);\r\n // list.unshift(allOption);\r\n setSelectedOption([allOption, ...list]);\r\n setTimeout(() => {\r\n props.onChangeHT(list);\r\n }, 100);\r\n })\r\n }\r\n loadDat();\r\n }, []);\r\n\r\n const allOption = {\r\n label: \"\",\r\n value: 0,\r\n Ma: 0\r\n };\r\n\r\n const Option = props => {\r\n return (\r\n
\r\n \r\n null}\r\n />{\" \"}\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const ValueContainer = ({ children, ...props }) => {\r\n const currentValues = props.getValue();\r\n let toBeRendered = children;\r\n if (currentValues.some(val => val.value === allOption.value)) {\r\n toBeRendered = [[children[0][0]], children[1]];\r\n }\r\n return (\r\n \r\n {toBeRendered}\r\n \r\n );\r\n };\r\n const MultiValue = props => {\r\n let labelToBeDisplayed = `${props.data.label}, `;\r\n\r\n const currentValues = props.getValue();\r\n if (currentValues.length > 2) {\r\n if (currentValues[currentValues.length - 1].value === props.data.value) {\r\n labelToBeDisplayed = `Bạn đã chọn (${currentValues.length})`\r\n }\r\n else {\r\n if (props.data.value === allOption.value) {\r\n labelToBeDisplayed = allOption.label;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n }\r\n return (\r\n \r\n {labelToBeDisplayed}\r\n \r\n );\r\n };\r\n const handleChange = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeHT(e);\r\n\r\n }\r\n return (\r\n \r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n onChange={handleChange}\r\n allowSelectAll={true}\r\n value={selectedOption}\r\n styles={{ container: (base) => ({ ...base, zIndex: 500 }) }}\r\n />\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button } from 'react-bootstrap'\r\nimport { useForm } from 'react-hook-form';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport BanDoHienTrangApi from '../../api/BanDoHienTrangApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport { SelectHienTrangMulti } from '../selectchugiai/SelectHienTrangMulti';\r\nexport const TimKiemHienTrangDatSanXuatNongNghiep = (props) => {\r\n const { register, handleSubmit } = useForm();\r\n const [listKetQuas, setKetQua] = useState([]);\r\n const [tongRow, setTongRow] = useState(-1);\r\n const [tongDienTich, setTongDienTich] = useState(0);\r\n const [listHts, setListHT] = useState([])\r\n let query = '';\r\n let pageIndex = 1;\r\n const timKiem = (data) => {\r\n query = getSql(data);\r\n props.timKiem(query);\r\n loadDuLieu();\r\n }\r\n const getSql = (data) => {\r\n let sql = '';\r\n if (listHts.length > 0 && listHts != null) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"symbol_ht\" in ('${listHts.map(x => x.Kh).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMin} ${data.DienTichMin} `\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n if (sql !== '') {\r\n sql = props.queryHuyen + ' AND ' + sql\r\n }\r\n else {\r\n sql = props.queryHuyen;\r\n }\r\n return sql;\r\n }\r\n const exportExcel = (data) => {\r\n const sql = getSql(data);\r\n props.exportExcel(sql);\r\n }\r\n\r\n const getKhHT = (listHts) => {\r\n setListHT(listHts)\r\n }\r\n\r\n\r\n const clickTab = (k) => {\r\n }\r\n\r\n const loadDuLieu = () => {\r\n props.timKiemLoading(true);\r\n const params = {\r\n pageIndex: pageIndex,\r\n tableName: 'BDHIENTRANGSUDUNGDAT',\r\n sql: query\r\n }\r\n BanDoHienTrangApi.getPaging(params).then((res) => {\r\n setKetQua(res.Items);\r\n paginationConfig.totalPages = (Math.ceil(res.TotalRow / 20) === 0 ? 1 : Math.ceil(res.TotalRow / 20));\r\n paginationConfig.currentPage = pageIndex;\r\n setTongRow(res.TotalRow);\r\n setTongDienTich(res.TongDienTich);\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n setPaging(paginationConfig);\r\n props.timKiemLoading(false);\r\n }, (err) => {\r\n props.timKiemLoading(false);\r\n })\r\n }\r\n\r\n const clickRow = (id) => {\r\n props.timKiemGetChiTiet({\r\n id: id,\r\n tableName: 'BDHIENTRANGSUDUNGDAT'\r\n })\r\n }\r\n\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n });\r\n\r\n return (\r\n clickTab(k)}>\r\n \r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n getKhHT(e)}>\r\n
\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n tongRow > -1 ?\r\n
\r\n \r\n
\r\n
khoảnh đất
\r\n
\r\n \r\n
\r\n
ha
\r\n
\r\n
: ''\r\n }\r\n\r\n
\r\n
\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n listKetQuas.length === 0 ? \r\n \r\n :\r\n listKetQuas.map((item, key) => {\r\n return (\r\n clickRow(item.id)}>\r\n\r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Ký hiệuDiện tích
Không có bản ghi được tìm thấy
{item.tenxa}{item.ma}\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst BanDoThoNhuongApi = {\r\n getAll: () => {\r\n const url = '/bandothonhuong/getall';\r\n return axiosClient.get(url)\r\n },\r\n\r\n delete: (str) => {\r\n const url = '/bandothonhuong/delete?str=' + str;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n update: (data) => {\r\n const url = '/bandothonhuong/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n addGeo: (data) => {\r\n const url = '/bandothonhuong/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n updateThongTin: (data) => {\r\n const url = '/bandothonhuong/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/bandothonhuong/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n getPaging: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n }\r\n}\r\nexport default BanDoThoNhuongApi;","import React, { useEffect, useState } from 'react'\r\nimport { components } from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport { SelectChuGiaiMulti } from './SelectChuGiaiMulti'\r\n\r\nexport const SelectThoNhuongMulti = (props) => {\r\n const [listDats, setDat] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n const loadDat = () => {\r\n ChuGiaiApi.getThoNhuong().then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.khDat, label: item.tenDat, KhDat: item.khDat });\r\n });\r\n setDat(list);\r\n // list.unshift(allOption);\r\n setSelectedOption([allOption, ...list]);\r\n setTimeout(() => {\r\n props.onChangeDat(list);\r\n }, 100);\r\n })\r\n }\r\n loadDat();\r\n }, []);\r\n\r\n const allOption = {\r\n label: \"\",\r\n value: 0,\r\n Ma: 0\r\n };\r\n\r\n const Option = props => {\r\n return (\r\n
\r\n \r\n null}\r\n />{\" \"}\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const ValueContainer = ({ children, ...props }) => {\r\n const currentValues = props.getValue();\r\n let toBeRendered = children;\r\n if (currentValues.some(val => val.value === allOption.value)) {\r\n toBeRendered = [[children[0][0]], children[1]];\r\n }\r\n return (\r\n \r\n {toBeRendered}\r\n \r\n );\r\n };\r\n const MultiValue = props => {\r\n let labelToBeDisplayed = `${props.data.label}, `;\r\n\r\n const currentValues = props.getValue();\r\n if (currentValues.length > 2) {\r\n if (currentValues[currentValues.length - 1].value === props.data.value) {\r\n labelToBeDisplayed = `Bạn đã chọn (${currentValues.length})`\r\n }\r\n else {\r\n if (props.data.value === allOption.value) {\r\n labelToBeDisplayed = allOption.label;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n }\r\n return (\r\n \r\n {labelToBeDisplayed}\r\n \r\n );\r\n };\r\n const handleChange = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeDat(e);\r\n\r\n }\r\n return (\r\n \r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n onChange={handleChange}\r\n allowSelectAll={true}\r\n value={selectedOption}\r\n styles={{ container: (base) => ({ ...base, zIndex: 500 }) }}\r\n />\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button } from 'react-bootstrap'\r\nimport { useForm } from 'react-hook-form';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BanDoThoNhuongApi from '../../api/BanDoThoNhuongApi';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport { SelectThoNhuongMulti } from '../selectchugiai/SelectThoNhuongMulti';\r\n\r\nexport const TimKiemThoNhuong = (props) => {\r\n const { register, handleSubmit } = useForm();\r\n const [listKetQuas, setKetQua] = useState([]);\r\n const [tongRow, setTongRow] = useState(-1);\r\n const [tongDienTich, setTongDienTich] = useState(0);\r\n const [listDats, setListDat] = useState([])\r\n let query = '';\r\n let pageIndex = 1;\r\n const timKiem = (data) => {\r\n query = getSQL(data);\r\n props.timKiem(query);\r\n loadDuLieu();\r\n }\r\n const getSQL = (data) => {\r\n let sql = '';\r\n if (listDats.length > 0 && listDats != null) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"symbol_dat\" in ('${listDats.map(x => x.KhDat).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n\r\n if (sql !== '') {\r\n sql = props.queryHuyen + ' AND ' + sql\r\n }\r\n else {\r\n sql = props.queryHuyen;\r\n }\r\n return sql;\r\n }\r\n\r\n const exportExcel = (data) => {\r\n const sql = getSQL(data);\r\n props.exportExcel(sql);\r\n }\r\n\r\n const clickTab = (k) => {\r\n }\r\n\r\n\r\n const loadDuLieu = () => {\r\n props.timKiemLoading(true);\r\n const params = {\r\n pageIndex: pageIndex,\r\n tableName: 'BDTHONHUONG',\r\n sql: query\r\n }\r\n BanDoPublicApi.getTimKiem(params).then((res) => {\r\n setKetQua(res.Items);\r\n paginationConfig.totalPages = (Math.ceil(res.TotalRow / 20) === 0 ? 1 : Math.ceil(res.TotalRow / 20));\r\n paginationConfig.currentPage = pageIndex;\r\n setTongRow(res.TotalRow);\r\n setTongDienTich(res.TongDienTich);\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n setPaging(paginationConfig);\r\n props.timKiemLoading(false);\r\n }, (err) => {\r\n props.timKiemLoading(false);\r\n })\r\n }\r\n\r\n const getKhDat = (listDats) => {\r\n setListDat(listDats)\r\n }\r\n\r\n const clickRow = (id) => {\r\n props.timKiemGetChiTiet({\r\n id: id,\r\n tableName: 'BDTHONHUONG'\r\n })\r\n }\r\n\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n });\r\n\r\n return (\r\n clickTab(k)}>\r\n \r\n
\r\n
\r\n \r\n
\r\n getKhDat(e)}>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n {\r\n tongRow > -1 ?\r\n
\r\n \r\n
\r\n
khoảnh đất
\r\n
\r\n \r\n
\r\n
ha
\r\n
\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n listKetQuas.length === 0 ? \r\n \r\n :\r\n listKetQuas.map((item, key) => {\r\n return (\r\n clickRow(item.id)}>\r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã đấtDiện tích
Không có bản ghi được tìm thấy
{item.tenxa}{item.ma}\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\n\r\nconst BanDoNongHoaApi = {\r\n\r\n getAllDanhMuc: () => {\r\n const url = '/bandononghoa/getalldanhmuc';\r\n return axiosClient.get(url);\r\n },\r\n\r\n getDetail: (params) => {\r\n const url = '/bandononghoa/getbyid';\r\n return axiosClient.get(url, { params });\r\n },\r\n update: (params) => {\r\n const url = '/bandononghoa/update';\r\n return axiosClient.put(url, params);\r\n },\r\n add: (params) => {\r\n const url = '/bandononghoa/add';\r\n return axiosClient.post(url, params);\r\n },\r\n getPaging: (params) => {\r\n const url = '/bandononghoa/getpaging';\r\n return axiosClient.get(url, { params });\r\n }\r\n\r\n}\r\n\r\nexport default BanDoNongHoaApi;","import React from 'react'\r\nimport { Button } from 'react-bootstrap'\r\nimport { useForm } from 'react-hook-form';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BanDoNongHoaApi from '../../api/BanDoNongHoaApi';\r\n\r\nexport const TimKiemNongHoa = (props) => {\r\n const { register, handleSubmit } = useForm();\r\n const [listKetQuas, setKetQua] = useState([]);\r\n const [tongRow, setTongRow] = useState(-1);\r\n const [tongDienTich, setTongDienTich] = useState(0);\r\n let query = '';\r\n let pageIndex = 1;\r\n const timKiem = (data) => {\r\n query = getSql(data);\r\n props.timKiem(query);\r\n loadDuLieu();\r\n }\r\n const getSql = (data) => {\r\n let sql = '';\r\n if (data.TenXa !== \"\") {\r\n sql = `\"tenXa\" ilike '${data.TenXa}'`\r\n }\r\n if (data.maNongHoa !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"maNongHoa\"=${data.maNongHoa}`\r\n }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"DienTich\" ${data.DienTichDieuKienMin} ${data.DienTichMin} `\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"DienTich\" ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n if (data.phKClMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"phKCl\" ${data.phKClDieuKienMin} ${data.phKClMin}`\r\n }\r\n if (data.phKClMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"phKCl\" ${data.phKClDieuKienMax} ${data.phKClMax}`\r\n }\r\n if (data.tsDamMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tsDam\" ${data.tsDamDieuKienMin} ${data.tsDamMin}`\r\n }\r\n if (data.tsDamMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tsDam\" ${data.tsDamDieuKienMax} ${data.tsDamMax}`\r\n }\r\n if (data.tsLanMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tsLan\" ${data.tsLanDieuKienMin} ${data.tsLanMin}`\r\n }\r\n if (data.tsLanMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tsLan\" ${data.tsLanDieuKienMax} ${data.tsLanMax}`\r\n }\r\n if (data.tsKaliMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tsKali\" ${data.tsKaliDieuKienMin} ${data.tsKaliMin} `\r\n }\r\n if (data.tsKaliMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tsKali\" ${data.tsKaliDieuKienMax} ${data.tsKaliMax}`\r\n }\r\n if (data.dtLanMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dtLan\" ${data.dtLanDieuKienMin} ${data.dtLanMin} `\r\n }\r\n if (data.dtLanMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dtLan\" ${data.dtLanDieuKienMax} ${data.dtLanMax}`\r\n }\r\n if (data.dtKaLiMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dtKali\" ${data.dtKaLiDieuKienMin} ${data.dtKaLiMin} `\r\n }\r\n if (data.dtKaLiMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dtKali\" ${data.dtKaLiDieuKienMax} ${data.dtKaLiMax}`\r\n }\r\n if (data.cECMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"CEC\" ${data.cECDieuKienMin} ${data.cECMin} `\r\n }\r\n if (data.cECMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"CEC\" ${data.cECDieuKienMax} ${data.cECMax}`\r\n }\r\n if (data.oCMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"OC\" ${data.oCDieuKienMin} ${data.oCMin}`\r\n }\r\n if (data.oCMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"OC\" ${data.oCDieuKienMax} ${data.oCMax}`\r\n }\r\n if (sql !== '') {\r\n sql = props.queryHuyen + ' AND ' + sql\r\n }\r\n else {\r\n sql = props.queryHuyen;\r\n }\r\n return sql;\r\n }\r\n\r\n const exportExcel = (data) => {\r\n const sql = getSql(data);\r\n props.exportExcel(sql);\r\n }\r\n\r\n const clickTab = (k) => {\r\n }\r\n\r\n\r\n const loadDuLieu = () => {\r\n props.timKiemLoading(true);\r\n const params = {\r\n pageIndex: pageIndex,\r\n sql: query\r\n }\r\n BanDoNongHoaApi.getPaging(params).then((res) => {\r\n setKetQua(res.Items);\r\n paginationConfig.totalPages = (Math.ceil(res.TotalRow / 20) === 0?1:Math.ceil(res.TotalRow / 20));\r\n paginationConfig.currentPage = pageIndex;\r\n setTongRow(res.TotalRow);\r\n setTongDienTich(res.TongDienTich);\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n setPaging(paginationConfig);\r\n props.timKiemLoading(false);\r\n }, (err) => {\r\n props.timKiemLoading(false);\r\n })\r\n }\r\n\r\n const clickRow = (id) => {\r\n props.timKiemGetChiTiet({\r\n id: id,\r\n tableName: 'HaNoi_vgNongHoa'\r\n })\r\n }\r\n\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n });\r\n\r\n return (\r\n clickTab(k)}>\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n tongRow > -1 ?\r\n
\r\n \r\n
\r\n
khoảnh đất
\r\n
\r\n \r\n
\r\n
ha
\r\n
\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n listKetQuas.length === 0 ? \r\n \r\n :\r\n listKetQuas.map((item, key) => {\r\n return (\r\n clickRow(item.id)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
HuyệnMã nông hóaDiện tích
Không có bản ghi được tìm thấy
{item.tenHuyen}{item.tenXa}{item.maNongHoa}\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst BanDoThichHopApi = {\r\n getAll: () => {\r\n const url = '/bandothichhop/getall';\r\n return axiosClient.get(url)\r\n },\r\n getPaging: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n },\r\n delete: (str) => {\r\n const url = '/bandothichhop/delete?str=' + str;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n update: (data) => {\r\n const url = '/bandothichhop/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n addGeo: (data) => {\r\n const url = '/bandothichhop/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n updateThongTin: (data) => {\r\n const url = '/bandothichhop/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/bandothichhop/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default BanDoThichHopApi;","import React from 'react'\r\nimport { Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BanDoThichHopApi from '../../api/BanDoThichHopApi';\r\n\r\n\r\n\r\nexport const TimKiemThichHopDatDai = (props) => {\r\n const { register, handleSubmit } = useForm();\r\n const [listKetQuas, setKetQua] = useState([]);\r\n const [tongRow, setTongRow] = useState(-1);\r\n const [tongDienTich, setTongDienTich] = useState(0);\r\n let query = '';\r\n let pageIndex = 1;\r\n const timKiem = (data) => {\r\n query = getSql(data);\r\n props.timKiem(query);\r\n loadDuLieu();\r\n }\r\n const getSql = (data) => {\r\n let sql = '';\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n if (data.ThLua != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"lua\" like '${data.ThLua}'`\r\n }\r\n if (data.ThNgo != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"ngo\" like '${data.ThNgo}'`\r\n }\r\n if (data.ThSan != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"san\" like '${data.ThSan}'`\r\n }\r\n if (data.ThKhoai != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"khoai\" like '${data.ThKhoai}'`\r\n }\r\n if (data.ThRau != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"rau\" like '${data.ThRau}'`\r\n }\r\n if (data.ThBi != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"bi\" like '${data.ThBi}'`\r\n }\r\n if (data.ThLac != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"lac\" like '${data.ThLac}'`\r\n }\r\n if (data.ThHoa != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"hoa\" like '${data.ThHoa}'`\r\n }\r\n\r\n if (data.ThCam != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"cam\" like '${data.ThCam}'`\r\n }\r\n if (data.ThBuoi != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"buoi\" like '${data.ThBuoi}'`\r\n }\r\n if (data.ThChanh != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"chanh_day\" like '${data.ThChanh}'`\r\n }\r\n if (data.ThNhan != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"nhan\" like '${data.ThNhan}'`\r\n }\r\n\r\n if (data.ThMit != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"mit\" like '${data.ThMit}'`\r\n }\r\n if (data.ThBo != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"bo\" like '${data.ThBo}'`\r\n }\r\n if (data.ThSauRieng != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"sau_rieng\" like '${data.ThSauRieng}'`\r\n }\r\n if (data.ThXoai != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"xoai\" like '${data.ThXoai}'`\r\n }\r\n\r\n if (data.ThNa != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"na\" like '${data.ThNa}'`\r\n }\r\n if (data.ThChuoi != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"chuoi\" like '${data.ThChuoi}'`\r\n }\r\n if (data.ThDieu != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dieu\" like '${data.ThDieu}'`\r\n }\r\n if (data.ThCaoSu != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"cao_su\" like '${data.ThCaoSu}'`\r\n }\r\n if (data.ThTieu != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"ho_tieu\" like '${data.ThTieu}'`\r\n }\r\n if (data.ThCafe != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"caffe\" like '${data.ThCafe}'`\r\n }\r\n if (data.ThDauTam != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dau_tam\" like '${data.ThDauTam}'`\r\n }\r\n if (data.ThMang != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"mang_tay\" like '${data.ThMang}'`\r\n }\r\n if (data.ThDuoc != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"duoc_lieu\" like '${data.ThDuoc}'`\r\n }\r\n if (data.ThDua != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dua\" like '${data.ThDua}'`\r\n }\r\n if (sql !== '') {\r\n sql = props.queryHuyen + ' AND ' + sql\r\n }\r\n else {\r\n sql = props.queryHuyen;\r\n }\r\n return sql;\r\n }\r\n\r\n const exportExcel = (data) => {\r\n const sql = getSql(data);\r\n props.exportExcel(sql);\r\n }\r\n\r\n const clickTab = (k) => {\r\n }\r\n\r\n\r\n const loadDuLieu = () => {\r\n props.timKiemLoading(true);\r\n const params = {\r\n pageIndex: pageIndex,\r\n tableName: 'BDTHICHHOPSUDUNGDAT',\r\n sql: query\r\n }\r\n BanDoThichHopApi.getPaging(params).then((res) => {\r\n setKetQua(res.Items);\r\n paginationConfig.totalPages = (Math.ceil(res.TotalRow / 20) === 0 ? 1 : Math.ceil(res.TotalRow / 20));\r\n paginationConfig.currentPage = pageIndex;\r\n setTongRow(res.TotalRow);\r\n setTongDienTich(res.TongDienTich);\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n setPaging(paginationConfig);\r\n props.timKiemLoading(false);\r\n }, (err) => {\r\n props.timKiemLoading(false);\r\n })\r\n }\r\n\r\n const clickRow = (id) => {\r\n props.timKiemGetChiTiet({\r\n id: id,\r\n tableName: 'BDTHICHHOPSUDUNGDAT'\r\n })\r\n }\r\n\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n });\r\n\r\n return (\r\n clickTab(k)}>\r\n \r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n tongRow > -1 ?\r\n
\r\n \r\n
\r\n
khoảnh đất
\r\n
\r\n \r\n
\r\n
ha
\r\n
\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n listKetQuas.length === 0 ? \r\n \r\n :\r\n listKetQuas.map((item, key) => {\r\n return (\r\n clickRow(item.id)}>\r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã thích hợpDiện tích
Không có bản ghi được tìm thấy
{item.tenxa}{item.ma}\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\n\r\nconst BanDoDeXuatApi = {\r\n\r\n getAllDanhMuc: () => {\r\n const url = '/bandodexuat/getalldanhmuc';\r\n return axiosClient.get(url);\r\n },\r\n getDetail: (params) => {\r\n const url = '/bandodexuat/getbyid';\r\n return axiosClient.get(url, { params });\r\n },\r\n update: (data) => {\r\n const url = '/bandodexuatsudungdat/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n add: (params) => {\r\n const url = '/bandodexuat/add';\r\n return axiosClient.post(url, params);\r\n },\r\n getPaging: (params) => {\r\n const url = '/bandodexuat/getpaging';\r\n return axiosClient.get(url, { params });\r\n },\r\n getPaging: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n }\r\n\r\n}\r\n\r\nexport default BanDoDeXuatApi;","import React, { useEffect, useState } from 'react'\r\nimport { components } from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport { SelectChuGiaiMulti } from './SelectChuGiaiMulti'\r\n\r\nexport const SelectDeXuatMulti = (props) => {\r\n const [listDeXuats, setDeXuat] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n const loadDeXuat = () => {\r\n ChuGiaiApi.getDeXuat().then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.khDeXuat, label: item.DeXuat, KhDeXuat: item.khDeXuat });\r\n });\r\n setDeXuat(list);\r\n // list.unshift(allOption);\r\n setSelectedOption([allOption, ...list]);\r\n setTimeout(() => {\r\n props.onChangeDX(list);\r\n }, 100);\r\n })\r\n }\r\n loadDeXuat();\r\n }, []);\r\n\r\n const allOption = {\r\n label: \"\",\r\n value: 0,\r\n Ma: 0\r\n };\r\n\r\n const Option = props => {\r\n return (\r\n
\r\n \r\n null}\r\n />{\" \"}\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const ValueContainer = ({ children, ...props }) => {\r\n const currentValues = props.getValue();\r\n let toBeRendered = children;\r\n if (currentValues.some(val => val.value === allOption.value)) {\r\n toBeRendered = [[children[0][0]], children[1]];\r\n }\r\n return (\r\n \r\n {toBeRendered}\r\n \r\n );\r\n };\r\n const MultiValue = props => {\r\n let labelToBeDisplayed = `${props.data.label}, `;\r\n\r\n const currentValues = props.getValue();\r\n if (currentValues.length > 2) {\r\n if (currentValues[currentValues.length - 1].value === props.data.value) {\r\n labelToBeDisplayed = `Bạn đã chọn (${currentValues.length})`\r\n }\r\n else {\r\n if (props.data.value === allOption.value) {\r\n labelToBeDisplayed = allOption.label;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n }\r\n return (\r\n \r\n {labelToBeDisplayed}\r\n \r\n );\r\n };\r\n const handleChange = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeDX(e);\r\n\r\n }\r\n return (\r\n \r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n onChange={handleChange}\r\n allowSelectAll={true}\r\n value={selectedOption}\r\n styles={{ container: (base) => ({ ...base, zIndex: 500 }) }}\r\n />\r\n \r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BanDoDeXuatApi from '../../api/BanDoDeXuatApi';\r\nimport { SelectDeXuatMulti } from '../selectchugiai/SelectDeXuatMulti';\r\nexport const TimKiemDeXuatSuDungDat = (props) => {\r\n const { register, handleSubmit } = useForm();\r\n const [listKetQuas, setKetQua] = useState([]);\r\n const [tongRow, setTongRow] = useState(-1);\r\n const [tongDienTich, setTongDienTich] = useState(0);\r\n const [listDeXuats, setListDX] = useState([])\r\n let query = '';\r\n let pageIndex = 1;\r\n const timKiem = (data) => {\r\n query = getSql(data);\r\n props.timKiem(query);\r\n loadDuLieu();\r\n }\r\n const getSql = (data) => {\r\n let sql = '';\r\n if (listDeXuats.length > 0 && listDeXuats != null) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"symbol_qh\" In ('${listDeXuats.map(x => x.KhDeXuat).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n if (sql !== '') {\r\n sql = props.queryHuyen + ' AND ' + sql\r\n }\r\n else {\r\n sql = props.queryHuyen;\r\n }\r\n return sql;\r\n }\r\n\r\n const exportExcel = (data) => {\r\n const sql = getSql(data);\r\n props.exportExcel(sql);\r\n }\r\n\r\n const clickTab = (k) => {\r\n }\r\n\r\n\r\n const loadDuLieu = () => {\r\n props.timKiemLoading(true);\r\n const params = {\r\n pageIndex: pageIndex,\r\n tableName: 'BDDEXUATSUDUNGDAT',\r\n sql: query\r\n }\r\n BanDoDeXuatApi.getPaging(params).then((res) => {\r\n setKetQua(res.Items);\r\n paginationConfig.totalPages = (Math.ceil(res.TotalRow / 20) === 0 ? 1 : Math.ceil(res.TotalRow / 20));\r\n paginationConfig.currentPage = pageIndex;\r\n setTongRow(res.TotalRow);\r\n setTongDienTich(res.TongDienTich);\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n setPaging(paginationConfig);\r\n props.timKiemLoading(false);\r\n }, (err) => {\r\n props.timKiemLoading(false);\r\n })\r\n }\r\n\r\n const getKhDeXuat = (listDeXuats) => {\r\n setListDX(listDeXuats)\r\n }\r\n\r\n const clickRow = (id) => {\r\n props.timKiemGetChiTiet({\r\n id: id,\r\n tableName: 'BDDEXUATSUDUNGDAT'\r\n })\r\n }\r\n\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n });\r\n\r\n\r\n return (\r\n clickTab(k)}>\r\n \r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n getKhDeXuat(e)}>\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n tongRow > -1 ?\r\n
\r\n \r\n
\r\n
khoảnh đất
\r\n
\r\n \r\n
\r\n
ha
\r\n
\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n listKetQuas.length === 0 ? \r\n \r\n :\r\n listKetQuas.map((item, key) => {\r\n return (\r\n clickRow(item.id)}>\r\n\r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã đề xuấtDiện tích
Không có bản ghi được tìm thấy
{item.tenxa}{item.ma}\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst BanDoChatLuongDatApi = {\r\n getAll: () => {\r\n const url = '/bandochatluongdat/getall';\r\n return axiosClient.get(url)\r\n },\r\n\r\n delete: (str) => {\r\n const url = '/bandochatluongdat/delete?str=' + str;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n update: (data) => {\r\n const url = '/bandochatluongdat/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n getPaging: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n },\r\n addGeo: (data) => {\r\n const url = '/bandochatluongdat/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n updateThongTin: (data) => {\r\n const url = '/bandochatluongdat/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/bandochatluongdat/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default BanDoChatLuongDatApi;","const { default: axiosClientDownLoad } = require(\"./axiosClientDownLoad\");\r\n\r\nconst ExportExcelApi = {\r\n getTimKiemThongKeBanDo: (params) => {\r\n const url = '/exportexcel/gettimkiemthongkebando';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getTaiKhoan: (params) => {\r\n const url = '/exportexcel/gettaikhoan';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getDienTichTrongTrot: (params) => {\r\n const url = '/exportexcel/getDienTichTrongTrot';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getSanLuongNongSan: (params) => {\r\n const url = '/exportexcel/getSanLuongNongSan';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getGiaNongSan: (params) => {\r\n const url = '/exportexcel/getGiaNongSan';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getThoiTiet: (params) => {\r\n const url = '/exportexcel/getThoiTiet';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getSauBenh: (params) => {\r\n const url = '/exportexcel/getSauBenh';\r\n return axiosClientDownLoad.get(url, { params });\r\n },\r\n getHienTrangSuDungDat: (params) => {\r\n const url = '/exportexcel/getHienTrangSuDungDat';\r\n return axiosClientDownLoad.get(url, { params });\r\n }\r\n}\r\nexport default ExportExcelApi;","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\n\r\nexport const SelectTuoi = (props) => {\r\n\r\n const [listDks, setDk] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadDkTuoi();\r\n\r\n }, []);\r\n\r\n\r\n const loadDkTuoi = () => {\r\n ChuGiaiApi.getAllDvdd().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn đk tưới' });\r\n response.listTuois.forEach(item => {\r\n list.push({ value: item.maTuoi, label: item.PhanCap });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeTuoiProps(list[index]);\r\n }\r\n }\r\n });\r\n setDk(list);\r\n })\r\n }\r\n\r\n const onChangeTuoi = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeTuoiProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\n\r\nexport const SelectDaLan = (props) => {\r\n\r\n const [listDks, setDk] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadDkTuoi();\r\n\r\n }, []);\r\n\r\n\r\n const loadDkTuoi = () => {\r\n ChuGiaiApi.getAllDvdd().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn đk đá lẫn' });\r\n response.listDaLans.forEach(item => {\r\n list.push({ value: item.maDalan, label: item.PhanCap });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeDaLanProps(list[index]);\r\n }\r\n }\r\n });\r\n setDk(list);\r\n })\r\n }\r\n\r\n const onChangeDaLan = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeDaLanProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\n\r\nexport const SelectDoDoc = (props) => {\r\n\r\n const [listDks, setDk] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadDkTuoi();\r\n\r\n }, []);\r\n\r\n\r\n const loadDkTuoi = () => {\r\n ChuGiaiApi.getAllDvdd().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn đk độ dốc' });\r\n response.listDocs.forEach(item => {\r\n list.push({ value: item.maDodoc, label: item.PhanCap });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeDocProps(list[index]);\r\n }\r\n }\r\n });\r\n setDk(list);\r\n })\r\n }\r\n\r\n const onChangeDoDoc = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeDocProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\n\r\nexport const SelectDoDay = (props) => {\r\n\r\n const [listDks, setDk] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadDkTuoi();\r\n\r\n }, []);\r\n\r\n\r\n const loadDkTuoi = () => {\r\n ChuGiaiApi.getAllDvdd().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn đk độ dày' });\r\n response.listDays.forEach(item => {\r\n list.push({ value: item.maDoday, label: item.PhanCap });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeDoDayProps(list[index]);\r\n }\r\n }\r\n });\r\n setDk(list);\r\n })\r\n }\r\n\r\n const onChangeDoDay = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeDoDayProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\n\r\nexport const SelectDoPhi = (props) => {\r\n\r\n const [listDks, setDk] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadDkTuoi();\r\n\r\n }, []);\r\n\r\n\r\n const loadDkTuoi = () => {\r\n ChuGiaiApi.getAllDvdd().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn đk độ phì' });\r\n response.listFes.forEach(item => {\r\n list.push({ value: item.maDoPhi, label: item.PhanCap });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeDoPhiProps(list[index]);\r\n }\r\n }\r\n });\r\n setDk(list);\r\n })\r\n }\r\n\r\n const onChangeDoPhi = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeDoPhiProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\n\r\nexport const SelectTpcg = (props) => {\r\n\r\n const [listDks, setDk] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadDkTuoi();\r\n\r\n }, []);\r\n\r\n\r\n const loadDkTuoi = () => {\r\n ChuGiaiApi.getAllDvdd().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn đk tpcg' });\r\n response.listTpcgs.forEach(item => {\r\n list.push({ value: item.maTpcg, label: item.PhanCap });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeTpcgProps(list[index]);\r\n }\r\n }\r\n });\r\n setDk(list);\r\n })\r\n }\r\n\r\n const onChangeTpcg = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeTpcgProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React from 'react'\r\nimport { Button } from 'react-bootstrap'\r\nimport { useForm } from 'react-hook-form';\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BanDoChatLuongDatApi from '../../api/BanDoChatLuongDatApi';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport { SelectTuoi } from '../selectchugiai/SelectTuoi';\r\nimport { SelectDaLan } from '../selectchugiai/SelectDaLan';\r\nimport { SelectDoDoc } from '../selectchugiai/SelectDoDoc';\r\nimport { SelectDoDay } from '../selectchugiai/SelectDoDay';\r\nimport { SelectDoPhi } from '../selectchugiai/SelectDoPhi';\r\nimport { SelectTpcg } from '../selectchugiai/SelectTpcg';\r\nexport const TimKiemChatLuongDat = (props) => {\r\n const { register, handleSubmit } = useForm();\r\n const [listKetQuas, setKetQua] = useState([]);\r\n const [tongRow, setTongRow] = useState(-1);\r\n const [tongDienTich, setTongDienTich] = useState(0);\r\n const [tuoi, setSelectedTuoi] = useState({});\r\n const [doc, setSelectedDoc] = useState({});\r\n const [day, setSelectedDay] = useState({});\r\n const [dalan, setSelectedDaLan] = useState({});\r\n const [fe, setSelectedFe] = useState({});\r\n const [tpcg, setSelectedTpcg] = useState({});\r\n let query = '';\r\n let pageIndex = 1;\r\n const timKiem = (data) => {\r\n query = getSQL(data);\r\n props.timKiem(query);\r\n loadDuLieu();\r\n }\r\n const getSQL = (data) => {\r\n let sql = '';\r\n // if (data.MaDVDD != \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `dvdd_h = ${data.MaDVDD}`\r\n // }\r\n // if(data.TenDat != \"\"){\r\n // sql = sql.length > 0? sql + ' AND ': '';\r\n // sql = sql + `tenDatTCVN like '${data.TenDat}'`\r\n // }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dt_ha\" ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n\r\n if (tuoi?.value != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tuoi\" = ${tuoi?.value}`\r\n }\r\n\r\n if (doc?.value != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"do_doc\" = ${doc?.value}`\r\n }\r\n\r\n if (day?.value != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tang_day\" = ${day?.value}`\r\n }\r\n\r\n if (dalan?.value != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"da_lan\" = ${dalan?.value}`\r\n }\r\n\r\n if (fe?.value != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"fe\" = ${fe?.value}`\r\n }\r\n\r\n if (tpcg?.value != \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"tpcg\" = ${tpcg?.value}`\r\n }\r\n\r\n if (sql !== '') {\r\n sql = props.queryHuyen + ' AND ' + sql\r\n }\r\n else {\r\n sql = props.queryHuyen;\r\n }\r\n\r\n return sql;\r\n }\r\n\r\n const exportExcel = (data) => {\r\n const sql = getSQL(data);\r\n props.exportExcel(sql);\r\n }\r\n\r\n const clickTab = (k) => {\r\n }\r\n\r\n\r\n\r\n const loadDuLieu = () => {\r\n props.timKiemLoading(true);\r\n const params = {\r\n pageIndex: pageIndex,\r\n tableName: 'BDCHATLUONGDAT',\r\n sql: query\r\n }\r\n BanDoPublicApi.getTimKiem(params).then((res) => {\r\n setKetQua(res.Items);\r\n paginationConfig.totalPages = (Math.ceil(res.TotalRow / 20) === 0 ? 1 : Math.ceil(res.TotalRow / 20));\r\n paginationConfig.currentPage = pageIndex;\r\n setTongRow(res.TotalRow);\r\n setTongDienTich(res.TongDienTich);\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n setPaging(paginationConfig);\r\n props.timKiemLoading(false);\r\n }, (err) => {\r\n props.timKiemLoading(false);\r\n })\r\n }\r\n\r\n const clickRow = (id) => {\r\n props.timKiemGetChiTiet({\r\n id: id,\r\n tableName: 'BDCHATLUONGDAT'\r\n })\r\n }\r\n const onChangeTuoi = (e) => {\r\n setSelectedTuoi(e);\r\n }\r\n\r\n const onChangeDoc = (e) => {\r\n setSelectedDoc(e);\r\n }\r\n\r\n const onChangeDay = (e) => {\r\n setSelectedDay(e);\r\n }\r\n\r\n const onChangeDaLan = (e) => {\r\n setSelectedDaLan(e);\r\n }\r\n\r\n const onChangeFe = (e) => {\r\n setSelectedFe(e);\r\n }\r\n\r\n const onChangeTpcg = (e) => {\r\n setSelectedTpcg(e);\r\n }\r\n\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadDuLieu();\r\n }\r\n });\r\n\r\n return (\r\n clickTab(k)}>\r\n \r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n onChangeTuoi(e)} >\r\n
\r\n
\r\n
\r\n \r\n
\r\n onChangeDoc(e)} >\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n onChangeDay(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n onChangeDaLan(e)}>\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n onChangeFe(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n onChangeTpcg(e)}>\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n {\r\n tongRow > -1 ?\r\n
\r\n \r\n
\r\n
khoảnh đất
\r\n
\r\n \r\n
\r\n
ha
\r\n
\r\n
: ''\r\n }\r\n
\r\n
\r\n \r\n {\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {\r\n listKetQuas.length === 0 ? \r\n \r\n :\r\n listKetQuas.map((item, key) => {\r\n return (\r\n clickRow(item.id)}>\r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã dvddDiện tích
Không có bản ghi được tìm thấy
{item.tenxa}{item.ma}\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport stylelocal from \"./TimKiemNangCao.module.css\"\r\nimport Select from 'react-select';\r\nimport { TimKiemHienTrangDatSanXuatNongNghiep } from './TimKiemHienTrangDatSanXuatNongNghiep';\r\nimport { TimKiemThoNhuong } from './TimKiemThoNhuong';\r\nimport { TimKiemNongHoa } from './TimKiemNongHoa';\r\nimport { TimKiemThichHopDatDai } from './TimKiemThichHopDatDai';\r\nimport { TimKiemDeXuatSuDungDat } from './TimKiemDeXuatSuDungDat';\r\nimport ExportExcelApi from '../../api/ExportExcelApi';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport { TimKiemChatLuongDat } from './TimKiemChatLuongDat';\r\nimport { Loading } from '../loading/Loading';\r\n\r\nexport const TimKiemNangCao = (props) => {\r\n const [listLopBanDos, setListLopBanDo] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n const [queryHuyen, setQueryHuyen] = useState('');\r\n const width = 350;\r\n const [xPosition, setX] = React.useState(-width);\r\n const toggleMenu = () => {\r\n if (xPosition < -5) {\r\n setX(-5);\r\n } else {\r\n setX(-width);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (props.show > 0) {\r\n toggleMenu();\r\n }\r\n }, [props.show]);\r\n\r\n useEffect(() => {\r\n let list = [];\r\n props.listLopBanDos.forEach(item => {\r\n if (item.Type > 1 && item.Checked && item.Ma !== 'BDHANHCHINH' && item.ParentId !== 'BDHANHCHINH') {\r\n list.push({ value: item.Ma, label: item.Name });\r\n }\r\n });\r\n if (list.length > 0) {\r\n if (selectedOption.value == null) {\r\n setSelectedOption(list[0]);\r\n }\r\n else {\r\n if (list.findIndex(x => x.value === selectedOption.value) === -1) {\r\n setSelectedOption(list[0]);\r\n }\r\n }\r\n }\r\n else {\r\n setSelectedOption({});\r\n }\r\n setListLopBanDo(list);\r\n }, [props.listLopBanDos])\r\n\r\n useEffect(() => {\r\n const query = `\"maxa\" IN (${props.listHuyens.map(x => x.Ma).join(',')})`;\r\n setQueryHuyen(query);\r\n }, [props.listHuyens])\r\n\r\n\r\n const onChangeLopBanDo = (e) => {\r\n setSelectedOption(e);\r\n }\r\n\r\n const onTimKiem = (sql) => {\r\n props.onTimKiemNangCao({ Ma: selectedOption.value, Sql: sql });\r\n }\r\n\r\n const onExportExcel = (sql) => {\r\n const tableName = selectedOption.value != null ? selectedOption.value : null;\r\n const ma = selectedOption.value;\r\n const queryHuyen = `\"maxa\" IN (${props.listHuyens.map(x => x.Ma).join(',')})`;\r\n sql = sql === '' ? queryHuyen : `${sql} AND ${queryHuyen}`;\r\n let params = {\r\n sql: sql,\r\n tableName: tableName,\r\n ma: ma\r\n }\r\n // console.log(sql);\r\n setLoading(true);\r\n BanDoPublicApi.exportExcel(params).then((res) => {\r\n // const blob = new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });\r\n // let url = window.URL.createObjectURL(blob);\r\n let a = document.createElement('a');\r\n a.href = process.env.REACT_APP_API_FILE + res;\r\n setLoading(false);\r\n a.download = 'download.xlsx';\r\n a.click();\r\n }, () => {\r\n setLoading(false);\r\n });\r\n }\r\n\r\n const timKiemLoading = (e) => {\r\n setLoading(e);\r\n }\r\n\r\n const timKiemGetChiTiet = (e) => {\r\n props.loadThongTinById(e);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n {\r\n xPosition === -5 ? toggleMenu()}\r\n className={stylelocal.togglemenu}\r\n style={{\r\n transform: `translate(${344}px)`\r\n }}\r\n >\r\n \r\n \r\n : ''\r\n }\r\n
\r\n
\r\n
\r\n
TÌM KIẾM NÂNG CAO
\r\n
\r\n
\r\n
\r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n styles={{ container: (base) => ({ ...base, zIndex: 500 }) }}\r\n />\r\n
\r\n
\r\n {\r\n selectedOption.value === 'BDHIENTRANGSUDUNGDAT' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDTHONHUONG' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDNONGHOA' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDTHICHHOPSUDUNGDAT' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDDEXUATSUDUNGDAT' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDCHATLUONGDAT' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen}> : ''\r\n }\r\n {\r\n selectedOption.value === undefined ?
Bạn chưa chọn lớp bản đồ
: ''\r\n }\r\n
\r\n \r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst TimKiemApi = {\r\n getFilter: (params) => {\r\n const url = '/timkiem/getfilter';\r\n return axiosClient.get(url, {params});\r\n },\r\n getBangDuLieu: () =>{\r\n const url = '/timkiem/getallbangdulieu';\r\n return axiosClient.get(url);\r\n }\r\n}\r\nexport default TimKiemApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst KhuyenCaoPhanBonApi = {\r\n getPaging: (params) => {\r\n const url = '/gopy/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (x,y) =>{\r\n const url = '/mappublic/getkhuyencaophanbon?x=' + x + '&y=' + y;\r\n return axiosClient.get(url);\r\n },\r\n \r\n getAll: (params) =>{\r\n const url = 'gopy/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default KhuyenCaoPhanBonApi;","import React, { useEffect, useState } from \"react\";\r\nimport $ from \"jquery\";\r\nimport KhuyenCaoPhanBonApi from \"../../api/KhuyenCaoPhanBonApi\";\r\nimport Draggable from \"react-draggable\";\r\nimport NumberFormat from \"react-number-format\";\r\nimport { Loading } from \"../../shared/loading/Loading\";\r\nimport Select from \"react-select\";\r\n\r\nexport const KhuyenCaoPhanBon = (props) => {\r\n const [hienTrang, setHienTrang] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n const [selectCayTrong, setSelectCayTrong] = useState();\r\n var [phanBon, setPhanBon] = useState({ n: 0, p: 0, k: 0 });\r\n var [coSo, setCoSo] = useState({ n: 0, p: 0, k: 0 });\r\n\r\n const handleClose = () => {\r\n $(\"#modalgopy\").modal(\"hide\");\r\n $(\"#modalgopy\").modal(\"dispose\");\r\n props.handleClose();\r\n };\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n loadThongTin();\r\n $(\"#modalgopy\").modal(\"show\");\r\n }\r\n }, [props.show]);\r\n\r\n const loadThongTin = async () => {\r\n setLoading(true);\r\n const result = await KhuyenCaoPhanBonApi.getDetail(props.x, props.y);\r\n setHienTrang(result);\r\n setLoading(false);\r\n };\r\n\r\n const tinhCanSo = (nMax, nMin, pMax, pMin, kMax, kMin) => {\r\n if (coSo.n > nMax) {\r\n phanBon.n = nMax;\r\n } else if (coSo.n < nMin) {\r\n phanBon.n = nMin;\r\n } else {\r\n phanBon.n = coSo.n;\r\n }\r\n if (coSo.p > pMax) {\r\n phanBon.p = pMax;\r\n } else if (phanBon.p < pMin) {\r\n phanBon.p = pMin;\r\n } else {\r\n phanBon.p = coSo.p;\r\n }\r\n if (coSo.k > kMax) {\r\n phanBon.k = kMax;\r\n } else if (coSo.k < kMin) {\r\n phanBon.k = kMax;\r\n } else {\r\n phanBon.k = coSo.k;\r\n }\r\n setPhanBon({ ...phanBon });\r\n };\r\n\r\n const onChangeCaytrong = (e) => {\r\n console.log(hienTrang)\r\n switch (e.value) {\r\n case \"LUAXUAN\":\r\n \r\n coSo.n =\r\n 141.7 -\r\n 1.33 * ((0.2 * 1.05 * 10000 * (hienTrang.oc * 1.724 * 10)) / 1000) +\r\n 0.25 * 260;\r\n coSo.p = 100- hienTrang.p2o5;\r\n //coSo.k = 152.85 - 145.37 * (hienTrang.k2o / 39.1);\r\n coSo.k = 0.03*(hienTrang.cecdat - (hienTrang.k2o/39.1))*331\r\n setCoSo({ ...coSo });\r\n tinhCanSo(120, 100, 90, 30, 100, 60);\r\n break;\r\n case \"LUAMUA\":\r\n coSo.n =\r\n (141.7 -\r\n 1.33 * ((0.2 * 1.05 * 10000 * (hienTrang.oc * 1.724 * 10)) / 1000) +\r\n 0.25 * 260) *\r\n 0.85;\r\n // coSo.p = (205.87 - 0.54 * (hienTrang.p2o5 * 10)) * 0.85;\r\n // coSo.k = (152.85 - 145.37 * (hienTrang.k2o / 39.1)) * 0.85;\r\n coSo.p = (100- hienTrang.p2o5)*0.85;\r\n //coSo.k = 152.85 - 145.37 * (hienTrang.k2o / 39.1);\r\n coSo.k = (0.03*(hienTrang.cecdat - (hienTrang.k2o/39.1))*331)*0.85;\r\n setCoSo({ ...coSo });\r\n tinhCanSo(\r\n 120 * 0.85,\r\n 100 * 0.85,\r\n 90 * 0.85,\r\n 30 * 0.85,\r\n 100 * 0.85,\r\n 60 * 0.85\r\n );\r\n break;\r\n case \"NGO\":\r\n //coSo.n = 108.56 - 2.6 * (hienTrang.oc * 1.724 * 10);\r\n coSo.n = 209.51 - 2.17 * (hienTrang.oc * 1.724 * 10);\r\n coSo.p = 1093.75 - 437.15 * Math.log(hienTrang.p2o5 * 10);\r\n coSo.k = 270.89 - 404.38 * (hienTrang.k2o / 39.1);\r\n setCoSo({ ...coSo });\r\n tinhCanSo(500, 20, 90, 50, 120, 60);\r\n break;\r\n case \"LAC\": \r\n //coSo.n = 209.51 - 2.17 * (hienTrang.oc * 1.724 * 10);\r\n coSo.n = 108.56 - 2.6 * (hienTrang.oc * 1.724 * 10);\r\n coSo.p = 205.87 - 0.54 * (hienTrang.p2o5 * 10);\r\n coSo.k = 152.85 - 145.37 * (hienTrang.k2o / 39.1);\r\n setCoSo({ ...coSo });\r\n tinhCanSo(40, 20, 90, 60, 90, 45);\r\n break;\r\n case \"KHOAI\":\r\n coSo.n = hienTrang.oc * 1.724 * 10;\r\n //coSo.p = 205.87 - 0.54 * (hienTrang.p2o5 * 10);\r\n coSo.p = 126.31-0.27 * (hienTrang.p2o5 * 10);\r\n\r\n //coSo.k = 152.85 - 145.37 * (hienTrang.k2o / 39.1);\r\n coSo.k = 134.59-118.99 * (hienTrang.k2o / 39.1);\r\n setCoSo({ ...coSo });\r\n phanBon.n = coSo.n > 32 ? 44 : coSo.n < 28 ? 66 : 55;\r\n phanBon.p = coSo.p < 30 ? 30 : coSo.p > 90 ? 90 : coSo.p;\r\n phanBon.k = coSo.k < 60 ? 60 : coSo.k > 90 ? 90 : coSo.k;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n \r\n case \"HOA\":\r\n coSo.n = 300;\r\n coSo.p = 200;\r\n coSo.k = 150;\r\n setCoSo({ ...coSo });\r\n phanBon.n = coSo.n;\r\n phanBon.p = coSo.p;\r\n phanBon.k = coSo.k;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"CAM\":\r\n coSo.n = hienTrang.oc * 1.724 * 10;\r\n coSo.p = hienTrang.p2o5 * 10;\r\n coSo.k = hienTrang.k2o / 39.1;\r\n setCoSo({ ...coSo });\r\n phanBon.n = coSo.n > 30 ? 80 : (coSo.n < 26 ? 220: 200);\r\n phanBon.p = coSo.p < 200 ? 165*0.6 : ((coSo.p > 201 && coSo.p < 400) ? 150*0.6 : ((coSo.p > 401 && coSo.p < 600) ? 127*0.6 : 108*0.6 ));\r\n phanBon.k = coSo.k < 0.5 ? 213 : ((coSo.k > 0.51 && coSo.k < 0.8) ? 185 : ((coSo.k > 0.81 && coSo.k < 1.5) ? 148 : 118 ));;\r\n phanBon.k = phanBon.k < 150 ? 150 : (phanBon.k > 220 ? 220: phanBon.k)\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"NHAN\":\r\n phanBon.n = hienTrang.n > 0.2 ? 150 : (hienTrang.n < 0.12 ? 250 : 200);\r\n phanBon.p = hienTrang.p2o5 > 15 ? 80 : (hienTrang.p2o5 < 10 ? 100 : 200);\r\n phanBon.k = hienTrang.k2o > 20 ? 250 : (hienTrang.k2o < 10 ? 350 : 300);\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"CHUOI\":\r\n phanBon.n = hienTrang.n > 0.2 ? 180 : (hienTrang.n < 0.12 ? 300 : 240);\r\n phanBon.p = 128;\r\n phanBon.k = hienTrang.k2o > 30 ? 250 : (hienTrang.k2o < 10 ? 450 : 350);\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"BUOI\":\r\n coSo.n = hienTrang.oc * 1.724 * 10;\r\n coSo.p = hienTrang.p2o5 * 10;\r\n coSo.k = hienTrang.k2o / 39.1;\r\n setCoSo({ ...coSo });\r\n phanBon.n = coSo.n > 30 ? 80 : (coSo.n < 26 ? 220: 200);\r\n phanBon.p = coSo.p < 200 ? 165 : ((coSo.p > 201 && coSo.p < 400) ? 150 : ((coSo.p > 401 && coSo.p < 600) ? 127 : 108 ));\r\n phanBon.k = coSo.k < 0.5 ? 213 : ((coSo.k > 0.51 && coSo.k < 0.8) ? 185 : ((coSo.k > 0.81 && coSo.k < 1.5) ? 148 : 118 ));;\r\n //phanBon.k = phanBon.k < 150 ? 150 : (phanBon.k > 220 ? 220: phanBon.k)\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"MIT\":\r\n phanBon.n = 200;\r\n phanBon.p = 100;\r\n phanBon.k = 130;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"XOAI\":\r\n phanBon.n = 200;\r\n phanBon.p = 100;\r\n phanBon.k = 150;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"DIEU\":\r\n phanBon.n = 80;\r\n phanBon.p = 40;\r\n phanBon.k = 44;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"CAOSU\":\r\n phanBon.n = hienTrang.n > 0.11 ? 200 : 220;\r\n phanBon.p = phanBon.n - 30;\r\n phanBon.k = (hienTrang.k2o / 39.1) > 0.5 ? 140 : 210;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"HOTIEU\":\r\n phanBon.n = hienTrang.oc > 0.17 ? 290 : 360;\r\n phanBon.p = hienTrang.p2o5 > 15 ? 120 : 150;\r\n phanBon.k = hienTrang.k2o > 20 ? 290 : 360;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n case \"CAFFE\":\r\n phanBon.n = hienTrang.oc > 1.59 ? 250 : 320;\r\n phanBon.p = hienTrang.p2o5 > 3.34 ? 80 : 100;\r\n phanBon.k = hienTrang.k2o > 9.49 ? 250 : 300;\r\n setPhanBon({ ...phanBon });\r\n break;\r\n default:\r\n coSo.n = 0;\r\n coSo.p = 0;\r\n coSo.k = 0;\r\n setCoSo({ ...coSo });\r\n tinhCanSo(0, 0, 0, 0, 0, 0);\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n
Khuyến cáo phân bón
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n onChangeCaytrong(e)}\r\n theme={(theme) => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n },\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Lượng phân bón N, P, K cần sử dụng trong vụ (kg/ha/vụ)\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Loại phân bónLượng phân bón(kg)
Cho 1ha\r\n Cho toàn bộ thửa đất (\r\n {\" \"}\r\n ha)\r\n
N\r\n \r\n \r\n \r\n
P2O5\r\n \r\n \r\n \r\n
K20\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n *Mức khuyến cáo mang tính chất tham khảo trên thực tế việc\r\n sử dụng phân bón còn phụ thuộc nhiều yếu tố như kỹ thuật\r\n canh tác, thời tiết, giống…\r\n
\r\n
\r\n
\r\n
\r\n Chúng tôi không chịu bất cứ trách nhiệm nào khi sử dụng\r\n khuyến cáo phân bón nếu có bị sụt giảm năng suất, bà con cần\r\n tuân thủ theo sự hướng dẫn của cán bộ khuyến nông với tình\r\n hình mùa vụ, giống cây trồng thực tế.\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Đóng\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react'\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { jsPDF } from \"jspdf\";\r\nimport * as htmlToImage from 'html-to-image';\r\nimport { SidebarLayer } from '../../shared/sidebar-layer/SidebarLayer';\r\nimport { FooterNote } from '../../shared/footer-note/FooterNote';\r\nimport { SidebarLeft } from '../../shared/sidebar-left/SidebarLeft';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport { TimKiemNangCao } from '../../shared/timkiemnangcao/TimKiemNangCao';\r\nimport { Loading } from '../../shared/loading/Loading';\r\nimport TimKiemApi from '../../api/TimKiemApi';\r\nimport { KhuyenCaoPhanBon } from '../khuyencaophanbon/khuyencaophanbon';\r\n\r\nexport const BanDo = (props) => {\r\n const view = new ol.View({\r\n center: [12031226.4706, 1518077.6003],\r\n zoom: 11,\r\n minZoom: 9,\r\n maxZoom: 17,\r\n projection: new ol.proj.get('EPSG:3857'),\r\n });\r\n const [loading, setLoading] = useState(false);\r\n const [showKhuyenCao, setShowKhuyenCao] = useState(false);\r\n var [isThongTin, setIsThongTin] = useState(true);\r\n var [showLeft, setShowLeft] = useState(0);\r\n const [showFooter, setShowFooter] = useState(-1);\r\n var [showTimKiemNangCao, setShowTimKiemNangCao] = useState(0);\r\n var [showRight, setShowRight] = useState(0);\r\n const [selectGhiChu, setSelectGhiChu] = useState({});\r\n var [map, setMap] = useState(new ol.Map());\r\n var [thongTin, setThongTin] = useState({});\r\n var [listLopBanDos, setLopBanDo] = useState([]);\r\n var [listMenu, setListMenu] = useState([]);\r\n var [tabSelect, setTabSelect] = useState('');\r\n var [x, setX] = useState(0);\r\n var [y, setY] = useState(0);\r\n var [id, setId] = useState(null);\r\n\r\n var [mousePositionControl, setMousePositionControl] = useState()\r\n var [drawDo, setDrawDo] = useState(null);\r\n var [soureDo, setSoureDo] = useState(new ol.source.Vector());\r\n var [vectorDo, setVectorDo] = useState(new ol.layer.Vector());\r\n var [vectorSelect, setVectorSelect] = useState(new ol.layer.Vector());\r\n var [positionFeature, setPositionFeature] = useState(new ol.Feature());\r\n var [accuracyFeature, setAccuracyFeature] = useState(new ol.Feature());\r\n var [sourceBase, setSourceBase] = useState(new ol.source.OSM({\r\n attributions: ['Phần mềm quản lý sử dụng đất sản xuất nông nghiệp huyện Chư Pưh'],\r\n url: 'http://mt0.google.com/vt/lyrs=s&hl=vn&x={x}&y={y}&z={z}',\r\n }));\r\n var [mapBase, setMapBase] = useState(new ol.layer.Tile({\r\n source: sourceBase\r\n }));\r\n var [bingMap, setBingMap] = useState(new ol.layer.Tile({\r\n preload: Infinity,\r\n zIndex: 1,\r\n source: new ol.source.BingMaps({\r\n key: 'Avt2mvsr-HdT809JeTWasadqQrzmbWjSKja8sX14syV5YXV6xywEfc_Ub6cvJLN0',\r\n imagerySet: 'Aerial'\r\n })\r\n }));\r\n var [geolocaltion, setGeoLocaltion] = useState(new ol.Geolocation({\r\n trackingOptions: {\r\n enableHighAccuracy: true,\r\n },\r\n projection: view.getProjection()\r\n }));\r\n\r\n useEffect(() => {\r\n switch (props.urlFunction.url) {\r\n case 'BANDO':\r\n setShowLeft(showLeft + 1);\r\n break;\r\n }\r\n }, [props.urlFunction.id]);\r\n\r\n const loadThongTin = async (x, y) => {\r\n try {\r\n showRight++;\r\n setShowRight(showRight);\r\n let tableName = listMenu.filter(x => x.Checked && x.ParentId !== 'BANDONEN' && x.ParentId !== 'BANDOVETINH' && x.ParentId !== 'BDHANHCHINH' && x.LayerName != null);\r\n if (tableName.length === 0) {\r\n tableName = listMenu.filter(x => x.Ma === 'BDRGXA');\r\n if (tableName.length === 0) {\r\n return;\r\n }\r\n tabSelect = tableName[0].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n else {\r\n if (tabSelect === '') {\r\n tabSelect = tableName[0].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n else {\r\n setTabSelect(tabSelect);\r\n }\r\n }\r\n const params = {\r\n x: x,\r\n y: y,\r\n tableName: tabSelect\r\n }\r\n setLoading(true);\r\n thongTin = await BanDoPublicApi.getDetail(params);\r\n setThongTin(thongTin);\r\n setX(x);\r\n setY(y);\r\n setId(null);\r\n setLoading(false);\r\n if (thongTin.geomjson != null) {\r\n map.getLayers().forEach(item => {\r\n if (item != null && item.type === 'VECTOR') {\r\n map.removeLayer(item);\r\n }\r\n });\r\n var proj = map.getView().getProjection();\r\n if(proj.getCode() == 'EPSG:4326'){ \r\n vectorSelect = new ol.layer.Vector({\r\n source: new ol.source.Vector({\r\n features: new ol.format.GeoJSON({ featureProjection: 'EPSG:4326', defaultDataProjection: 'EPSG:3857' }).readFeatures(thongTin.geomjson),\r\n }),\r\n style: highlightStyle,\r\n zIndex: 999, \r\n }); \r\n }\r\n else{\r\n vectorSelect = new ol.layer.Vector({\r\n source: new ol.source.Vector({\r\n features: new ol.format.GeoJSON().readFeatures(thongTin.geomjson),\r\n }),\r\n style: highlightStyle,\r\n zIndex: 999, \r\n });\r\n }\r\n \r\n setVectorSelect(vectorSelect);\r\n map.addLayer(vectorSelect);\r\n }\r\n else {\r\n map.getLayers().forEach(item => {\r\n if (item == vectorSelect) {\r\n map.removeLayer(vectorSelect);\r\n }\r\n });\r\n }\r\n }\r\n catch {\r\n setLoading(false);\r\n }\r\n }\r\n\r\n const loadThongTinById = async (e) => {\r\n try {\r\n const index = listMenu.findIndex(x => x.TableName === e.tableName);\r\n if (index !== -1) {\r\n tabSelect = listMenu[index].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n setLoading(true);\r\n showRight++;\r\n setShowRight(showRight);\r\n thongTin = await BanDoPublicApi.getInfoById(e);\r\n setThongTin(thongTin);\r\n setId(e.id);\r\n if (thongTin.geomjson != null) {\r\n map.getLayers().forEach(item => {\r\n if (item != null && item.type === 'VECTOR') {\r\n map.removeLayer(item);\r\n }\r\n });\r\n const features = new ol.format.GeoJSON().readFeatures(thongTin.geomjson);\r\n vectorSelect = new ol.layer.Vector({\r\n source: new ol.source.Vector({\r\n features: features,\r\n }),\r\n style: highlightStyle,\r\n zIndex: 999\r\n });\r\n setVectorSelect(vectorSelect);\r\n map.addLayer(vectorSelect);\r\n const toaDo = new ol.extent.getCenter(features[0].getGeometry().getExtent());\r\n flyTo(toaDo, 14);\r\n }\r\n else {\r\n map.getLayers().forEach(item => {\r\n if (item == vectorSelect) {\r\n map.removeLayer(vectorSelect);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n }\r\n catch {\r\n setLoading(false);\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n vectorDo = new ol.layer.Vector({\r\n source: soureDo,\r\n style: new ol.style.Style({\r\n fill: ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#ffcc33',\r\n width: 2,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33',\r\n }),\r\n })\r\n })\r\n });\r\n positionFeature.setStyle(\r\n new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 6,\r\n fill: new ol.style.Fill({\r\n color: '#3399CC',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#fff',\r\n width: 2,\r\n }),\r\n }),\r\n })\r\n );\r\n geolocaltion.on('change:accuracyGeometry', function () {\r\n accuracyFeature.setGeometry(geolocaltion.getAccuracyGeometry());\r\n });\r\n geolocaltion.on('change', function () {\r\n\r\n geolocaltion.setProjection('EPSG:4326');\r\n let text = '';\r\n text = text + 'Chính xác: ' + (geolocaltion.getAccuracy() ?? 0) + ' m
';\r\n text = text + 'Độ cao: ' + (geolocaltion.getAltitude() ?? 0) + ' m
';\r\n text = text + 'Tốc độ: ' + (geolocaltion.getSpeed() ?? 0) + ' m/s
';\r\n text = text + 'Tọa độ: ' + (geolocaltion.getPosition() ?? 0) + '
';\r\n document.getElementById('info').innerHTML = text;\r\n });\r\n geolocaltion.on('change:position', function () {\r\n let coordinates = geolocaltion.getPosition();\r\n positionFeature.setGeometry(coordinates ? new ol.geom.Point(coordinates) : null);\r\n if (coordinates) {\r\n const zoomSize = map.getView().getZoom();\r\n map.setView(new ol.View({\r\n center: coordinates,\r\n projection: 'EPSG:4326',\r\n zoom: zoomSize\r\n }));\r\n }\r\n });\r\n mousePositionControl = new ol.control.MousePosition({\r\n coordinateFormat: ol.coordinate.createStringXY(4),\r\n projection: 'EPSG:4326',\r\n className: 'custom-mouse-position',\r\n target: document.getElementById('mouse-position'),\r\n undefinedHTML: ''\r\n });\r\n setMousePositionControl(mousePositionControl);\r\n var projectionSelect = document.getElementById('projection');\r\n projectionSelect.addEventListener('change', function (event) {\r\n mousePositionControl.setProjection(event.target.value);\r\n });\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider(),\r\n mousePositionControl\r\n ]),\r\n layers: [\r\n mapBase\r\n // bingMap\r\n ],\r\n view: view\r\n });\r\n let vectorViTri = new ol.layer.Vector({\r\n map: map,\r\n source: new ol.source.Vector({\r\n features: [accuracyFeature, positionFeature]\r\n }),\r\n zIndex: 888\r\n });\r\n map.addLayer(vectorViTri);\r\n map.addControl(customControl('id-do-khoang-cach', 'do-khoang-cach', '', clickDoKhoangCach));\r\n map.addControl(customControl('id-do-dien-tich', 'do-dien-tich', '', clickDoDienTich));\r\n map.addControl(customControl('id-do-vi-tri', 'do-vi-tri', '', clickViTri));\r\n map.addControl(customControl('id-tk-nang-cao', 'tk-nang-cao', '', timKiemNangCao));\r\n map.addControl(customControl('id-lop-ban-do', 'left-lop-ban-do', '', showLopBanDo));\r\n setVectorDo(vectorDo);\r\n setPositionFeature(positionFeature);\r\n map.on('click', function (evt) {\r\n if (isThongTin === false) {\r\n return;\r\n }\r\n const proj = map.getView().getProjection();\r\n if(proj.getCode() == 'EPSG:4326'){\r\n const coord = new ol.proj.transform(evt.coordinate, 'EPSG:4326', 'EPSG:3857');\r\n loadThongTin(coord[0], coord[1]);\r\n }\r\n else{\r\n loadThongTin(evt.coordinate[0], evt.coordinate[1]);\r\n }\r\n });\r\n setMap(map);\r\n }, []);\r\n\r\n const showLopBanDo = () => {\r\n showLeft++;\r\n setShowLeft(showLeft);\r\n }\r\n\r\n const updateTableSelect = (e) => {\r\n tabSelect = e;\r\n setTabSelect(tabSelect);\r\n if (id !== null) {\r\n if (vectorSelect.getSource() != null && vectorSelect.getSource().getFeatures().length > 0) {\r\n const center = vectorSelect.getSource().getFeatures()[0].getGeometry().getExtent();\r\n const toaDo = new ol.extent.getCenter(center);\r\n // console.log(toaDo);\r\n x = toaDo[0];\r\n y = toaDo[1];\r\n setX(x);\r\n setY(y);\r\n loadThongTin(x, y);\r\n }\r\n }\r\n else {\r\n loadThongTin(x, y);\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: 'blue',\r\n width: 2,\r\n }),\r\n });\r\n\r\n const removeAttribute = (id) => {\r\n let controll = document.getElementById(id);\r\n if (controll.hasAttribute('active')) {\r\n controll.removeAttribute('active');\r\n controll.removeAttribute('class');\r\n map.removeInteraction(drawDo);\r\n vectorDo.getSource().clear();\r\n map.removeLayer(vectorDo);\r\n map.getOverlays().clear();\r\n }\r\n }\r\n\r\n const clickDoKhoangCach = () => {\r\n let controllButton = document.getElementById('id-do-khoang-cach');\r\n removeAttribute('id-do-dien-tich');\r\n if (controllButton.hasAttribute('active')) {\r\n removeAttribute('id-do-khoang-cach');\r\n isThongTin = true;\r\n }\r\n else {\r\n isThongTin = false;\r\n controllButton.setAttribute('active', 1);\r\n controllButton.setAttribute('class', 'ctrl-active');\r\n map.addLayer(vectorDo);\r\n addInteractionDo('LineString');\r\n }\r\n setIsThongTin(isThongTin);\r\n }\r\n\r\n const clickDoDienTich = () => {\r\n let controllButton = document.getElementById('id-do-dien-tich');\r\n removeAttribute('id-do-khoang-cach');\r\n if (controllButton.hasAttribute('active')) {\r\n removeAttribute('id-do-dien-tich');\r\n isThongTin = true;\r\n }\r\n else {\r\n isThongTin = false;\r\n controllButton.setAttribute('active', 1);\r\n controllButton.setAttribute('class', 'ctrl-active');\r\n map.addLayer(vectorDo);\r\n addInteractionDo('Polygon');\r\n }\r\n setIsThongTin(isThongTin);\r\n }\r\n\r\n const clickViTri = () => {\r\n let controllButton = document.getElementById('id-do-vi-tri');\r\n let showinfo = document.getElementById('info');\r\n if (controllButton.hasAttribute('active')) {\r\n removeAttribute('id-do-vi-tri');\r\n geolocaltion.setTracking(false);\r\n showinfo.setAttribute('class', 'hide');\r\n }\r\n else {\r\n controllButton.setAttribute('active', 1);\r\n controllButton.setAttribute('class', 'ctrl-active');\r\n geolocaltion.setTracking(true);\r\n showinfo.removeAttribute('class');\r\n }\r\n\r\n }\r\n\r\n function customControl(id, classCss, icon, func) {\r\n let button = document.createElement('button');\r\n button.setAttribute('id', id);\r\n button.innerHTML = icon;\r\n let element = document.createElement('div');\r\n element.className = classCss + ' ol-unselectable ol-control';\r\n element.appendChild(button);\r\n button.addEventListener('click', function () {\r\n func();\r\n }, false);\r\n return new ol.control.Control({\r\n element: element\r\n });\r\n\r\n }\r\n\r\n //Cập nhật thay đổi chọn huyện\r\n useEffect(() => {\r\n if (listLopBanDos.length > 0) {\r\n let params = {\r\n CQL_FILTER: props.listHuyens.length > 0 ? `maxa IN (${props.listHuyens.map(x => x.Ma).join(',')})` : 'maxa=100'\r\n }\r\n listLopBanDos.forEach(item => {\r\n if (item.province.getSource() && item.Ma != 'BDTINH') {\r\n item.province.getSource().updateParams(params);\r\n }\r\n })\r\n setMap(map);\r\n }\r\n\r\n }, [props.listHuyens]);\r\n\r\n useEffect(() => {\r\n if (props.geomjson !== '') {\r\n const local = JSON.parse(props.geomjson);\r\n flyTo(local.coordinates, 16);\r\n }\r\n }, [props.geomjson]);\r\n\r\n useEffect(() => {\r\n if (props.printMap > 0) {\r\n let view = map.getViewport();\r\n htmlToImage.toPng(view).then(function (dataUrl) {\r\n var pdf = new jsPDF('landscape');\r\n // // var pdf = new jsPDF();\r\n pdf.addImage(dataUrl, 'PNG', 0, 0, view.clientWidth / 3.8, view.clientHeight / 3.8);\r\n // pdf.save(\"bando.pdf\");\r\n // pdf.autoPrint();\r\n window.open(pdf.output('bloburl'), '_blank')\r\n });\r\n\r\n }\r\n }, [props.printMap]);\r\n\r\n useEffect(() => {\r\n console.log(props);\r\n if (props.toaDo.length > 0) {\r\n flyTo(props.toaDo, 14, true);\r\n }\r\n }, [props.toaDo])\r\n\r\n useEffect(() => {\r\n if(props.showPhanBon > 0){\r\n setShowKhuyenCao(true);\r\n }\r\n }, [props.showPhanBon])\r\n\r\n const hidePhanBon = () => {\r\n setShowKhuyenCao(false);\r\n }\r\n\r\n function flyTo(localtion, zoomNew) {\r\n let duration = 2000;\r\n let parts = 2;\r\n let called = false;\r\n function callback(complete) {\r\n --parts;\r\n if (called) {\r\n return;\r\n }\r\n if (parts === 0 || !complete) {\r\n called = true;\r\n }\r\n }\r\n map.getView().animate(\r\n {\r\n center: localtion,\r\n duration: duration\r\n },\r\n callback\r\n );\r\n map.getView().animate(\r\n {\r\n zoom: zoomNew - 1,\r\n duration: duration / 2\r\n },\r\n {\r\n zoom: zoomNew,\r\n duration: duration / 2\r\n },\r\n callback\r\n )\r\n }\r\n var helpTooltipElement;\r\n var helpTooltip;\r\n\r\n const createHelpTooltip = () => {\r\n if (helpTooltipElement) {\r\n helpTooltipElement.parentNode.removeChild(helpTooltipElement);\r\n }\r\n helpTooltipElement = document.createElement('div');\r\n helpTooltipElement.className = 'ol-tooltip hidden';\r\n helpTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left',\r\n });\r\n map.addOverlay(helpTooltip);\r\n setMap(map);\r\n }\r\n var sketch;\r\n var measureTooltipElement;\r\n var measureTooltip;\r\n const addInteractionDo = (type) => {\r\n drawDo = new ol.interaction.Draw({\r\n source: soureDo,\r\n type: type,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.5)',\r\n lineDash: [10, 10],\r\n width: 2,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.7)',\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)'\r\n })\r\n })\r\n })\r\n });\r\n map.addInteraction(drawDo);\r\n setDrawDo(drawDo);\r\n createMeasureTooltip();\r\n createHelpTooltip();\r\n var listener;\r\n drawDo.on('drawstart', function (evt) {\r\n sketch = evt.feature;\r\n var tooltipCoord = evt.coordinate;\r\n listener = sketch.getGeometry().on('change', function (evt) {\r\n var geom = evt.target;\r\n var output;\r\n if (geom instanceof ol.geom.Polygon) {\r\n output = formatArea(geom);\r\n tooltipCoord = geom.getInteriorPoint().getCoordinates();\r\n } else if (geom instanceof ol.geom.LineString) {\r\n output = formatLength(geom);\r\n tooltipCoord = geom.getLastCoordinate();\r\n }\r\n measureTooltipElement.innerHTML = output;\r\n measureTooltip.setPosition(tooltipCoord);\r\n })\r\n });\r\n drawDo.on('drawend', function () {\r\n measureTooltipElement.className = 'ol-tooltip ol-tooltip-static';\r\n measureTooltip.setOffset([0, -7]);\r\n // unset sketch\r\n sketch = null;\r\n // unset tooltip so that a new one can be created\r\n measureTooltipElement = null;\r\n createMeasureTooltip();\r\n ol.Observable.unByKey(listener);\r\n });\r\n setDrawDo(drawDo);\r\n setMap(map);\r\n }\r\n\r\n const formatArea = (polygon) => {\r\n var area = ol.Sphere.getArea(polygon);\r\n var output;\r\n if (area > 10000) {\r\n output = Math.round((area / 1000000) * 100) / 100 + ' km2';\r\n } else {\r\n output = Math.round(area * 100) / 100 + ' m2';\r\n }\r\n return output;\r\n };\r\n\r\n const formatLength = (line) => {\r\n var length = ol.Sphere.getLength(line);\r\n var output;\r\n if (length > 100) {\r\n output = Math.round((length / 1000) * 100) / 100 + ' ' + 'km';\r\n } else {\r\n output = Math.round(length * 100) / 100 + ' ' + 'm';\r\n }\r\n return output;\r\n };\r\n\r\n function createMeasureTooltip() {\r\n if (measureTooltipElement) {\r\n measureTooltipElement.parentNode.removeChild(measureTooltipElement);\r\n }\r\n measureTooltipElement = document.createElement('div');\r\n measureTooltipElement.className = 'ol-tooltip ol-tooltip-measure';\r\n measureTooltip = new ol.Overlay({\r\n element: measureTooltipElement,\r\n offset: [0, -15],\r\n positioning: 'bottom-center',\r\n });\r\n map.addOverlay(measureTooltip);\r\n }\r\n\r\n //thay đổi lựa chọn bản đồ từ menu\r\n const selectBanDo = async (listMenus) => {\r\n listMenus.forEach(item => {\r\n const index = listMenu.findIndex(x => x.Ma === item.Ma);\r\n if (index === -1) {\r\n listMenu.push(item);\r\n }\r\n else {\r\n listMenu[index].Checked = item.Checked;\r\n }\r\n });\r\n listMenus.forEach(item => {\r\n if (item.ParentId === 'BANDOVETINH') {\r\n if (item.Ma === 'BING') {\r\n let isCheck = true;\r\n map.getLayers().forEach(l => {\r\n if (l === bingMap) {\r\n isCheck = false;\r\n }\r\n });\r\n if (isCheck) {\r\n bingMap.setVisible(true);\r\n map.addLayer(bingMap);\r\n }\r\n else {\r\n bingMap.setVisible(item.Checked);\r\n }\r\n mapBase.setVisible(false);\r\n }\r\n else {\r\n if (sourceBase.getUrls().findIndex(x => x === item.Url) !== -1) {\r\n mapBase.setVisible(item.Checked);\r\n }\r\n else if (item.Checked) {\r\n sourceBase.setUrl(item.Url);\r\n mapBase.setVisible(item.Checked);\r\n }\r\n bingMap.setVisible(false);\r\n setSourceBase(sourceBase);\r\n setMapBase(mapBase);\r\n }\r\n }\r\n if (item.ParentId !== 'BANDOVETINH' && item.Url != null) {\r\n const index = listLopBanDos.findIndex(x => x.Ma === item.Ma);\r\n if (index === -1) {\r\n if(item.Ma != 'BDTINH')\r\n {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version, CQL_FILTER: 'maxa IN (' + props.listHuyens.map(x => x.Ma).join(',') + ')' },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n crossOrigin: ''\r\n }),\r\n zIndex: item.SortOrder\r\n });\r\n province.setVisible(item.Checked);\r\n province.setZIndex(item.SortOrder);\r\n map.addLayer(province);\r\n item.province = province;\r\n listLopBanDos.push(item);\r\n }\r\n else{\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n crossOrigin: ''\r\n }),\r\n zIndex: item.SortOrder\r\n });\r\n province.setVisible(item.Checked);\r\n province.setZIndex(item.SortOrder);\r\n map.addLayer(province);\r\n item.province = province;\r\n listLopBanDos.push(item);\r\n }\r\n }\r\n else {\r\n listLopBanDos[index].province.setVisible(item.Checked);\r\n }\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setMap(map);\r\n }\r\n\r\n const getSelectGhiChu = (e) => {\r\n setSelectGhiChu(e);\r\n setShowFooter(showFooter + 1);\r\n }\r\n\r\n const timKiemNangCao = () => {\r\n showTimKiemNangCao++;\r\n setShowTimKiemNangCao(showTimKiemNangCao);\r\n }\r\n\r\n const onTimKiemNangCao = (e) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Ma == e.Ma && item.province.getSource() && item.Ma != 'BDTinh') {\r\n let params = {\r\n // CQL_FILTER: props.listHuyens.length > 0 ? `maHuyen IN (${props.listHuyens.map(x => x.Ma).join(',')}) AND ${e.Sql}` : 'maHuyen=100'\r\n CQL_FILTER: e.Sql\r\n }\r\n item.province.getSource().updateParams(params);\r\n }\r\n })\r\n setMap(map);\r\n }\r\n\r\n const timkiemGhiChu = (e) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Ma == selectGhiChu.Ma && item.province.getSource() && item.Ma != 'BDTINH') {\r\n let params = {\r\n CQL_FILTER: props.listHuyens.length > 0 ? `maxa IN (${props.listHuyens.map(x => x.Ma).join(',')}) AND ${selectGhiChu.TimKiemGhiChu} IN (${e})` : 'maxa=100'\r\n }\r\n item.province.getSource().updateParams(params);\r\n }\r\n });\r\n setMap(map);\r\n }\r\n\r\n const onSapXep = (list) => {\r\n if (list.length > 0) {\r\n list.forEach(item => {\r\n const index = listLopBanDos.findIndex(x => x.Ma === item.Ma);\r\n if (index !== -1) {\r\n listLopBanDos[index].province.setZIndex(item.SortOrder);\r\n }\r\n })\r\n }\r\n }\r\n\r\n const changeProjection = (event) => {\r\n const newProj = new ol.proj.get(event.target.value);\r\n const center = event.target.value == 'EPSG:3857' ? [12031226.4706, 1518077.6003] : new ol.proj.transform([12031226.4706, 1518077.6003], 'EPSG:3857', 'EPSG:4326');\r\n // const newProjExtent = event.target.value == 'EPSG:3857' ? [11701396.5663, 2339161.4027, 11822104.2950, 2444697.4873] : new ol.proj.transform([11701396.5663, 2339161.4027, 11822104.2950, 2444697.4873], 'EPSG:3857', 'EPSG:4326');\r\n const view = new ol.View({\r\n projection: newProj,\r\n center: center,\r\n zoom: 11,\r\n minZoom: 9,\r\n maxZoom: 17,\r\n // extent: newProjExtent\r\n });\r\n map.setView(view);\r\n // setMap(map);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n\r\n
\r\n updateTableSelect(e)}>\r\n \r\n
\r\n
\r\n
\r\n Tọa độ:\r\n
\r\n onTimKiemNangCao(e)} listHuyens={props.listHuyens}\r\n loadThongTinById={(e) => loadThongTinById(e)}>\r\n getSelectGhiChu(e)} onSapXep={(e) => onSapXep(e)}>\r\n \r\n timkiemGhiChu(e)} height=\"90\">\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Tọa độ:\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n hidePhanBon()} >\r\n \r\n
\r\n )\r\n}","import React from 'react';\r\nimport { default as ReactSelect } from \"react-select\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport const SelectMulti = (props) => {\r\n if (props.allowSelectAll) {\r\n return (\r\n {\r\n if (selected !== null && selected.length > 0) {\r\n if (selected[selected.length - 1].value === props.allOption.value) {\r\n return props.onChange([props.allOption, ...props.options]);\r\n }\r\n let result = [];\r\n if (selected.length === props.options.length) {\r\n if (selected.includes(props.allOption)) {\r\n result = selected.filter(\r\n option => option.value !== props.allOption.value\r\n );\r\n } else if (event.action === \"select-option\") {\r\n result = [props.allOption, ...props.options];\r\n }\r\n return props.onChange(result);\r\n }\r\n }\r\n return props.onChange(selected);\r\n }}\r\n />\r\n );\r\n }\r\n return ;\r\n}\r\nSelectMulti.propTypes = {\r\n options: PropTypes.array,\r\n value: PropTypes.any,\r\n onChange: PropTypes.func,\r\n allowSelectAll: PropTypes.bool,\r\n allOption: PropTypes.shape({\r\n label: PropTypes.string,\r\n value: PropTypes.string\r\n })\r\n};\r\n\r\nSelectMulti.defaultProps = {\r\n allOption: {\r\n label: \"Huyện Chư Pưh\",\r\n value: 0,\r\n Ma: 0\r\n }\r\n};\r\n","import React, { useEffect, useState } from 'react'\r\nimport { components } from 'react-select';\r\nimport QuanHuyenApi from '../../api/QuanHuyenApi';\r\nimport { SelectMulti } from './SelectMulti'\r\n\r\nexport const SelectHuyenMulti = (props) => {\r\n const [listQuanHuyens, setQuanHuyen] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n const loadQuanHuyen = () => {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten, Ma: item.Ma, toaDoX: item.ToaDoX, toaDoY: item.ToaDoY, zoom: item.Zoom });\r\n });\r\n setQuanHuyen(list);\r\n // list.unshift(allOption);\r\n setSelectedOption([allOption, ...list]);\r\n setTimeout(() => {\r\n props.onChangeHuyenProps(list);\r\n }, 100);\r\n })\r\n }\r\n loadQuanHuyen();\r\n }, []);\r\n\r\n const allOption = {\r\n label: \"Huyện Chư Pưh\",\r\n value: 0,\r\n Ma: 0\r\n };\r\n\r\n const Option = props => {\r\n return (\r\n
\r\n \r\n null}\r\n />{\" \"}\r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const ValueContainer = ({ children, ...props }) => {\r\n const currentValues = props.getValue();\r\n let toBeRendered = children;\r\n if (currentValues.some(val => val.value === allOption.value)) {\r\n toBeRendered = [[children[0][0]], children[1]];\r\n }\r\n return (\r\n \r\n {toBeRendered}\r\n \r\n );\r\n };\r\n const MultiValue = props => {\r\n let labelToBeDisplayed = `${props.data.label}, `;\r\n\r\n const currentValues = props.getValue();\r\n if (currentValues.length > 2) {\r\n if (currentValues[currentValues.length - 1].value === props.data.value) {\r\n labelToBeDisplayed = `Bạn đã chọn (${currentValues.length})`\r\n }\r\n else {\r\n if (props.data.value === allOption.value) {\r\n labelToBeDisplayed = allOption.label;\r\n }\r\n else {\r\n return '';\r\n }\r\n }\r\n }\r\n return (\r\n \r\n {labelToBeDisplayed}\r\n \r\n );\r\n };\r\n const handleChange = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeHuyenProps(e);\r\n\r\n }\r\n return (\r\n \r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n onChange={handleChange}\r\n allowSelectAll={true}\r\n value={selectedOption}\r\n styles={{ container: (base) => ({ ...base, zIndex: 500 }) }}\r\n />\r\n \r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst MenuPublicApi = {\r\n getAll: () => {\r\n const url = '/menupublic/getall';\r\n return axiosClient.get(url)\r\n },\r\n}\r\nexport default MenuPublicApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst HuongDanApi = {\r\n getPaging: (params) => {\r\n const url = '/huongdan/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/huongdan/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/huongdan/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/huongdan/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/huongdan/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'huongdan/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default HuongDanApi;","import React, { useState, useEffect } from 'react'\r\nimport './HuongDan.css'\r\nimport HuongDanApi from '../../api/HuongDanApi';\r\nimport Draggable from 'react-draggable';\r\nimport $ from 'jquery';\r\n\r\nexport const HuongDan = (props) => {\r\n const [listHuongDans, setListHuongDans] = useState([]);\r\n const [huongDan, setHuongDan] = useState({});\r\n const [srcBaoCao, setSrcBaoCao] = useState('');\r\n var apiUrl = process.env.REACT_APP_URL;\r\n\r\n const handleClose = () => {\r\n $('#modalhuongdan').modal('hide');\r\n $('#modalhuongdan').modal('dispose');\r\n props.handleClose();\r\n }\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n $('#modalhuongdan').modal('show');\r\n loadHuongDan();\r\n }\r\n }, [props.show]);\r\n\r\n const viewHuongDan = (item) => {\r\n setHuongDan(item);\r\n }\r\n\r\n const loadHuongDan = async () => {\r\n try {\r\n const params = {\r\n hienThiCongKhai: true\r\n }\r\n const response = await HuongDanApi.getAll(params);\r\n debugger;\r\n setListHuongDans(response);\r\n if (response.length > 0) {\r\n setHuongDan(response[0]);\r\n var url = \"http://docs.google.com/gview?url=\" + new URL(apiUrl + response[0].TapTin) + \"&embedded=true\";\r\n setSrcBaoCao(url);\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Hướng dẫn Tải file
\r\n \r\n
\r\n
\r\n {/* */}\r\n
\r\n
\r\n {\r\n listHuongDans.map((item, key) => {\r\n return (\r\n
viewHuongDan(item)} key={key}>{item.TieuDe}
\r\n )\r\n })\r\n }\r\n
\r\n
\r\n
{huongDan.TieuDe}
\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst GopYApi = {\r\n getPaging: (params) => {\r\n const url = '/gopy/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/gopy/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/gopy/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/gopy/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/gopy/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'gopy/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default GopYApi;","import React, { useEffect, useState } from 'react'\r\nimport { useForm } from 'react-hook-form';\r\nimport $ from 'jquery';\r\nimport GopYApi from '../../api/GopYApi';\r\nimport Draggable from 'react-draggable';\r\n\r\nexport const GopY = (props) => {\r\n\r\n const { handleSubmit, register, reset, errors } = useForm();\r\n const [guiThanhCong, setGuiThanhCong] = useState(false);\r\n\r\n const handleClose = () => {\r\n $('#modalgopy').modal('hide');\r\n $('#modalgopy').modal('dispose');\r\n props.handleClose();\r\n }\r\n\r\n useEffect(() => {\r\n reset({\r\n IdGopY: 0\r\n }, [reset]);\r\n if (props.show) {\r\n $('#modalgopy').modal('show');\r\n }\r\n }, [props.show]);\r\n\r\n const saveData = (data) => {\r\n data.Delete=false;\r\n data.CreatedDate=new Date();\r\n if (data.IdGopY === \"0\") {\r\n GopYApi.post(data).then(() => {\r\n setGuiThanhCong(true);\r\n // setShow(false);\r\n // loadPosts();\r\n })\r\n }\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Góp ý
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.TieuDe && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.HoTen && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Email && errors.Email.message}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Logo\r\n
\r\n
\r\n {/* lienHe.logo = e.target.value}/> */}\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Trạng thái\r\n
\r\n
\r\n lienHe.status = e.target.checked}>\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n Hiển thị liên hệ\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Hủy\r\n \r\n \r\n onFileSelected(e)}>\r\n
\r\n );\r\n};\r\n","import axiosClient from './axiosClient';\r\n\r\nconst TrangApi = {\r\n\r\n createTrang:(params) => {\r\n const url = '/Trang';\r\n return axiosClient.post(url, params);\r\n \r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/Trang/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n updateTrang:(params) => {\r\n const url = '/Trang';\r\n console.log(params);\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n DeleteTrang:(Id) => {\r\n const url = '/Trang/'+ Id;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n getTrang:(params) => {\r\n const url = '/Trang/paging';\r\n return axiosClient.get(url, {params});\r\n }\r\n\r\n}\r\n\r\nexport default TrangApi;","\r\nconst Ultility = {\r\n MakeSeoTitle(input) {\r\n if (input == undefined || input == '')\r\n return '';\r\n //Đổi chữ hoa thành chữ thường\r\n var slug = input.toLowerCase();\r\n \r\n //Đổi ký tự có dấu thành không dấu\r\n slug = slug.replace(/á|à|ả|ạ|ã|ă|ắ|ằ|ẳ|ẵ|ặ|â|ấ|ầ|ẩ|ẫ|ậ/gi, 'a');\r\n slug = slug.replace(/é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ/gi, 'e');\r\n slug = slug.replace(/i|í|ì|ỉ|ĩ|ị/gi, 'i');\r\n slug = slug.replace(/ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ/gi, 'o');\r\n slug = slug.replace(/ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự/gi, 'u');\r\n slug = slug.replace(/ý|ỳ|ỷ|ỹ|ỵ/gi, 'y');\r\n slug = slug.replace(/đ/gi, 'd');\r\n //Xóa các ký tự đặt biệt\r\n slug = slug.replace(/\\`|\\~|\\!|\\@|\\#|\\||\\$|\\%|\\^|\\&|\\*|\\(|\\)|\\+|\\=|\\,|\\.|\\/|\\?|\\>|\\<|\\'|\\\"|\\:|\\;|_/gi, '');\r\n //Đổi khoảng trắng thành ký tự gạch ngang\r\n slug = slug.replace(/ /gi, \"-\");\r\n //Đổi nhiều ký tự gạch ngang liên tiếp thành 1 ký tự gạch ngang\r\n //Phòng trường hợp người nhập vào quá nhiều ký tự trắng\r\n slug = slug.replace(/\\-\\-\\-\\-\\-/gi, '-');\r\n slug = slug.replace(/\\-\\-\\-\\-/gi, '-');\r\n slug = slug.replace(/\\-\\-\\-/gi, '-');\r\n slug = slug.replace(/\\-\\-/gi, '-');\r\n //Xóa các ký tự gạch ngang ở đầu và cuối\r\n slug = '@' + slug + '@';\r\n slug = slug.replace(/\\@\\-|\\-\\@|\\@/gi, '');\r\n \r\n return slug;\r\n }\r\n}\r\nexport default Ultility;","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport TrangApi from '../../../api/TrangApi';\r\nimport '../../../css/reacttab.css';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport '../../../css/apppublic.css';\r\nimport Authen from '../../../core/Authen';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport Ultility from '../../../core/Ultility'\r\nimport UrlTile from 'ol/source/UrlTile';\r\nimport { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport ThongBao from '../../../core/ThongBao';\r\n\r\nexport const Trang = () => {\r\n const [listTrang, setListTrang] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [show, setShow] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\r\n const [trang, setTrang] = useState({});\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [ckdData, setckdData] = useState('');\r\n const [showModalImage, setShowModalImage] = useState(false);\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n\r\n const { handleSubmit, register, reset, errors } = useForm();\r\n\r\n const [nhanVien, setNhanVien] = useState({});\r\n const url = process.env.REACT_APP_API_URL.replace('api', '');\r\n\r\n useEffect(() => {\r\n setNhanVien(Authen.getUser());\r\n }, []);\r\n\r\n const [paginationConfig, setPaginationConfig] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: 'sm',\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n if (page != null) {\r\n pageIndex = page;\r\n loadTrang();\r\n }\r\n }\r\n });\r\n\r\n var pageIndex = 1, pageSize = 20;\r\n\r\n const loadTrang = async () => {\r\n try {\r\n const params = {\r\n keyword: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const res = await TrangApi.getTrang(params);\r\n res.Items.map((x) => {\r\n x.Checked = false\r\n });\r\n setListTrang(res.Items);\r\n\r\n paginationConfig.totalPages = Math.ceil(res.TotalRow == 0 ? 1 : res.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n setIsEdit(false);\r\n setTrang({});\r\n }\r\n catch {\r\n console.log('loi roi');\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n loadTrang();\r\n setRoleAdd(Authen.checkQuyen('TRANG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('TRANG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('TRANG_DELETE'));\r\n }, [])\r\n\r\n const setFilt = (e) => {\r\n setFilter(e.target.value);\r\n }\r\n\r\n const Timkiem = () => {\r\n loadTrang();\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setIsXem(false);\r\n setckdData(trang.content);\r\n }\r\n const handleShow = () => {\r\n reset({\r\n id: 0,\r\n name: \"\",\r\n alias: \"\",\r\n status: true,\r\n delete: false,\r\n // content: \"\",\r\n homeflag: true\r\n }, [reset])\r\n setTrang({\r\n id: 0,\r\n name: \"\",\r\n alias: \"\",\r\n status: true,\r\n delete: false,\r\n // content: \"\",\r\n homeflag: true\r\n });\r\n setckdData(\"\");\r\n setIsXem(false);\r\n setIsEdit(false);\r\n setSrcImage(noImage);\r\n setShow(true);\r\n }\r\n\r\n const handleShowEdit = () => {\r\n let index = listTrang.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n TrangApi.getDetail(listTrang[index].id).then((response) => {\r\n reset({\r\n id: response.id,\r\n name: response.name,\r\n alias: response.alias,\r\n content: response.content,\r\n createddate: response.createddate,\r\n createdby: response.createdby,\r\n updateddate: response.updateddate,\r\n updatedby: response.updatedby,\r\n status: response.status,\r\n delete: response.delete,\r\n metakeyword: response.metakeyword,\r\n metadescription: response.metadescription,\r\n image: response.image,\r\n description: response.description,\r\n homeflag: response.homeflag\r\n }, [reset]);\r\n // setTrang(response);\r\n setSrcImage(response.image);\r\n setTrang(response);\r\n // setIsEdit(true);\r\n setIsXem(false);\r\n setIsEdit(true);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n const rowClick = (id) => {\r\n listTrang.forEach(item => {\r\n if (item.id === id) {\r\n item.Checked = true;\r\n }\r\n else {\r\n item.Checked = false;\r\n }\r\n });\r\n setIsEdit(true);\r\n setListTrang([...listTrang]);\r\n }\r\n\r\n const handleShowData = () => {\r\n setIsXem(true);\r\n setShow(true);\r\n }\r\n\r\n const showViewModalImage = () => {\r\n setShowModalImage(true);\r\n }\r\n const CloseViewModalImage = () => {\r\n setShowModalImage(false);\r\n }\r\n\r\n const changeCK = (event, editor) => {\r\n const data = editor.getData();\r\n setckdData(data);\r\n }\r\n\r\n const dateNow = () => {\r\n let date = new Date().getDate();\r\n let month = new Date().getMonth() + 1;\r\n let year = new Date().getFullYear();\r\n return year + '-' + month + '-' + date;\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n data.metakeyword = '';\r\n data.metadescription = '';\r\n data.image = srcImage;\r\n if (ckdData != '') {\r\n data.content = ckdData;\r\n }\r\n else {\r\n data.content = trang.content;\r\n }\r\n if (data.alias === null || data.alias === '') {\r\n data.alias = Ultility.MakeSeoTitle(data.name);\r\n }\r\n if (data.homeflag == null) {\r\n data.homeflag = true;\r\n }\r\n if (!isEdit) {\r\n data.id = 1;\r\n console.log(data);\r\n const res = await TrangApi.createTrang(data);\r\n }\r\n else {\r\n const res = await TrangApi.updateTrang(data);\r\n }\r\n setShow(false);\r\n setIsXem(false);\r\n setIsEdit(false);\r\n setTrang({});\r\n loadTrang();\r\n reset({}, [reset]);\r\n }\r\n catch (ex) {\r\n console.log(ex.message);\r\n }\r\n\r\n }\r\n\r\n const alertDell = async () => {\r\n var lst = listTrang.filter(x => x.Checked == true);\r\n if (lst.length > 0) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n TrangApi.DeleteTrang(lst[0].id).then(() => {\r\n loadTrang();\r\n setTrang({});\r\n setIsEdit(false);\r\n });\r\n });\r\n // confirmAlert({\r\n // title: 'Xóa bài viết',\r\n // message: 'Bạn có chắc muốn xóa bài viết',\r\n // buttons: [\r\n // {\r\n // label: 'Đồng ý',\r\n // onClick: async () => {\r\n // const res = await TrangApi.DeleteTrang(lst[0].id);\r\n // loadTrang();\r\n // setTrang({});\r\n // setIsEdit(false);\r\n // }\r\n // },\r\n // {\r\n // label: 'không',\r\n // onClick: () => {\r\n // }\r\n // }\r\n // ]\r\n // });\r\n }\r\n }\r\n\r\n const textContent_Style = {\r\n height: '3.5em',\r\n overflow: 'hidden',\r\n textOverflow: 'ellipsis'\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Trang
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listTrang.map((item, key) => {\r\n return (\r\n
rowClick(item.id)}>\r\n
\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Tên trangAliasNội dungTrạng thái
\r\n item.Checked = e.target.value}>\r\n {item.name}{item.alias}
\r\n {item.status == true &&\r\n Kích hoạt\r\n }\r\n {item.status == false &&\r\n Khóa\r\n }\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Trang\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Tên bài viết *\r\n
\r\n
\r\n \r\n {errors.name && errors.name.message}\r\n
\r\n
\r\n
\r\n
\r\n Alias\r\n
\r\n
\r\n trang.alias = e.target.value}>\r\n {/* {errors.alias && errors.alias.message} */}\r\n
\r\n
\r\n
\r\n
\r\n Mô tả\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Logo\r\n
\r\n
\r\n
\r\n trang.image = e.target.value} onClick={showViewModalImage} />\r\n
\r\n\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Nội dung\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n {/* changeCK(event, editor)}> */}\r\n changeCK(event, editor)} />\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n Hủy\r\n \r\n
\r\n onFileSelected(e)}>\r\n
\r\n\r\n\r\n );\r\n};\r\n","import axiosClient from './axiosClient';\r\nconst DonViDatDaiApi = { \r\n updateThongTin: (data) => {\r\n const url = '/donvidatdai/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/donvidatdai/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default DonViDatDaiApi;","import React, { useEffect, useState } from 'react'\r\nimport { Button, Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport DonViDatDaiApi from '../../api/DonViDatDaiApi';\r\n\r\nexport const ModalDonViDatDai = (props) => {\r\n const { register, handleSubmit, reset } = useForm();\r\n const [show, setShow] = useState(false);\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listLopMau, setLopMau] = useState([]);\r\n const [gid, setGid] = useState('');\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n TenHuyen: props.thongTin.huyen,\r\n TenXa: props.thongTin.xa,\r\n CayTrong: props.thongTin.caytrong,\r\n ChiSoKhoHan: props.thongTin.chisokhoha,\r\n MucDoDaLan: props.thongTin.dalan,\r\n DiaHinhTuongDoi: props.thongTin.dhtd,\r\n DienTich: props.thongTin.dt_bs,\r\n DungTrong: props.thongTin.dungtrong_,\r\n MaMau: props.thongTin.dvdd,\r\n LoaiDat: props.thongTin.g,\r\n\r\n MucDoKhoHan: props.thongTin.khohan_dt,\r\n LuongMua: props.thongTin.luongmua_d,\r\n MaDat: props.thongTin.madat,\r\n NgapUng: props.thongTin.ngapung_dt,\r\n NhietDo: props.thongTin.nhietdo,\r\n\r\n PhanCapPH: props.thongTin.pc_ph,\r\n PhanCapCEC: props.thongTin.pc_cec,\r\n PhanCapDinhDuong: props.thongTin.pc_dd,\r\n PhanCapNito: props.thongTin.pc_n,\r\n PhanCapPhotPho: props.thongTin.pc_p,\r\n PhanCapKali: props.thongTin.pc_k,\r\n PhanCapHuuCoTong: props.thongTin.pc_om,\r\n PhanCapDoPhi: props.thongTin.pc_dp,\r\n\r\n SoThangKhoHan: props.thongTin.sothangkho,\r\n DiaHinh: props.thongTin.sl,\r\n TangDay: props.thongTin.tangday,\r\n ThanhPhanCoGioi: props.thongTin.tpcg,\r\n CheDoTieu: props.thongTin.tieu_dt,\r\n CheDoTuoi: props.thongTin.tuoi_dt,\r\n TongTichOn: props.thongTin.tton_dt,\r\n PhanVung: props.thongTin.phanvung,\r\n // PC_R: props.thongTin.pc_r,\r\n // PC_T: props.thongTin.pc_t, \r\n // PhanCapChiSoKhoHan: props.thongTin.pc_chisokh,\r\n\r\n mau_anhhuo: props.thongTin.mau_anhhuo,\r\n TenTinh: props.thongTin.tinh,\r\n tenpd: props.thongTin.tenpd,\r\n\r\n }, [reset]);\r\n var index = listLopMau.findIndex(x => x.value == props.thongTin.dvdd);\r\n setSelectedOption(listLopMau[index]);\r\n }, [props.showEdit]);\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setShow(true);\r\n }\r\n }, [props.showEdit]);\r\n\r\n const saveData = (data) => {\r\n data.Gid = gid;\r\n if (props.themMoi) {\r\n DonViDatDaiApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n else {\r\n DonViDatDaiApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n const onChangeMau = (e) => {\r\n setSelectedOption(e);\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin đơn vị đất đai\r\n \r\n \r\n
\r\n \r\n
\r\n {/* \r\n
\r\n \r\n
*/}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* \r\n
\r\n \r\n
*/}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
*/}\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport { ModalDonViDatDai } from './ModalDonViDatDai';\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const DonViDatDai = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n\r\n var [map, setMap] = useState(new ol.Map());\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n const [filter, setFilter] = useState();\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('dvdd');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n setThongTin(thongTin);\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: 4\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: 4,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n if (item.Checked) {\r\n province.setVisible(item.Checked);\r\n }\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === 4) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n if (item.Checked) {\r\n provinceDat.setVisible(item.Checked);\r\n }\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin = {};\r\n thongTin.Geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin(thongTin);\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('DONVIDATDAI_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('DONVIDATDAI_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('DONVIDATDAI_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n thongTin = {};\r\n setThongTin(thongTin);\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n console.log(feature)\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n thongTin = {};\r\n thongTin.gid = feature.getId();\r\n thongTin.caytrong = feature.get('caytrong');\r\n thongTin.chisokhoha = feature.get('chisokhoha');\r\n thongTin.dalan = feature.get('dalan');\r\n thongTin.dhtd = feature.get('dhtd');\r\n thongTin.dt_bs = feature.get('dt_bs');\r\n thongTin.dungtrong_ = feature.get('dungtrong_');\r\n thongTin.dvdd = feature.get('dvdd');\r\n thongTin.g = feature.get('g');\r\n thongTin.huyen = feature.get('huyen');\r\n thongTin.khohan_dt = feature.get('khohan_dt');\r\n thongTin.luongmua_d = feature.get('luongmua_d');\r\n thongTin.madat = feature.get('madat');\r\n thongTin.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTin.ngapung_dt = feature.get('ngapung_dt');\r\n thongTin.nhietdo = feature.get('nhietdo');\r\n thongTin.pc_cec = feature.get('pc_cec');\r\n thongTin.pc_dd = feature.get('pc_dd');\r\n thongTin.pc_dp = feature.get('pc_dp');\r\n thongTin.pc_k = feature.get('pc_k');\r\n thongTin.pc_n = feature.get('pc_n');\r\n thongTin.pc_om = feature.get('pc_om');\r\n thongTin.pc_p = feature.get('pc_p');\r\n thongTin.pc_ph = feature.get('pc_ph');\r\n thongTin.phanvung = feature.get('phanvung');\r\n thongTin.sl = feature.get('sl');\r\n thongTin.sothangkho = feature.get('sothangkho');\r\n thongTin.tangday = feature.get('tangday');\r\n thongTin.tenpd = feature.get('tenpd');\r\n thongTin.tieu_dt = feature.get('tieu_dt');\r\n thongTin.tinh = feature.get('tinh');\r\n thongTin.tpcg = feature.get('tpcg');\r\n thongTin.tton_dt = feature.get('tton_dt');\r\n thongTin.tuoi_dt = feature.get('tuoi_dt');\r\n thongTin.xa = feature.get('xa');\r\n\r\n setThongTin(thongTin);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n }\r\n else {\r\n thongTin = {};\r\n setThongTin(thongTin);\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const timKiem = () => {\r\n\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n // HienTrangSuDungDatLuaApi.delete(thongTin.gid).then(() => {\r\n // provinceDat.getSource().removeFeature(selectDat);\r\n // ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n // });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n const closeThongTin = () => {\r\n setShowEdit(false);\r\n\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Đơn vị đất đai
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleEdit == true ?:''}\r\n {roleAdd == true ?:''}\r\n {roleEdit == true ?:''}\r\n {roleDel == true ?:''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
Tỉnh{thongTin.tinh}
Huyện{thongTin.huyen}
{thongTin.xa}
Mã đất{thongTin.madat}
Phân vùng{thongTin.phanvung}
Loại đất{thongTin.g}
Địa hình tương đối{thongTin.dhtd}
Địa hình{thongTin.sl}
Tầng dày{thongTin.tangday}
Thành phần cơ giới{thongTin.tpcg}
Mức độ Đá lẫn{thongTin.dalan}
Dung trọng{thongTin.dungtrong}
Phân Cấp PH{thongTin.pc_ph}
Phân cấp CEC{thongTin.pc_cec}
Phân cấp dinh dưỡng{thongTin.pc_dd}
Phân cấp nito{thongTin.pc_n}
Phân cấp phốt pho{thongTin.pc_p}
Phân cấp Kali{thongTin.pc_k}
Phân cấp chất hữu cơ{thongTin.pc_om}
Phân cấp độ phì{thongTin.pc_dp}
Lượng mưa{thongTin.luongmua_d}
Tổng tích ôn{thongTin.tton_dt}
Mức độ khô hạn{thongTin.khohan_dt}
Nhiệt đô{thongTin.nhietdo}
Chỉ số khô hạn{thongTin.chisokhoha}
Số tháng khô hạn{thongTin.sothangkho}
Cây trồng{thongTin.caytrong}
Ngập úng{thongTin.ngapung_dt}
Chế độ tưới{thongTin.tuoi_dt}
Chế độ tiêu{thongTin.tieu_dt}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\n\r\nconst SlideApi = {\r\n\r\n createSlide:(params) => {\r\n const url = '/Slide';\r\n return axiosClient.post(url, params);\r\n \r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/Slide/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n updateSlide:(params) => {\r\n const url = '/Slide';\r\n console.log(params);\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n DeleteSlide:(Id) => {\r\n const url = '/Slide/delete/'+ Id;\r\n console.log(url);\r\n return axiosClient.delete(url);\r\n },\r\n\r\n getSlide:(params) => {\r\n const url = '/Slide/paging';\r\n return axiosClient.get(url, {params});\r\n }\r\n\r\n}\r\n\r\nexport default SlideApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport SlideApi from '../../../api/SlideApi';\r\nimport '../../../css/reacttab.css';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport '../../../css/apppublic.css';\r\nimport Authen from '../../../core/Authen';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport Select from 'react-select';\r\nimport '../../../css/reactselect.css';\r\nimport { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport ThongBao from '../../../core/ThongBao';\r\n\r\n\r\nexport const Slide = () => {\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('api', '');\r\n const [listSlide, setListSlide] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [show, setShow] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\r\n const [slide, setSlide] = useState({});\r\n const [type, setType] = useState({});\r\n const [opt, setOpt] = useState({});\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const url = process.env.REACT_APP_API_URL.replace('api', '');\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [showModalImage, setShowModalImage] = useState(false);\r\n\r\n const { handleSubmit, register, reset, errors } = useForm();\r\n\r\n const [nhanVien, setNhanVien] = useState({ value: '1', label: 'Trang chủ' });\r\n\r\n useEffect(() => {\r\n setNhanVien(Authen.getUser());\r\n setRoleAdd(Authen.checkQuyen('SLIDE_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('SLIDE_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('SLIDE_DELETE'));\r\n }, []);\r\n\r\n const options = [\r\n // { value: '1', label: 'Trang chủ' },\r\n { value: '2', label: 'Trang chủ' },\r\n // { value: '3', label: 'Banner' }\r\n ]\r\n\r\n const [paginationConfig, setPaginationConfig] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: 'sm',\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n if (page != null) {\r\n pageIndex = page;\r\n loadSlide();\r\n }\r\n }\r\n });\r\n\r\n var pageIndex = 1, pageSize = 20;\r\n\r\n const loadSlide = async () => {\r\n try {\r\n const params = {\r\n keyword: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const res = await SlideApi.getSlide(params);\r\n res.Items.map((x) => {\r\n x.Checked = false\r\n });\r\n setListSlide(res.Items);\r\n console.log(Slide);\r\n paginationConfig.totalPages = Math.ceil(res.TotalRow == 0 ? 1 : res.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n setIsEdit(false);\r\n setSlide({});\r\n }\r\n catch {\r\n console.log('loi roi');\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n loadSlide();\r\n }, [])\r\n\r\n const setFilt = (e) => {\r\n setFilter(e.target.value);\r\n }\r\n\r\n const Timkiem = () => {\r\n loadSlide();\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setIsXem(false);\r\n }\r\n const handleShow = () => {\r\n setIsXem(false);\r\n // loadType();\r\n setOpt(options[0]);\r\n setShow(true);\r\n reset(reset({\r\n Id: 0,\r\n Name: '',\r\n DisplayOrder: 1,\r\n Status: true,\r\n Description: ''\r\n }, [reset]), [reset]);\r\n setSrcImage(noImage);\r\n }\r\n\r\n const handleShowEdit = (isXem) => {\r\n let index = listSlide.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n SlideApi.getDetail(listSlide[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Name: response.Name,\r\n Description: response.Description,\r\n Image: response.Image,\r\n Url: response.Url,\r\n DisplayOrder: response.DisplayOrder,\r\n Status: response.Status,\r\n Content: response.Content,\r\n Createddate: response.Createddate,\r\n Createdby: response.Createdby,\r\n Updateddate: response.Updateddate,\r\n Updatedby: response.Updatedby,\r\n Metakeyword: response.Metakeyword,\r\n Metadescription: response.Metadescription,\r\n Delete: response.Delete,\r\n Thumbnailimage: response.Thumbnailimage,\r\n Type: response.Type\r\n }, [reset])\r\n setSrcImage(response.Image);\r\n setIsXem(isXem);\r\n let index = options.findIndex(x => x.value == response.Type);\r\n if (index >= 0) {\r\n setOpt(options[index])\r\n }\r\n else {\r\n setOpt(options[0]);\r\n }\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const rowClick = (Id) => {\r\n listSlide.map((x) => {\r\n if (x.Id === Id) {\r\n x.Checked = !x.Checked;\r\n if (x.Checked) {\r\n setIsEdit(true);\r\n setSlide(x);\r\n }\r\n else {\r\n setIsEdit(false);\r\n setSlide({});\r\n }\r\n }\r\n else {\r\n x.Checked = false;\r\n }\r\n });\r\n }\r\n\r\n const dateNow = () => {\r\n let date = new Date().getDate();\r\n let month = new Date().getMonth() + 1;\r\n let year = new Date().getFullYear();\r\n return year + '-' + month + '-' + date;\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n data.Delete = false;\r\n data.Metakeyword = '';\r\n data.Metadescription = '';\r\n data.Image = srcImage;\r\n data.Thumbnailimage = data.Image;\r\n data.Content = '';\r\n data.Type = opt.value;\r\n if (data.Id == \"0\") {\r\n data.Createdby = nhanVien.Id;\r\n data.Updatedby = '';\r\n data.Createddate = dateNow();\r\n data.Updateddate = dateNow();\r\n console.log(data);\r\n const res = await SlideApi.createSlide(data);\r\n }\r\n else {\r\n data.Createdby = Slide.Createdby;\r\n data.Createddate = Slide.Createddate;\r\n data.Updateddate = dateNow();\r\n data.Updatedby = nhanVien.Id;\r\n console.log(data);\r\n const res = await SlideApi.updateSlide(data);\r\n }\r\n setShow(false);\r\n setIsXem(false);\r\n setIsEdit(false);\r\n setSlide({});\r\n loadSlide();\r\n }\r\n catch (ex) {\r\n console.log(ex.message);\r\n }\r\n\r\n }\r\n\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n const showViewModalImage = () => {\r\n setShowModalImage(true);\r\n }\r\n const CloseViewModalImage = () => {\r\n setShowModalImage(false);\r\n }\r\n\r\n const onChangeSelect = (optionSelected) => {\r\n setOpt(optionSelected);\r\n }\r\n\r\n const alertDell = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstChecked = listSlide.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n // let lstId = [];\r\n // lstChecked.forEach(element => {\r\n // lstId.push(element.Id);\r\n // });\r\n SlideApi.DeleteSlide(lstChecked[0].Id).then(() => {\r\n loadSlide();\r\n })\r\n }\r\n });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Slide
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listSlide.map((item, key) => {\r\n return (\r\n rowClick(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Hình ảnhTên SlideThứ tựMô tảTrạng thái
\r\n item.Checked = e.target.value}>\r\n {item.Name}{item.DisplayOrder}{item.Description}{item.Status ? Kích hoạt : Khóa}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Slide\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Tên slide *\r\n
\r\n
\r\n \r\n {errors.name && errors.name.message}\r\n
\r\n
\r\n
\r\n
\r\n Kiểu\r\n
\r\n
\r\n {/* \r\n
\r\n
\r\n
\r\n
\r\n Mô tả\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Image\r\n
\r\n
\r\n
\r\n {/* slide.Image = e.target.value} onClick={showViewModalImage}/> */}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Trạng thái\r\n
\r\n
\r\n slide.Status = e.target.checked}>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Hủy\r\n \r\n
\r\n onFileSelected(e)}>\r\n
\r\n\r\n\r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport PostCategoryApi from '../../api/PostCategoryApi';\r\nimport Select from 'react-select';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport Authen from '../../core/Authen';\r\nimport Ultility from '../../core/Ultility';\r\n\r\nexport const PostCategory = () => {\r\n const [listPostCategory, setPostCategory] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [listDanhMucCha, setDanhMucCha] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [alias, setAlias] = useState(\"\");\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadCategory();\r\n }\r\n });\r\n\r\n const loadCategory = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter\r\n }\r\n const response = await PostCategoryApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setPostCategory(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadCategory();\r\n loadDanhMucCha();\r\n setRoleAdd(Authen.checkQuyen('DANHMUCBAIVIET_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('DANHMUCBAIVIET_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('DANHMUCBAIVIET_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadCategory();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const saveData = (data) => {\r\n debugger;\r\n data.Alias = alias;\r\n if (selectedOption) {\r\n if (selectedOption.value == 0) {\r\n data.ParentId = null;\r\n }\r\n else {\r\n data.ParentId = selectedOption.value;\r\n }\r\n }\r\n else {\r\n data.ParentId = null;\r\n }\r\n if (data.Id === \"0\") {\r\n PostCategoryApi.post(data).then(() => {\r\n setShow(false);\r\n loadCategory();\r\n })\r\n }\r\n else {\r\n PostCategoryApi.put(data).then(() => {\r\n setShow(false);\r\n loadCategory();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listPostCategory.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setPostCategory([...listPostCategory]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Name: \"\"\r\n }, [reset]);\r\n setShow(true)\r\n setSelectedOption(listDanhMucCha[0]);\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listPostCategory.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n PostCategoryApi.getDetail(listPostCategory[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Name: response.Name,\r\n Alias: response.Alias,\r\n Description: response.Description,\r\n ParentId: response.ParentId,\r\n DisplayOrder: response.DisplayOrder,\r\n Image: response.Image,\r\n HomeFlag: response.HomeFlag,\r\n HotFlag: response.HotFlag,\r\n Status: response.Status,\r\n MetaKeyword: response.MetaKeyword,\r\n MetaDescription: response.MetaDescription,\r\n IconCss: response.IconCss\r\n }, [reset]);\r\n setAlias(response.Alias);\r\n var index = listDanhMucCha.findIndex(x => x.value == response.ParentId);\r\n setSelectedOption(listDanhMucCha[index]);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstChecked = listPostCategory.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n let lstId = [];\r\n lstChecked.forEach(element => {\r\n lstId.push(element.Id);\r\n });\r\n PostCategoryApi.delete(lstId).then(() => {\r\n loadCategory();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n function loadDanhMucCha() {\r\n PostCategoryApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn danh mục...' });\r\n response.forEach(item => {\r\n if (item.ParentId == null) {\r\n list.push({ value: item.Id, label: item.Name });\r\n }\r\n })\r\n setDanhMucCha(list);\r\n })\r\n }\r\n\r\n const onChangeDanhMucCha = (e) => {\r\n setSelectedOption(e);\r\n // props.onChangeHuyenProps(e);\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadCategory();\r\n }\r\n }\r\n\r\n const onChangeName = (event) => {\r\n let str = \"\";\r\n if (event.target.value != null) {\r\n str = Ultility.MakeSeoTitle(event.target.value);\r\n }\r\n setAlias(str);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Danh mục bài viết
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listPostCategory.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Tên danh mụcAliasThứ tụMô tảTrạng thái
\r\n
\r\n \r\n
\r\n
{item.Name}{item.Alias}{item.DisplayOrder}{item.Description}\r\n {item.Status == true &&\r\n Kích hoạt\r\n }\r\n {item.Status == false &&\r\n Khóa\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Danh mục bài viết\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Name && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n setAlias(e.target.value)} />\r\n {errors.Alias && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport QuanHuyenApi from '../../api/QuanHuyenApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BaoCaoChatLuongDatApi from '../../api/BaoCaoChatLuongDatApi';\r\nimport { QuanLyTapTin } from '../../shared/quanlytaptin/QuanLyTapTin';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport Authen from '../../core/Authen';\r\n\r\n\r\nexport const BaoCaoChatLuongDat = () => {\r\n const loaiBaoCao = 1;\r\n const [listBaoCaos, setBaoCao] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [listQuanHuyens, setQuanHuyen] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [showQuanLyTapTin, setShowQuanLyTapTin] = useState(false);\r\n const [tapTin, setTapTin] = useState(null);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n center: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadBaoCao();\r\n }\r\n });\r\n\r\n const loadBaoCao = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n idQuanHuyen: '',\r\n loaiBaoCao: loaiBaoCao\r\n }\r\n const response = await BaoCaoChatLuongDatApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = response.TotalRow == 0 ? 1 : Math.ceil(response.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setBaoCao(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadBaoCao();\r\n loadQuanHuyen();\r\n setRoleAdd(Authen.checkQuyen('BCCHATLUONGDAT_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BCCHATLUONGDAT_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BCCHATLUONGDAT_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadBaoCao();\r\n }\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.IdQuanHuyen = selectedOption.value;\r\n }\r\n data.TapTin = tapTin;\r\n data.LoaiBaoCao = loaiBaoCao;\r\n console.log(data);\r\n if (data.Id === \"0\") {\r\n BaoCaoChatLuongDatApi.post(data).then(() => {\r\n setShow(false);\r\n loadBaoCao();\r\n })\r\n }\r\n else {\r\n BaoCaoChatLuongDatApi.put(data).then(() => {\r\n setShow(false);\r\n loadBaoCao();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listBaoCaos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setBaoCao([...listBaoCaos]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Ten: null,\r\n SortOrder: null,\r\n TapTin: null,\r\n Status: true,\r\n MoTa: null,\r\n IdQuanHuyen: null\r\n }, [reset]);\r\n if (selectedOption==null) {\r\n setSelectedOption(listQuanHuyens[0]);\r\n }\r\n setTapTin(null);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listBaoCaos.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n BaoCaoChatLuongDatApi.getDetail(listBaoCaos[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Ten: response.Ten,\r\n TapTin: response.TapTin,\r\n SortOrder: response.SortOrder,\r\n Status: response.Status,\r\n IdQuanHuyen: response.IdQuanHuyen,\r\n MoTa: response.MoTa\r\n }, [reset]);\r\n setTapTin(response.TapTin);\r\n setShow(true);\r\n let index = listQuanHuyens.findIndex(x => x.value == response.IdQuanHuyen);\r\n setSelectedOption(listQuanHuyens[index]);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listBaoCaos.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n let lstId = [];\r\n listBaoCaos.filter(x => x.Checked).forEach(element => {\r\n lstId.push(element.Id);\r\n });\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BaoCaoChatLuongDatApi.delete(lstId).then(() => {\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n loadBaoCao();\r\n });\r\n });\r\n }\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const onChangeQuanHuyen = (event) => {\r\n setSelectedOption(event);\r\n }\r\n\r\n function loadQuanHuyen() {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '10', label: 'Xã, thị trấn' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten });\r\n })\r\n setQuanHuyen(list);\r\n })\r\n }\r\n\r\n const openFile = () => {\r\n setShowQuanLyTapTin(true);\r\n }\r\n\r\n const onChangeFilter = (e) => {\r\n setFilter(e.target.value);\r\n }\r\n\r\n const closeModalQuanLyTapTin = () => {\r\n setShowQuanLyTapTin(false);\r\n }\r\n\r\n const huyTapTin = () => {\r\n setTapTin(null);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
BÁO CÁO CHUYÊN ĐỀ
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listBaoCaos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Thứ tựTênMô tảTập tinTrạng thái
\r\n
\r\n \r\n
\r\n
{item.SortOrder}{item.Ten}{item.TenQuanHuyen}{item.MoTa}{item.TapTin != null ? (\r\n \r\n ) : ''}\r\n {item.Status == true &&\r\n Kích hoạt\r\n }\r\n {item.Status == false &&\r\n Khóa\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Báo cáo\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n tapTin === null ? () :\r\n (
\r\n \r\n
\r\n \r\n
\r\n
)\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n )\r\n}\r\n","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst PostApi = {\r\n getPaging: (params) => {\r\n const url = '/post/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/post/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/post/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/post/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/post/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'post/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default PostApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport PostApi from '../../api/PostApi';\r\nimport Select from 'react-select';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { QuanLyTapTin } from '../../shared/quanlytaptin/QuanLyTapTin';\r\n\r\nimport { Tab, Tabs, TabList, TabPanel } from 'react-tabs';\r\nimport 'react-tabs/style/react-tabs.css';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport PostCategoryApi from '../../api/PostCategoryApi';\r\n\r\nimport Authen from '../../core/Authen';\r\nimport Ultility from '../../core/Ultility';\r\nimport { set } from 'ol/transform';\r\n\r\nexport const Post = () => {\r\n\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('api', '');\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [listPosts, setListPosts] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [listDanhMucCha, setDanhMucCha] = useState([{ value: 0, label: 'Chọn danh mục...' }]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [selectedPostcategoryTimKiem, setSelectedPostcategoryTimKiem] = useState();\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [alias, setAlias] = useState(\"\");\r\n\r\n const [viewModal, setViewModal] = useState(false);\r\n const [postModal, setPostModal] = useState({});\r\n const [content, setContent] = useState('');\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadPosts();\r\n }\r\n });\r\n\r\n const loadPosts = async () => {\r\n try {\r\n var categoryId = '';\r\n if (selectedPostcategoryTimKiem != null) {\r\n if (selectedPostcategoryTimKiem.value != 0) {\r\n categoryId = selectedPostcategoryTimKiem.value.toString();\r\n }\r\n }\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter,\r\n categoryId:categoryId\r\n }\r\n const response = await PostApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = 1;\r\n if (response.Items.length > 0) {\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setListPosts(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setSelectedPostcategoryTimKiem(listDanhMucCha[0]);\r\n loadPosts();\r\n loadDanhMucCha();\r\n setRoleAdd(Authen.checkQuyen('BAIVIET_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BAIVIET_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BAIVIET_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadPosts();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const saveData = (data) => {\r\n postModal.Alias = alias;\r\n postModal.Image = srcImage;\r\n postModal.Content = content;\r\n if (selectedOption) {\r\n if (selectedOption.value == 0) {\r\n postModal.CategoryId = null;\r\n }\r\n else {\r\n postModal.CategoryId = selectedOption.value;\r\n }\r\n }\r\n else {\r\n postModal.CategoryId = null;\r\n }\r\n if (postModal.CategoryId == null) {\r\n ThongBao.prinWarningMessage(\"Bạn hãy nhập danh mục\");\r\n }\r\n else {\r\n if (postModal.Id === 0 || postModal.Id == null) {\r\n postModal.Id = 0;\r\n PostApi.post(postModal).then(() => {\r\n setShow(false);\r\n loadPosts();\r\n })\r\n }\r\n else {\r\n PostApi.put(postModal).then(() => {\r\n setShow(false);\r\n loadPosts();\r\n })\r\n }\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listPosts.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setListPosts([...listPosts]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n debugger;\r\n reset({\r\n Id: 0,\r\n Name: \"\",\r\n Alias: \"\",\r\n Status: true\r\n }, [reset]);\r\n setPostModal({\r\n Id: 0,\r\n Name: \"\",\r\n Alias: \"\",\r\n Status: true\r\n });\r\n setShow(true)\r\n setAlias(\"\");\r\n setContent(\"\");\r\n setSelectedOption(listDanhMucCha[0]);\r\n setSrcImage(noImage);\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listPosts.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n PostApi.getDetail(listPosts[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Name: response.Name,\r\n Alias: response.Alias,\r\n Description: response.Description,\r\n ParentId: response.ParentId,\r\n DisplayOrder: response.DisplayOrder,\r\n Image: response.Image,\r\n HomeFlag: response.HomeFlag,\r\n HotFlag: response.HotFlag,\r\n Status: response.Status,\r\n MetaKeyword: response.MetaKeyword,\r\n MetaDescription: response.MetaDescription,\r\n IconCss: response.IconCss,\r\n Content: response.Content\r\n }, [reset]);\r\n var index = listDanhMucCha.findIndex(x => x.value == response.CategoryId);\r\n setSelectedOption(listDanhMucCha[index]);\r\n setAlias(response.Alias);\r\n setSrcImage(response.Image);\r\n setContent(response.Content);\r\n setPostModal(response);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstChecked = listPosts.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n let lstId = [];\r\n lstChecked.forEach(element => {\r\n lstId.push(element.Id);\r\n });\r\n PostApi.delete(lstId).then(() => {\r\n loadPosts();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n function loadDanhMucCha() {\r\n PostCategoryApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn danh mục...' });\r\n response.forEach(item => {\r\n if (item.ParentId == null) {\r\n list.push({ value: item.Id, label: item.Name });\r\n }\r\n })\r\n setDanhMucCha(list);\r\n })\r\n }\r\n\r\n const onChangeDanhMucCha = (e) => {\r\n setSelectedOption(e);\r\n // props.onChangeHuyenProps(e);\r\n }\r\n\r\n const onChangePostcategory = (e) => {\r\n setSelectedPostcategoryTimKiem(e);\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadPosts();\r\n }\r\n }\r\n\r\n const openModalImage = () => {\r\n setViewModal(true);\r\n }\r\n\r\n\r\n const closeModalImage = () => {\r\n setViewModal(false);\r\n }\r\n\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n const onChangeContent = (event, editor) => {\r\n const data = editor.getData();\r\n setContent(data);\r\n }\r\n\r\n const changeTab = () => {\r\n reset({\r\n Id: postModal.Id,\r\n Name: postModal.Name,\r\n Alias: postModal.Alias,\r\n CategoryId: postModal.CategoryId,\r\n Image: postModal.Image,\r\n Description: postModal.Description,\r\n Content: postModal.Content,\r\n HomeFlag: postModal.HomeFlag,\r\n HotFlag: postModal.HotFlag,\r\n ViewCount: postModal.ViewCount,\r\n Status: postModal.Status,\r\n Delete: postModal.Delete,\r\n MetaKeyword: postModal.MetaKeyword,\r\n MetaDescription: postModal.MetaDescription,\r\n Tags: postModal.Tags\r\n }, [reset])\r\n }\r\n\r\n const onChangeName = (e) => {\r\n debugger;\r\n let str = \"\";\r\n postModal.Name = e.target.value\r\n if (e.target.value != null) {\r\n str = Ultility.MakeSeoTitle(e.target.value);\r\n }\r\n postModal.Alias = str;\r\n setAlias(str);\r\n }\r\n\r\n const onchangeAlias = (e) => {\r\n let str = \"\";\r\n if (e.target.value != null) {\r\n str = Ultility.MakeSeoTitle(e.target.value);\r\n }\r\n postModal.Alias = str;\r\n setAlias(str)\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bài viết
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listPosts.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Hình ảnhTên bài viếtMô tảTrạng thái
\r\n
\r\n \r\n
\r\n
{item.Name}{item.Description}\r\n {item.Status == true &&\r\n Kích hoạt\r\n }\r\n {item.Status == false &&\r\n Khóa\r\n }\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Bài viết\r\n \r\n \r\n
\r\n \r\n \r\n Thông tin cơ bản\r\n Nội dung.\r\n \r\n\r\n {/* tab 1 */}\r\n \r\n postModal.Id = e.target.value} >\r\n
\r\n \r\n
\r\n {/* postModal.Name = e.target.value} /> */}\r\n \r\n {errors.Name && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.Alias && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {/* tab 2 */}\r\n \r\n
\r\n \r\n
\r\n onChangeContent(event, editor)} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n postModal.MetaKeyword = e.target.value} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n postModal.Tags = e.target.value} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n onFileSelected(e)}>\r\n
\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoThoNhuongApi from '../../api/BanDoThoNhuongApi';\r\nimport LopMauApi from '../../api/LopMauApi';\r\n\r\nexport const ModalEditThongTin = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeThongTin();\r\n setShow(false)\r\n };\r\n const { register, handleSubmit, reset } = useForm();\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listLopMau, setLopMau] = useState([]);\r\n const [gid, setGid] = useState('');\r\n const kieuBanDo = 2;\r\n useEffect(() => {\r\n loadLopMau();\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.LoaiDat = selectedOption.value;\r\n }\r\n data.gid = gid;\r\n data.geometry = props.thongTin.geometry;\r\n if (props.themMoi) {\r\n BanDoThoNhuongApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n } else {\r\n BanDoThoNhuongApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n const onChangeMau = (e) => {\r\n setSelectedOption(e);\r\n\r\n }\r\n\r\n function loadLopMau() {\r\n LopMauApi.getLopBanDo().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn màu' });\r\n response.forEach(item => {\r\n if (item.Type === 1 || item.Type === kieuBanDo)\r\n list.push({ value: item.MaMau, label: item.Ten });\r\n })\r\n setLopMau(list);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n TenHuyen: props.thongTin.huyen,\r\n TenXa: props.thongTin.xa,\r\n PhanVung: props.thongTin.phanvung,\r\n LoaiDat: props.thongTin.g,\r\n DiaHinhTuongDoi: props.thongTin.dhtd,\r\n DiaHinh: props.thongTin.sl,\r\n TangDay: props.thongTin.tangday,\r\n ThanhPhanCoGioi: props.thongTin.tpcg,\r\n MucDoDaLan: props.thongTin.dalan,\r\n DungTrong: props.thongTin.dungtrong,\r\n PhanCapPH: props.thongTin.pc_ph,\r\n PhanCapCEC: props.thongTin.pc_cec,\r\n PhanCapDinhDuong: props.thongTin.pc_dd,\r\n PhanCapNito: props.thongTin.pc_n,\r\n PhanCapPhotPho: props.thongTin.pc_p,\r\n PhanCapKali: props.thongTin.pc_k,\r\n PhanCapHuuCoTong: props.thongTin.pc_om,\r\n PhanCapDoPhi: props.thongTin.pc_dp,\r\n\r\n LuongMua: props.thongTin.luongmua_d,\r\n TongTichOn: props.thongTin.tton_dt,\r\n MucDoKhoHan: props.thongTin.khohan_dt,\r\n\r\n NhietDo: props.thongTin.nhietdo,\r\n ChiSoKhoHan: props.thongTin.chisokhoha,\r\n PhanCapChiSoKhoHan: props.thongTin.pc_chisokh,\r\n\r\n SoThangKhoHan: props.thongTin.sothangkho,\r\n MaDat: props.thongTin.madat,\r\n CayTrong: props.thongTin.caytrong,\r\n NgapUng: props.thongTin.ngapung_dt,\r\n\r\n CheDoTuoi: props.thongTin.tuoi_dt,\r\n CheDoTieu: props.thongTin.tieu_dt,\r\n DienTich: props.thongTin.dt_bs,\r\n DungTrong_: props.thongTin.dungtrong_,\r\n Mau_AnhHuo: props.thongTin.mau_anhhuo,\r\n\r\n }, [reset])\r\n setShow(true);\r\n var index = listLopMau.findIndex(x => x.value == props.thongTin.g);\r\n setSelectedOption(listLopMau[index]);\r\n }\r\n\r\n }, [props.showEdit]);\r\n return (\r\n
\r\n\r\n \r\n \r\n Thông tin\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
*/}\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import data from '../../main/madontinh/madontinh.json';\r\n\r\nconst MADONTINH = {\r\n getTen(input) {\r\n input.forEach(p => {\r\n const resuit = data.filter(x => x.Ma === p.Ma && x.Id === p.Value && p.Ma !=='Th').map(j =>\r\n {if(j.Ten !== undefined) \r\n { p.Ten = j.Ten;}\r\n else\r\n {\r\n p.Ten = p.Value;\r\n }\r\n }\r\n );\r\n if (resuit.length === 0 || resuit === undefined)\r\n {\r\n p.Ten = p.Value;\r\n }\r\n\r\n if (p.Ma ==='Th')\r\n {\r\n \r\n let index = input.indexOf(p);\r\n if(index !== -1)\r\n {\r\n input.splice(index,1);\r\n }\r\n }\r\n\r\n });\r\n data.filter(x=> x.Ma==='Th').map(j=>\r\n {\r\n let rs = {\"Ma\": j.Ma,\r\n \"Value\": j.Id,\r\n \"Ten\": j.Ten};\r\n input.push(rs);\r\n })\r\n return input;\r\n }\r\n}\r\n\r\nexport default MADONTINH;","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport BanDoThoNhuongApi from '../../api/BanDoThoNhuongApi';\r\nimport { ModalEditThongTin } from './ModalEditThongTin';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Authen from '../../core/Authen';\r\nimport madontinh from '../../main/madontinh/madontinh'\r\n\r\nexport const BanDoThoNhuong = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n const kieuBanDo = 2;\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n const [filter, setFilter] = useState();\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [dvt, setDVT] = useState([]);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('symbol_dat');\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (resolution < 20) {\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return new ol.style.Style();\r\n }\r\n }\r\n\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n } else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n setThongTin(thongTin);\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n // BanDoThoNhuongApi.updateGeo(data).then(() => {\r\n // ThongBao.printSuccessMessage(\"Cập nhật thành công!\");\r\n // });\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n } else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: kieuBanDo\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n listStyles = listStyles.filter(x => x.Type === kieuBanDo);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1 || (item.Type === kieuBanDo && item.GeoJson === null)) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n province.setVisible(item.Checked);\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo && item.GeoJson === 1) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n provinceDat.setVisible(item.Checked);\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin = {};\r\n thongTin.geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin({ ...thongTin });\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n // else if (item.Type === kieuBanDo && item.GeoJson === 2) {\r\n // provinceDiem = new ol.layer.Vector({\r\n // source: new ol.source.Vector({\r\n // format: new ol.format.GeoJSON(),\r\n // url: item.Url,\r\n // crossOrigin: ''\r\n // }),\r\n // style: stylefunctionDiem\r\n // });\r\n // provinceDiem.setVisible(item.Checked);\r\n // map.addLayer(provinceDiem);\r\n // item.province = provinceDiem;\r\n // setProvinceDiem(provinceDiem);\r\n // }\r\n else if (item.Type === kieuBanDo && item.GeoJson === 0) {\r\n let provi = new ol.layer.Vector({\r\n source: new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url,\r\n crossOrigin: ''\r\n }),\r\n style: stylefunction\r\n });\r\n provi.setVisible(item.Checked);\r\n map.addLayer(provi);\r\n item.province = provi;\r\n }\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('BDTHONHUONG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BDTHONHUONG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BDTHONHUONG_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n setThongTin({ ... {} });\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n // console.log(feature);\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n let thongTinNew = {};\r\n thongTinNew.gid = feature.getId();\r\n thongTinNew.bi_xanh = feature.get('bi_xanh');\r\n thongTinNew.bo = feature.get('bo');\r\n thongTinNew.bs = feature.get('bs');\r\n thongTinNew.buoi = feature.get('buoi');\r\n thongTinNew.caffe = feature.get('caffe');\r\n thongTinNew.cam = feature.get('cam');\r\n thongTinNew.cao_su = feature.get('cao_su');\r\n thongTinNew.cec = feature.get('cec');\r\n thongTinNew.chanh_day = feature.get('chanh_day');\r\n thongTinNew.chuoi = feature.get('chuoi');\r\n thongTinNew.code_dat = feature.get('code_dat');\r\n thongTinNew.code_qh = feature.get('code_qh');\r\n thongTinNew.code_xa = feature.get('code_xa');\r\n thongTinNew.dau_tam = feature.get('dau_tam');\r\n thongTinNew.de = feature.get('de');\r\n thongTinNew.dieu = feature.get('dieu');\r\n thongTinNew.dt_ha = feature.get('dt_ha');\r\n thongTinNew.duoc_lieu = feature.get('duoc_lieu');\r\n thongTinNew.dvdd_h = feature.get('dvdd_h');\r\n thongTinNew.dvdd_xa = feature.get('dvdd_xa');\r\n thongTinNew.fe = feature.get('fe');\r\n thongTinNew.gv = feature.get('gv');\r\n thongTinNew.ho_tieu = feature.get('ho_tieu');\r\n thongTinNew.hoa = feature.get('hoa');\r\n thongTinNew.khoai = feature.get('khoai');\r\n thongTinNew.lac = feature.get('lac');\r\n thongTinNew.lua = feature.get('lua');\r\n thongTinNew.mang_tay = feature.get('mang_tay');\r\n thongTinNew.mit = feature.get('mit');\r\n thongTinNew.na = feature.get('na');\r\n thongTinNew.ngo = feature.get('ngo');\r\n thongTinNew.nhan = feature.get('nhan');\r\n thongTinNew.oc = feature.get('oc');\r\n thongTinNew.phkcl = feature.get('phkcl');\r\n thongTinNew.rau_cai = feature.get('rau_cai');\r\n thongTinNew.san = feature.get('san');\r\n thongTinNew.sau_rieng = feature.get('sau_rieng');\r\n thongTinNew.slop = feature.get('slop');\r\n thongTinNew.symbol_dat = feature.get('symbol_dat');\r\n thongTinNew.symbol_ht = feature.get('symbol_ht');\r\n thongTinNew.symbol_qh = feature.get('symbol_qh');\r\n thongTinNew.tbc = feature.get('tbc');\r\n thongTinNew.ten_xa = feature.get('ten_xa');\r\n thongTinNew.thichngh00 = feature.get('thichngh00');\r\n thongTinNew.thichnghi_ = feature.get('thichnghi_');\r\n thongTinNew.tpcg = feature.get('tpcg');\r\n thongTinNew.tuoi = feature.get('tuoi');\r\n thongTinNew.xoai = feature.get('xoai');\r\n setThongTin(thongTinNew);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n donVT(thongTinNew);\r\n } else {\r\n setThongTin({ ... {} });\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n const donVT = (value) => {\r\n const donvitinh = [\r\n { Ma: 'Fe', Value: value.fe, Ten: '' },\r\n { Ma: 'Sl', Value: value.sl, Ten: '' },\r\n { Ma: 'Gv', Value: value.dalan, Ten: '' },\r\n { Ma: 'De', Value: value.de, Ten: '' },\r\n { Ma: 'Ir', Value: value.tuoi_dt, Ten: '' },\r\n { Ma: 'Tx', Value: value.tpcg, Ten: '' }\r\n ]\r\n setDVT(madontinh.getTen(donvitinh));\r\n }\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const timKiem = () => {\r\n\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BanDoThoNhuongApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n const closeThongTin = () => {\r\n if (!isThemMoi) {\r\n provinceDat.getSource().clear();\r\n }\r\n setShowEdit(false);\r\n\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bản đồ thổ nhưỡng
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n {roleEdit == true ? : ''}\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
{thongTin.ten_xa}
Diện tích (ha){thongTin.dt_ha}
Symbol_HT{thongTin.symbol_ht}
Symbol_dat{thongTin.symbol_dat}
Tưới {dvt.filter(x=>x.Ma==='Ir' && x.Value ===thongTin.tuoi).map(x => x.Ten)}
Slop{dvt.filter(x=>x.Ma==='Sl' && x.Value ===thongTin.slop).map(x => x.Ten)}
TPCG {dvt.filter(x=>x.Ma==='Tx' && x.Value ===thongTin.tpcg).map(x => x.Ten)}
Gv{dvt.filter(x=>x.Ma==='Gv' && x.Value ===thongTin.gv).map(x => x.Ten)}
De{dvt.filter(x=>x.Ma==='De' && x.Value ===thongTin.de).map(x => x.Ten)}
CEC{thongTin.cec}
BS{thongTin.bs}
TBC{thongTin.tbc}
PHKCL{thongTin.phkcl}
OC{thongTin.oc}
Fe{dvt.filter(x=>x.Ma==='Fe' && x.Value ===thongTin.fe).map(x => x.Ten)}
DVDD_H{thongTin.dvdd_h}
DVDD_Xa{thongTin.dvdd_xa}
Lúa{thongTin.lua}
Ngô{thongTin.ngo}
Sắn{thongTin.san}
Khoai{thongTin.khoai}
Rau cải{thongTin.rau_cai}
Bí xanh{thongTin.bi_xanh}
Lạc{thongTin.lac}
Hoa{thongTin.hoa}
Cam{thongTin.cam}
Bưởi{thongTin.buoi}
Chanh dây{thongTin.chanh_day}
Nhãn{thongTin.nhan}
Mít{thongTin.mit}
{thongTin.bo}
Sầu riêng{thongTin.sau_rieng}
Xoài{thongTin.xoai}
Na{thongTin.na}
Chuối{thongTin.chuoi}
Điều{thongTin.dieu}
Cao su{thongTin.cao_su}
Hồ tiêu{thongTin.ho_tieu}
Caffe{thongTin.caffe}
Dâu tằm{thongTin.dau_tam}
Măng tây{thongTin.mang_tay}
Dược liệu{thongTin.duoc_lieu}
Thích nghi H{thongTin.thichngh00}
Thích nghi Xã{thongTin.thichnghi_}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoThichHopApi from '../../api/BanDoThichHopApi';\r\nimport LopMauApi from '../../api/LopMauApi';\r\n\r\nexport const ModalEditThongTin = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeThongTin();\r\n setShow(false)\r\n };\r\n const { register, handleSubmit, reset } = useForm();\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listLopMau, setLopMau] = useState([]);\r\n const [gid, setGid] = useState('');\r\n const kieuBanDo = 4;\r\n\r\n useEffect(() => {\r\n loadLopMau();\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.MaMau = selectedOption.value;\r\n }\r\n data.gid = gid;\r\n data.geometry=props.thongTin.geometry;\r\n if (props.themMoi) {\r\n BanDoThichHopApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n else {\r\n BanDoThichHopApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n const onChangeMau = (e) => {\r\n setSelectedOption(e);\r\n\r\n }\r\n\r\n function loadLopMau() {\r\n LopMauApi.getLopBanDo().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn màu' });\r\n response.forEach(item => {\r\n if(item.Type===1 || item.Type===kieuBanDo)\r\n list.push({ value: item.MaMau, label: item.Ten });\r\n })\r\n setLopMau(list);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n TenHuyen: props.thongTin.huyen,\r\n TenXa: props.thongTin.xa,\r\n PhanVung: props.thongTin.phanvung,\r\n LoaiDat: props.thongTin.g,\r\n DiaHinhTuongDoi: props.thongTin.dhtd,\r\n DiaHinh: props.thongTin.sl,\r\n TangDay: props.thongTin.tangday,\r\n ThanhPhanCoGioi: props.thongTin.tpcg,\r\n MucDoDaLan: props.thongTin.dalan,\r\n DungTrong_: props.thongTin.dungtrong_,\r\n PhanCapPH: props.thongTin.pc_ph,\r\n PhanCapCEC: props.thongTin.pc_cec,\r\n PhanCapDinhDuong: props.thongTin.pc_dd,\r\n PhanCapNito: props.thongTin.pc_n,\r\n PhanCapPhotPho: props.thongTin.pc_p,\r\n PhanCapKali: props.thongTin.pc_k,\r\n PhanCapHuuCoTong: props.thongTin.pc_om,\r\n PhanCapDoPhi: props.thongTin.pc_dp,\r\n\r\n LuongMua: props.thongTin.luongmua_d,\r\n TongTichOn: props.thongTin.tton_dt,\r\n MucDoKhoHan: props.thongTin.khohan_dt,\r\n\r\n NhietDo: props.thongTin.nhietdo,\r\n ChiSoKhoHan: props.thongTin.chisokhoha,\r\n PhanCapChiSoKhoHan: props.thongTin.pc_chisokh,\r\n SoThangKhoHan: props.thongTin.sothangkho, \r\n MaDat: props.thongTin.madat,\r\n CayTrong: props.thongTin.caytrong,\r\n NgapUng: props.thongTin.ngapung_dt,\r\n\r\n CheDoTuoi: props.thongTin.tuoi_dt,\r\n CheDoTieu: props.thongTin.tieu_dt,\r\n MaMau: props.thongTin.tnh,\r\n\r\n DienTich: props.thongTin.dt_bs,\r\n\r\n Dvdd:props.thongTin.dvdd,\r\n Dvddh:props.thongTin.dvddh,\r\n\r\n Lua:props.thongTin.lua,\r\n Ngo:props.thongTin.ngo,\r\n Rau:props.thongTin.rau,\r\n Khoai:props.thongTin.khoai,\r\n San:props.thongTin.san,\r\n\r\n Lac:props.thongTin.lac,\r\n Mia:props.thongTin.mia,\r\n Cam:props.thongTin.cam,\r\n Quyt:props.thongTin.quyt,\r\n Buoi:props.thongTin.buoi,\r\n\r\n Che:props.thongTin.che,\r\n DuaHau:props.thongTin.dua_hau,\r\n Na:props.thongTin.na,\r\n Chanh:props.thongTin.chanh,\r\n Xoai:props.thongTin.xoai,\r\n\r\n CaGaiLeo:props.thongTin.ca_gai_leo,\r\n DauTam:props.thongTin.dau_tam,\r\n Nhan:props.thongTin.nhan,\r\n CaPhe:props.thongTin.ca_phe_che,\r\n DauTuong:props.thongTin.dau_tuong,\r\n\r\n\r\n\r\n }, [reset])\r\n setShow(true);\r\n var index = listLopMau.findIndex(x => x.value == props.thongTin.tnh);\r\n setSelectedOption(listLopMau[index]);\r\n }\r\n\r\n }, [props.showEdit]);\r\n\r\n\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n Thông tin\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport BanDoThichHopApi from '../../api/BanDoThichHopApi';\r\nimport { ModalEditThongTin } from './ModalEditThongTin';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Authen from '../../core/Authen';\r\nimport madontinh from '../../main/madontinh/madontinh'\r\n\r\nexport const BanDoMucDoThichHop = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n const kieuBanDo = 4;\r\n\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [dvt,setDVT] = useState([]);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('tnh');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n setThongTin(thongTin);\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n // BanDoThichHopApi.updateGeo(data).then(() => {\r\n // ThongBao.printSuccessMessage(\"Cập nhật thành công!\");\r\n // });\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: kieuBanDo\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1 || (item.Type === kieuBanDo && item.GeoJson !== true)) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n province.setVisible(item.Checked);\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo && item.GeoJson === true) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n provinceDat.setVisible(item.Checked);\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin = {};\r\n thongTin.geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin({...thongTin});\r\n console.log(thongTin);\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('BDMUCDOTHICHHOP_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BDMUCDOTHICHHOP_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BDMUCDOTHICHHOP_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n setThongTin({ ...{} });\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n // console.log(feature);\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n let thongTinNew = {};\r\n thongTinNew.gid = feature.getId();\r\n thongTinNew.ba_kich = feature.get('ba_kich');\r\n thongTinNew.bi_xanh = feature.get('bi_xanh');\r\n thongTinNew.bo_khai = feature.get('bo_khai');\r\n thongTinNew.buoi = feature.get('buoi');\r\n thongTinNew.ca_gaileo = feature.get('ca_gaileo');\r\n thongTinNew.cam = feature.get('cam');\r\n thongTinNew.cat = feature.get('cat');\r\n thongTinNew.caytrong = feature.get('caytrong');\r\n thongTinNew.cec = feature.get('cec');\r\n thongTinNew.chisokhoha = feature.get('chisokhoha');\r\n thongTinNew.chum_ngay = feature.get('chum_ngay');\r\n thongTinNew.code_qh = feature.get('code_qh');\r\n thongTinNew.dalan = feature.get('dalan');\r\n thongTinNew.dhtd = feature.get('dhtd');\r\n thongTinNew.dt = feature.get('dt');\r\n thongTinNew.dt_bs = feature.get('dt_bs');\r\n thongTinNew.dua_hau = feature.get('dua_hau');\r\n thongTinNew.dungtrong = feature.get('dungtrong');\r\n thongTinNew.dungtrong_ = feature.get('dungtrong_');\r\n thongTinNew.dvdd = feature.get('dvdd');\r\n thongTinNew.g = feature.get('g');\r\n thongTinNew.ht_qh = feature.get('ht_qh');\r\n thongTinNew.huyen = feature.get('huyen');\r\n thongTinNew.id = feature.get('id');\r\n thongTinNew.k2o = feature.get('k2o');\r\n thongTinNew.keo = feature.get('keo');\r\n thongTinNew.khoai_so = feature.get('khoai_so');\r\n thongTinNew.khohan_dt = feature.get('khohan_dt');\r\n thongTinNew.khoi_tu = feature.get('khoi_tu');\r\n thongTinNew.khoi_tu = feature.get('khoi_tu');\r\n thongTinNew.lac = feature.get('lac');\r\n thongTinNew.lua = feature.get('lua');\r\n thongTinNew.luongmua_d = feature.get('luongmua_d');\r\n thongTinNew.ma_congtua = feature.get('ma_congtua');\r\n thongTinNew.ma_dexuat = feature.get('ma_dexuat');\r\n thongTinNew.madat = feature.get('madat');\r\n thongTinNew.mang_tay = feature.get('mang_tay');\r\n thongTinNew.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTinNew.mia = feature.get('mia');\r\n thongTinNew.mit = feature.get('mit');\r\n thongTinNew.n = feature.get('n');\r\n thongTinNew.ngapung_dt = feature.get('ngapung_dt');\r\n thongTinNew.ngo = feature.get('ngo');\r\n thongTinNew.nhan = feature.get('nhan');\r\n thongTinNew.nhietdo = feature.get('nhietdo');\r\n thongTinNew.oc = feature.get('oc');\r\n thongTinNew.oi = feature.get('oi');\r\n thongTinNew.om = feature.get('om');\r\n thongTinNew.p2o5 = feature.get('p2o5');\r\n thongTinNew.pc_cec = feature.get('pc_cec');\r\n thongTinNew.pc_chisokh = feature.get('pc_chisokh');\r\n thongTinNew.pc_dd = feature.get('pc_dd');\r\n thongTinNew.pc_dp = feature.get('pc_dp');\r\n thongTinNew.pc_k = feature.get('pc_k');\r\n thongTinNew.pc_n = feature.get('pc_n');\r\n thongTinNew.pc_om = feature.get('pc_om');\r\n thongTinNew.pc_p = feature.get('pc_p');\r\n thongTinNew.pc_ph = feature.get('pc_ph');\r\n thongTinNew.pthongTinNewc_r = feature.get('pc_r');\r\n thongTinNew.pc_t = feature.get('pc_t');\r\n thongTinNew.phanvung = feature.get('phanvung');\r\n thongTinNew.phkcl = feature.get('phkcl');\r\n thongTinNew.qh_qh = feature.get('qh_qh');\r\n thongTinNew.rau = feature.get('rau');\r\n thongTinNew.thongTinNewsa = feature.get('sa');\r\n thongTinNew.sam_day = feature.get('sam_day');\r\n thongTinNew.san = feature.get('san');\r\n thongTinNew.set = feature.get('set');\r\n thongTinNew.sl = feature.get('sl');\r\n thongTinNew.sothangkho = feature.get('sothangkho');\r\n thongTinNew.symbol_qh = feature.get('symbol_qh');\r\n thongTinNew.tangday = feature.get('tangday');\r\n thongTinNew.tenpd = feature.get('tenpd');\r\n thongTinNew.thit = feature.get('thit');\r\n thongTinNew.tieu_dt = feature.get('tieu_dt');\r\n thongTinNew.tinh = feature.get('tinh');\r\n thongTinNew.tn = feature.get('tn');\r\n thongTinNew.tpcg = feature.get('tpcg');\r\n thongTinNew.truongnhan = feature.get('truongnhan');\r\n thongTinNew.tton_dt = feature.get('tton_dt');\r\n thongTinNew.tuoi_dt = feature.get('tuoi_dt');\r\n thongTinNew.xa = feature.get('xa');\r\n\r\n thongTinNew.khoai=feature.get('khoai');\r\n thongTinNew.quyt=feature.get('quyt');\r\n thongTinNew.na=feature.get('na');\r\n thongTinNew.xoai=feature.get('xoai');\r\n thongTinNew.che=feature.get('che');\r\n thongTinNew.chanh=feature.get('chanh');\r\n thongTinNew.ca_gai_leo=feature.get('ca_gai_leo');\r\n thongTinNew.ca_phe_che=feature.get('ca_phe_che');\r\n thongTinNew.dau_tuong=feature.get('dau_tuong');\r\n thongTinNew.dau_tam=feature.get('dau_tam');\r\n\r\n thongTinNew.tnh = feature.get('tnh');\r\n thongTinNew.dvddh = feature.get('dvddh');\r\n\r\n setThongTin(thongTinNew);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n donVT(thongTin);\r\n }\r\n else {\r\n setThongTin({ ...{} });\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n\r\n const donVT = (value) =>{\r\n const donvitinh = [\r\n {Ma:'Fe',Value:value.fe,Ten:''},\r\n {Ma:'Sl',Value:value.sl,Ten:''},\r\n {Ma:'Gv',Value:value.dalan,Ten:''},\r\n {Ma:'De',Value:value.de,Ten:''},\r\n {Ma:'Ir',Value:value.tuoi_dt,Ten:''},\r\n {Ma:'Tx',Value:value.tpcg,Ten:''}\r\n ]\r\n setDVT(madontinh.getTen(donvitinh));\r\n }\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BanDoThichHopApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n const closeThongTin = () => {\r\n setShowEdit(false);\r\n\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bản đồ mức độ thích hợp sử dụng đất
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n {roleEdit == true ?: ''}\r\n {roleAdd == true ?: ''}\r\n {roleEdit == true ?: ''}\r\n {roleDel == true ?: ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
Tỉnh{thongTin.tinh}
Huyện{thongTin.huyen}
{thongTin.xa}
Diện tích{thongTin.dt_bs}
Mã đất{thongTin.madat}
Phân vùng{thongTin.phanvung}
Loại đất{thongTin.g}
Địa hình tương đối{thongTin.dhtd}
Địa hình{dvt.filter(x=>x.Ma==='Sl' && x.Value ===thongTin.sl).map(x => x.Ten)}
Tầng dày{dvt.filter(x=>x.Ma==='De' && x.Value ===thongTin.tangday).map(x => x.Ten)}
Thành phần cơ giới{dvt.filter(x=>x.Ma==='Tx' && x.Value ===thongTin.tpcg).map(x => x.Ten)}
Mức độ Đá lẫn{dvt.filter(x=>x.Ma==='Gv' && x.Value ===thongTin.dalan).map(x => x.Ten)}
Dung trọng{thongTin.dungtrong}
Phân Cấp PH{thongTin.pc_ph}
Phân cấp CEC{thongTin.pc_cec}
Phân cấp dinh dưỡng{thongTin.pc_dd}
Phân cấp nito{thongTin.pc_n}
Phân cấp phốt pho{thongTin.pc_p}
Phân cấp Kali{thongTin.pc_k}
Phân cấp chất hữu cơ{thongTin.pc_om}
Phân cấp độ phì{dvt.filter(x=>x.Ma==='Fe' && x.Value ===thongTin.pc_dp).map(x => x.Ten)}
Lượng mưa{thongTin.luongmua_d}
Tổng tích ôn{thongTin.tton_dt}
Mức độ khô hạn{thongTin.khohan_dt}
Nhiệt đô{thongTin.nhietdo}
Chỉ số khô hạn{thongTin.chisokhoha}
Phân cấp chỉ số khô hạn{thongTin.pc_chisokh}
Số tháng khô hạn{thongTin.sothangkho}
Cây trồng{thongTin.caytrong}
Ngập úng{thongTin.ngapung_dt}
Chế độ tưới {dvt.filter(x=>x.Ma==='Ir' && x.Value ===thongTin.tuoi_dt).map(x => x.Ten)}
Chế độ tiêu{thongTin.tieu_dt}
DungTrong_{thongTin.dungtrong_}
Mau_AnhHuong{thongTin.mau_anhhuo}
dvdd{thongTin.dvdd}
dvddh{thongTin.dvddh}
Lúa{thongTin.lua}
Ngô{thongTin.ngo}
Rau{thongTin.rau}
Khoai{thongTin.khoai}
Sắn{thongTin.san}
Lạc{thongTin.lac}
Mía{thongTin.mia}
Cam{thongTin.cam}
Quýt{thongTin.quyt}
Bưởi{thongTin.buoi}
Chè{thongTin.che}
Dưa hấu{thongTin.dua_hau}
Na{thongTin.na}
Chanh{thongTin.chanh}
Xoài{thongTin.xoai}
Cà gai leo{thongTin.ca_gai_leo}
Dâu tằm{thongTin.dau_tam}
Nhãn{thongTin.nhan}
Cà phê chè{thongTin.ca_phe_che}
Đậu tương{thongTin.dau_tuong}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\nconst BanDoDeXuatSuDungDatApi = {\r\n getAll: () => {\r\n const url = '/bandodexuatsudungdat/getall';\r\n return axiosClient.get(url)\r\n },\r\n\r\n delete: (str) => {\r\n const url = '/bandodexuatsudungdat/delete?str=' + str;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n updateGeo: (data) => {\r\n const url = '/bandodexuatsudungdat/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n addGeo: (data) => {\r\n const url = '/bandodexuatsudungdat/add';\r\n return axiosClient.post(url, data);\r\n },\r\n getPaging: (params) => {\r\n const url = '/mappublic/gettimkiem';\r\n return axiosClient.get(url, { params });\r\n },\r\n updateThongTin: (data) => {\r\n const url = '/bandodexuatsudungdat/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/bandodexuatsudungdat/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default BanDoDeXuatSuDungDatApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoDeXuatSuDungDatApi from '../../api/BanDoDeXuatSuDungDatApi';\r\nimport LopMauApi from '../../api/LopMauApi';\r\n\r\nexport const ModalEditThongTin = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeThongTin();\r\n setShow(false)\r\n };\r\n const { register, handleSubmit, reset } = useForm();\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listLopMau, setLopMau] = useState([]);\r\n const [gid, setGid] = useState('');\r\n useEffect(() => {\r\n loadLopMau();\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.MaMau = selectedOption.value;\r\n }\r\n data.gid = gid;\r\n data.geometry = props.thongTin.geometry;\r\n if (props.themMoi) {\r\n BanDoDeXuatSuDungDatApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n else {\r\n BanDoDeXuatSuDungDatApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n const onChangeMau = (e) => {\r\n setSelectedOption(e);\r\n\r\n }\r\n\r\n function loadLopMau() {\r\n LopMauApi.getLopBanDo().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn màu' });\r\n response.forEach(item => {\r\n list.push({ value: item.MaMau, label: item.Ten });\r\n })\r\n setLopMau(list);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n huyen: props.thongTin.huyen,\r\n xa: props.thongTin.xa,\r\n buoi: props.thongTin.buoi,\r\n ca_gai_leo: props.thongTin.ca_gai_leo,\r\n ca_phe_che: props.thongTin.ca_phe_che,\r\n cam: props.thongTin.cam,\r\n caytrong: props.thongTin.caytrong,\r\n chanh: props.thongTin.chanh,\r\n che: props.thongTin.che,\r\n chisokhoha: props.thongTin.chisokhoha,\r\n dalan: props.thongTin.dalan,\r\n dau_tam: props.thongTin.dau_tam,\r\n dau_tuong: props.thongTin.dau_tuong,\r\n dhtd: props.thongTin.dhtd,\r\n dt_bs: props.thongTin.dt_bs,\r\n dua_hau: props.thongTin.dua_hau,\r\n dungtrong_: props.thongTin.dungtrong_,\r\n dvdd: props.thongTin.dvdd,\r\n g: props.thongTin.g,\r\n sl: props.thongTin.sl,\r\n khoai: props.thongTin.khoai,\r\n khohan_dt: props.thongTin.khohan_dt,\r\n lac: props.thongTin.lac,\r\n lua: props.thongTin.lua,\r\n luongmua_d: props.thongTin.luongmua_d,\r\n madat: props.thongTin.madat,\r\n mau_anhhuo: props.thongTin.mau_anhhuo,\r\n mia: props.thongTin.mia,\r\n na: props.thongTin.na,\r\n ngapung_dt: props.thongTin.ngapung_dt,\r\n ngo: props.thongTin.ngo,\r\n nhan: props.thongTin.nhan,\r\n nhietdo: props.thongTin.nhietdo,\r\n pc_cec: props.thongTin.pc_cec,\r\n pc_dd: props.thongTin.pc_dd,\r\n pc_dp: props.thongTin.pc_dp,\r\n pc_k: props.thongTin.pc_k,\r\n pc_n: props.thongTin.pc_n,\r\n pc_om: props.thongTin.pc_om,\r\n pc_p: props.thongTin.pc_p,\r\n pc_ph: props.thongTin.pc_ph,\r\n phanvung: props.thongTin.phanvung,\r\n quyt: props.thongTin.quyt,\r\n rau: props.thongTin.rau,\r\n san: props.thongTin.san,\r\n sothangkho: props.thongTin.sothangkho,\r\n tangday: props.thongTin.tangday,\r\n tenpd: props.thongTin.tenpd,\r\n tieu_dt: props.thongTin.tieu_dt,\r\n tinh: props.thongTin.tinh,\r\n tn: props.thongTin.tn,\r\n tpcg: props.thongTin.tpcg,\r\n tton_dt: props.thongTin.tton_dt,\r\n tuoi_dt: props.thongTin.tuoi_dt,\r\n xoai: props.thongTin.xoai\r\n }, [reset])\r\n setShow(true);\r\n var index = listLopMau.findIndex(x => x.value == props.thongTin.dvdd);\r\n setSelectedOption(listLopMau[index]);\r\n }\r\n\r\n }, [props.showEdit]);\r\n\r\n\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n Thông tin\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {/* \r\n
\r\n \r\n
*/}\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport BanDoDeXuatSuDungDatApi from '../../api/BanDoDeXuatSuDungDatApi';\r\nimport { ModalEditThongTin } from './ModalEditThongTin';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Authen from '../../core/Authen';\r\nimport madontinh from '../../main/madontinh/madontinh'\r\n\r\nexport const BanDoDeXuatSuDungDat = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n const kieuBanDo = 5;\r\n\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [dvt,setDVT] = useState([]);\r\n\r\n const style = (color, text, duongKe) => {\r\n if (duongKe != null) {\r\n\r\n var cnv = document.createElement('canvas');\r\n var ctx = cnv.getContext('2d');\r\n var img = new Image();\r\n img.src = duongKe\r\n ctx.fillStyle = color;\r\n \r\n var pattern = ctx.createPattern(img, 'repeat');\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: pattern\r\n // color: color\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n }),\r\n image: new ol.style.Icon({\r\n src: duongKe,\r\n rotateWithView: true\r\n })\r\n });\r\n }\r\n else {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n // color: color,\r\n color: color\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('qh');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text, listStyles[index].DuongKe);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n getThongTin(feature);\r\n setThongTin({ ...thongTin });\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: kieuBanDo\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n listStyles = listStyles.filter(x => x.Type === kieuBanDo);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n\r\n if (item.Type === 1 || (item.Type === kieuBanDo && item.GeoJson !== true)) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n province.setVisible(item.Checked);\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo && item.GeoJson === true) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n provinceDat.setVisible(item.Checked);\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin = {};\r\n thongTin.geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin({ ...thongTin });\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('HTSUDUNGDATLUA_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('HTSUDUNGDATLUA_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('HTSUDUNGDATLUA_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n setThongTin({ ...{} });\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n console.log(feature);\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n getThongTin(feature);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n }\r\n else {\r\n setThongTin({ ...{} });\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n function getThongTin(feature) {\r\n let thongTin = {};\r\n thongTin.gid = feature.getId();\r\n thongTin.buoi = feature.get('buoi');\r\n thongTin.ca_gai_leo = feature.get('ca_gai_leo');\r\n thongTin.ca_phe_che = feature.get('ca_phe_che');\r\n thongTin.cam = feature.get('cam');\r\n thongTin.caytrong = feature.get('caytrong');\r\n thongTin.chanh = feature.get('chanh');\r\n thongTin.che = feature.get('che');\r\n thongTin.chisokhoha = feature.get('chisokhoha');\r\n thongTin.dalan = feature.get('dalan');\r\n thongTin.dau_tam = feature.get('dau_tam');\r\n thongTin.dau_tuong = feature.get('dau_tuong');\r\n thongTin.dhtd = feature.get('dhtd');\r\n thongTin.dt_bs = feature.get('dt_bs');\r\n thongTin.dua_hau = feature.get('dua_hau');\r\n thongTin.dungtrong_ = feature.get('dungtrong_');\r\n thongTin.dvdd = feature.get('dvdd');\r\n thongTin.g = feature.get('g');\r\n thongTin.id = feature.get('id');\r\n thongTin.khoai = feature.get('khoai');\r\n thongTin.khohan_dt = feature.get('khohan_dt');\r\n thongTin.lac = feature.get('lac');\r\n thongTin.lua = feature.get('lua');\r\n thongTin.luongmua_d = feature.get('luongmua_d');\r\n thongTin.madat = feature.get('madat');\r\n thongTin.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTin.mia = feature.get('mia');\r\n thongTin.na = feature.get('na');\r\n thongTin.ngapung_dt = feature.get('ngapung_dt');\r\n thongTin.ngo = feature.get('ngo');\r\n thongTin.nhan = feature.get('nhan');\r\n thongTin.nhietdo = feature.get('nhietdo');\r\n thongTin.pc_cec = feature.get('pc_cec');\r\n thongTin.pc_dd = feature.get('pc_dd');\r\n thongTin.pc_dp = feature.get('pc_dp');\r\n thongTin.pc_k = feature.get('pc_k');\r\n thongTin.pc_n = feature.get('pc_n');\r\n thongTin.pc_om = feature.get('pc_om');\r\n thongTin.pc_p = feature.get('pc_p');\r\n thongTin.pc_ph = feature.get('pc_ph');\r\n thongTin.phanvung = feature.get('phanvung');\r\n thongTin.qh = feature.get('qh');\r\n thongTin.quyt = feature.get('quyt');\r\n thongTin.rau = feature.get('rau');\r\n thongTin.san = feature.get('san');\r\n thongTin.sl = feature.get('sl');\r\n thongTin.sothangkho = feature.get('sothangkho');\r\n thongTin.tangday = feature.get('tangday');\r\n thongTin.tenpd = feature.get('tenpd');\r\n thongTin.tieu_dt = feature.get('tieu_dt');\r\n thongTin.tinh = feature.get('tinh');\r\n thongTin.tn = feature.get('tn');\r\n thongTin.tpcg = feature.get('tpcg');\r\n thongTin.tton_dt = feature.get('tton_dt');\r\n thongTin.tuoi_dt = feature.get('tuoi_dt');\r\n thongTin.xa = feature.get('xa');\r\n thongTin.xoai = feature.get('xoai');\r\n thongTin.huyen = feature.get('huyen');\r\n donVT(thongTin);\r\n setThongTin({ ...thongTin });\r\n }\r\n\r\n const donVT = (value) =>{\r\n const donvitinh = [\r\n {Ma:'Fe',Value:value.fe,Ten:''},\r\n {Ma:'Sl',Value:value.slop,Ten:''},\r\n {Ma:'Gv',Value:value.gv,Ten:''},\r\n {Ma:'De',Value:value.de,Ten:''},\r\n {Ma:'Ir',Value:value.tuoi_dt,Ten:''},\r\n {Ma:'Tx',Value:value.tpcg,Ten:''}\r\n ]\r\n setDVT(madontinh.getTen(donvitinh));\r\n }\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BanDoDeXuatSuDungDatApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n const closeThongTin = () => {\r\n if (!isThemMoi) {\r\n provinceDat.getSource().clear();\r\n }\r\n setShowEdit(false);\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bản đồ đề xuất sửa dụng đất
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n {roleEdit == true ? : ''}\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
Tỉnh{thongTin.tinh}
Huyện{thongTin.huyen}
{thongTin.xa}
Mã đất{thongTin.madat}
Phân vùng{thongTin.phanvung}
Loại đất{thongTin.g}
Diện tích{thongTin.dt_bs}
Đơn vị đất đai{thongTin.dvdd}
Tên phẫu diện{thongTin.tenpd}
Mẫu ảnh hưởng{thongTin.mau_anhhuo}
Địa hình tương đối{thongTin.dhtd}
Địa hình{dvt.filter(x=>x.Ma==='Sl' && x.Value ===thongTin.slop).map(x => x.Ten)}
Tầng dày{dvt.filter(x=>x.Ma==='De' && x.Value ===thongTin.tangday).map(x => x.Ten)}
Thành phần cơ giới{dvt.filter(x=>x.Ma==='Tx' && x.Value ===thongTin.tpcg).map(x => x.Ten)}
Mức độ Đá lẫn{dvt.filter(x=>x.Ma==='Gv' && x.Value ===thongTin.dalan).map(x => x.Ten)}
Dung trọng{thongTin.dungtrong_}
Phân Cấp PH{thongTin.pc_ph}
Phân cấp CEC{thongTin.pc_cec}
Phân cấp dinh dưỡng{thongTin.pc_dd}
Phân cấp nito{thongTin.pc_n}
Phân cấp phốt pho{thongTin.pc_p}
Phân cấp Kali{thongTin.pc_k}
Phân cấp chất hữu cơ{thongTin.pc_om}
Phân cấp độ phì{dvt.filter(x=>x.Ma==='Fe' && x.Value ===thongTin.pc_dp).map(x => x.Ten)}
Lượng mưa{thongTin.luongmua_d}
Tổng tích ôn{thongTin.tton_dt}
Mức độ khô hạn{thongTin.khohan_dt}
Nhiệt đô{thongTin.nhietdo}
Chỉ số khô hạn{thongTin.chisokhoha}
Số tháng khô hạn{thongTin.sothangkho}
Cây trồng{thongTin.caytrong}
Ngập úng{thongTin.ngapung_dt}
Chế độ tưới {dvt.filter(x=>x.Ma==='Ir' && x.Value ===thongTin.tuoi_dt).map(x => x.Ten)}
Bưởi{thongTin.buoi}
Cà gai leo{thongTin.ca_gai_leo}
Cà phê chè{thongTin.ca_phe_che}
Cam{thongTin.cam}
Chanh{thongTin.chanh}
Chè{thongTin.che}
Dâu tằm{thongTin.dau_tam}
Đậu tương{thongTin.dau_tuong}
Dưa hấu{thongTin.dua_hau}
Khoai{thongTin.khoai}
Lạc{thongTin.lac}
Lúa{thongTin.lua}
Mía{thongTin.mia}
Na{thongTin.na}
Ngô{thongTin.ngo}
Nhãn{thongTin.nhan}
Quýt{thongTin.quyt}
Rau{thongTin.rau}
Sắn{thongTin.san}
Xoài{thongTin.xoai}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoChatLuongDatApi from '../../api/BanDoChatLuongDatApi';\r\nimport LopMauApi from '../../api/LopMauApi';\r\n\r\nexport const ModalEditThongTin = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeThongTin();\r\n setShow(false)\r\n };\r\n const { register, handleSubmit, reset } = useForm();\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listLopMau, setLopMau] = useState([]);\r\n const [gid, setGid] = useState('');\r\n useEffect(() => {\r\n loadLopMau();\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.dvdd = selectedOption.value;\r\n }\r\n data.gid = gid;\r\n data.geometry = props.thongTin.geometry;\r\n if (props.themMoi) {\r\n BanDoChatLuongDatApi.addThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n else {\r\n BanDoChatLuongDatApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n props.saveSuccess();\r\n })\r\n }\r\n }\r\n\r\n const onChangeMau = (e) => {\r\n setSelectedOption(e);\r\n }\r\n\r\n function loadLopMau() {\r\n LopMauApi.getLopBanDo().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn màu' });\r\n response.forEach(item => {\r\n if(item.Type == 3){\r\n list.push({ value: item.MaMau, label: item.Ten });\r\n }\r\n })\r\n setLopMau(list);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setGid(props.thongTin.gid);\r\n reset({\r\n caytrong: props.thongTin.caytrong,\r\n chisokhoha: props.thongTin.chisokhoha,\r\n dalan: props.thongTin.dalan,\r\n dhtd: props.thongTin.dhtd,\r\n dt_bs: props.thongTin.dt_bs,\r\n dungtrong: props.thongTin.dungtrong,\r\n dungtrong_: props.thongTin.dungtrong_,\r\n dvdd: props.thongTin.dvdd,\r\n g: props.thongTin.g,\r\n huyen: props.thongTin.huyen,\r\n khohan_dt: props.thongTin.khohan_dt,\r\n luongmua_d: props.thongTin.luongmua_d,\r\n madat: props.thongTin.madat,\r\n mau_anhhuo: props.thongTin.mau_anhhuo,\r\n ngapung_dt: props.thongTin.ngapung_dt,\r\n nhietdo: props.thongTin.nhietdo,\r\n pc_cec: props.thongTin.pc_cec,\r\n pc_chisokh: props.thongTin.pc_chisokh,\r\n pc_dd: props.thongTin.pc_dd,\r\n pc_dp: props.thongTin.pc_dp,\r\n pc_k: props.thongTin.pc_k,\r\n pc_n: props.thongTin.pc_n,\r\n pc_om: props.thongTin.pc_om,\r\n pc_p: props.thongTin.pc_p,\r\n pc_ph: props.thongTin.pc_ph,\r\n phanvung: props.thongTin.phanvung,\r\n sl: props.thongTin.sl,\r\n sothangkho: props.thongTin.sothangkho,\r\n tangday: props.thongTin.tangday,\r\n tenpd: props.thongTin.tenpd,\r\n tieu_dt: props.thongTin.tieu_dt,\r\n tinh: props.thongTin.tinh,\r\n tpcg: props.thongTin.tpcg,\r\n tton_dt: props.thongTin.tton_dt,\r\n tuoi_dt: props.thongTin.tuoi_dt,\r\n xa: props.thongTin.xa\r\n }, [reset])\r\n setShow(true);\r\n var index = listLopMau.findIndex(x => x.value == props.thongTin.dvdd);\r\n setSelectedOption(listLopMau[index]);\r\n }\r\n\r\n }, [props.showEdit]);\r\n\r\n\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n Thông tin\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport BanDoChatLuongDatApi from '../../api/BanDoChatLuongDatApi';\r\nimport { ModalEditThongTin } from './ModalEditThongTin';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Authen from '../../core/Authen';\r\nimport madontinh from '../../main/madontinh/madontinh'\r\n\r\nexport const BanDoChatLuongDat = () => {\r\n var view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n const kieuBanDo = 3;\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n const [filter, setFilter] = useState();\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [dvt,setDVT] = useState([]);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('dvdd');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n getThongTin(feature);\r\n setThongTin({...thongTin});\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: kieuBanDo\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n listStyles = listStyles.filter(x => x.Type === kieuBanDo);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1 || (item.Type === kieuBanDo && item.GeoJson !== true)) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n province.setVisible(item.Checked);\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo && item.GeoJson === true) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n provinceDat.setVisible(item.Checked);\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin = {};\r\n thongTin.geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin({...thongTin});\r\n \r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('BDCHATLUONGDAT_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BDCHATLUONGDAT_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BDCHATLUONGDAT_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n setThongTin({ ...{} });\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n getThongTin(feature);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n }\r\n else {\r\n setThongTin({ ...{} });\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n function getThongTin(feature) {\r\n thongTin = {};\r\n thongTin.gid = feature.getId();\r\n thongTin.caytrong = feature.get('caytrong');\r\n thongTin.chisokhoha = feature.get('chisokhoha');\r\n thongTin.dalan = feature.get('dalan');\r\n thongTin.dhtd = feature.get('dhtd');\r\n thongTin.dt_bs = feature.get('dt_bs');\r\n thongTin.dungtrong = feature.get('dungtrong');\r\n thongTin.dungtrong_ = feature.get('dungtrong_');\r\n thongTin.dvdd = feature.get('dvdd');\r\n thongTin.g = feature.get('g');\r\n thongTin.huyen = feature.get('huyen');\r\n thongTin.id = feature.get('id');\r\n thongTin.khohan_dt = feature.get('khohan_dt');\r\n thongTin.luongmua_d = feature.get('luongmua_d');\r\n thongTin.madat = feature.get('madat');\r\n thongTin.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTin.ngapung_dt = feature.get('ngapung_dt');\r\n thongTin.nhietdo = feature.get('nhietdo');\r\n thongTin.pc_cec = feature.get('pc_cec');\r\n thongTin.pc_chisokh = feature.get('pc_chisokh');\r\n thongTin.pc_dd = feature.get('pc_dd');\r\n thongTin.pc_dp = feature.get('pc_dp');\r\n thongTin.pc_k = feature.get('pc_k');\r\n thongTin.pc_n = feature.get('pc_n');\r\n thongTin.pc_om = feature.get('pc_om');\r\n thongTin.pc_p = feature.get('pc_p');\r\n thongTin.pc_ph = feature.get('pc_ph');\r\n thongTin.phanvung = feature.get('phanvung');\r\n thongTin.sl = feature.get('sl');\r\n thongTin.sothangkho = feature.get('sothangkho');\r\n thongTin.tangday = feature.get('tangday');\r\n thongTin.tenpd = feature.get('tenpd');\r\n thongTin.tieu_dt = feature.get('tieu_dt');\r\n thongTin.tinh = feature.get('tinh');\r\n thongTin.tpcg = feature.get('tpcg');\r\n thongTin.tton_dt = feature.get('tton_dt');\r\n thongTin.tuoi_dt = feature.get('tuoi_dt');\r\n thongTin.xa = feature.get('xa');\r\n\r\n donVT(thongTin);\r\n setThongTin({ ...thongTin });\r\n }\r\n\r\n const donVT = (value) =>{\r\n const donvitinh = [\r\n {Ma:'Fe',Value:value.fe,Ten:''},\r\n {Ma:'Sl',Value:value.sl,Ten:''},\r\n {Ma:'Gv',Value:value.dalan,Ten:''},\r\n {Ma:'De',Value:value.de,Ten:''},\r\n {Ma:'Ir',Value:value.tuoi_dt,Ten:''},\r\n {Ma:'Tx',Value:value.tpcg,Ten:''}\r\n ]\r\n setDVT(madontinh.getTen(donvitinh));\r\n }\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n const timKiem = () => {\r\n\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BanDoChatLuongDatApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n\r\n\r\n\r\n const closeThongTin = () => {\r\n if (!isThemMoi) {\r\n provinceDat.getSource().clear();\r\n }\r\n setShowEdit(false);\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bản đồ chất lượng đất
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n {roleEdit == true ? : ''}\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
Tỉnh{thongTin.tinh}
Huyện{thongTin.huyen}
{thongTin.xa}
Mã đất{thongTin.madat}
Diện tích{thongTin.dt_bs}
Đơn vị đất đai{thongTin.dvdd}
Phân vùng{thongTin.phanvung}
Loại đất{thongTin.g}
Địa hình tương đối{thongTin.dhtd}
Địa hình{dvt.filter(x=>x.Ma==='Sl' && x.Value ===thongTin.sl).map(x => x.Ten)}
Tầng dày{dvt.filter(x=>x.Ma==='De' && x.Value ===thongTin.tangday).map(x => x.Ten)}
Thành phần cơ giới{dvt.filter(x=>x.Ma==='Tx' && x.Value ===thongTin.tpcg).map(x => x.Ten)}
Mức độ Đá lẫn{dvt.filter(x=>x.Ma==='Gv' && x.Value ===thongTin.dalan).map(x => x.Ten)}
Dung trọng{thongTin.dungtrong}
Phân Cấp PH{thongTin.pc_ph}
Phân cấp CEC{thongTin.pc_cec}
Phân cấp dinh dưỡng{thongTin.pc_dd}
Phân cấp nito{thongTin.pc_n}
Phân cấp phốt pho{thongTin.pc_p}
Phân cấp Kali{thongTin.pc_k}
Phân cấp chất hữu cơ{thongTin.pc_om}
qh{thongTin.qh}
tn{thongTin.tn}
Phân cấp độ phì{dvt.filter(x=>x.Ma==='Fe' && x.Value ===thongTin.pc_dp).map(x => x.Ten)}
Lượng mưa{thongTin.luongmua_d}
Tổng tích ôn{thongTin.tton_dt}
Mức độ khô hạn{thongTin.khohan_dt}
Nhiệt đô{thongTin.nhietdo}
Chỉ số khô hạn{thongTin.chisokhoha}
Phân cấp chỉ số khô hạn{thongTin.pc_chisokh}
Số tháng khô hạn{thongTin.sothangkho}
Cây trồng{thongTin.caytrong}
Ngập úng{thongTin.ngapung_dt}
Chế độ tưới {dvt.filter(x=>x.Ma==='Ir' && x.Value ===thongTin.tuoi_dt).map(x => x.Ten)}
Chế độ tiêu{thongTin.tieu_dt}
Dung trọng{thongTin.dungtrong_}
Mẫu ảnh hưởng{thongTin.mau_anhhuo}
Tên phẫu diện{thongTin.tenpd}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport BanDoChatLuongDatApi from '../../api/BanDoChatLuongDatApi';\r\nimport LopMauApi from '../../api/LopMauApi';\r\n\r\n\r\nexport const BanDoNen = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n const kieuBanDo = 1;\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n var [listStyles, setListStyle] = useState([]);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('dvdd');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: kieuBanDo\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n listStyles = listStyles.filter(x => x.Type === kieuBanDo);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n province.setVisible(item.Checked);\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n provinceDat.setVisible(item.Checked);\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n }, []);\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bản đồ nền
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst LoaiCayApi = {\r\n getPaging: (params) => {\r\n const url = '/loaicay/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/loaicay/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/loaicay/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/loaicay/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/loaicay/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getLoaiCay: (params) =>{\r\n const url = 'loaicay/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default LoaiCayApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport {useForm} from 'react-hook-form';\r\nimport '../../../css/reacttab.css';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport {Tab,Tabs,TabList,TabPanel} from 'react-tabs';\r\nimport '../../../css/apppublic.css';\r\nimport Authen from '../../../core/Authen';\r\nimport CKEditor from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport {confirmAlert} from 'react-confirm-alert';\r\nimport Ultility from '../../../core/Ultility'\r\nimport UrlTile from 'ol/source/UrlTile';\r\nimport {QuanLyTapTin} from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport LoaiCayApi from '../../../api/LoaiCayApi';\r\n\r\nexport const LoaiCay = () => {\r\n const [listLoaiCay, setListLoaiCay] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [show,setShow] = useState(false);\r\n const [isEdit,setIsEdit] = useState(false);\r\n const [isXem,setIsXem] = useState(false);\r\n const [loaiCay,setLoaiCay] = useState({});\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [isExist,setIsExist] = useState([{Value:false}]);\r\n const [isValueExist,setIsValueExist] = useState('');\r\n\r\n const {handleSubmit,register, reset,errors} = useForm();\r\n\r\n const [nhanVien, setNhanVien] = useState({});\r\n\r\n useEffect(() => {\r\n setNhanVien(Authen.getUser());\r\n }, []);\r\n\r\n const [paginationConfig,setPaginationConfig] = useState({\r\n totalPages : 1,\r\n currentPage : 1,\r\n showMax : 5,\r\n size : 'sm',\r\n threeDots : true,\r\n prevNext : true,\r\n onClick: function(page){\r\n if(page!= null)\r\n {\r\n pageIndex = page;\r\n loadLoaiCay();\r\n }\r\n }\r\n });\r\n\r\n var pageIndex = 1,pageSize = 20;\r\n \r\n const loadLoaiCay = async () =>{\r\n try{\r\n const params = {\r\n keyword: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const res = await LoaiCayApi.getPaging(params);\r\n res.Items.map((x)=>{\r\n x.Checked = false\r\n });\r\n setListLoaiCay(res.Items);\r\n paginationConfig.totalPages = Math.ceil(res.TotalRow==0?1:res.TotalRow/pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n setIsEdit(false);\r\n setLoaiCay({});\r\n }\r\n catch{\r\n console.log('loi roi');\r\n }\r\n \r\n }\r\n\r\n useEffect(()=>{\r\n loadLoaiCay();\r\n setRoleAdd(Authen.checkQuyen('LOAICAY_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('LOAICAY_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('LOAICAY_DELETE'));\r\n },[])\r\n\r\n const setFilt = (e) => {\r\n setFilter(e.target.value);\r\n }\r\n\r\n const Timkiem = () =>{\r\n loadLoaiCay();\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setIsXem(false);\r\n \r\n }\r\n const handleShow = () => { \r\n setIsXem(false);\r\n setShow(true);\r\n }\r\n\r\n \r\n const rowClick = (Id) =>{\r\n listLoaiCay.map((x) => {\r\n if(x.Id === Id){\r\n x.Checked = !x.Checked;\r\n if(x.Checked)\r\n {\r\n setIsEdit(true);\r\n setLoaiCay(x);\r\n reset({\r\n Id:x.Id,\r\n MaLoai: x.MaLoai,\r\n TenLoai: x.TenLoai,\r\n GhiChu: x.GhiChu,\r\n CreateBy: x.CreateBy,\r\n UpdateBy: x.UpdateBy\r\n }, [reset])\r\n }\r\n else\r\n {\r\n setIsEdit(false);\r\n reset({},[reset]);\r\n setLoaiCay({});\r\n }\r\n }\r\n else\r\n {\r\n x.Checked = false;\r\n }\r\n }\r\n )\r\n }\r\n \r\n const handleShowData = () => {\r\n setIsXem(true);\r\n setShow(true);\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n \r\n try{\r\n let exi = isExist;\r\n exi[0].Value = false;\r\n setIsExist([...exi]);\r\n if (!isEdit)\r\n {\r\n console.log(isExist);\r\n listLoaiCay.forEach(x=>{\r\n if(x.MaLoai === data.MaLoai)\r\n {\r\n exi[0].Value = true;\r\n setIsExist([...exi]);\r\n }\r\n })\r\n if(!isExist[0].Value)\r\n {\r\n data.CreateBy = nhanVien.Id;\r\n data.UpdateBy = '';\r\n const res = await LoaiCayApi.post(data);\r\n setShow(false);\r\n setIsXem(false);\r\n setIsEdit(false);\r\n setLoaiCay({});\r\n loadLoaiCay();\r\n reset({},[reset]);\r\n }\r\n }\r\n else\r\n {\r\n data.CreateBy = '';\r\n data.UpdateBy = nhanVien.Id;\r\n data.MaLoai = loaiCay.MaLoai;\r\n console.log(loaiCay);\r\n const res = await LoaiCayApi.put(data);\r\n setShow(false);\r\n setIsXem(false);\r\n setIsEdit(false);\r\n setLoaiCay({});\r\n loadLoaiCay();\r\n reset({},[reset]);\r\n }\r\n \r\n }\r\n catch(ex){\r\n console.log(ex.message);\r\n }\r\n \r\n }\r\n\r\n const alertDell = () =>{\r\n confirmAlert({\r\n title:'Xóa loại cây',\r\n message: 'Bạn có chắc muốn xóa loại cây',\r\n buttons:[\r\n {\r\n label:'Đồng ý',\r\n onClick: async () => {\r\n const res = await LoaiCayApi.delete(loaiCay.Id);\r\n loadLoaiCay();\r\n setLoaiCay({});\r\n setIsEdit(false);\r\n }\r\n },\r\n {\r\n label:'không',\r\n onClick: () => {\r\n }\r\n }\r\n ]\r\n });\r\n }\r\n\r\n useEffect(()=>{\r\n if(isExist[0].Value === true)\r\n {\r\n setIsValueExist('* Mã loại cây đã tồn tại');\r\n }\r\n else\r\n {\r\n setIsValueExist('');\r\n }\r\n }\r\n ,[isExist[0].Value]);\r\n\r\n\r\n return(\r\n
\r\n
\r\n
\r\n
\r\n
Loại cây
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {roleAdd == true ?:''}\r\n {roleEdit == true ?:''}\r\n {roleDel == true ?:''}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLoaiCay.map((item, key) => {\r\n return (\r\n rowClick(item.Id)}>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Mã loạiTên loạiGhi chú
\r\n item.Checked = e.target.value}>\r\n {item.MaLoai}{item.TenLoai}{item.GhiChu}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n Loại cây\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Mã loại *\r\n
\r\n
\r\n {isEdit === false? :\r\n \r\n }\r\n \r\n {isEdit === false? { errors.MaLoai && errors.MaLoai.message}:''}\r\n {isEdit === false?{isValueExist}:''}\r\n
\r\n
\r\n
\r\n
\r\n Tên loại\r\n
\r\n
\r\n \r\n {/* {errors.alias && errors.alias.message} */}\r\n
\r\n
\r\n
\r\n
\r\n Ghi chú\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Hủy\r\n \r\n
\r\n
\r\n\r\n \r\n );\r\n};\r\n ","import axiosClient from './axiosClient';\r\nconst BanDoDeXuatPhanBonApi = {\r\n getAll: () => {\r\n const url = '/bandodexuatphanbon/getall';\r\n return axiosClient.get(url)\r\n },\r\n\r\n delete: (str,gid,maloai) => {\r\n const url = '/bandodexuatphanbon/delete?str=' + str + '&&gid=' + gid + '&&maloai=' + maloai;\r\n console.log(url);\r\n return axiosClient.delete(url);\r\n },\r\n\r\n updateGeo: (data) =>{\r\n const url = '/bandodexuatphanbon/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n addGeo: (data) =>{\r\n const url = '/bandodexuatphanbon/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n GetThongTin: (gid) => {\r\n const url = '/bandodexuatphanbon/getthongtin?Gid=' + gid;\r\n return axiosClient.get(url);\r\n },\r\n\r\n updateThongTin: (data) => {\r\n const url = '/bandodexuatphanbon/editthongtin';\r\n return axiosClient.put(url, data);\r\n },\r\n addThongTin: (data) => {\r\n const url = '/bandodexuatphanbon/addthongtin';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\nexport default BanDoDeXuatPhanBonApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst MuaVuApi = {\r\n getPaging: (params) => {\r\n const url = '/muavu/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/muavu/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/muavu/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/muavu/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/muavu/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getMuaVu: (params) =>{\r\n const url = 'muavu/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default MuaVuApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoDeXuatPhanBonApi from '../../api/BanDoDeXuatPhanBonApi';\r\nimport LoaiCayApi from '../../api/LoaiCayApi';\r\nimport MuaVuApi from '../../api/MuaVuApi';\r\n\r\nexport const ModalEditThongTin = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeThongTin();\r\n setShow(false)\r\n };\r\n const { register, handleSubmit, reset } = useForm();\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [selectedOptionMuaVu, setSelectedOptionMuaVu] = useState();\r\n const [listLoaiCay, setLoaiCay] = useState([]);\r\n const [listMuaVu, setMuaVu] = useState([]);\r\n const [gid, setGid] = useState('');\r\n const [listRow,setListRow] = useState([{Count:0,Id:0,LoaiPhan:'',KhoiLuong:''}]);\r\n const [listRowDefault,setListRowDefault] = useState([{Count:0,Id:0,LoaiPhan:'',KhoiLuong:''}]);\r\n const [createRow,setCreateRow] = useState(false);\r\n const kieuBanDo = 4;\r\n const [rowCount,setRowCount] = useState(1);\r\n const [listObject,setListObject] = useState([]);\r\n const [modeEdit,setModeEdit] = useState(false);\r\n\r\n const saveData = (data) => {\r\n let str = '';\r\n if (selectedOption) {\r\n data.MaLoai = selectedOption.value;\r\n }\r\n if (selectedOptionMuaVu) {\r\n data.MaMuaVu = selectedOptionMuaVu.value;\r\n }\r\n if (data.MaLoai !== undefined)\r\n {\r\n data.gid = gid;\r\n data.geometry=props.thongTin.geometry;\r\n\r\n listRow.forEach(x =>{\r\n if(x.Id !==0)\r\n {\r\n listObject.forEach(p=>{\r\n if(x.Id === p.Id)\r\n {\r\n if(str ==='')\r\n {\r\n str += x.Id\r\n }\r\n else\r\n {\r\n str += ',' + x.Id\r\n }\r\n }\r\n })\r\n }\r\n })\r\n\r\n BanDoDeXuatPhanBonApi.delete(str,gid,selectedOption.value);\r\n\r\n\r\n listRow.forEach(x =>{\r\n data.Id = x.Id;\r\n data.LoaiPhan = x.LoaiPhan;\r\n data.KhoiLuong = x.KhoiLuong;\r\n BanDoDeXuatPhanBonApi.updateThongTin(data).then(() => {\r\n setShow(false);\r\n })\r\n props.saveSuccess();\r\n\r\n \r\n })\r\n }\r\n }\r\n\r\n\r\n const addNewRow = () =>{\r\n let list = listRow;\r\n list.push({Count:rowCount,Id:0, LoaiPhan: '',KhoiLuong:''})\r\n setListRow([...list]);\r\n setRowCount(rowCount+1);\r\n }\r\n\r\n const deleteRow = (item) =>{\r\n let index = listRow.indexOf(item);\r\n let list = [...listRow];\r\n if (index !== -1)\r\n {\r\n list.splice(index,1);\r\n setListRow([...list]);\r\n } \r\n \r\n }\r\n\r\n useEffect(()=>{\r\n setRowCount(rowCount);\r\n },[rowCount])\r\n\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (props.showEdit === true) {\r\n setGid(props.thongTin.gid);\r\n loadThongTin();\r\n setSelectedOption('');\r\n setSelectedOptionMuaVu('');\r\n setCreateRow(false);\r\n setShow(true);\r\n setModeEdit(props.modeEdit);\r\n\r\n\r\n /* var index = listLopMau.findIndex(x => x.value == props.thongTin.tnh);\r\n setSelectedOption(listLopMau[index]); */\r\n }\r\n\r\n }, [props.showEdit]);\r\n\r\n const loadThongTin = async () =>{\r\n if(props.thongTin.gid !=='')\r\n {\r\n const res = await BanDoDeXuatPhanBonApi.GetThongTin(props.thongTin.gid);\r\n setListObject(res.Items);\r\n }\r\n\r\n } \r\n\r\n \r\n const onChangeLoaiCay = (e) => {\r\n setSelectedOption(e);\r\n let list = [];\r\n setRowCount(1);\r\n listObject.map(x => {\r\n if(x.MaLoai === e.value)\r\n {\r\n list.push({'Count':rowCount,'Id':x.Id,'LoaiPhan':x.LoaiPhan,'KhoiLuong':x.KhoiLuong});\r\n setRowCount(rowCount + 1);\r\n }\r\n })\r\n if(list.length === 0)\r\n {\r\n list.push({Count:0,Id:0,LoaiPhan:'',KhoiLuong:''});\r\n }\r\n setListRow(list);\r\n setCreateRow(true);\r\n }\r\n\r\n const onChangeMuaVu = (e) => {\r\n setSelectedOptionMuaVu(e);\r\n }\r\n\r\n\r\n function loadLoaiCay() {\r\n LoaiCayApi.getLoaiCay().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn cây' });\r\n response.forEach(item => {\r\n /* if(item.Type===1 || item.Type===kieuBanDo) */\r\n list.push({ value: item.MaLoai, label: item.TenLoai });\r\n })\r\n setLoaiCay(list);\r\n })\r\n }\r\n\r\n const onChangeLP = (x,e) =>{\r\n if(modeEdit === true)\r\n {\r\n listRow.map(p =>{\r\n if(p === x)\r\n {\r\n p.LoaiPhan = e.target.value;\r\n }\r\n });\r\n setListRow([...listRow]);\r\n }\r\n }\r\n\r\n const onChangeKL = (x,e) =>{\r\n if(modeEdit === true)\r\n {\r\n listRow.map(p =>{\r\n if(p === x)\r\n {\r\n p.KhoiLuong = e.target.value;\r\n }\r\n });\r\n setListRow([...listRow]);\r\n }\r\n \r\n }\r\n\r\n\r\n function loadMuaVu() {\r\n MuaVuApi.getMuaVu().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn mùa vụ' });\r\n response.forEach(item => {\r\n /* if(item.Type===1 || item.Type===kieuBanDo) */\r\n list.push({ value: item.MaLoai, label: item.TenLoai });\r\n })\r\n setMuaVu(list);\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n loadLoaiCay();\r\n loadMuaVu();\r\n }, []);\r\n\r\n return (\r\n
\r\n\r\n \r\n \r\n Thông tin\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n {\r\n createRow === true?\r\n listRow.map((x,key)=>{\r\n return(\r\n
\r\n \r\n \r\n
\r\n onChangeLP(x,e)} className=\"form-control\" placeholder=\"Loại phân\" />\r\n
\r\n
\r\n \r\n
\r\n onChangeKL(x,e)} className=\"form-control\" placeholder=\"Khối lượng\" />\r\n
\r\n
\r\n deleteRow(x)} hidden={!modeEdit} value=\"Xóa\"/>\r\n
\r\n
\r\n )\r\n })\r\n : listRowDefault.map((x,key)=>{\r\n return(\r\n
\r\n \r\n \r\n
\r\n onChangeLP(x,e)} className=\"form-control\" placeholder=\"Loại phân\"/>\r\n
\r\n
\r\n \r\n
\r\n onChangeKL(x,e)} className=\"form-control\" placeholder=\"Khối lượng\"/>\r\n
\r\n
\r\n deleteRow(x)} hidden={!modeEdit} value=\"Xóa\"/>\r\n
\r\n
\r\n )\r\n })\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport { SelectHuyen } from '../../shared/selecthuyen/SelectHuyen';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport BanDoThichHopApi from '../../api/BanDoThichHopApi';\r\nimport { ModalEditThongTin } from './ModalEditThongTin';\r\nimport LopMauApi from '../../api/LopMauApi';\r\nimport Authen from '../../core/Authen';\r\nimport madontinh from '../../main/madontinh/madontinh'\r\n\r\nexport const BanDoDeXuatPhanBon = () => {\r\n const view = new ol.View({\r\n center: [11725287.264889468, 2355407.026607706],\r\n zoom: 11\r\n });\r\n const kieuBanDo = 4;\r\n\r\n var [map, setMap] = useState(new ol.Map());\r\n // var map;\r\n const [listLopBanDos, setLopBanDo] = useState([]);\r\n var [thongTin, setThongTin] = useState({});\r\n const [filter, setFilter] = useState();\r\n var [provinceDat, setDat] = useState(new ol.layer.Vector());\r\n var [sourceDat, setSourcDat] = useState(new ol.source.Vector());\r\n var [selectDat, setSelectDat] = useState(null);\r\n const [flagAddEdit, setFlagAddEdit] = useState(0);\r\n const [draw, setdraw] = useState(null);\r\n const [IdHuyen, setIdHuyen] = useState(0);\r\n const [flagEdit, setFlagEdit] = useState(false);\r\n const [showEdit, setShowEdit] = useState(false);\r\n var [listStyles, setListStyle] = useState([]);\r\n const [isThemMoi, setThemMoi] = useState(true);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [dvt,setDVT] = useState([]);\r\n\r\n const style = (color, text) => {\r\n return new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: color,\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#C0C0C0',\r\n }),\r\n text: new ol.style.Text({\r\n text: text,\r\n fill: new ol.style.Fill({\r\n color: \"#040482\"\r\n })\r\n })\r\n });\r\n }\r\n\r\n const stylefunction = function (feature, resolution) {\r\n let madat = feature.get('tnh');\r\n let index = listStyles.findIndex(x => x.MaMau === madat);\r\n let text = ''\r\n if (resolution < 10) {\r\n text = madat;\r\n }\r\n if (index !== -1) {\r\n return style(listStyles[index].MauSac, text);\r\n }\r\n else {\r\n return style(\"rgb(37 98 236 / 50%)\", '');\r\n }\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgb(37 98 236 / 50%)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#5782ff',\r\n width: 1,\r\n }),\r\n });\r\n\r\n const clickEdit = () => {\r\n if (flagAddEdit === 2) {\r\n setFlagAddEdit(0);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n })\r\n }\r\n else {\r\n setFlagAddEdit(2);\r\n let select = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: select.getFeatures(), });\r\n map.getInteractions().extend([select, modify]);\r\n var selected_features = select.getFeatures();\r\n var dirty = {};\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n feature.on('change', function (evt) {\r\n dirty[fid] = true;\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n var feature = evt.element;\r\n var fid = feature.getId();\r\n if (dirty[fid]) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin.Geometry = geoText;\r\n setThongTin(thongTin);\r\n setThemMoi(false);\r\n setShowEdit(true);\r\n // BanDoThichHopApi.updateGeo(data).then(() => {\r\n // ThongBao.printSuccessMessage(\"Cập nhật thành công!\");\r\n // });\r\n }, () => {\r\n provinceDat.getSource().clear();\r\n });\r\n }\r\n });\r\n\r\n\r\n setMap(map);\r\n }\r\n }\r\n\r\n const clickAdd = () => {\r\n // console.log(draw);\r\n if (flagAddEdit === 0) {\r\n setFlagAddEdit(1);\r\n map.addInteraction(draw);\r\n }\r\n else {\r\n map.removeInteraction(draw);\r\n setFlagAddEdit(0);\r\n }\r\n setMap(map);\r\n }\r\n\r\n const loadLopBanDo = async (idhuyen) => {\r\n let params = {\r\n _tyle: kieuBanDo\r\n }\r\n listStyles = await LopMauApi.getLopBanDo(params);\r\n setListStyle(listStyles);\r\n params = {\r\n kieuBanDo: kieuBanDo,\r\n idHuyen: idhuyen\r\n }\r\n\r\n const list = await LopBanDoApi.getLopBanDo(params);\r\n list.forEach(item => {\r\n if (item.Type === 1 || (item.Type === kieuBanDo && item.GeoJson !== true)) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n })\r\n });\r\n province.setVisible(item.Checked);\r\n map.addLayer(province);\r\n item.province = province;\r\n }\r\n else if (item.Type === kieuBanDo && item.GeoJson === true) {\r\n sourceDat = new ol.source.Vector({\r\n format: new ol.format.GeoJSON(),\r\n url: item.Url\r\n })\r\n provinceDat = new ol.layer.Vector({\r\n source: sourceDat,\r\n style: stylefunction\r\n })\r\n\r\n function addInteractions() {\r\n var flagHtml = document.getElementById('btnAdd').getAttribute('flagadd');\r\n var drawNew = new ol.interaction.Draw({\r\n source: sourceDat,\r\n type: \"Polygon\",\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: '#224abe'\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#224abe',\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 3,\r\n fill: new ol.style.Fill({\r\n color: \"#224abe\",\r\n }),\r\n })\r\n })\r\n });\r\n setdraw(drawNew);\r\n if (flagHtml === \"1\") {\r\n map.addInteraction(drawNew);\r\n }\r\n }\r\n provinceDat.setVisible(item.Checked);\r\n map.addLayer(provinceDat);\r\n item.province = provinceDat;\r\n setDat(provinceDat);\r\n setSourcDat(sourceDat);\r\n addInteractions();\r\n provinceDat.getSource().on('addfeature', function (event) {\r\n var ev = document.getElementById('btnAdd');\r\n var flagHtml = 0;\r\n if (ev != null) {\r\n flagHtml = ev.getAttribute('flagadd');\r\n }\r\n if (flagHtml === \"1\" && event.feature.getId() == null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn thêm khoảng đất này không?\", () => {\r\n var feature = event.feature;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(feature.getGeometry());\r\n thongTin = {};\r\n thongTin.geometry = geoText;\r\n thongTin.gid = provinceDat.getSource().getFeatures()[0].getId();\r\n setThongTin({...thongTin});\r\n console.log(thongTin);\r\n setThemMoi(true);\r\n setShowEdit(true);\r\n }, () => {\r\n provinceDat.getSource().removeFeature(event.feature);\r\n // provinceDat.getSource().clear();\r\n });\r\n }\r\n })\r\n }\r\n\r\n });\r\n setLopBanDo(list);\r\n setMap(map);\r\n }\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('BDDEXUATPHANBON_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BDDEXUATPHANBON_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BDDEXUATPHANBON_DELETE'));\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider()\r\n ]),\r\n layers: [\r\n // new ol.layer.Tile({\r\n // source: new ol.source.OSM(),\r\n // }),\r\n ],\r\n view: view\r\n });\r\n\r\n map.on('click', function (evt) {\r\n setFlagEdit(false);\r\n var flagHtml = document.getElementById('btnEdit').getAttribute('flagedit');\r\n if (flagHtml === \"1\") {\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n selectDat = null;\r\n setSelectDat(selectDat);\r\n }\r\n return;\r\n }\r\n if (selectDat !== null) {\r\n selectDat.setStyle(stylefunction);\r\n setSelectDat(selectDat);\r\n setThongTin({ ...{} });\r\n }\r\n map.forEachFeatureAtPixel(evt.pixel, function (feature) {\r\n console.log(feature);\r\n feature.setStyle(highlightStyle);\r\n if (feature != null) {\r\n let thongTinNew = {};\r\n thongTinNew.gid = feature.getId();\r\n thongTinNew.ba_kich = feature.get('ba_kich');\r\n thongTinNew.bi_xanh = feature.get('bi_xanh');\r\n thongTinNew.bo_khai = feature.get('bo_khai');\r\n thongTinNew.buoi = feature.get('buoi');\r\n thongTinNew.ca_gaileo = feature.get('ca_gaileo');\r\n thongTinNew.cam = feature.get('cam');\r\n thongTinNew.cat = feature.get('cat');\r\n thongTinNew.caytrong = feature.get('caytrong');\r\n thongTinNew.cec = feature.get('cec');\r\n thongTinNew.chisokhoha = feature.get('chisokhoha');\r\n thongTinNew.chum_ngay = feature.get('chum_ngay');\r\n thongTinNew.code_qh = feature.get('code_qh');\r\n thongTinNew.dalan = feature.get('dalan');\r\n thongTinNew.dhtd = feature.get('dhtd');\r\n thongTinNew.dt = feature.get('dt');\r\n thongTinNew.dt_bs = feature.get('dt_bs');\r\n thongTinNew.dua_hau = feature.get('dua_hau');\r\n thongTinNew.dungtrong = feature.get('dungtrong');\r\n thongTinNew.dungtrong_ = feature.get('dungtrong_');\r\n thongTinNew.dvdd = feature.get('dvdd');\r\n thongTinNew.g = feature.get('g');\r\n thongTinNew.ht_qh = feature.get('ht_qh');\r\n thongTinNew.huyen = feature.get('huyen');\r\n thongTinNew.id = feature.get('id');\r\n thongTinNew.k2o = feature.get('k2o');\r\n thongTinNew.keo = feature.get('keo');\r\n thongTinNew.khoai_so = feature.get('khoai_so');\r\n thongTinNew.khohan_dt = feature.get('khohan_dt');\r\n thongTinNew.khoi_tu = feature.get('khoi_tu');\r\n thongTinNew.khoi_tu = feature.get('khoi_tu');\r\n thongTinNew.lac = feature.get('lac');\r\n thongTinNew.lua = feature.get('lua');\r\n thongTinNew.luongmua_d = feature.get('luongmua_d');\r\n thongTinNew.ma_congtua = feature.get('ma_congtua');\r\n thongTinNew.ma_dexuat = feature.get('ma_dexuat');\r\n thongTinNew.madat = feature.get('madat');\r\n thongTinNew.mang_tay = feature.get('mang_tay');\r\n thongTinNew.mau_anhhuo = feature.get('mau_anhhuo');\r\n thongTinNew.mia = feature.get('mia');\r\n thongTinNew.mit = feature.get('mit');\r\n thongTinNew.n = feature.get('n');\r\n thongTinNew.ngapung_dt = feature.get('ngapung_dt');\r\n thongTinNew.ngo = feature.get('ngo');\r\n thongTinNew.nhan = feature.get('nhan');\r\n thongTinNew.nhietdo = feature.get('nhietdo');\r\n thongTinNew.oc = feature.get('oc');\r\n thongTinNew.oi = feature.get('oi');\r\n thongTinNew.om = feature.get('om');\r\n thongTinNew.p2o5 = feature.get('p2o5');\r\n thongTinNew.pc_cec = feature.get('pc_cec');\r\n thongTinNew.pc_chisokh = feature.get('pc_chisokh');\r\n thongTinNew.pc_dd = feature.get('pc_dd');\r\n thongTinNew.pc_dp = feature.get('pc_dp');\r\n thongTinNew.pc_k = feature.get('pc_k');\r\n thongTinNew.pc_n = feature.get('pc_n');\r\n thongTinNew.pc_om = feature.get('pc_om');\r\n thongTinNew.pc_p = feature.get('pc_p');\r\n thongTinNew.pc_ph = feature.get('pc_ph');\r\n thongTinNew.pthongTinNewc_r = feature.get('pc_r');\r\n thongTinNew.pc_t = feature.get('pc_t');\r\n thongTinNew.phanvung = feature.get('phanvung');\r\n thongTinNew.phkcl = feature.get('phkcl');\r\n thongTinNew.qh_qh = feature.get('qh_qh');\r\n thongTinNew.rau = feature.get('rau');\r\n thongTinNew.thongTinNewsa = feature.get('sa');\r\n thongTinNew.sam_day = feature.get('sam_day');\r\n thongTinNew.san = feature.get('san');\r\n thongTinNew.set = feature.get('set');\r\n thongTinNew.sl = feature.get('sl');\r\n thongTinNew.sothangkho = feature.get('sothangkho');\r\n thongTinNew.symbol_qh = feature.get('symbol_qh');\r\n thongTinNew.tangday = feature.get('tangday');\r\n thongTinNew.tenpd = feature.get('tenpd');\r\n thongTinNew.thit = feature.get('thit');\r\n thongTinNew.tieu_dt = feature.get('tieu_dt');\r\n thongTinNew.tinh = feature.get('tinh');\r\n thongTinNew.tn = feature.get('tn');\r\n thongTinNew.tpcg = feature.get('tpcg');\r\n thongTinNew.truongnhan = feature.get('truongnhan');\r\n thongTinNew.tton_dt = feature.get('tton_dt');\r\n thongTinNew.tuoi_dt = feature.get('tuoi_dt');\r\n thongTinNew.xa = feature.get('xa');\r\n\r\n thongTinNew.khoai=feature.get('khoai');\r\n thongTinNew.quyt=feature.get('quyt');\r\n thongTinNew.na=feature.get('na');\r\n thongTinNew.xoai=feature.get('xoai');\r\n thongTinNew.che=feature.get('che');\r\n thongTinNew.chanh=feature.get('chanh');\r\n thongTinNew.ca_gai_leo=feature.get('ca_gai_leo');\r\n thongTinNew.ca_phe_che=feature.get('ca_phe_che');\r\n thongTinNew.dau_tuong=feature.get('dau_tuong');\r\n thongTinNew.dau_tam=feature.get('dau_tam');\r\n\r\n thongTinNew.tnh = feature.get('tnh');\r\n thongTinNew.dvddh = feature.get('dvddh');\r\n\r\n setThongTin(thongTinNew);\r\n selectDat = feature;\r\n setSelectDat(selectDat);\r\n setFlagEdit(true);\r\n donVT(thongTin);\r\n }\r\n else {\r\n setThongTin({ ...{} });\r\n }\r\n });\r\n });\r\n // setMap(map);\r\n\r\n }, []);\r\n\r\n const donVT = (value) =>{\r\n const donvitinh = [\r\n {Ma:'Fe',Value:value.fe,Ten:''},\r\n {Ma:'Sl',Value:value.sl,Ten:''},\r\n {Ma:'Gv',Value:value.dalan,Ten:''},\r\n {Ma:'De',Value:value.de,Ten:''},\r\n {Ma:'Ir',Value:value.tuoi_dt,Ten:''},\r\n {Ma:'Tx',Value:value.tpcg,Ten:''}\r\n ]\r\n setDVT(madontinh.getTen(donvitinh));\r\n }\r\n\r\n const getIdHuyen = (event) => {\r\n if (event.value !== 0 && event.value !== IdHuyen) {\r\n listLopBanDos.forEach(item => {\r\n map.removeLayer(item.province);\r\n })\r\n setIdHuyen(event.value)\r\n map.setView(new ol.View({\r\n center: [event.toaDoX, event.toaDoY],\r\n zoom: event.zoom\r\n }));\r\n loadLopBanDo(event.value);\r\n }\r\n }\r\n\r\n const checkBoHandler = () => { };\r\n\r\n const clickRow = (id) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n map.getLayers().forEach(l => {\r\n if (l === item.province) {\r\n l.setVisible(item.Checked);\r\n }\r\n })\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setDat(map);\r\n }\r\n\r\n \r\n const timKiem = () => {\r\n\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const delFeature = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BanDoThichHopApi.delete(thongTin.gid).then(() => {\r\n provinceDat.getSource().removeFeature(selectDat);\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n });\r\n });\r\n // ThongBao.printSuccessMessage('OK');\r\n }\r\n\r\n const clickEditThongTin = () => {\r\n // console.log(thongTin);\r\n setShowEdit(true);\r\n setThemMoi(false);\r\n }\r\n\r\n const closeThongTin = () => {\r\n setShowEdit(false);\r\n\r\n }\r\n\r\n const saveSuccess = () => {\r\n setShowEdit(false);\r\n provinceDat.getSource().clear();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Bản đồ đề xuất phân bón
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleEdit == true ?: ''}\r\n {roleAdd == true ?: ''}\r\n {roleEdit == true ?: ''}\r\n {roleDel == true ?: ''}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLopBanDos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Lớp bản đồ
\r\n
\r\n \r\n
\r\n
{item.Name}
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
TênThông tin
Tỉnh{thongTin.tinh}
Huyện{thongTin.huyen}
{thongTin.xa}
Diện tích{thongTin.dt_bs}
Mã đất{thongTin.madat}
Phân vùng{thongTin.phanvung}
Loại đất{thongTin.g}
Địa hình tương đối{thongTin.dhtd}
Địa hình{dvt.filter(x=>x.Ma==='Sl' && x.Value ===thongTin.sl).map(x => x.Ten)}
Tầng dày{dvt.filter(x=>x.Ma==='De' && x.Value ===thongTin.tangday).map(x => x.Ten)}
Thành phần cơ giới{dvt.filter(x=>x.Ma==='Tx' && x.Value ===thongTin.tpcg).map(x => x.Ten)}
Mức độ Đá lẫn{dvt.filter(x=>x.Ma==='Gv' && x.Value ===thongTin.dalan).map(x => x.Ten)}
Dung trọng{thongTin.dungtrong}
Phân Cấp PH{thongTin.pc_ph}
Phân cấp CEC{thongTin.pc_cec}
Phân cấp dinh dưỡng{thongTin.pc_dd}
Phân cấp nito{thongTin.pc_n}
Phân cấp phốt pho{thongTin.pc_p}
Phân cấp Kali{thongTin.pc_k}
Phân cấp chất hữu cơ{thongTin.pc_om}
Phân cấp độ phì{dvt.filter(x=>x.Ma==='Fe' && x.Value ===thongTin.pc_dp).map(x => x.Ten)}
Lượng mưa{thongTin.luongmua_d}
Tổng tích ôn{thongTin.tton_dt}
Mức độ khô hạn{thongTin.khohan_dt}
Nhiệt đô{thongTin.nhietdo}
Chỉ số khô hạn{thongTin.chisokhoha}
Phân cấp chỉ số khô hạn{thongTin.pc_chisokh}
Số tháng khô hạn{thongTin.sothangkho}
Cây trồng{thongTin.caytrong}
Ngập úng{thongTin.ngapung_dt}
Chế độ tưới {dvt.filter(x=>x.Ma==='Ir' && x.Value ===thongTin.tuoi_dt).map(x => x.Ten)}
Chế độ tiêu{thongTin.tieu_dt}
DungTrong_{thongTin.dungtrong_}
Mau_AnhHuong{thongTin.mau_anhhuo}
dvdd{thongTin.dvdd}
dvddh{thongTin.dvddh}
Lúa{thongTin.lua}
Ngô{thongTin.ngo}
Rau{thongTin.rau}
Khoai{thongTin.khoai}
Sắn{thongTin.san}
Lạc{thongTin.lac}
Mía{thongTin.mia}
Cam{thongTin.cam}
Quýt{thongTin.quyt}
Bưởi{thongTin.buoi}
Chè{thongTin.che}
Dưa hấu{thongTin.dua_hau}
Na{thongTin.na}
Chanh{thongTin.chanh}
Xoài{thongTin.xoai}
Cà gai leo{thongTin.ca_gai_leo}
Dâu tằm{thongTin.dau_tam}
Nhãn{thongTin.nhan}
Cà phê chè{thongTin.ca_phe_che}
Đậu tương{thongTin.dau_tuong}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n )\r\n}\r\n","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst NhatKyDangNhapApi = {\r\n getPaging: (params) => {\r\n const url = '/nhatkydangnhap/paging';\r\n return axiosClient.get(url, {params});\r\n }\r\n\r\n // getDetail: (id) =>{\r\n // const url = '/nhatkydangnhap/getbyid/' + id;\r\n // return axiosClient.get(url);\r\n // },\r\n\r\n // post: (data) =>{\r\n // const url = '/nhatkydangnhap/add';\r\n // return axiosClient.post(url, data);\r\n // },\r\n\r\n // put: (data) => {\r\n // const url = '/nhatkydangnhap/edit';\r\n // return axiosClient.put(url, data);\r\n // },\r\n\r\n // delete: (id) =>{\r\n // const url = '/nhatkydangnhap/delete/' + id;\r\n // return axiosClient.delete(url);\r\n // },\r\n // getAll: (params) =>{\r\n // const url = 'nhatkydangnhap/getall';\r\n // return axiosClient.get(url, {params});\r\n // }\r\n}\r\n \r\nexport default NhatKyDangNhapApi;","import React, { useState, useEffect } from 'react'\r\nimport NhatKyDangNhapApi from '../../../api/NhatKyDangNhapApi';\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const NhatKyDangNhap = () => {\r\n const [listNhomQuyens, setNhomQuyen] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadNhomQuyen();\r\n }\r\n });\r\n\r\n const loadNhomQuyen = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter\r\n }\r\n const response = await NhatKyDangNhapApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow / pageSize);\r\n if(response.TotalRow ==0){\r\n paginationConfig.totalPages =1;\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setNhomQuyen(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadNhomQuyen();\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadNhomQuyen();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
Nhật ký đăng nhập
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* {roleDel == true ?: ''} */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listNhomQuyens.map((item, key) => {\r\n return (\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Tài khoảnNgười dùngNội dungThời gianĐịa chỉ Ip
\r\n
\r\n \r\n
\r\n
{item.UserName}{item.FullName}{item.NoiDung}{item.Ngay}{item.DiaChiIp}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport QuanHuyenApi from '../../api/QuanHuyenApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport BaoCaoChatLuongDatApi from '../../api/BaoCaoChatLuongDatApi';\r\nimport { QuanLyTapTin } from '../../shared/quanlytaptin/QuanLyTapTin';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport Authen from '../../core/Authen';\r\n\r\n\r\nexport const SoLieuChatLuongDat = () => {\r\n const loaiBaoCao = 2;\r\n const [listBaoCaos, setBaoCao] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [listQuanHuyens, setQuanHuyen] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [showQuanLyTapTin, setShowQuanLyTapTin] = useState(false);\r\n const [tapTin, setTapTin] = useState(null);\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n center: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadBaoCao();\r\n }\r\n });\r\n\r\n const loadBaoCao = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n idQuanHuyen: '',\r\n loaiBaoCao: loaiBaoCao\r\n }\r\n const response = await BaoCaoChatLuongDatApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = response.TotalRow == 0 ? 1 : Math.ceil(response.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setBaoCao(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadBaoCao();\r\n loadQuanHuyen();\r\n setRoleAdd(Authen.checkQuyen('BCCHATLUONGDAT_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BCCHATLUONGDAT_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BCCHATLUONGDAT_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadBaoCao();\r\n }\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.IdQuanHuyen = selectedOption.value;\r\n }\r\n data.TapTin = tapTin;\r\n data.LoaiBaoCao = loaiBaoCao;\r\n console.log(data);\r\n if (data.Id === \"0\") {\r\n BaoCaoChatLuongDatApi.post(data).then(() => {\r\n setShow(false);\r\n loadBaoCao();\r\n })\r\n }\r\n else {\r\n BaoCaoChatLuongDatApi.put(data).then(() => {\r\n setShow(false);\r\n loadBaoCao();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listBaoCaos.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setBaoCao([...listBaoCaos]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Ten: '',\r\n SortOrder: null,\r\n TapTin: null,\r\n Status: true,\r\n MoTa: null,\r\n IdQuanHuyen: null\r\n }, [reset]);\r\n if (selectedOption==null) {\r\n setSelectedOption(listQuanHuyens[0]);\r\n }\r\n setTapTin(null);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listBaoCaos.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n BaoCaoChatLuongDatApi.getDetail(listBaoCaos[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Ten: response.Ten,\r\n TapTin: response.TapTin,\r\n SortOrder: response.SortOrder,\r\n Status: response.Status,\r\n IdQuanHuyen: response.IdQuanHuyen,\r\n MoTa: response.MoTa\r\n }, [reset]);\r\n setTapTin(response.TapTin);\r\n setShow(true);\r\n let index = listQuanHuyens.findIndex(x => x.value == response.IdQuanHuyen);\r\n if (index >= 0) {\r\n setSelectedOption(listQuanHuyens[index]);\r\n }\r\n else {\r\n setSelectedOption(listQuanHuyens[0]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listBaoCaos.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n let lstId = [];\r\n listBaoCaos.filter(x => x.Checked).forEach(element => {\r\n lstId.push(element.Id);\r\n });\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa khoảng đất đã chọn đi không?\", () => {\r\n BaoCaoChatLuongDatApi.delete(lstId).then(() => {\r\n ThongBao.printSuccessMessage(\"Xóa khoảnh đất thành công!\");\r\n loadBaoCao();\r\n });\r\n });\r\n }\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const onChangeQuanHuyen = (event) => {\r\n setSelectedOption(event);\r\n }\r\n\r\n function loadQuanHuyen() {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '10', label: 'Xã, thị trấn' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten });\r\n })\r\n setQuanHuyen(list);\r\n })\r\n }\r\n\r\n const openFile = () => {\r\n setShowQuanLyTapTin(true);\r\n }\r\n\r\n const onChangeFilter = (e) => {\r\n setFilter(e.target.value);\r\n }\r\n\r\n const closeModalQuanLyTapTin = () => {\r\n setShowQuanLyTapTin(false);\r\n }\r\n\r\n const huyTapTin = () => {\r\n setTapTin(null);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
SỐ LIỆU
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
{/* className=\"table-responsive\" */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listBaoCaos.map((item, key) => {\r\n return (\r\n clickRow(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Thứ tựTênMô tảTập tinTrạng thái
\r\n
\r\n \r\n
\r\n
{item.SortOrder}{item.Ten}{item.TenQuanHuyen}{item.MoTa}{item.TapTin != null ? (\r\n \r\n ) : ''}\r\n {item.Status == true &&\r\n Kích hoạt\r\n }\r\n {item.Status == false &&\r\n Khóa\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Số liệu\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n tapTin === null ? () :\r\n (
\r\n \r\n
\r\n \r\n
\r\n
)\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n )\r\n}\r\n","import axiosClient from './axiosClient';\r\n\r\nconst LienKetWebSiteApi = {\r\n\r\n create:(params) => {\r\n const url = '/lienketwebsite';\r\n return axiosClient.post(url, params);\r\n \r\n },\r\n\r\n update:(params) => {\r\n const url = '/lienketwebsite';\r\n console.log(params);\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/lienketwebsite/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n Delete:(Id) => {\r\n const url = '/lienketwebsite/'+ Id;\r\n console.log(url);\r\n return axiosClient.delete(url);\r\n },\r\n\r\n get:(params) => {\r\n const url = '/lienketwebsite/paging';\r\n return axiosClient.get(url, {params});\r\n }\r\n\r\n}\r\n\r\nexport default LienKetWebSiteApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport LienKetWebsiteApi from '../../../api/LienKetWebsiteApi';\r\nimport '../../../css/reacttab.css';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport '../../../css/apppublic.css';\r\nimport Authen from '../../../core/Authen';\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport Select from 'react-select';\r\nimport '../../../css/reactselect.css';\r\nimport { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport ThongBao from '../../../core/ThongBao';\r\n\r\nexport const LienKetWebsite = () => {\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('api', '');\r\n const [listLienKetWebsite, setListLienKetWebsite] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [show, setShow] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\r\n const [lienKetWebsite, setLienKetWebsite] = useState({});\r\n const [type, setType] = useState({});\r\n const [opt, setOpt] = useState({});\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const url = process.env.REACT_APP_API_URL.replace('api', '');\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [showModalImage, setShowModalImage] = useState(false);\r\n\r\n const { handleSubmit, register, reset, errors } = useForm();\r\n\r\n const [nhanVien, setNhanVien] = useState({ value: '1', label: 'Trang chủ' });\r\n\r\n useEffect(() => {\r\n setNhanVien(Authen.getUser());\r\n setRoleAdd(Authen.checkQuyen('LIENKETWEBSITE_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('LIENKETWEBSITE_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('LIENKETWEBSITE_DELETE'));\r\n }, []);\r\n\r\n const options = [\r\n { value: '1', label: 'Trang chủ' },\r\n { value: '2', label: 'Trang sản phẩm' },\r\n { value: '3', label: 'Banner' }\r\n ]\r\n\r\n const [paginationConfig, setPaginationConfig] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: 'sm',\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n if (page != null) {\r\n pageIndex = page;\r\n loadLienKetWebsite();\r\n }\r\n }\r\n });\r\n\r\n var pageIndex = 1, pageSize = 20;\r\n\r\n const loadLienKetWebsite = async () => {\r\n try {\r\n const params = {\r\n keyword: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const res = await LienKetWebsiteApi.get(params);\r\n res.Items.map((x) => {\r\n x.Checked = false\r\n });\r\n setListLienKetWebsite(res.Items);\r\n paginationConfig.totalPages = Math.ceil(res.TotalRow == 0 ? 1 : res.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n setIsEdit(false);\r\n setLienKetWebsite({});\r\n }\r\n catch {\r\n console.log('loi roi');\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n loadLienKetWebsite();\r\n }, [])\r\n\r\n const setFilt = (e) => {\r\n setFilter(e.target.value);\r\n }\r\n\r\n const Timkiem = () => {\r\n loadLienKetWebsite();\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setIsXem(false);\r\n }\r\n const handleShow = () => {\r\n reset({\r\n Id: 0,\r\n Ten: '',\r\n Image: '',\r\n Url: '',\r\n Status: true\r\n }, [reset])\r\n setIsXem(false);\r\n loadType();\r\n setShow(true);\r\n setSrcImage(noImage);\r\n }\r\n const handleShowEdit = (isXem) => {\r\n let index = listLienKetWebsite.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n LienKetWebsiteApi.getDetail(listLienKetWebsite[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Ten: response.Ten,\r\n Image: response.Image,\r\n Url: response.Url,\r\n Status: response.Status\r\n }, [reset])\r\n setSrcImage(response.Image);\r\n setIsXem(isXem);\r\n setIsEdit(true);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const rowClick = (Id) => {\r\n listLienKetWebsite.map((x) => {\r\n if (x.Id === Id) {\r\n x.Checked = !x.Checked;\r\n }\r\n else {\r\n x.Checked = false;\r\n }\r\n });\r\n if (listLienKetWebsite.filter(x => x.Checked == true).length > 0) {\r\n setIsEdit(true);\r\n }\r\n else {\r\n setIsEdit(false);\r\n }\r\n setListLienKetWebsite([...listLienKetWebsite]);\r\n }\r\n\r\n const handleShowData = () => {\r\n setIsXem(true);\r\n setShow(true);\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n data.Image = srcImage;\r\n if (data.Id == \"0\") {\r\n data.Id = 1;\r\n const res = await LienKetWebsiteApi.create(data);\r\n }\r\n else {\r\n const res = await LienKetWebsiteApi.update(data);\r\n }\r\n setShow(false);\r\n setIsXem(false);\r\n setIsEdit(false);\r\n setLienKetWebsite({});\r\n loadLienKetWebsite();\r\n }\r\n catch (ex) {\r\n console.log(ex.message);\r\n }\r\n\r\n }\r\n\r\n const loadType = () => {\r\n if (lienKetWebsite.Type != null) {\r\n let optLienKetWebsite =\r\n {\r\n value: lienKetWebsite.Type,\r\n label: lienKetWebsite.Type == 1 ? \"Trang chủ\" : lienKetWebsite.Type == 2 ? \"Trang sản phẩm\" : \"Banner\"\r\n }\r\n setOpt(optLienKetWebsite);\r\n }\r\n else {\r\n setOpt({ value: '1', label: 'Trang chủ' });\r\n }\r\n }\r\n\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n const showViewModalImage = () => {\r\n setShowModalImage(true);\r\n }\r\n const CloseViewModalImage = () => {\r\n setShowModalImage(false);\r\n }\r\n\r\n const onChangeSelect = (optionSelected) => {\r\n debugger;\r\n setOpt(optionSelected);\r\n }\r\n\r\n const alertDell = () => {\r\n var lst = listLienKetWebsite.filter(x => x.Checked == true);\r\n if (lst.length > 0) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n LienKetWebsiteApi.Delete(lst[0].Id).then(() => {\r\n loadLienKetWebsite();\r\n setIsEdit(false);\r\n });\r\n });\r\n }\r\n // confirmAlert({\r\n // title: 'Xóa lienKetWebsite',\r\n // message: 'Bạn có chắc muốn xóa lienKetWebsite',\r\n // buttons: [\r\n // {\r\n // label: 'Đồng ý',\r\n // onClick: async () => {\r\n // console.log(lienKetWebsite.Id);\r\n // const res = await LienKetWebsiteApi.Delete(lienKetWebsite.Id);\r\n // loadLienKetWebsite();\r\n // setLienKetWebsite({});\r\n // setIsEdit(false);\r\n // }\r\n // },\r\n // {\r\n // label: 'không',\r\n // onClick: () => {\r\n // }\r\n // }\r\n // ]\r\n // });\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Liên kết website
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listLienKetWebsite.map((item, key) => {\r\n return (\r\n rowClick(item.Id)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Hình ảnhTên liên kếtĐường dẫnTrạng thái
\r\n item.Checked = e.target.value}>\r\n {item.Ten}{item.Url}{item.Status ? Kích hoạt : Khóa}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n Liên kết website\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n Tên liên kết *\r\n
\r\n
\r\n \r\n {errors.name && errors.name.message}\r\n
\r\n
\r\n
\r\n
\r\n Đường dẫn\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Image\r\n
\r\n
\r\n
\r\n {/* lienKetWebsite.Image = e.target.value} onClick={showViewModalImage}/> */}\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Trạng thái\r\n
\r\n
\r\n lienKetWebsite.Status = e.target.checked}>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Hủy\r\n \r\n
\r\n onFileSelected(e)}>\r\n
\r\n\r\n\r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react'\r\nimport Select from 'react-select';\r\nimport QuanHuyenApi from '../../api/QuanHuyenApi';\r\n\r\n\r\nexport const SelectXa = (props) => {\r\n\r\n const [listXas, setXa] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n\r\n loadXa();\r\n\r\n }, []);\r\n\r\n\r\n const loadXa = () => {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten });\r\n\r\n if (list.length > 0) {\r\n const index = list.findIndex(x => x.value == props.Ma);\r\n\r\n if (index != -1) {\r\n setSelectedOption(list[index]);\r\n props.onChangeXaProps(list[index]);\r\n }\r\n }\r\n });\r\n setXa(list);\r\n })\r\n }\r\n\r\n const onChangeXa = (e) => {\r\n setSelectedOption(e);\r\n props.onChangeXaProps(e);\r\n }\r\n\r\n return (\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoChatLuongDatApi from '../../api/BanDoChatLuongDatApi';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../loading/Loading';\r\nimport { SelectHuyen } from '../selecthuyen/SelectHuyen';\r\nimport { SelectXa } from '../selectxa/SelectXa';\r\n\r\n\r\nexport const ModalChatLuong = (props) => {\r\n const [show, setShow] = useState(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [xa, setXa] = useState({});\r\n const [listDvdds, setListDvdd] = useState([]);\r\n const [selectedDvdd, setSelectedDvdd] = useState();\r\n const [listDoDays, setListDoDay] = useState([]);\r\n const [selectedDoDay, setSelectedDoDay] = useState();\r\n const [listDoDocs, setListDoDoc] = useState([]);\r\n const [selectedDoDoc, setSelectedDoDoc] = useState();\r\n const [listTuois, setListTuoi] = useState([]);\r\n const [selectedTuoi, setSelectedTuoi] = useState();\r\n const [listDaLans, setListDaLan] = useState([]);\r\n const [selectedDaLan, setSelectedDaLan] = useState();\r\n const [listDoPhis, setListDoPhi] = useState([]);\r\n const [selectedDoPhi, setSelectedDoPhi] = useState();\r\n const [listTpcgs, setListTpcg] = useState([]);\r\n const [selectedTpcg, setSelectedTpcg] = useState();\r\n const [tuoi, selectTuoi] = useState('');\r\n const [day, selectDay] = useState('');\r\n const [doc, selectDoc] = useState('');\r\n const [dalan, selectDalan] = useState('');\r\n const [tpcg, selectTpcg] = useState('');\r\n const [fe, selectFe] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (props.showModal === true) {\r\n reset({\r\n id: props.thongTin.id,\r\n maxa: props.thongTin.maxa,\r\n tenxa: props.thongTin.tenxa,\r\n dvdd_h: props.thongTin.dvdd_h,\r\n dt_ha: props.thongTin.dt_ha,\r\n dungtichha: props.thongTin.dungtichha,\r\n donobazo: props.thongTin.donobazo,\r\n tongcation: props.thongTin.tongcation,\r\n phkcl: props.thongTin.phkcl\r\n\r\n }, [reset]);\r\n ChuGiaiApi.getChatLuongDat().then((res) => {\r\n let list = [];\r\n\r\n\r\n\r\n res.forEach(item => {\r\n list.push({\r\n value: item.dvdd_h,\r\n label: item.dvdd_h,\r\n dvdd_h: item.dvdd_h,\r\n pctuoi: item.phancaptuoi,\r\n pcdoc: item.phancapdoc,\r\n pctpcg: item.phancaptpcg,\r\n pcdalan: item.phancapdalan,\r\n pcdoday: item.phancapdoday,\r\n pcfe: item.phancapfe,\r\n tuoi: item.tuoi,\r\n dodoc: item.dodoc,\r\n tpcg: item.tpcg,\r\n dalan: item.dalan,\r\n doday: item.doday,\r\n dophi: item.dophi,\r\n });\r\n if (item.dvdd_h === props.thongTin.dvdd_h) {\r\n setSelectedDvdd({\r\n value: item.dvdd_h,\r\n label: item.dvdd_h,\r\n pctuoi: item.phancaptuoi,\r\n pcdoc: item.phancapdoc,\r\n pctpcg: item.phancaptpcg,\r\n pcdalan: item.phancapdalan,\r\n pcdoday: item.phancapdoday,\r\n pcfe: item.phancapfe,\r\n tuoi: item.tuoi,\r\n dodoc: item.dodoc,\r\n tpcg: item.tpcg,\r\n dalan: item.dalan,\r\n doday: item.doday,\r\n dophi: item.dophi,\r\n });\r\n\r\n selectTuoi(item.phancaptuoi)\r\n selectDalan(item.phancapdalan);\r\n selectDay(item.phancapdoday);\r\n selectDoc(item.phancapdoc);\r\n selectFe(item.phancapfe);\r\n selectTpcg(item.phancaptpcg);\r\n }\r\n\r\n });\r\n\r\n\r\n setListDvdd(list);\r\n setShow(true);\r\n\r\n // let index = res[0].rows.findIndex(x => x.value === props.thongTin.maDaLan);\r\n // if (index !== -1) {\r\n // setSelectedDaLan(res[0].rows[index]);\r\n // }\r\n // index = res[1].rows.findIndex(x => x.value === props.thongTin.maDHTD);\r\n // if (index !== -1) {\r\n // setSelectedDiaHinh(res[1].rows[index]);\r\n // }\r\n // index = res[2].rows.findIndex(x => x.value === props.thongTin.maDoDay);\r\n // if (index !== -1) {\r\n // setSelectedDoDay(res[2].rows[index]);\r\n // }\r\n // index = res[3].rows.findIndex(x => x.value === props.thongTin.maDoDoc);\r\n // if (index !== -1) {\r\n // setSelectedDoDoc(res[3].rows[index]);\r\n // }\r\n // index = res[4].rows.findIndex(x => x.value === props.thongTin.maDoPhi);\r\n // if (index !== -1) {\r\n // setSelectedDoPhi(res[4].rows[index]);\r\n // }\r\n // index = res[5].rows.findIndex(x => x.value === props.thongTin.maGley);\r\n // if (index !== -1) {\r\n // setSelectedGley(res[0].rows[index]);\r\n // }\r\n // index = res[6].rows.findIndex(x => x.value === props.thongTin.maTieu);\r\n // if (index !== -1) {\r\n // setSelectedTieu(res[0].rows[index]);\r\n // }\r\n // index = res[7].rows.findIndex(x => x.value === props.thongTin.maTuoi);\r\n // if (index !== -1) {\r\n // setSelectedTuoi(res[0].rows[index]);\r\n // }\r\n })\r\n // BanDoChatLuongDatApi.getAllDanhMuc().then((res) => {\r\n // \r\n // })\r\n }\r\n\r\n }, [props.showModal]);\r\n\r\n\r\n\r\n const onChangeXa = (e) => {\r\n setXa(e);\r\n }\r\n\r\n const onChangeDvdd = (e) => {\r\n setSelectedDvdd(e);\r\n selectTuoi(e.pctuoi);\r\n selectDalan(e.pcdalan);\r\n selectDay(e.pcdoday);\r\n selectDoc(e.pcdoc);\r\n selectFe(e.pcfe);\r\n selectTpcg(e.pctpcg);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n try {\r\n\r\n data.maxa = xa?.value;\r\n data.tenxa = xa?.label;\r\n data.id = props.thongTin.id;\r\n data.dvdd_h = selectedDvdd?.value;\r\n data.dt_ha = props.thongTin.dt_ha;\r\n data.dungtichha = props.thongTin.dungtichha;\r\n data.donobazo = props.thongTin.donobazo;\r\n data.tongcation = props.thongTin.tongcation;\r\n data.oc = props.thongTin.tongcation;\r\n data.phkcl = props.thongTin.phkcl;\r\n data.tuoi = selectedDvdd?.tuoi;\r\n data.do_doc = selectedDvdd?.dodoc;\r\n data.tpcg = selectedDvdd?.tpcg;\r\n data.tang_day = selectedDvdd?.doday;\r\n data.da_lan = selectedDvdd?.dalan;\r\n data.fe = selectedDvdd?.dophi;\r\n setLoading(true);\r\n if (data.id != null) {\r\n console.log(data);\r\n BanDoChatLuongDatApi.update(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n else {\r\n console.log('noid');\r\n }\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin chất lượng đất đai\r\n \r\n \r\n
\r\n {/*
\r\n \r\n
\r\n onChangeHuyen(e)}>\r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n onChangeXa(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n {/* \r\n
\r\n { setSelectedDoDay(e) }}\r\n options={listDoDays}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
*/}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n {/*
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n { setSelectedDoDoc(e) }}\r\n options={listDoDocs}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n { setSelectedTieu(e) }}\r\n options={listTieus}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setSelectedDiaHinh(e) }}\r\n options={listDiaHinhs}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n \r\n
\r\n { setSelectedDaLan(e) }}\r\n options={listDaLans}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setSelectedGley(e) }}\r\n options={listGleys}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n \r\n
\r\n { setSelectedDoPhi(e) }}\r\n options={listDoPhis}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
*/}\r\n {/*
*/}\r\n \r\n \r\n \r\n
\r\n Lưu\r\n Hủy\r\n
\r\n
\r\n \r\n \r\n );\r\n};","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport { SelectHuyen } from '../selecthuyen/SelectHuyen';\r\nimport { SelectXa } from '../selectxa/SelectXa';\r\nimport BanDoHienTrangApi from '../../api/BanDoHienTrangApi';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../loading/Loading';\r\n\r\n\r\nexport const ModalHienTrang = (props) => {\r\n const [show, setShow] = useState(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n\r\n const [xa, setXa] = useState({});\r\n const [listHienTrangs, setListHienTrang] = useState([]);\r\n const [selectedHienTrang, setSelectedHienTrang] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n if (props.showModal === true) {\r\n reset({\r\n id: props.thongTin.id,\r\n maxa: props.thongTin.maxa,\r\n tenxa: props.thongTin.tenxa,\r\n\r\n dt_ha: props.thongTin.dt_ha,\r\n symbol_ht: props.thongTin.symbol_ht,\r\n }, [reset]);\r\n ChuGiaiApi.getHienTrang().then((res) => {\r\n let list = [];\r\n res.forEach(item => {\r\n list.push({\r\n value: item.khHienTrang, label: item.khHienTrang + ' - ' + item.HienTrang, khHienTrang: item.khHienTrang, HienTrang: item.HienTrang\r\n });\r\n if (item.khHienTrang === props.thongTin.symbol_ht) {\r\n setSelectedHienTrang({ value: item.khHienTrang, label: item.khHienTrang + ' - ' + item.HienTrang, khHienTrang: item.khHienTrang, HienTrang: item.HienTrang });\r\n }\r\n });\r\n setListHienTrang(list);\r\n })\r\n setShow(true);\r\n }\r\n }, [props.showModal]);\r\n\r\n\r\n const onChangeXa = (e) => {\r\n setXa(e);\r\n }\r\n\r\n const onChangeHienTrang = (e) => {\r\n setSelectedHienTrang(e);\r\n }\r\n\r\n const onSubmit = (data) => {\r\n\r\n try {\r\n data.symbol_ht = selectedHienTrang?.value;\r\n data.dt_ha = props.thongTin.dt_ha;\r\n data.maxa = xa?.value;\r\n data.tenxa = xa?.label;\r\n data.geoText = props.thongTin.geoText;\r\n data.id = props.thongTin.id;\r\n setLoading(true);\r\n if (data.id != null) {\r\n BanDoHienTrangApi.update(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n else {\r\n console.log('noid');\r\n }\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin hiện trạng sử dụng đất\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChangeXa(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Lưu\r\n Hủy\r\n
\r\n
\r\n \r\n
\r\n );\r\n};","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport BanDoThichHopApi from '../../api/BanDoThichHopApi';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport { SelectHuyen } from '../selecthuyen/SelectHuyen';\r\nimport { SelectXa } from '../selectxa/SelectXa';\r\nimport Select from 'react-select';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../loading/Loading';\r\n\r\n\r\nexport const ModalThichHop = (props) => {\r\n const [show, setShow] = useState(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [xa, setXa] = useState({});\r\n const [listThichHops, setListTh] = useState([]);\r\n const [selectedThichHop, setSelectedThichHop] = useState();\r\n const [selectedLua, setSelectedLua] = useState('');\r\n const [selectedNgo, setSelectedNgo] = useState('');\r\n const [selectedSan, setSelectedSan] = useState('');\r\n const [selectedKhoai, setSelectedKhoai] = useState('');\r\n const [selectedRau, setSelectedRau] = useState('');\r\n const [selectedBi, setSelectedBi] = useState('');\r\n const [selectedLac, setSelectedLac] = useState('');\r\n const [selectedHoa, setSelectedHoa] = useState('');\r\n const [selectedCam, setSelectedCam] = useState('');\r\n const [selectedBuoi, setSelectedBuoi] = useState('');\r\n const [selectedChanh, setSelectedChanh] = useState('');\r\n const [selectedNhan, setSelectedNhan] = useState('');\r\n const [selectedMit, setSelectedMit] = useState('');\r\n const [selectedBo, setSelectedBo] = useState('');\r\n const [selectedSauRieng, setSelectedSauRieng] = useState('');\r\n const [selectedXoai, setSelectedXoai] = useState('');\r\n const [selectedNa, setSelectedNa] = useState('');\r\n const [selectedChuoi, setSelectedChuoi] = useState('');\r\n const [selectedDieu, setSelectedDieu] = useState('');\r\n const [selectedCaoSu, setSelectedCaoSu] = useState('');\r\n const [selectedCafe, setSelectedCafe] = useState('');\r\n const [selectedDauTam, setSelectedDauTam] = useState('');\r\n const [selectedHoTieu, setSelectedHoTieu] = useState('');\r\n const [selectedDuocLieu, setSelectedDuocLieu] = useState('');\r\n const [selectedMang, setSelectedMang] = useState('');\r\n const [selectedDua, setSelectedDua] = useState('');\r\n\r\n\r\n\r\n const [selectedDauTuong, setSelectedDauTuong] = useState('');\r\n const [selectedChe, setSelectedChe] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (props.showModal === true) {\r\n setShow(true);\r\n reset({\r\n id: props.thongTin.id,\r\n maxa: props.thongTin.maxa,\r\n tenxa: props.thongTin.tenxa,\r\n\r\n dt_ha: props.thongTin.dt_ha,\r\n thichnghi_: props.thongTin.thichnghi_\r\n }, [reset]);\r\n ChuGiaiApi.getThichHop().then((res) => {\r\n let list = [];\r\n\r\n\r\n\r\n res.forEach(item => {\r\n list.push({\r\n value: item.matn,\r\n label: item.matn,\r\n thichnghi_: item.matn,\r\n thlua: item.thlua,\r\n thngo: item.thngo,\r\n thsan: item.thsan,\r\n thkhoai: item.thkhoai,\r\n thrau: item.thrau,\r\n thbi: item.thbi,\r\n thlac: item.thlac,\r\n thhoa: item.thhoa,\r\n thcam: item.thcam,\r\n thbuoi: item.thbuoi,\r\n thchanhday: item.thchanhday,\r\n thnhan: item.thnhan,\r\n thmit: item.thmit,\r\n thbo: item.thbo,\r\n thsaurieng: item.thsaurieng,\r\n thxoai: item.thxoai,\r\n thna: item.thna,\r\n thchuoi: item.thchuoi,\r\n thdieu: item.thdieu,\r\n thcaosu: item.thcaosu,\r\n thcaffe: item.thcaffe,\r\n thdautam: item.thdautam,\r\n thmangtay: item.thmangtay,\r\n thduoclieu: item.thduoclieu,\r\n thdua: item.thdua,\r\n thtieu: item.thtieu,\r\n lua: item.lua,\r\n ngo: item.ngo,\r\n san: item.san,\r\n khoai: item.khoai,\r\n rau: item.rau,\r\n bi: item.bi,\r\n lac: item.lac,\r\n hoa: item.hoa,\r\n cam: item.cam,\r\n buoi: item.buoi,\r\n chanh_day: item.chanh_day,\r\n nhan: item.nhan,\r\n mit: item.mit,\r\n bo: item.bo,\r\n sau_rieng: item.sau_rieng,\r\n xoai: item.xoai,\r\n na: item.na,\r\n chuoi: item.chuoi,\r\n dieu: item.dieu,\r\n cao_su: item.cao_su,\r\n caffe: item.caffe,\r\n dau_tam: item.dau_tam,\r\n mang_tay: item.mang_tay,\r\n duoc_lieu: item.duoc_lieu,\r\n dua: item.dua,\r\n ho_tieu: item.ho_tieu\r\n });\r\n\r\n });\r\n let index = list.findIndex(x => x.thichnghi_ === props.thongTin.thichnghi_)\r\n if (index != -1) {\r\n setSelectedThichHop({\r\n value: list[index].thichnghi_,\r\n label: list[index].thichnghi_,\r\n thichnghi_: list[index].thichnghi_,\r\n thlua: list[index].thlua,\r\n thngo: list[index].thngo,\r\n thsan: list[index].thsan,\r\n thkhoai: list[index].thkhoai,\r\n thrau: list[index].thrau,\r\n thbi: list[index].thbi,\r\n thlac: list[index].thlac,\r\n thhoa: list[index].thhoa,\r\n thcam: list[index].thcam,\r\n thbuoi: list[index].thbuoi,\r\n thchanhday: list[index].thchanhday,\r\n thnhan: list[index].thnhan,\r\n thmit: list[index].thmit,\r\n thbo: list[index].thbo,\r\n thsaurieng: list[index].thsaurieng,\r\n thxoai: list[index].thxoai,\r\n thna: list[index].thna,\r\n thchuoi: list[index].thchuoi,\r\n thdieu: list[index].thdieu,\r\n thcaosu: list[index].thcaosu,\r\n thcaffe: list[index].thcaffe,\r\n thdautam: list[index].thdautam,\r\n thmangtay: list[index].thmangtay,\r\n thduoclieu: list[index].thduoclieu,\r\n thdua: list[index].thdua,\r\n thtieu: list[index].thtieu,\r\n lua: list[index].lua,\r\n ngo: list[index].ngo,\r\n san: list[index].san,\r\n khoai: list[index].khoai,\r\n rau: list[index].rau,\r\n bi: list[index].bi,\r\n lac: list[index].lac,\r\n hoa: list[index].hoa,\r\n cam: list[index].cam,\r\n buoi: list[index].buoi,\r\n chanh_day: list[index].chanh_day,\r\n nhan: list[index].nhan,\r\n mit: list[index].mit,\r\n bo: list[index].bo,\r\n sau_rieng: list[index].sau_rieng,\r\n xoai: list[index].xoai,\r\n na: list[index].na,\r\n chuoi: list[index].chuoi,\r\n dieu: list[index].dieu,\r\n cao_su: list[index].cao_su,\r\n caffe: list[index].caffe,\r\n dau_tam: list[index].dau_tam,\r\n mang_tay: list[index].mang_tay,\r\n duoc_lieu: list[index].duoc_lieu,\r\n dua: list[index].dua,\r\n ho_tieu: list[index].ho_tieu\r\n });\r\n setSelectedLua(list[index].thlua);\r\n setSelectedNgo(list[index].thngo);\r\n setSelectedSan(list[index].thsan);\r\n setSelectedKhoai(list[index].thkhoai);\r\n setSelectedRau(list[index].thrau);\r\n setSelectedBi(list[index].thbi);\r\n setSelectedLac(list[index].thlac);\r\n setSelectedHoa(list[index].thhoa);\r\n setSelectedCam(list[index].thcam);\r\n setSelectedBuoi(list[index].thbuoi);\r\n setSelectedChanh(list[index].thchanhday);\r\n setSelectedNhan(list[index].thnhan);\r\n setSelectedMit(list[index].thmit);\r\n setSelectedBo(list[index].thbo);\r\n setSelectedSauRieng(list[index].thsaurieng);\r\n setSelectedXoai(list[index].thxoai);\r\n setSelectedNa(list[index].thna);\r\n setSelectedChuoi(list[index].thchuoi);\r\n setSelectedDieu(list[index].thdieu);\r\n setSelectedCaoSu(list[index].thcaosu);\r\n setSelectedCafe(list[index].thcaffe);\r\n setSelectedDauTam(list[index].thdautam);\r\n setSelectedHoTieu(list[index].thtieu);\r\n setSelectedDuocLieu(list[index].thduoclieu);\r\n setSelectedMang(list[index].thmangtay);\r\n setSelectedDua(list[index].thdua);\r\n }\r\n setListTh(list);\r\n setShow(true);\r\n });\r\n }\r\n }, [props.showModal]);\r\n\r\n\r\n const onChangeXa = (e) => {\r\n setXa(e);\r\n }\r\n\r\n const onChangeThichHop = (e) => {\r\n setSelectedThichHop(e);\r\n setSelectedLua(e.thlua);\r\n setSelectedNgo(e.thngo);\r\n setSelectedSan(e.thsan);\r\n setSelectedKhoai(e.thkhoai);\r\n setSelectedRau(e.thrau);\r\n setSelectedBi(e.thbi);\r\n setSelectedLac(e.thlac);\r\n setSelectedHoa(e.thhoa);\r\n setSelectedCam(e.thcam);\r\n setSelectedBuoi(e.thbuoi);\r\n setSelectedChanh(e.thchanhday);\r\n setSelectedNhan(e.thnhan);\r\n setSelectedMit(e.thmit);\r\n setSelectedBo(e.thbo);\r\n setSelectedSauRieng(e.thsaurieng);\r\n setSelectedXoai(e.thxoai);\r\n setSelectedNa(e.thna);\r\n setSelectedChuoi(e.thchuoi);\r\n setSelectedDieu(e.thdieu);\r\n setSelectedCaoSu(e.thcaosu);\r\n setSelectedCafe(e.thcaffe);\r\n setSelectedDauTam(e.thdautam);\r\n setSelectedHoTieu(e.thtieu);\r\n setSelectedDuocLieu(e.thduoclieu);\r\n setSelectedMang(e.thmangtay);\r\n setSelectedDua(e.thdua);\r\n }\r\n const onSubmit = (data) => {\r\n try {\r\n\r\n data.maxa = xa?.value;\r\n data.tenxa = xa?.label;\r\n data.thichnghi_ = selectedThichHop?.value\r\n data.id = props.thongTin.id;\r\n data.dt_ha = props.thongTin.dt_ha;\r\n data.lua = selectedThichHop.lua;\r\n data.ngo = selectedThichHop.ngo\r\n data.san = selectedThichHop.san;\r\n data.khoai = selectedThichHop.khoai;\r\n data.rau = selectedThichHop.rau;\r\n data.bi = selectedThichHop.bi;\r\n data.lac = selectedThichHop.lac;\r\n data.hoa = selectedThichHop.hoa;\r\n data.cam = selectedThichHop.cam;\r\n data.buoi = selectedThichHop.buoi;\r\n data.chanh_day = selectedThichHop.chanh_day;\r\n data.nhan = selectedThichHop.nhan;\r\n data.mit = selectedThichHop.mit;\r\n data.bo = selectedThichHop.bo;\r\n data.sau_rieng = selectedThichHop.sau_rieng;\r\n data.xoai = selectedThichHop.xoai;\r\n data.na = selectedThichHop.na;\r\n data.chuoi = selectedThichHop.chuoi;\r\n data.dieu = selectedThichHop.dieu;\r\n data.cao_su = selectedThichHop.cao_su;\r\n data.caffe = selectedThichHop.caffe;\r\n data.dau_tam = selectedThichHop.dau_tam;\r\n data.mang_tay = selectedThichHop.mang_tay;\r\n data.duoc_lieu = selectedThichHop.duoc_lieu;\r\n data.dua = selectedThichHop.dua;\r\n data.ho_tieu = selectedThichHop.ho_tieu;\r\n\r\n setLoading(true);\r\n if (data.id != null) {\r\n BanDoThichHopApi.update(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n else {\r\n console.log('noid');\r\n }\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin thích hợp đất đai\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChangeXa(e)}>\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Lưu\r\n Hủy\r\n
\r\n
\r\n \r\n
\r\n );\r\n};","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport BanDoThoNhuongApi from '../../api/BanDoThoNhuongApi';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport Select from 'react-select';\r\nimport { SelectXa } from '../selectxa/SelectXa';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../loading/Loading';\r\n\r\nexport const ModalThoNhuong = (props) => {\r\n const [show, setShow] = useState(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [xa, setXa] = useState({});\r\n const [listThoNhuongs, setListThoNhuong] = useState([]);\r\n const [selectedThoNhuong, setSelectedThoNhuong] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (props.showModal === true) {\r\n setShow(true);\r\n reset({\r\n id: props.thongTin.id,\r\n maxa: props.thongTin.maxa,\r\n tenxa: props.thongTin.tenxa,\r\n dt_ha: props.thongTin.dt_ha,\r\n code_dat: props.thongTin.code_dat,\r\n symbol_dat: props.thongTin.symbol_dat,\r\n }, [reset]);\r\n console.log(props.thongTin.maxa);\r\n ChuGiaiApi.getThoNhuong().then((res) => {\r\n let list = [];\r\n res.forEach(item => {\r\n\r\n list.push({\r\n value: item.codeDat, label: item.khDat + ' - ' + item.tenDat, khDat: item.khDat, tenDat: item.tenDat\r\n });\r\n if (item.khDat === props.thongTin.symbol_dat) {\r\n setSelectedThoNhuong({ value: item.codeDat, label: item.khDat + ' - ' + item.tenDat, khDat: item.khDat, tenDat: item.tenDat });\r\n }\r\n });\r\n console.log(list)\r\n setListThoNhuong(list);\r\n })\r\n setShow(true);\r\n }\r\n }, [props.showModal]);\r\n\r\n const onChangeXa = (e) => {\r\n setXa(e);\r\n }\r\n\r\n const onChangeThoNhuong = (e) => {\r\n setSelectedThoNhuong(e);\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n\r\n try {\r\n data.symbol_dat = selectedThoNhuong.khDat;\r\n data.code_dat = selectedThoNhuong.value;\r\n\r\n data.maxa = xa.value;\r\n data.tenxa = xa.label;\r\n data.geoText = props.thongTin.geoText;\r\n data.id = props.thongTin.id;\r\n setLoading(true);\r\n\r\n if (data.id != null) {\r\n BanDoThoNhuongApi.update(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n else {\r\n console.log('noid')\r\n }\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin thổ nhưỡng\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n onChangeXa(e)}>\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Lưu\r\n Hủy\r\n
\r\n
\r\n \r\n
\r\n );\r\n};","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport { SelectXa } from '../selectxa/SelectXa';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport BanDoDeXuatApi from '../../api/BanDoDeXuatApi';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../loading/Loading';\r\n\r\n\r\n\r\nexport const ModalDeXuat = (props) => {\r\n const [show, setShow] = useState(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [xa, setXa] = useState({});\r\n const [listDeXuats, setListDeXuat] = useState([]);\r\n const [selectedDeXuat, setSelectedDeXuat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (props.showModal === true) {\r\n setShow(true);\r\n reset({\r\n id: props.thongTin.id,\r\n maxa: props.thongTin.maxa,\r\n tenxa: props.thongTin.tenxa,\r\n dt_ha: props.thongTin.dt_ha,\r\n symbol_qh: props.thongTin.symbol_qh\r\n }, [reset]);\r\n ChuGiaiApi.getDeXuat().then((res) => {\r\n let list = [];\r\n res.forEach(item => {\r\n list.push({\r\n value: item.khDeXuat, label: item.khDeXuat + ' - ' + item.DeXuat, khDeXuat: item.khDeXuat, DeXuat: item.DeXuat\r\n });\r\n if (item.khDeXuat == props.thongTin.symbol_qh) {\r\n setSelectedDeXuat({ value: item.khDeXuat, label: item.khDeXuat + ' - ' + item.DeXuat, khDeXuat: item.khDeXuat, DeXuat: item.DeXuat });\r\n }\r\n });\r\n setListDeXuat(list);\r\n })\r\n\r\n setShow(true);\r\n\r\n console.log(listDeXuats)\r\n }\r\n }, [props.showModal]);\r\n\r\n const onChangeXa = (e) => {\r\n setXa(e);\r\n }\r\n\r\n const onChangeDeXuat = (e) => {\r\n setSelectedDeXuat(e);\r\n }\r\n\r\n\r\n const onSubmit = async (data) => {\r\n\r\n try {\r\n data.symbol_qh = selectedDeXuat?.value;\r\n data.maxa = xa?.value;\r\n data.tenxa = xa?.label;\r\n data.geoText = props.thongTin.geoText;\r\n data.dt_ha = props.thongTin.dt_ha;\r\n data.id = props.thongTin.id;\r\n setLoading(true);\r\n console.log(data);\r\n if (data.id != null) {\r\n BanDoDeXuatApi.update(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n else {\r\n console.log('noid');\r\n }\r\n\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin đề xuất sử dụng đất\r\n \r\n \r\n
\r\n {/*
\r\n \r\n
\r\n onChangeHuyen(e)}>\r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n onChangeXa(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Lưu\r\n Hủy\r\n
\r\n
\r\n \r\n
\r\n );\r\n};","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport BanDoNongHoaApi from '../../api/BanDoNongHoaApi';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../loading/Loading';\r\nimport { SelectHuyen } from '../selecthuyen/SelectHuyen';\r\nimport { SelectXa } from '../selectxa/SelectXa';\r\n\r\n\r\nexport const ModalNongHoa = (props) => {\r\n const [show, setShow] = useState(false);\r\n const { register, handleSubmit, reset } = useForm();\r\n const [huyen, setHuyen] = useState({});\r\n const [xa, setXa] = useState({});\r\n const [listphKCLs, setListphKCL] = useState([]);\r\n const [selectedphKCL, setSelectedphKCL] = useState();\r\n const [listtsDams, setListtsDam] = useState([]);\r\n const [selectedtsDam, setSelectedtsDam] = useState();\r\n const [listtsLan, setListtsLan] = useState([]);\r\n const [selectedtsLan, setSelectedtsLan] = useState();\r\n const [listtsKalis, setListtsKali] = useState([]);\r\n const [selectedtsKali, setSelectedtsKali] = useState();\r\n const [listdtLans, setListdtLan] = useState([]);\r\n const [selecteddtLan, setSelecteddtLan] = useState();\r\n const [listdtKalis, setListdtKali] = useState([]);\r\n const [selecteddtKali, setSelecteddtKali] = useState();\r\n const [listCecs, setListCec] = useState([]);\r\n const [selectedCec, setSelectedCec] = useState();\r\n const [listOcs, setListOc] = useState([]);\r\n const [selectedOc, setSelectedOc] = useState();\r\n const [listTpcgs, setListTpcg] = useState([]);\r\n const [selectedTpcg, setSelectedTpcg] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleClose = () => {\r\n props.handleClose();\r\n setShow(false);\r\n };\r\n\r\n useEffect(() => {\r\n\r\n if (props.showModal === true) {\r\n setShow(true);\r\n reset({\r\n id: props.thongTin.id,\r\n maXa: props.thongTin.maXa,\r\n tenXa: props.thongTin.tenXa,\r\n maHuyen: props.thongTin.maHuyen,\r\n tenHuyen: props.thongTin.tenHuyen,\r\n maTinh: props.thongTin.maTinh,\r\n tenTinh: props.thongTin.tenTinh,\r\n DienTich: props.thongTin.DienTich,\r\n phKCl: props.thongTin.phKCl,\r\n tsDam: props.thongTin.tsDam,\r\n tsLan: props.thongTin.tsLan,\r\n tsKali: props.thongTin.tsKali,\r\n dtLan: props.thongTin.dtLan,\r\n dtKaLi: props.thongTin.dtKaLi,\r\n CEC: props.thongTin.CEC,\r\n OC: props.thongTin.OC,\r\n maTPCG: props.thongTin.maTPCG,\r\n maNongHoa: props.thongTin.maNongHoa,\r\n Ghichu: props.thongTin.Ghichu,\r\n tenDatTCVN: props.thongTin.tenDatTCVN\r\n }, [reset]);\r\n BanDoNongHoaApi.getAllDanhMuc().then((res) => {\r\n setListphKCL(res[0].rows);\r\n setListtsDam(res[1].rows);\r\n setListtsLan(res[2].rows);\r\n setListtsKali(res[3].rows);\r\n setListdtLan(res[4].rows);\r\n setListdtKali(res[5].rows);\r\n setListCec(res[6].rows);\r\n setListOc(res[7].rows);\r\n setListTpcg(res[8].rows);\r\n let index = res[0].rows.findIndex(x => x.value === props.thongTin?.phKCl);\r\n if (index !== -1) {\r\n setSelectedphKCL(res[0].rows[index]);\r\n }\r\n index = res[1].rows.findIndex(x => x.value === props.thongTin?.tsDam);\r\n if (index !== -1) {\r\n setSelectedtsDam(res[1].rows[index]);\r\n }\r\n index = res[2].rows.findIndex(x => x.value === props.thongTin?.tsLan);\r\n if (index !== -1) {\r\n setSelectedtsLan(res[2].rows[index]);\r\n }\r\n index = res[3].rows.findIndex(x => x.value === props.thongTin?.tsKali);\r\n if (index !== -1) {\r\n setSelectedtsKali(res[3].rows[index]);\r\n }\r\n index = res[4].rows.findIndex(x => x.value === props.thongTin?.dtLan);\r\n if (index !== -1) {\r\n setSelecteddtLan(res[4].rows[index]);\r\n }\r\n index = res[5].rows.findIndex(x => x.value === props.thongTin?.dtKaLi);\r\n if (index !== -1) {\r\n setSelecteddtKali(res[5].rows[index]);\r\n }\r\n index = res[6].rows.findIndex(x => x.value === props.thongTin?.CEC);\r\n if (index !== -1) {\r\n setSelectedCec(res[6].rows[index]);\r\n }\r\n index = res[7].rows.findIndex(x => x.value === props.thongTin?.OC);\r\n if (index !== -1) {\r\n setSelectedOc(res[7].rows[index]);\r\n }\r\n index = res[8].rows.findIndex(x => x.value === props.thongTin?.maTPCG);\r\n if (index !== -1) {\r\n setSelectedTpcg(res[8].rows[index]);\r\n }\r\n })\r\n }\r\n }, [props.showModal]);\r\n\r\n const onChangeHuyen = (e) => {\r\n setHuyen(e);\r\n }\r\n\r\n const onChangeXa = (e) => {\r\n setXa(e);\r\n }\r\n\r\n\r\n const onSubmit = (data) => {\r\n\r\n try {\r\n data.maHuyen = huyen?.ma;\r\n data.tenHuyen = huyen?.label;\r\n data.maXa = xa?.value;\r\n data.tenXa = xa?.label;\r\n data.geoText = props.thongTin?.geoText;\r\n data.id = props.thongTin.id;\r\n data.phKCL = selectedphKCL?.value;\r\n data.tsDam = selectedtsDam?.value;\r\n data.tsLan = selectedtsLan?.value;\r\n data.tsKali = selectedtsKali?.value;\r\n data.dtLan = selecteddtLan?.value;\r\n data.dtKali = selecteddtKali?.value;\r\n data.CEC = selectedCec?.value;\r\n data.OC = selectedOc?.value;\r\n data.maTPCG = selectedTpcg?.value;\r\n \r\n setLoading(true);\r\n if (data.id != null) {\r\n BanDoNongHoaApi.update(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n else {\r\n BanDoNongHoaApi.add(data).then((res) => {\r\n ThongBao.printSuccessMessage('Cập nhật thành công!');\r\n handleClose();\r\n props.changeMapComplete();\r\n setLoading(false);\r\n }, (err) => {\r\n setLoading(false);\r\n ThongBao.printErrorMessage(err);\r\n });\r\n }\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n \r\n Thông tin nông hóa\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n onChangeHuyen(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n onChangeXa(e)}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n { setSelectedphKCL(e) }}\r\n options={listphKCLs}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n { setSelectedtsDam(e) }}\r\n options={listtsDams}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n { setSelectedtsLan(e) }}\r\n options={listtsLan}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n \r\n
\r\n { setSelectedtsKali(e) }}\r\n options={listtsKalis}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setSelecteddtLan(e) }}\r\n options={listdtLans}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n \r\n
\r\n { setSelecteddtKali(e) }}\r\n options={listdtKalis}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setSelectedCec(e) }}\r\n options={listCecs}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n \r\n
\r\n { setSelectedOc(e) }}\r\n options={listOcs}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n { setSelectedTpcg(e) }}\r\n options={listTpcgs}\r\n theme={theme => ({\r\n ...theme,\r\n borderRadius: 0,\r\n height: 30,\r\n spacing: {\r\n controlHeight: 30,\r\n menuGutter: 1,\r\n baseUnit: 2,\r\n }\r\n })}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n Lưu\r\n Hủy\r\n
\r\n
\r\n \r\n
\r\n );\r\n};","import React, { useEffect, useState } from 'react'\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport stylelocal from \"./BanDo.module.css\"\r\nimport { SelectHuyenMulti } from '../../shared/selecthuyenmulti/SelectHuyenMulti';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport TimKiemApi from '../../api/TimKiemApi';\r\nimport { SidebarLayer } from '../../shared/sidebar-layer/SidebarLayer';\r\nimport { FooterNote } from '../../shared/footer-note/FooterNote';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport jsPDF from 'jspdf';\r\nimport * as htmlToImage from 'html-to-image';\r\nimport { SidebarLeft } from '../../shared/sidebar-left/SidebarLeft';\r\nimport { TimKiemNangCao } from '../../shared/timkiemnangcao/TimKiemNangCao';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { ModalChatLuong } from '../../shared/modaladdedit/ModalChatLuong';\r\nimport { ModalHienTrang } from '../../shared/modaladdedit/ModalHienTrang';\r\nimport { ModalThichHop } from '../../shared/modaladdedit/ModalThichHop';\r\nimport { ModalThoNhuong } from '../../shared/modaladdedit/ModalThoNhuong';\r\nimport { ModalDeXuat } from '../../shared/modaladdedit/ModalDeXuat';\r\nimport { Loading } from '../../shared/loading/Loading';\r\nimport { ModalNongHoa } from '../../shared/modaladdedit/ModalNongHoa';\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const BanDo = () => {\r\n const view = new ol.View({\r\n center: [12031226.4706, 1518077.6003],\r\n zoom: 10.2\r\n });\r\n var [isEdit, setIsEdit] = useState(false);\r\n var [showModalAddEdit, setShowModalAddEdit] = useState('');\r\n var [thongTinAddEdit, setThongTinAddEdit] = useState({});\r\n const [addEdit, setAddEdit] = useState(0);\r\n var [isThongTin, setIsThongTin] = useState(true);\r\n var [map, setMap] = useState(new ol.Map());\r\n var [showLeft, setShowLeft] = useState(0);\r\n const [selectGhiChu, setSelectGhiChu] = useState({});\r\n const [listFilters, setListFilter] = useState([]);\r\n const [valueFilter, setValueFilter] = useState('');\r\n var requestTimer = null;\r\n const [listHuyens, setListHuyen] = useState([]);\r\n var [showRight, setShowRight] = useState(0);\r\n var [thongTin, setThongTin] = useState({});\r\n var [listLopBanDos, setLopBanDo] = useState([]);\r\n var [tabSelect, setTabSelect] = useState('');\r\n var [x, setX] = useState(0);\r\n var [y, setY] = useState(0);\r\n var [id, setId] = useState(null);\r\n var [listMenu, setListMenu] = useState([]);\r\n var [showTimKiemNangCao, setShowTimKiemNangCao] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n\r\n var [soureAdd, setSoureAdd] = useState(new ol.source.Vector(\r\n { wrapX: false }\r\n ));\r\n var [vectorAdd, setVectorAdd] = useState(new ol.layer.Vector({\r\n source: soureAdd,\r\n zIndex: 999\r\n }));\r\n var [drawAdd, setdrawAdd] = useState(new ol.interaction.Draw({\r\n source: soureAdd,\r\n type: \"Polygon\"\r\n }));\r\n\r\n var [mousePositionControl, setMousePositionControl] = useState()\r\n var [drawDo, setDrawDo] = useState(null);\r\n var [soureDo, setSoureDo] = useState(new ol.source.Vector());\r\n var [vectorDo, setVectorDo] = useState(new ol.layer.Vector());\r\n var [vectorSelect, setVectorSelect] = useState(new ol.layer.Vector());\r\n var [positionFeature, setPositionFeature] = useState(new ol.Feature());\r\n var [accuracyFeature, setAccuracyFeature] = useState(new ol.Feature());\r\n var [sourceBase, setSourceBase] = useState(new ol.source.OSM({\r\n attributions: ['Phần mềm quản lý sử dụng đất sản xuất nông nghiệp Hà Nội'],\r\n url: 'http://mt0.google.com/vt/lyrs=s&hl=vn&x={x}&y={y}&z={z}',\r\n }));\r\n var [mapBase, setMapBase] = useState(new ol.layer.Tile({\r\n source: sourceBase\r\n }));\r\n var [bingMap, setBingMap] = useState(new ol.layer.Tile({\r\n preload: Infinity,\r\n zIndex: 1,\r\n source: new ol.source.BingMaps({\r\n key: 'Avt2mvsr-HdT809JeTWasadqQrzmbWjSKja8sX14syV5YXV6xywEfc_Ub6cvJLN0',\r\n imagerySet: 'Aerial'\r\n })\r\n }));\r\n var [geolocaltion, setGeoLocaltion] = useState(new ol.Geolocation({\r\n trackingOptions: {\r\n enableHighAccuracy: true,\r\n },\r\n projection: view.getProjection()\r\n }));\r\n\r\n\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n\r\n const onPrint = () => {\r\n let view = map.getViewport();\r\n htmlToImage.toPng(view).then(function (dataUrl) {\r\n var pdf = new jsPDF('landscape');\r\n // // var pdf = new jsPDF();\r\n pdf.addImage(dataUrl, 'PNG', 0, 0, view.clientWidth / 3.8, view.clientHeight / 3.8);\r\n // pdf.save(\"bando.pdf\");\r\n // pdf.autoPrint();\r\n window.open(pdf.output('bloburl'), '_blank')\r\n });\r\n }\r\n\r\n const getIdHuyen = (listHuyens) => {\r\n setListHuyen(listHuyens)\r\n if (listLopBanDos.length > 0) {\r\n let params = {\r\n CQL_FILTER: listHuyens.length > 0 ? `maxa IN (${listHuyens.map(x => x.Ma).join(',')})` : 'maxa=100'\r\n }\r\n listLopBanDos.forEach(item => {\r\n if (item.province.getSource()) {\r\n item.province.getSource().updateParams(params);\r\n }\r\n })\r\n setMap(map);\r\n }\r\n }\r\n\r\n const getSelectGhiChu = (e) => {\r\n let controll = document.getElementById('map');\r\n setSelectGhiChu(e);\r\n controll.setAttribute('edit-l', e.Ma);\r\n }\r\n\r\n const timkiemGhiChu = (e) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Ma == selectGhiChu.Ma && item.province.getSource()) {\r\n let params = {\r\n // CQL_FILTER: listHuyens.length > 0 ? `maHuyen IN (${listHuyens.map(x => x.Ma).join(',')}) AND ${selectGhiChu.TimKiemGhiChu} IN (${e})` : 'maHuyen=100'\r\n CQL_FILTER: e.Sql\r\n }\r\n item.province.getSource().updateParams(params);\r\n }\r\n });\r\n setMap(map);\r\n }\r\n\r\n const loadThongTin = async (x, y) => {\r\n try {\r\n const controll = document.getElementById('map');\r\n const maEdit = controll.getAttribute('edit-l');\r\n if (controll.getAttribute('addedit') === \"0\") {\r\n showRight++;\r\n setShowRight(showRight);\r\n let tableName = listMenu.filter(x => x.Checked && x.ParentId !== 'BANDONEN' && x.ParentId !== 'BANDOVETINH' && x.ParentId !== 'BDHANHCHINH' && x.LayerName != null);\r\n if (tableName.length === 0) {\r\n tableName = listMenu.filter(x => x.Ma === 'BDHANHCHINHHUYEN');\r\n if (tableName.length === 0) {\r\n return;\r\n }\r\n tabSelect = tableName[0].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n else {\r\n if (tabSelect === '') {\r\n tabSelect = tableName[0].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n else {\r\n const index = tableName.findIndex(x => x.Ma == tabSelect);\r\n if (index === -1) {\r\n tabSelect = tableName[0].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n else{\r\n setTabSelect(tabSelect);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n tabSelect = maEdit;\r\n setTabSelect(tabSelect);\r\n }\r\n\r\n const params = {\r\n x: x,\r\n y: y,\r\n tableName: tabSelect\r\n }\r\n setLoading(true);\r\n thongTin = await BanDoPublicApi.getDetail(params);\r\n thongTin.Ma = tabSelect;\r\n setThongTin(thongTin);\r\n setX(x);\r\n setY(y);\r\n setLoading(false);\r\n if (thongTin.geomjson != null) {\r\n map.getLayers().forEach(item => {\r\n if (item != null && item.type === 'VECTOR') {\r\n map.removeLayer(item);\r\n }\r\n });\r\n const feature = new ol.format.GeoJSON().readFeatures(thongTin.geomjson);\r\n feature.forEach(item => {\r\n item.setId(thongTin.id);\r\n })\r\n vectorSelect = new ol.layer.Vector({\r\n source: new ol.source.Vector({\r\n features: feature,\r\n }),\r\n style: highlightStyle,\r\n zIndex: 999\r\n });\r\n map.addLayer(vectorSelect);\r\n }\r\n else {\r\n map.getLayers().forEach(item => {\r\n if (item == vectorSelect) {\r\n map.removeLayer(vectorSelect);\r\n }\r\n });\r\n }\r\n }\r\n catch {\r\n setLoading(false);\r\n }\r\n }\r\n\r\n const loadThongTinById = async (e) => {\r\n try {\r\n const index = listMenu.findIndex(x => x.TableName === e.tableName);\r\n if (index !== -1) {\r\n tabSelect = listMenu[index].Ma;\r\n setTabSelect(tabSelect);\r\n }\r\n setLoading(true);\r\n showRight++;\r\n setShowRight(showRight);\r\n thongTin = await BanDoPublicApi.getInfoById(e);\r\n setThongTin(thongTin);\r\n setId(e.id);\r\n if (thongTin.geomjson != null) {\r\n map.getLayers().forEach(item => {\r\n if (item != null && item.type === 'VECTOR') {\r\n map.removeLayer(item);\r\n }\r\n });\r\n const features = new ol.format.GeoJSON().readFeatures(thongTin.geomjson);\r\n vectorSelect = new ol.layer.Vector({\r\n source: new ol.source.Vector({\r\n features: features,\r\n }),\r\n style: highlightStyle,\r\n zIndex: 999\r\n });\r\n setVectorSelect(vectorSelect);\r\n map.addLayer(vectorSelect);\r\n const toaDo = new ol.extent.getCenter(features[0].getGeometry().getExtent());\r\n flyTo(toaDo, 14);\r\n }\r\n else {\r\n map.getLayers().forEach(item => {\r\n if (item == vectorSelect) {\r\n map.removeLayer(vectorSelect);\r\n }\r\n });\r\n }\r\n setLoading(false);\r\n }\r\n catch {\r\n setLoading(false);\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n setRoleAdd(Authen.checkQuyen('BANDO_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BANDO_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BANDO_DELETE'));\r\n }, []);\r\n\r\n useEffect(() => {\r\n vectorDo = new ol.layer.Vector({\r\n source: soureDo,\r\n style: new ol.style.Style({\r\n fill: ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#ffcc33',\r\n width: 2,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33',\r\n }),\r\n })\r\n }),\r\n zIndex: 200\r\n });\r\n positionFeature.setStyle(\r\n new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 6,\r\n fill: new ol.style.Fill({\r\n color: '#3399CC',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: '#fff',\r\n width: 2,\r\n }),\r\n }),\r\n })\r\n );\r\n geolocaltion.on('change:accuracyGeometry', function () {\r\n accuracyFeature.setGeometry(geolocaltion.getAccuracyGeometry());\r\n });\r\n geolocaltion.on('change:position', function () {\r\n let coordinates = geolocaltion.getPosition();\r\n positionFeature.setGeometry(coordinates ? new ol.geom.Point(coordinates) : null);\r\n if (coordinates) {\r\n map.setView(new ol.View({\r\n center: coordinates,\r\n zoom: 14\r\n }))\r\n }\r\n });\r\n mousePositionControl = new ol.control.MousePosition({\r\n coordinateFormat: ol.coordinate.createStringXY(4),\r\n projection: 'EPSG:4326',\r\n className: 'custom-mouse-position',\r\n target: document.getElementById('mouse-position'),\r\n undefinedHTML: ''\r\n });\r\n setMousePositionControl(mousePositionControl);\r\n var projectionSelect = document.getElementById('projection');\r\n projectionSelect.addEventListener('change', function (event) {\r\n mousePositionControl.setProjection(event.target.value);\r\n });\r\n map = new ol.Map({\r\n target: \"map\",\r\n controls: new ol.control.defaults().extend([\r\n new ol.control.ScaleLine({\r\n units: 'metric'\r\n }),\r\n new ol.control.FullScreen(),\r\n new ol.control.ZoomSlider(),\r\n mousePositionControl\r\n ]),\r\n layers: [\r\n mapBase\r\n // bingMap\r\n ],\r\n view: view\r\n });\r\n let vectorViTri = new ol.layer.Vector({\r\n map: map,\r\n source: new ol.source.Vector({\r\n features: [accuracyFeature, positionFeature]\r\n })\r\n });\r\n map.addLayer(vectorViTri);\r\n map.addControl(customControl('id-do-khoang-cach', stylelocal.dokhoangcach, '', clickDoKhoangCach));\r\n map.addControl(customControl('id-do-dien-tich', stylelocal.dodientich, '', clickDoDienTich));\r\n map.addControl(customControl('id-do-vi-tri', stylelocal.vitri, '', clickViTri));\r\n map.addControl(customControl('id-tk-nang-cao', stylelocal.tknangcao, '', timKiemNangCao));\r\n map.addControl(customControl('id-lop-ban-do', stylelocal.lopbando, '', showLopBanDo));\r\n setVectorDo(vectorDo);\r\n setPositionFeature(positionFeature);\r\n map.on('click', function (evt) {\r\n const controllAddEdit = document.getElementById('map').getAttribute('addedit');\r\n const controllIsEdit = document.getElementById('map').getAttribute('isedit');\r\n if (isThongTin === false || controllAddEdit === \"1\" || controllIsEdit === \"1\") {\r\n return;\r\n }\r\n loadThongTin(evt.coordinate[0], evt.coordinate[1]);\r\n });\r\n setMap(map);\r\n }, []);\r\n\r\n const showLopBanDo = () => {\r\n showLeft++;\r\n setShowLeft(showLeft);\r\n }\r\n\r\n const updateTableSelect = (e) => {\r\n tabSelect = e;\r\n setTabSelect(tabSelect);\r\n loadThongTin(x, y);\r\n }\r\n\r\n const highlightStyle = new ol.style.Style({\r\n // fill: new ol.style.Fill({\r\n // color: 'red',\r\n // }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({\r\n color: '#ffcc33'\r\n })\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'blue',\r\n width: 2,\r\n }),\r\n });\r\n\r\n const removeAttribute = (id) => {\r\n let controll = document.getElementById(id);\r\n if (controll.hasAttribute('active')) {\r\n controll.removeAttribute('active');\r\n controll.removeAttribute('class');\r\n map.removeInteraction(drawDo);\r\n vectorDo.getSource().clear();\r\n map.removeLayer(vectorDo);\r\n map.getOverlays().clear();\r\n }\r\n }\r\n\r\n const clickDoKhoangCach = () => {\r\n let controllButton = document.getElementById('id-do-khoang-cach');\r\n removeAttribute('id-do-dien-tich');\r\n if (controllButton.hasAttribute('active')) {\r\n removeAttribute('id-do-khoang-cach');\r\n isThongTin = true;\r\n }\r\n else {\r\n isThongTin = false;\r\n controllButton.setAttribute('active', 1);\r\n controllButton.setAttribute('class', 'ctrl-active');\r\n map.addLayer(vectorDo);\r\n addInteractionDo('LineString');\r\n }\r\n setIsThongTin(isThongTin);\r\n }\r\n\r\n const clickDoDienTich = () => {\r\n let controllButton = document.getElementById('id-do-dien-tich');\r\n removeAttribute('id-do-khoang-cach');\r\n if (controllButton.hasAttribute('active')) {\r\n removeAttribute('id-do-dien-tich');\r\n isThongTin = true;\r\n }\r\n else {\r\n isThongTin = false;\r\n controllButton.setAttribute('active', 1);\r\n controllButton.setAttribute('class', 'ctrl-active');\r\n map.addLayer(vectorDo);\r\n addInteractionDo('Polygon');\r\n }\r\n setIsThongTin(isThongTin);\r\n }\r\n\r\n const clickViTri = () => {\r\n geolocaltion.setTracking(false);\r\n geolocaltion.setTracking(true);\r\n }\r\n\r\n function customControl(id, classCss, icon, func) {\r\n let button = document.createElement('button');\r\n button.setAttribute('id', id);\r\n button.innerHTML = icon;\r\n let element = document.createElement('div');\r\n element.className = classCss + ' ol-unselectable ol-control';\r\n element.appendChild(button);\r\n button.addEventListener('click', function () {\r\n func();\r\n }, false);\r\n return new ol.control.Control({\r\n element: element\r\n });\r\n }\r\n\r\n\r\n function flyTo(localtion, zoomNew) {\r\n let duration = 2000;\r\n let parts = 2;\r\n let called = false;\r\n function callback(complete) {\r\n --parts;\r\n if (called) {\r\n return;\r\n }\r\n if (parts === 0 || !complete) {\r\n called = true;\r\n }\r\n }\r\n map.getView().animate(\r\n {\r\n center: localtion,\r\n duration: duration\r\n },\r\n callback\r\n );\r\n map.getView().animate(\r\n {\r\n zoom: zoomNew - 1,\r\n duration: duration / 2\r\n },\r\n {\r\n zoom: zoomNew,\r\n duration: duration / 2\r\n },\r\n callback\r\n )\r\n }\r\n\r\n var sketch;\r\n var helpTooltipElement;\r\n var helpTooltip;\r\n\r\n const createHelpTooltip = () => {\r\n if (helpTooltipElement) {\r\n helpTooltipElement.parentNode.removeChild(helpTooltipElement);\r\n }\r\n helpTooltipElement = document.createElement('div');\r\n helpTooltipElement.className = 'ol-tooltip hidden';\r\n helpTooltip = new ol.Overlay({\r\n element: helpTooltipElement,\r\n offset: [15, 0],\r\n positioning: 'center-left',\r\n });\r\n map.addOverlay(helpTooltip);\r\n setMap(map);\r\n }\r\n var sketch;\r\n var measureTooltipElement;\r\n var measureTooltip;\r\n const addInteractionDo = (type) => {\r\n drawDo = new ol.interaction.Draw({\r\n source: soureDo,\r\n type: type,\r\n style: new ol.style.Style({\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)',\r\n }),\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.5)',\r\n lineDash: [10, 10],\r\n width: 2,\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 5,\r\n stroke: new ol.style.Stroke({\r\n color: 'rgba(0, 0, 0, 0.7)',\r\n }),\r\n fill: new ol.style.Fill({\r\n color: 'rgba(255, 255, 255, 0.2)'\r\n })\r\n })\r\n })\r\n });\r\n map.addInteraction(drawDo);\r\n setDrawDo(drawDo);\r\n createMeasureTooltip();\r\n createHelpTooltip();\r\n var listener;\r\n drawDo.on('drawstart', function (evt) {\r\n sketch = evt.feature;\r\n var tooltipCoord = evt.coordinate;\r\n listener = sketch.getGeometry().on('change', function (evt) {\r\n var geom = evt.target;\r\n var output;\r\n if (geom instanceof ol.geom.Polygon) {\r\n output = formatArea(geom);\r\n tooltipCoord = geom.getInteriorPoint().getCoordinates();\r\n } else if (geom instanceof ol.geom.LineString) {\r\n output = formatLength(geom);\r\n tooltipCoord = geom.getLastCoordinate();\r\n }\r\n measureTooltipElement.innerHTML = output;\r\n measureTooltip.setPosition(tooltipCoord);\r\n })\r\n });\r\n drawDo.on('drawend', function () {\r\n measureTooltipElement.className = 'ol-tooltip ol-tooltip-static';\r\n measureTooltip.setOffset([0, -7]);\r\n // unset sketch\r\n sketch = null;\r\n // unset tooltip so that a new one can be created\r\n measureTooltipElement = null;\r\n createMeasureTooltip();\r\n ol.Observable.unByKey(listener);\r\n });\r\n setDrawDo(drawDo);\r\n setMap(map);\r\n }\r\n\r\n const formatArea = (polygon) => {\r\n var area = ol.Sphere.getArea(polygon);\r\n var output;\r\n if (area > 10000) {\r\n output = Math.round((area / 1000000) * 100) / 100 + ' ' + 'km2';\r\n } else {\r\n output = Math.round(area * 100) / 100 + ' ' + 'm2';\r\n }\r\n return output;\r\n };\r\n\r\n const formatLength = (line) => {\r\n var length = ol.Sphere.getLength(line);\r\n var output;\r\n if (length > 100) {\r\n output = Math.round((length / 1000) * 100) / 100 + ' ' + 'km';\r\n } else {\r\n output = Math.round(length * 100) / 100 + ' ' + 'm';\r\n }\r\n return output;\r\n };\r\n\r\n function createMeasureTooltip() {\r\n if (measureTooltipElement) {\r\n measureTooltipElement.parentNode.removeChild(measureTooltipElement);\r\n }\r\n measureTooltipElement = document.createElement('div');\r\n measureTooltipElement.className = 'ol-tooltip ol-tooltip-measure';\r\n measureTooltip = new ol.Overlay({\r\n element: measureTooltipElement,\r\n offset: [0, -15],\r\n positioning: 'bottom-center',\r\n });\r\n map.addOverlay(measureTooltip);\r\n }\r\n\r\n const timKiemNangCao = () => {\r\n showTimKiemNangCao++;\r\n setShowTimKiemNangCao(showTimKiemNangCao);\r\n }\r\n\r\n //thay đổi lựa chọn bản đồ từ menu\r\n const selectBanDo = async (listMenus) => {\r\n // console.log(listMenus);\r\n listMenus.forEach(item => {\r\n const index = listMenu.findIndex(x => x.Ma === item.Ma);\r\n if (index === -1) {\r\n listMenu.push(item);\r\n }\r\n else {\r\n listMenu[index].Checked = item.Checked;\r\n }\r\n });\r\n listMenus.forEach(item => {\r\n if (item.ParentId === 'BANDOVETINH') {\r\n if (item.Ma === 'BING') {\r\n let isCheck = true;\r\n map.getLayers().forEach(l => {\r\n if (l === bingMap) {\r\n isCheck = false;\r\n }\r\n });\r\n if (isCheck) {\r\n bingMap.setVisible(true);\r\n map.addLayer(bingMap);\r\n }\r\n else {\r\n bingMap.setVisible(item.Checked);\r\n }\r\n mapBase.setVisible(false);\r\n }\r\n else {\r\n if (sourceBase.getUrls().findIndex(x => x === item.Url) !== -1) {\r\n mapBase.setVisible(item.Checked);\r\n }\r\n else if (item.Checked) {\r\n sourceBase.setUrl(item.Url);\r\n mapBase.setVisible(item.Checked);\r\n }\r\n bingMap.setVisible(false);\r\n setSourceBase(sourceBase);\r\n setMapBase(mapBase);\r\n }\r\n }\r\n if (item.ParentId !== 'BANDOVETINH' && item.Url != null) {\r\n const index = listLopBanDos.findIndex(x => x.Ma === item.Ma);\r\n if (index === -1) {\r\n let province = new ol.layer.Image({\r\n source: new ol.source.ImageWMS({\r\n url: item.Url,\r\n params: { layers: item.LayerName, version: item.Version, CQL_FILTER: 'maxa IN (' + listHuyens.map(x => x.Ma).join(',') + ')' },\r\n serverType: \"geoserver\",\r\n ratio: item.Ratio,\r\n crossOrigin: ''\r\n }),\r\n zIndex: item.SortOrder\r\n });\r\n province.setVisible(item.Checked);\r\n province.setZIndex(item.SortOrder);\r\n map.addLayer(province);\r\n item.province = province;\r\n listLopBanDos.push(item);\r\n }\r\n else {\r\n listLopBanDos[index].province.setVisible(item.Checked);\r\n }\r\n }\r\n });\r\n setLopBanDo([...listLopBanDos]);\r\n setMap(map);\r\n }\r\n\r\n const onTimKiemNangCao = (e) => {\r\n listLopBanDos.forEach(item => {\r\n if (item.Ma === e.Ma && item.province.getSource()) {\r\n let params = {\r\n CQL_FILTER: listHuyens.length > 0 ? `maxa IN (${listHuyens.map(x => x.Ma).join(',')}) AND ${e.Sql}` : 'maxa=100'\r\n }\r\n item.province.getSource().updateParams(params);\r\n }\r\n })\r\n setMap(map);\r\n }\r\n\r\n // Thêm bản đồ\r\n const addMap = () => {\r\n if (!selectGhiChu.Ma) {\r\n ThongBao.prinWarningMessage(\"Bạn chưa chọn lớp bản đồ.\");\r\n showLeft++;\r\n setShowLeft(showLeft);\r\n return;\r\n }\r\n setAddEdit(1);\r\n let controllAddEdit = document.getElementById('map');\r\n controllAddEdit.setAttribute('addedit', 1);\r\n drawAdd = new ol.interaction.Draw({\r\n source: soureAdd,\r\n type: selectGhiChu.GeoType\r\n });\r\n drawAdd.on('drawend', function (e) {\r\n ThongBao.printConfirmationDialog('Bạn có muốn thêm đối tượng vừa vẽ không?', () => {\r\n var ma = selectGhiChu.Ma;\r\n var geoJson = new ol.format.WKT();\r\n var geoText = geoJson.writeGeometry(e.feature.getGeometry());\r\n setThongTinAddEdit({\r\n geoText: geoText\r\n });\r\n setShowModalAddEdit(ma);\r\n }, () => {\r\n vectorAdd.getSource().clear();\r\n });\r\n });\r\n map.addInteraction(drawAdd);\r\n map.addLayer(vectorAdd);\r\n setMap(map);\r\n setdrawAdd(drawAdd);\r\n }\r\n // Sửa bản đồ\r\n const editMap = () => {\r\n if (!selectGhiChu.Ma) {\r\n ThongBao.prinWarningMessage(\"Bạn chưa chọn lớp bản đồ.\");\r\n showLeft++;\r\n setShowLeft(showLeft);\r\n return;\r\n }\r\n setAddEdit(2);\r\n let controllAddEdit = document.getElementById('map');\r\n controllAddEdit.setAttribute('addedit', 2);\r\n let selectEdit = new ol.interaction.Select({ wrapX: false, });\r\n let modify = new ol.interaction.Modify({ features: selectEdit.getFeatures(), });\r\n map.getInteractions().extend([selectEdit, modify]);\r\n var selected_features = selectEdit.getFeatures();\r\n selected_features.on('add', function (evt) {\r\n var feature = evt.element;\r\n feature.on('change', function (evt) {\r\n isEdit = true;\r\n setIsEdit(isEdit);\r\n let controllIsEdit = document.getElementById('map');\r\n controllIsEdit.setAttribute('isedit', 1);\r\n });\r\n });\r\n\r\n selected_features.on('remove', function (evt) {\r\n if (isEdit) {\r\n isEdit = false;\r\n setIsEdit(isEdit);\r\n var feature = evt.element;\r\n\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn cập nhật sử thay đổi này không?\", () => {\r\n const geoJson = new ol.format.WKT();\r\n const geoText = geoJson.writeGeometry(feature.getGeometry());\r\n const id = feature.getId();\r\n const controll = document.getElementById('map');\r\n const maEdit = controll.getAttribute('edit-l');\r\n showEditThongTin({\r\n id: id,\r\n geoText: geoText,\r\n tableName: maEdit,\r\n })\r\n }, () => {\r\n // selectEdit.getSource().clear();\r\n });\r\n if (vectorSelect.getSource()) {\r\n vectorSelect.getSource().clear();\r\n }\r\n let controllIsEdit = document.getElementById('map');\r\n controllIsEdit.setAttribute('isedit', 0);\r\n }\r\n\r\n });\r\n setMap(map);\r\n }\r\n\r\n // Hủy thêm sửa bản đồ\r\n const onCancelAddEdit = () => {\r\n if (addEdit === 1) {\r\n map.removeInteraction(drawAdd);\r\n map.removeLayer(vectorAdd);\r\n }\r\n else if (addEdit === 2) {\r\n vectorSelect.setStyle(highlightStyle);\r\n map.getInteractions().forEach(item => {\r\n map.removeInteraction(item);\r\n });\r\n }\r\n setAddEdit(0);\r\n setMap(map);\r\n let controllAddEdit = document.getElementById('map');\r\n controllAddEdit.setAttribute('addedit', 0);\r\n }\r\n\r\n const onDeleteMap = () => {\r\n ThongBao.printConfirmationDialog('Bạn có muốn xóa đối tượng được chọn trên bản đồ đi không?', () => {\r\n var tableName = selectGhiChu.TableName;\r\n let params = {\r\n id: thongTin.id,\r\n tableName: tableName\r\n }\r\n setLoading(true);\r\n BanDoPublicApi.delete(params).then((res) => {\r\n changeMapComplete();\r\n thongTin = {};\r\n setThongTin(thongTin);\r\n map.removeLayer(vectorSelect);\r\n setMap(map);\r\n setLoading(false);\r\n }, () => {\r\n setLoading(false);\r\n });\r\n })\r\n }\r\n\r\n const changeMapComplete = () => {\r\n // map.getView().animate(\r\n // {\r\n // center: [x, y]\r\n // }\r\n // );\r\n listLopBanDos.forEach(item => {\r\n if (item.Ma === selectGhiChu.Ma) {\r\n item.province.changed();\r\n }\r\n })\r\n }\r\n\r\n const showEditThongTin = (e) => {\r\n let params = {\r\n id: e.id\r\n }\r\n setLoading(true);\r\n BanDoPublicApi.getById(params).then((res) => {\r\n res.geoText = e.geoText || '';\r\n setThongTinAddEdit(res);\r\n // setShowModalAddEdit(e.Ma);\r\n const ma = e.Ma == null ? selectGhiChu.Ma : e.Ma;\r\n setShowModalAddEdit(ma);\r\n setLoading(false);\r\n }, (errr) => {\r\n setLoading(false);\r\n });\r\n }\r\n\r\n const closeModalAddEdit = () => {\r\n if (addEdit === 1) {\r\n vectorAdd.getSource().clear();\r\n }\r\n setShowModalAddEdit('');\r\n }\r\n\r\n const onSapXep = (list) => {\r\n console.log(list);\r\n if (list.length > 0) {\r\n list.forEach(item => {\r\n const index = listLopBanDos.findIndex(x => x.Ma === item.Ma);\r\n if (index !== -1) {\r\n listLopBanDos[index].province.setZIndex(item.SortOrder);\r\n }\r\n })\r\n }\r\n }\r\n\r\n const timKiemThon = (geomjson) =>{\r\n if (geomjson !== '') {\r\n const local = JSON.parse(geomjson);\r\n flyTo(local.coordinates, 15);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n getIdHuyen(e)}>\r\n
\r\n
\r\n item.tenthon}\r\n onSelect={(value, item) => {\r\n timKiemThon(item.geomjson)\r\n setValueFilter(value);\r\n }}\r\n onChange={(event, value) => {\r\n setValueFilter(value);\r\n clearTimeout(requestTimer)\r\n \r\n requestTimer = TimKiemApi.getFilter({ listHuyens: listHuyens.map(x => x.Ma).join(','), filter: value }).then((response) => {\r\n setListFilter(response);\r\n });\r\n }}\r\n renderItem={(item, isHighlighted) => (\r\n {item.tenthon}
\r\n )}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* {addEdit === 0 && roleAdd ? : ''}\r\n {addEdit === 0 && roleEdit ? : ''}\r\n {addEdit !== 0 ? : ''}\r\n {addEdit === 0 && roleDel ? : ''}\r\n */}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n showEditThongTin(e)} updateTableSelect={(e) => updateTableSelect(e)}>\r\n \r\n
\r\n
\r\n timkiemGhiChu(e)} height=\"140\">\r\n \r\n onTimKiemNangCao(e)} listHuyens={listHuyens}\r\n loadThongTinById={(e) => loadThongTinById(e)}>\r\n getSelectGhiChu(e)} onSapXep={(e) => onSapXep(e)}>\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Tọa độ:\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}","import React, { useState, useEffect } from 'react'\r\nimport { Button } from 'react-bootstrap';\r\nimport HuongDanApi from '../../../api/HuongDanApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport Authen from '../../../core/Authen';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\n\r\n\r\nexport const HuongDan = () => {\r\n const [listHuongDan, setHuongDan] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n let history = useHistory();\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n if(page != null){\r\n pageIndex = page;\r\n loadHuongDan();\r\n }\r\n }\r\n });\r\n\r\n const loadHuongDan = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter\r\n }\r\n const response = await HuongDanApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow == 0 ? 1 : response.TotalRow / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setHuongDan(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadHuongDan();\r\n setRoleAdd(Authen.checkQuyen('HUONGDANSUDUNG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('HUONGDANSUDUNG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('HUONGDANSUDUNG_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadHuongDan();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const clickRow = (id) => {\r\n listHuongDan.forEach(item => {\r\n if (item.IdHuongDan === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setHuongDan([...listHuongDan]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n history.push(\"/main/tienich/huongdanaddedit/0\");\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listHuongDan.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n history.push(\"/main/tienich/huongdanaddedit/\" + listHuongDan[index].IdHuongDan);\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n debugger;\r\n let lstChecked = listHuongDan.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n let lstId = [];\r\n lstChecked.forEach(element => {\r\n lstId.push(element.IdHuongDan);\r\n });\r\n HuongDanApi.delete(lstId).then(() => {\r\n loadHuongDan();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadHuongDan();\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Hướng dẫn
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == true ? : ''}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listHuongDan.map((item, key) => {\r\n return (\r\n clickRow(item.IdHuongDan)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Thứ tựTiêu đềMô tảHiển thị công khaiTrạng thái
\r\n
\r\n \r\n
\r\n
{item.ThuTu}{item.TieuDe}{item.MoTa}\r\n
\r\n \r\n
\r\n
\r\n {item.Status == true &&\r\n Kích hoạt\r\n }\r\n {item.Status == false &&\r\n Khóa\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n )\r\n}\r\n","import { Button } from 'react-bootstrap';\r\nimport React, { useEffect, useState } from 'react'\r\nimport { useForm } from 'react-hook-form';\r\nimport HuongDanApi from '../../../api/HuongDanApi';\r\nimport CKEditor from 'ckeditor4-react';\r\nimport { useHistory, useParams } from 'react-router-dom';\r\n\r\nexport const HuongDanAddEdit = () => {\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [content, setContent] = useState('');\r\n var { id } = useParams();\r\n let history = useHistory();\r\n useEffect(() => {\r\n if (id !== \"0\") {\r\n HuongDanApi.getDetail(id).then((response) => {\r\n reset({\r\n IdHuongDan: response.IdHuongDan,\r\n TieuDe: response.TieuDe,\r\n MoTa: response.MoTa,\r\n NoiDung: response.NoiDung,\r\n ThuTu: response.ThuTu,\r\n Status: response.Status,\r\n TapTin: response.TapTin,\r\n HienThiCongKhai: response.HienThiCongKhai\r\n }, [reset]);\r\n setTimeout(() => {\r\n setContent(response.NoiDung);\r\n }, 50);\r\n });\r\n }\r\n else {\r\n reset({\r\n IdHuongDan: 0,\r\n Status: true\r\n }, [reset]);\r\n setContent('');\r\n console.log('OK');\r\n }\r\n }, [id])\r\n\r\n const layDuLieu = (e) => {\r\n setContent(e.editor.getData());\r\n }\r\n\r\n const saveData = (data) => {\r\n data.NoiDung = content;\r\n if (data.ThuTu == \"\") {\r\n data.ThuTu = 0;\r\n }\r\n if (data.IdHuongDan === \"0\") {\r\n HuongDanApi.post(data).then(() => {\r\n history.push(\"/main/tienich/huongdan\");\r\n })\r\n }\r\n else {\r\n HuongDanApi.put(data).then(() => {\r\n history.push(\"/main/tienich/huongdan\");\r\n })\r\n }\r\n }\r\n\r\n const handleClose = () => {\r\n history.push(\"/main/tienich/huongdan\");\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Hướng dẫn
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.TieuDe && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {/* setContent(editor.getData())} /> */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport GopYApi from '../../../api/GopYApi';\r\nimport Select from 'react-select';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport Authen from '../../../core/Authen';\r\nimport Ultility from '../../../core/Ultility';\r\nimport moment from 'moment'\r\n\r\nexport const GopY = () => {\r\n const [listGopY, setGopY] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [filter, setFilter] = useState('');\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [paginationConfig, setPaging] = useState({\r\n totalPages: 1,\r\n currentPage: 1,\r\n showMax: 5,\r\n size: \"sm\",\r\n threeDots: true,\r\n prevNext: true,\r\n onClick: function (page) {\r\n pageIndex = page;\r\n loadGopY();\r\n }\r\n });\r\n\r\n const loadGopY = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter\r\n }\r\n const response = await GopYApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n if (response.Items.length > 0) {\r\n paginationConfig.totalPages = Math.ceil(response.TotalRow / pageSize);\r\n }\r\n else {\r\n paginationConfig.totalPages = 1;\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setGopY(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadGopY();\r\n setRoleEdit(true);\r\n setRoleAdd(true);\r\n setRoleDel(true);\r\n setRoleAdd(Authen.checkQuyen('GOPY_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('GOPY_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('GOPY_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadGopY();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const saveData = (data) => {\r\n if (selectedOption) {\r\n data.ParentId = selectedOption.value;\r\n }\r\n else {\r\n data.ParentId = null;\r\n }\r\n if (data.Id === \"0\") {\r\n GopYApi.post(data).then(() => {\r\n setShow(false);\r\n loadGopY();\r\n })\r\n }\r\n else {\r\n GopYApi.put(data).then(() => {\r\n setShow(false);\r\n loadGopY();\r\n })\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listGopY.forEach(item => {\r\n if (item.IdGopY === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setGopY([...listGopY]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n IdGopY: 0,\r\n TieuDe: \"\"\r\n }, [reset]);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listGopY.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n GopYApi.getDetail(listGopY[index].IdGopY).then((response) => {\r\n reset({\r\n IdGopY: response.IdGopY,\r\n HoTen: response.HoTen,\r\n DienThoai: response.DienThoai,\r\n Email: response.Email,\r\n TieuDe: response.TieuDe,\r\n CreatedDate: response.CreatedDate,\r\n NoiDung: response.NoiDung\r\n }, [reset]);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstChecked = listGopY.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n let lstId = [];\r\n lstChecked.forEach(element => {\r\n lstId.push(element.IdGopY);\r\n });\r\n GopYApi.delete(lstId).then(() => {\r\n loadGopY();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const onChangeDanhMucCha = (e) => {\r\n setSelectedOption(e);\r\n // props.onChangeHuyenProps(e);\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadGopY();\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Góp ý
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* {roleAdd == true ? : ''} */}\r\n {roleEdit == true ? : ''}\r\n {roleDel == true ? : ''}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listGopY.map((item, key) => {\r\n return (\r\n clickRow(item.IdGopY)} key={key}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n )\r\n })\r\n }\r\n \r\n
Họ tênĐiện thoạiEmailTiêu đềNgày lậpNội dung
\r\n
\r\n \r\n
\r\n
{item.HoTen}{item.DienThoai}{item.Email}{item.TieuDe}{moment(item.CreatedDate).format(\"DD/MM/yyyy HH:mm\")}{item.NoiDung}\r\n {item.Status == true &&\r\n Kích hoạt\r\n }\r\n {item.Status == false &&\r\n Khóa\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n Góp ý\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.TieuDe && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.HoTen && Hãy nhập dữ liệu}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Email && errors.Email.message}\r\n
\r\n
\r\n
\r\n \r\n
\r\n