{"version":3,"sources":["public/modaltracuu/TraCuu.module.css","shared/sidebar-left/SidebarLeft.module.css","api/axiosClientDownLoad.js","shared/loading/Loading.js","login/Login.js","shared/sidebar/Sidebar.js","api/axiosClientFile.js","api/TaiKhoanApi.js","core/Authen.js","shared/header/Header.js","api/LopBanDoApi.js","api/BanDoPublicApi.js","api/CayTrongApi.js","main/home/Home.js","api/LienHeApi.js","api/PostCategoryApi.js","api/DienTichSanXuatApi.js","api/MuaVuApi.js","api/PhuongXaApi.js","api/QuanHuyenApi.js","api/ExportExcelApi.js","public/solieu/dientichsanxuat/dientichsanxuat.js","api/AnhHuongSauBenhApi.js","public/solieu/anhhuongsaubenh/thongkeanhhuongsaubenh.js","api/DonViCungCapApi.js","public/solieu/donvicungcap/DonViCungCap.js","shared/modaldientichsanxuat/modaldientichsanxuat.js","shared/right-info/VungDuAn.js","shared/right-info/CayAnQua.js","shared/right-info/CayLua.js","shared/right-info/CayRau.js","shared/right-info/Xa.js","shared/right-info/Huyen.js","shared/right-info/BaoVeThucVat.js","shared/sidebar-layer/SidebarLayer.js","api/ChuGiaiApi.js","shared/footer-note/ChuGiaiNen.js","shared/footer-note/ChuGiaiVungDuAn.js","shared/footer-note/ChuGiaiBaoVeThucVat.js","shared/footer-note/FooterNote.js","shared/sidebar-left/SidebarLeft.js","api/VungDuAnApi.js","api/TimKiemApi.js","shared/selecthuyenmulti/SelectMulti.js","shared/selecthuyenmulti/SelectXaMulti.js","shared/timkiemnangcao/VungDuAn.js","shared/timkiemnangcao/VungLua.js","shared/timkiemnangcao/VungCaq.js","shared/timkiemnangcao/VungRau.js","shared/selectmulti/SelectChuGiaiMulti.js","shared/selectmulti/SelectSauMulti.js","shared/timkiemnangcao/BaoVeThucVat.js","shared/timkiemnangcao/TimKiemNangCao.js","api/TrieuChungApi.js","api/SauBenhApi.js","public/tracuusaubenh/trieuchungsaubenh.js","public/modaltracuu/ModalTraCuu.js","api/LichSuChanDoanApi.js","shared/dudoandichhai/DuDoanDichHai.js","public/bando/BanDo.js","shared/selecthuyenmulti/SelectHuyenMulti.js","api/HuongDanApi.js","public/huongdan/HuongDan.js","api/LuotTruyCapApi.js","header.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","shared/selecthuyen/SelectHuyen.js","shared/selectxa/SelectXa.js","shared/modaladdedit/ModalVungVuAn.js","main/bando/BanDo.js","api/GopYApi.js","main/tienich/gopy/GopY.js","main/tienich/huongdan/huongdan.js","api/NhomQuyenApi.js","main/hethong/nhomquyen/NhomQuyen.js","main/hethong/taikhoan/TaiKhoan.js","api/PhanQuyenApi.js","main/hethong/phanquyen/PhanQuyen.js","api/BaoCaoApi.js","api/LoaiBaoCaoApi.js","main/baocao/BaoCao.js","api/NhatKyDangNhapApi.js","main/hethong/nhatkydangnhap/nhatkydangnhap.js","api/NhatKySuDungApi.js","main/hethong/nhatkysudung/nhatkysudung.js","api/DatabaseApi.js","main/hethong/database/database.js","main/tienich/huongdan/huongdanaddedit.js","api/PostApi.js","main/tienich/post/post.js","main/tienich/post/postcategory.js","api/GiongCayTrongApi.js","api/GiaiDoanPhatTrienApi.js","api/ImportExcelSauBenhHaiApi.js","main/tienich/importexcel/ImportExcel.js","main/saubenh/sauvabenh/sauvabenh.js","main/tienich/caytrong/CayTrong.js","main/tienich/giongcaytrong/GiongCayTrong.js","main/saubenh/dacdiemtrieuchung/dacdiemtrieuchung.js","main/tienich/giaidoanphattrien/GiaiDoanPhatTrien.js","main/tienich/donvicungcap/DonViCungCap.js","api/HoiDapApi.js","main/tienich/hoidap/traloi.js","main/tienich/hoidap/hoidap.js","main/tienich/muavu/muavu.js","api/ThoiTietApi.js","main/tienich/thoitiet/thoitiet.js","api/ThuocBaoVeThucVatApi.js","main/tienich/thuocbaovethucvat/thuocbaovethucvat.js","main/saubenh/anhhuongsaubenh/anhhuongsaubenh.js","main/tienich/dientichsanxuat/DienTichSanXuat.js","main/saubenh/benhhaicaytrong/benhhaicaytrong.js","main/saubenh/sinhvatgayhai/sinhvatgayhai.js","main/hethong/lichsuchandoan/lichsuchandoan.js","api/SlideApi.js","main/Main.js","sb-admin-2.js","public/website/slide.js","trangchu.js","footer.js","public/baiviet/baiviet.js","public/website/trang.js","public/baiviet/trangbaiviet.js","public/hoidap/themcauhoi.js","public/dangnhap/dangnhap.js","public/hoidap/hoidap.js","public/hoidap/traloi.js","public/lienhe/Marker.js","public/lienhe/LienHe.js","public/saubenh/sau-benh.js","public/saubenh/sau-benh-chi-tiet.js","public/saubenh/sau-benh-home.js","public/tracuusaubenh/tracuusaubenh.js","public/solieu/thuocbaovethucvat/thongkethuocbaovethucvat.js","defaultpage.js","public/dangky/dangky.js","App.js","serviceWorker.js","index.js","api/axiosClient.js","shared/sidebar-layer/SidebarLayer.module.css","core/ThongBao.js","shared/footer-note/FooterNote.module.css","shared/timkiemnangcao/TimKiemNangCao.module.css"],"names":["module","exports","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","Loading","props","override","css","loading","className","size","color","Login","history","useHistory","useState","setLoading","useForm","mode","register","handleSubmit","errors","onSubmit","post","then","setItem","push","eror","ThongBao","printErrorMessage","name","type","autoFocus","placeholder","style","input","borderColor","userName","ref","require","password","onClick","Sidebar","listFunctions","setFunction","loadFunction","axiosClient","get","useEffect","id","href","src","to","filter","x","ParentId","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","maQuanHuyen","tatCaQuanHuyen","idQuanHuyen","checkAccess","checkQuyen","func","roles","findIndex","permissions","Role","Header","nhanVien","setNhanVien","show","setShow","handleClose","reset","apiUrl","replace","saveData","Password","ConfirmPassword","printSuccessMessage","err","prinWarningMessage","role","aria-haspopup","removeItem","Modal","onHide","animation","closeButton","Title","Body","hidden","Footer","Button","variant","default","LopBanDoApi","getAll","getLopBanDo","BanDoPublicApi","getById","getThongTinTinhPhanBon","getInfoById","getInfoHome","CayTrongApi","getPagingPublic","Home","ol","Feature","positionFeature","setPositionFeature","Map","setMap","layer","Vector","vectorSelect","setVectorSelect","timListCayTrong","setTimListCayTrong","dataReponse","setDataReponse","bieudo","setBieuDo","value","label","loaiBieuDo","setLoaiBieuDo","listLoaiBieuDo","view","View","center","zoom","minZoom","maxZoom","projection","proj","highlightStyle","Style","stroke","Stroke","width","setStyle","image","Circle","radius","fill","Fill","target","controls","control","defaults","extend","layers","on","evt","coordinate","getView","getProjection","getCode","transform","loadBieuDo","loadLopBanDo","forEach","Ma","province","Image","source","ImageWMS","LayerName","version","Version","serverType","ratio","Ratio","crossOrigin","zIndex","SortOrder","addLayer","y","bando","geomjson","getLayers","removeLayer","features","format","GeoJSON","readFeatures","featureProjection","defaultDataProjection","lstCayTrong","cay","list","TenCayTrong","ma","MaCayTrong","buildBieuDo","datasets","endYear","Date","getFullYear","labels","i","nam","Nam","vl","DienTich","NangSuat","SanLuong","backgroundColor","bd","onChange","e","options","theme","borderRadius","height","spacing","controlHeight","menuGutter","baseUnit","legend","display","title","text","hover","animationDuration","tooltips","callbacks","tooltipItem","parseInt","duration","onComplete","chartInstance","this","chart","ctx","font","Chart","helpers","fontString","global","defaultFontStyle","defaultFontFamily","textAlign","textBaseline","dataset","controller","getDatasetMeta","bar","fillText","_model","LienHeApi","updateLienHe","getLienHe","PostCategoryApi","getMenu","getBreadcrumb","DienTichSanXuatApi","getThongKe","MuaVuApi","PhuongXaApi","getByTinhThanh","QuanHuyenApi","param","getAllByAuth","getXaByHuyen","ExportExcelApi","getTimKiemThongKeBanDo","getTaiKhoan","getDienTichTrongTrot","getSanLuongNongSan","getGiaNongSan","getThoiTiet","getSauBenh","getHienTrangSuDungDat","getDienTichSx","getAnhHuongSauBenh","getDonViCungCap","getThuocBvThucVat","DienTichSanXuatPublic","search","setSearch","listDienTichSanXuats","setListDienTichSanXuats","listPhuongXas","setListPhuongXa","timListQuanHuyen","setTimListQuanHuyen","timListPhuongXa","setTimListPhuongXa","timListMuaVu","setTimListMuaVu","timQuanHuyen","setTimQuanHuyen","timXaPhuong","setTimXaPhuong","timCayTrong","setTimCayTrong","timMuaVu","setTimMuaVu","timListNam","setTimListNam","timNam","setTimNam","pageIndex","totalPages","currentPage","showMax","threeDots","prevNext","page","loadDienTichSanXuat","paginationConfig","setPaging","mahuyen","maxa","Ten","MaHuyen","listXas","unshift","loadDanhMucNam","undefined","idXaPhuong","idCayTrong","idMuaVu","pageSize","timkiem","TotalRows","Math","ceil","Items","ExportExcel","res","blob","Blob","window","URL","createObjectURL","document","createElement","download","click","showName","onKeyPress","event","defaultFontSize","TenQuanHuyen","TenXaPhuong","TenMuaVu","GiongCays","displayType","thousandSeparator","decimalScale","AnhHuongSauBenhApi","ThongKeAnhHuongSauBenh","listAnhHuongSauBenh","setListAnhHuongSauBenh","setListLoaiBieuDo","loadAnhHuongSauBenh","setPaginationConfig","maquanhuyen","maxaphuong","idcaytrong","idmuavu","listKieuBD","maCay","dataNhe","dataTrungBinh","dataNang","dataMatTrang","dataPhongTru","DienTichNhe","DienTichTrungBinh","DienTichNang","DienTichMatTrang","DienTichPhongTru","responsive","VungNhiemBenh","MatDo","GhiChu","DonViCungCapApi","importXls","ThongKeDonViCungCap","listDonViCungCaps","setListDonViCungCaps","loadDonViCungCap","loadDanhQuanHuyen","quanHuyen","Number","loadDanhPhuongXa","Checked","DienThoai","DiaChi","SoDangKyKinhDoanh","DonViCapDangKyKinhDoanh","NgayCapDangKyKinhDoanh","ModalDienTichSanXuat","thongTin","setThongTin","keyTab","setKeyTab","ThongTin","closeModal","dialog","backdrop","keyboard","Tabs","activeKey","onSelect","k","Tab","eventKey","ma_px","disabled","VungDuAn","edit","setEdit","ten_huyen","colSpan","admin","showEditThongTin","texxa_vn","dientich","caytrong","CayAnQua","CayLua","CayRau","Xa","dataChart","setDataChart","caytrongs","dienTichCayTrong","element","htsd","Huyen","BaoVeThucVat","anhhuongsaubenh","TenSauBenh","SidebarLayer","setKey","showTab","setShowTab","thongTinVungDuAn","setThongTinVungDuAn","thongTinCayLua","setThongCayLua","thongTinCayRau","setThongTinCayRau","thongTinCayAnQua","setThongTinCayAnQua","thongTinXa","setThongTinXa","thongTinHuyen","setThongTinHuyen","thongTinBaoVeThucVat","setThongTinBaoVeThucVat","innerWidth","React","xPosition","setX","toggleMenu","useLayoutEffect","updateSize","addEventListener","removeEventListener","tabSelect","listLopBanDos","tableName","clickTab","updateTableSelect","Fragment","stylelocal","sidebar","togglemenu","outer","inner","rotate","sidecontent","Type","ChuGiaiApi","getNongHoa","getThoNhuong","getDeXuat","getThichHop","getChatLuongDat","getHienTrang","getThichHopPhanCap","getHanhChinhHuyen","getVungDuAn","getBanDoNen","ChuGiaiNen","listChuGiais","setListChuGiai","backgroundImage","ten","ChuGiaiVungDuAn","clickChuGiai","join","clickRow","checked","readOnly","ChuGiaiBaoVeThucVat","FooterNote","setListChuGuai","listBanDos","setListBanDo","innerHeight","minHeight","yPosition","setY","maBanDo","loadGhiChu","MaBanDo","listBaoVeThucVats","listCayLuas","listCayRaus","listCayAnQuas","listVungSuAns","listNens","timKiemGhiChu","footernote","border","footermenu","footercontent","mapghichu","SidebarLeft","isSapXep","setSapXep","loadMenu","listTrees","BuilTree","selectBanDo","roots","parents","level","expanded","CheckedGhiChu","getGhiChu","Tree","parent","childs","parentExpanded","isChildren","ClickTree","clickGhiChu","ghichu","clickScolpan","ExpandedBotton","Expanded","sortLopBanDo","indexOld","sortOrder","sortOrderOld","onSapXep","listSort","sort","b","listsSorted","buidSort","treeSort","mapbando","colsapxep","rowan","menu","scolpan","marginLeft","mngroup","IsEdit","gcactive","gc","IsGhiChu","class","onLen","xuong","onXuong","VungDuAnApi","update","add","getPagingBaoVeThucVat","TimKiemApi","getFilter","getFilterByDuAn","getBangDuLieu","getXaDetail","SelectMulti","allowSelectAll","allOption","selected","result","includes","option","action","defaultProps","SelectXaMulti","listQuanHuyens","setQuanHuyen","selectedOption","setSelectedOption","listHuyens","filterXa","maXa","tenXa","loadQuanHuyen","data-trigger","data-content","isMulti","closeMenuOnSelect","hideSelectedOptions","components","Option","isSelected","MultiValue","labelToBeDisplayed","currentValues","getValue","ValueContainer","children","toBeRendered","some","val","onChangeXaProps","styles","container","base","TimKiemVungDuAn","listKetQuas","setKetQua","tongRow","setTongRow","tongDienTich","setTongDienTich","listFilters","setListFilter","query","getSQL","sql","DienTichMin","DienTichDieuKienMin","DienTichMax","DienTichDieuKienMax","queryHuyen","loadDuLieu","timKiemLoading","TotalRow","TongDienTich","defaultActiveKey","onChangeXa","exportExcel","timKiem","gid","timKiemGetChiTiet","text_huyen","text_xavn","dientichbd","TimKiemVungLua","TimKiemVungCaq","TimKiemVungRau","SelectChuGiaiMulti","SelectSauMulti","listDats","setDat","setTimeout","onChangeSau","TimKiemBaoVeThucVat","listSaus","setListSau","TimKiemNangCao","setListLopBanDo","setQueryHuyen","setFilterXa","queryXa","onTimKiem","onTimKiemNangCao","Sql","onExportExcel","loadThongTinById","tieude","TrieuChungApi","getTraCuu","SauBenhApi","getXemNhieuNhat","getMoiNhat","timKiemSauBenh","timKiemSauBenhChiTiet","timKiemSauBenh_AnhHuong","getByTrieuChung","getAllGiaiDoanSinhTruong","getGiaiDoanSinhTruongBySauBenh","idSauBenh","TrieuChungSauBenh","noImage","listDacDiemTrieuChung","setListDacDiemTrieuChung","listDaChon","setListDaChon","listSauBenh","setListSauBenh","isXemKetQua","setIsXemKetQua","dacDiemTrieuChung","setDacDiemTrieuChung","loadDacDiemTrieuChung","IdCayTrong","IdQuanHuyen","IdXaPhuong","Thang","thang","HinhAnh","lst","split","HinhAnh_Temp","$","modal","handleCloseChiTiet","ClassCss","splice","selectedDacDiemTrieuChung","alt","MoTa","onClickXemChiTiet","handle","tabIndex","data-backdrop","data-keyboard","aria-hidden","removeDacDiemTrieuChung","listBieuHien","IdSauBenh","toString","onClickXemKetQua","SauBenh","GiaiDoan","ModalTraCuu","setTimKiem","id_xa","modaltinhphanbon","LichSuChanDoanApi","DuDoanDichHai","giaiDoan","setGiaiDoan","optionGiaiDoans","setOptionGiaiDoan","sauBenh","setSauBenh","soDiemNhiem","setSoDiemNhiem","matDo","setMatDo","dienTich","setDienTich","ketQua","optionSauBenhs","setOptionSauBenh","loadSauBenh","maCayTrong","resPonse","loadGiaiDoan","donVi","DonVi","tieuChuan","TieuChuan","optionSelected","md","parseFloat","sodiem","dt","mucDoNhiem","MucDoNhiem","DienTichNhiem","IdGiaiDoan","ToaDoX","ToaDoY","BanDo","isThongTin","setIsThongTin","showLeft","setShowLeft","showFooter","setShowFooter","showTimKiemNangCao","setShowTimKiemNangCao","showRight","setShowRight","selectGhiChu","setSelectGhiChu","setLopBanDo","listMenu","setTabSelect","setId","showTraCuu","setShowTraCuu","showDuDoan","setShowDuDoan","mousePositionControl","setMousePositionControl","drawDo","setDrawDo","soureDo","vectorDo","setVectorDo","accuracyFeature","OSM","attributions","sourceBase","setSourceBase","Tile","mapBase","setMapBase","preload","Infinity","BingMaps","imagerySet","bingMap","Geolocation","trackingOptions","enableHighAccuracy","geolocaltion","loadThongTin","TableName","flyTo","extent","getCenter","getGeometry","getExtent","setGeometry","getAccuracyGeometry","coordinates","getPosition","geom","Point","setView","MousePosition","coordinateFormat","createStringXY","getElementById","undefinedHTML","setProjection","ScaleLine","units","FullScreen","ZoomSlider","vectorViTri","addControl","customControl","clickDoKhoangCach","clickDoDienTich","clickViTri","timKiemNangCao","showLopBanDo","helpTooltipElement","helpTooltip","removeAttribute","controll","hasAttribute","removeInteraction","getSource","clear","getOverlays","controllButton","setAttribute","addInteractionDo","setTracking","classCss","icon","button","innerHTML","appendChild","Control","localtion","zoomNew","parts","called","callback","complete","animate","CQL_FILTER","updateParams","getFeatures","printMap","getViewport","htmlToImage","dataUrl","pdf","jsPDF","addImage","clientWidth","clientHeight","open","output","sketch","measureTooltipElement","measureTooltip","listener","interaction","Draw","lineDash","addInteraction","createMeasureTooltip","parentNode","removeChild","Overlay","offset","positioning","addOverlay","feature","tooltipCoord","Polygon","formatArea","getInteriorPoint","getCoordinates","LineString","formatLength","getLastCoordinate","setPosition","setOffset","Observable","unByKey","polygon","area","Sphere","getArea","round","line","getLength","listMenus","isCheck","l","setVisible","getUrls","setUrl","setZIndex","toaDo","getSelectGhiChu","TimKiemGhiChu","timkiemGhiChu","mobile","newProj","SelectHuyenMulti","onChangeHuyenProps","HuongDanApi","HuongDan","listHuongDans","setListHuongDans","huongDan","setHuongDan","loadHuongDan","hienThiCongKhai","TapTin","viewHuongDan","TieuDe","dangerouslySetInnerHTML","__html","NoiDung","LuotTruyCapApi","listPostCategoris","setListPostCategories","lienHe","setLienHe","showHuongDan","setShowHuongDan","loadPostCategories","loadLienHe","keyword","changedLienHe","sessionStorage","Logo","aria-label","Childs","keyChild","go","Public","urlFunction","setPrintMap","valueFilter","setValueFilter","requestTimer","setMaXa","setListHuyen","countTraCuu","setCountTraCuu","setMobile","countDuDoan","setCountDuDoan","useLocation","pathname","getIdHuyen","inputProps","wrapperStyle","position","items","getItemValue","clearTimeout","renderItem","isHighlighted","FolderApi","UploadFileApi","idFolder","FileApi","QuanLyTapTin","loadCategory","viewModal","Gid","loadAllFolder","setParentItem","parentItem","showFolder","setShowFolder","handleCloseFolder","saveDataFolder","Status","isLoadFile","tree","buildTree","setTreeData","loadPagingUpload","parentId","lstTemp","lstKetQua","treeData","showUpload","setShowUpload","fileSelected","setFileSelected","pageIndexUpload","listFile","setListFile","paginationConfigUpload","setPagingUpload","extension","lastIndexOf","substring","toLowerCase","Icon","Path","listFileUpload","setListFileUpload","handleCloseUpload","saveDataUpload","FormData","append","treeRef","useRef","ParentName","printConfirmationDialog","lstId","onFileSelected","defaultExpandAll","selectedKeys","info","selectedNodes","Object","assign","handleClickImage","onDoubleClick","handleDbClickImage","required","multiple","files","LienHe","listLienHes","setListLienHe","setFilter","isEdit","setIsEdit","isXem","setIsXem","ckdData","setckdData","roleEdit","setRoleEdit","srcImage","setSrcImage","setViewModal","other","changeTab","phone","email","website","address","lat","lng","status","logo","facebook","youtube","youtubedetail","google","hotline","description","zalo","instagram","fax","sologan1","sologan2","Phone","Address","dialogClassName","message","editor","ClassicEditor","getData","TrangApi","createTrang","updateTrang","DeleteTrang","getTrang","getByAlias","Ultility","MakeSeoTitle","slug","Trang","listTrang","setListTrang","roleAdd","setRoleAdd","roleDel","setRoleDel","showModalImage","setShowModalImage","alias","setAlias","loadTrang","handleShowEdit","content","createddate","createdby","updateddate","updatedby","metakeyword","metadescription","homeflag","str","SelectHuyen","maHuyen","SelectXa","setXa","loadXa","ModalVungDuAn","huyen","setHuyen","xa","listhtsd","setListhtsd","sethtsd","showModal","loadHienTrang","onChangeHuyen","geoText","changeMapComplete","ex","showModalAddEdit","setShowModalAddEdit","thongTinAddEdit","setThongTinAddEdit","addEdit","setAddEdit","wrapX","soureAdd","vectorAdd","drawAdd","setdrawAdd","controllAddEdit","getAttribute","controllIsEdit","changed","GeoType","WKT","writeGeometry","selectEdit","Select","modify","Modify","getInteractions","selected_features","getId","maEdit","GopYApi","GopY","listGopY","setGopY","loadGopY","checkBoHandler","IdGopY","HoTen","CreatedDate","lstChecked","moment","pattern","rows","listHuongDan","IdHuongDan","ThuTu","HienThiCongKhai","NhomQuyenApi","NhomQuyen","listNhomQuyens","setNhomQuyen","loadNhomQuyen","Description","Message","TaiKhoan","listNhanViens","setListNhanVien","showDoiMatKhau","setShowDoiMatKhau","listQuyen","setListQuyen","setRoles","roleMutil","setRoleMutil","avatarFile","setAvatarFile","quanHuyenMutil","setQuanHuyenMutil","listQuanHuyen","setListQuanHuyen","optionsQuanHuyen","disQuanHuyen","setDisQuanHuyen","disButtonEdit","setDisButtonEdit","loadTaiKhoan","loadUserRoles","opt","RoleId","loadQuyen","roleArr","GetArrQuyen","fielPath","dataUpload","MaQuanHuyen","UserRoles","alertDell","saveDatLaiMatKhau","catch","handleDoiMatKhauClose","TatCaQuanHuyen","dialogclassName","minLength","PhoneNumber","DropdownIndicator","IndicatorSeparator","isDisabled","PhanQuyenApi","getbyRole","roleId","PhanQuyen","listRoles","listQuyens","setQuyen","setroleId","loadChucNang","BuildTree","arr","objTemp","JSON","parse","defaultValue","listActions","FunctionId","Actions","ActionId","loadPermissionByRole","key1","funtion","clickFunction","key2","j","clickAction","BaoCaoApi","getLoaiBaoCao","LoaiBaoCaoApi","BaoCao","listBaoCaos","setBaoCao","showQuanLyTapTin","setShowQuanLyTapTin","tapTin","setTapTin","selectLoaiBaoCao","setLoaiBaoCao","listLoaiBaoCao","setListLoaiBaoCao","selectLoaiBaoCao_TimKiem","loadBaoCao","idPhuongXa","idLoaiBaoCao","IdLoaiBaoCao","IdBaoCao","onChangeFilter","TenBaoCao","n","NhatKyDangNhapApi","NhatKyDangNhap","listNhatKyDangNhaps","setNhatKyDangNhap","tuNgay","setTuNgay","denNgay","setDenNgay","loadNhatKyDangNhap","onCallback","start","end","initialSettings","startDate","endDate","locale","TenDangNhap","Ngay","Ip","NhatKySuDungApi","NhatKySuDung","listNhatKySuDungs","setNhatKySuDung","loadNhatKySuDung","DatabaseApi","restore","Database","listPostCategory","setPostCategory","isChecked","setIsChecked","DuongDan","HuongDanAddEdit","setContent","useParams","PostApi","getPagingByCategory","getTinNoiBat","getTinMoi","getHotFlag","Post","listPosts","setListPosts","listDanhMucCha","setDanhMucCha","postModal","setPostModal","cayTrong","setCayTrong","optionCayTrongs","setOptionCayTrong","loadPosts","loadCayTrong","rePonse","Alias","Content","CategoryId","HomeFlag","HotFlag","ViewCount","Delete","MetaKeyword","MetaDescription","Tags","DisplayOrder","IconCss","optionSelect","onChangeContent","onInit","editing","change","writer","getRoot","PostCategory","GiongCayTrongApi","GiaiDoanPhatTrienApi","ImportExcelSauBenhHaiApi","saveFile","ImportExcel","listDS","setListDS","optionCayTrong","setLoaiSauBenh","IsValid","file","reader","FileReader","readAsDataURL","onerror","ExcelRenderer","resp","currentItem","Item","x5","ThoiKy","nhietdo","NhietDo","lstNhietDo","CayTrong","TenKhoaHoc","TenThuongGoi","DacDiemSinhHoc","Anh","AnhSau","NhietDoMin","NhietDoMax","ThoiGian","NoiDungGayHai","MucDoThietHai","BienPhapQuanLy","ThuocBVTV","LoaiSauBenh","trim","maxHeight","optionThoiGian","newItem_GiaiDoanPhatTrien","giongCayTrong","setGiongCayTrong","cha","setCha","thoiGianSelect","setThoiGianSelect","showImport","setShowImport","moTa","setMoTa","canhTac","setCanhTac","phongTru","setPhongTru","setTitle","optionGiongCayTrongs","setOptionGiongCayTrong","optionChas","optionChaEdits","setOptionChaEdit","selectLoaiCay","setSelectLoaiCay","listGiaiDoanSinhTruong","setListGiaiDoanSinhTruong","optionLoaiSauBenhs","loaiSauBenh","loadThang","tg","lstThang","Array","from","lstTG","p","loadOptionSauBenhById","lstCha","IdGiongCay","IdCha","BienPhapCanhTac","BienPhapPhongTru","GiaiDoanSinhTruongPhatTrien","loadGiongCayTrong","TenGiong","TenGiaiDoan","loadSauBenhCha","removeItem_Style","cursor","defaultChecked","onChangeMoTa","onChangeCanhTac","onChangePhongTru","onChangeTen","onChangeTieuChuan","onChangeDonVi","listCayTrongs","setListCayTrongs","cayTrongModal","setCayTrongModal","idCha","userLogin","CreatedBy","UpdatedDate","UpdatedBy","ID","GiongCayTrong","listGiongCays","setListGiongCays","giongCayModal","setGiongCayModal","listDanhMucCay","setDanhMucCay","selectedFindIdCay","setSelectedFindIdCay","findIdCay","setFindIdCay","loadGiongCay","DacDiemTrieuChung","listTrieuChung","setListTrieuChung","loai","setLoai","dacDiem","setDacDiem","optionLoais","loadTrieuChung","TenTrieuChung","DonViTinh","Loai","lstSau","GiaiDoanPhatTrien","listGiaiDoans","setListGiaiDoans","giaiDoanModal","setGiaiDoanModal","SoNgay","isNaN","DonViCungCap","showXlsForm","setShowXlsForm","handleCloseXlsForm","setFileNameXls","setListXls","listDonViCungCapXls","setListDonViCungCapXls","setStartDate","startDate2","setStartDate2","startDate3","setStartDate3","startDate4","setStartDate4","listPhuongXa_All","setListPhuongXa_All","listPhuongXa","listPhuongXa_TimKiem","setListPhuongXa_TimKiem","selectedQuanHuyen","setSelectedQuanHuyen","selectedQuanHuyen_TimKiem","setSelectedQuanHuyen_TimKiem","selectedPhuongXa","setSelectedPhuongXa","selectedPhuongXa_TimKiem","setSelectedPhuongXa_TimKiem","NgayCapChungChiChuyenMon","NgayCapChungNhanDieuKien","NgayHetHanChungNhanDieuKien","MaXa","handleKeyPress","colTen_Style","minWidth","toDate","obj","isValid","stringIsNumber","num","allowNull","stringToNumber","importData","loadPhuongXa","isTimKiem","WebSite","SoChungChiChuyenMon","SoChungNhanDieuKien","TenHuyen","cols","toUpperCase","TenXa","overflowY","initialValue","timeFormat","dateFormat","closeOnSelect","_d","HoiDapApi","postPublic","postCauHoiPublic","getByCha","idcha","addLike","addView","TraLoi","setCurrentItem","setIdHoiDap","listTraLoi","setListTraLoi","idHoiDap","loadHoiDaps","TraLois","button_Style","padding","lineHeight","fontSize","HinhAnhs","ChuDe","maxWidth","overflow","HoiDap","listHoiDaps","setListHoiDaps","listCayTrong","setListCayTrong","checkedRow","setCheckedRow","showTraLoi","setShowTraLoi","isAdminCreated","setIsAdminCreated","colNgay_Style","showModalTraLoi","Tel","Linked","Shared","Viewed","MuaVu","listMuaVu","setMuaVu","loadMuaVus","ThoiTietApi","ThoiTiet","listThoiTiet","setThoiTiet","loadThoiTiets","DoAm","Nang","Mua","ThuocBaoVeThucVatApi","ThuocBaoVeThucVat","listThuocBaoVeThucVat","setThuocBaoVeThucVat","selectedCay","setSelectedCay","danhMucCay","loadThuocBaoVeThucVats","hinhanh","mota","AnhHuongSauBenh","listXaPhuong","setListXaPhuong","optionQuanHuyens","optionXaPhuongs","setOptionXaPhuong","optionMuaVus","xaPhuong","setXaPhuong","muaVu","optionNgay","setOptionNgay","optionThang","setOptionThang","optionNam","setOptionNam","ngay","setNgay","setThang","setNam","LoadNgay","year","month","songay","getDate","lstNgay","d","loadOptionXaPhuong","IdGiongCayTrong","IdMuaVu","loadMuaVu","loadXaPhuong","loadNgayThang","sonam","lstNam","LoadNam","LoadThang","getMonth","DienTichSanXuat","dienTichSanXuatModal","setDienTichSanXuatModal","danhMucQuanHuyen","setDanhMucQuanHuyen","danhMucPhuongXa","setDanhMucPhuongXa","selectedMuaVu","setSelectedMuaVu","danhMucMuaVu","setDanhMucMuaVu","timThang","timNgay","setSelectedToData","LoaiDat","idQuan","idCay","idMua","BenhHaiCayTrong","SinhVatGayHai","LichSuChanDoan","listLichSuChanDoans","setLichSuChanDoan","loadLichSuChanDoan","NgayNhap","SlideApi","createSlide","updateSlide","DeleteSlide","getSlide","Main","Switch","path","component","exact","runFunc","run","toggleClass","hasClass","resize","collapse","addClass","e0","originalEvent","delta","wheelDelta","detail","scrollTop","preventDefault","fadeIn","fadeOut","$anchor","stop","attr","top","Slide","listSlide","setListSlide","loadSlide","slideItem_Style","dots","infinite","slidesToShow","slidesToScroll","autoplay","autoplaySpeed","pauseOnHover","arrows","TrangChu","setListTopPage","listButomPage","setListButomPage","listPostHotFlag","setListPostHotFlag","listLuotTruyCap","setLuotTruyCap","loadTrangs","lstTop","lstButom","lstButomAlias","temp","loadBaiVietTrangChu","loadLuotTruyCap","settings","slide_Style","marginRight","textItem_Style","slideItem_StyleApp","SoLuong","Instagram","Sologan2","Facebook","Youtube","Zalo","BaiViet","listBaiViets","setListBaiViet","postCategory","listNoiBats","setListNoiBat","listNews","setListNew","IdDanhMuc","loadBaiViet","loadNoiBat","loadTinMoi","category","categoryId","trangModel","setTrangModel","loadByAlias","TrangBaiViet","baiViet","setBaiViet","listBaiViet","listBreadcrumb","setListBreadcrumb","loadListBaiViet","loadBreadcrumb","match","IdBaiViet","state","ThemCauHoi","saveDataCauHoi","changeCayTrong","DangNhap","showAnh","setShowAnh","urlShowAnh","setUrlShowAnh","showThemCauHoi","setShowThemCauHoi","showDangNhap","setShowDangNhap","listHoiDaps_XemNhieuNhat","setListHoiDaps_XemNhieuNhat","loadXemNhieuNhat","REACT_LIKE_HOIDAP","listLike","IsLiked","cauHoi","Liked","handleShowAnh","urlAnh","accept","CountTraLoi","AddViewed","loadTraLois","IdCauHoi","saveDataTraLoi","idCauHoi","Wrapper","styled","div","Marker","local","setLocal","Lat","Lng","loadLienHes","bootstrapURLKeys","defaultCenter","defaultZoom","listSauBenhs","listLoaiSauBenhs","sauBenhSelect","setSauBenhSelect","cayTrongSelect","setCayTrongSelect","setParams","pag","lstPag","SauBenhChiTiet","trieuChung","setTrieuChung","TrieuChungs","fontWeight","HinhAnhTrieuChung","keyImage","MoTaTrieuChung","SauBenhHome","listXemNhieus","setListXemNhieu","listMoiNhats","setMoiNhat","loadMoiNhat","loadXemNhieu","TraCuuSauBenh","itemQuanHuyen","itemXaPhuong","listThang","selectedOptionQuanHuyen","setSelectedOptionQuanHuyen","selectedOptionXaPhuong","setSelectedOptionXaPhuong","selectedOptionThang","setSelectedOptionThang","loadListCayTrong","ThongKeThuocBaoVeThucVat","listThuocBaoVeThucVats","setListThuocBaoVeThucVat","loadThuocBaoVeThucVat","DefaultPage","DangKy","PasswordNhapLai","App","Boolean","location","hostname","ReactDOM","render","StrictMode","navigator","serviceWorker","ready","registration","unregister","thongBao","alertify","autoReset","basic","closable","closableByDimmer","invokeOnCloseOff","frameless","defaultFocusOff","maintainFocus","maximizable","movable","moveBounded","pinnable","pinned","preventBodyShift","resizable","startMaximized","transition","transitionOff","tabbable","notifier","delay","classes","prefix","right","bottom","left","visible","close","glossary","ok","cancel","hooks","preinit","instance","postinit","success","warning","okCallback","noCallback","confirm"],"mappings":"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","file":"static/js/main.e9bf3975.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"modaltinhphanbon\":\"TraCuu_modaltinhphanbon__kMdTp\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sidebar\":\"SidebarLeft_sidebar__Whg9h\",\"togglemenu\":\"SidebarLeft_togglemenu__o4rRR\",\"sidecontent\":\"SidebarLeft_sidecontent__zMZRA\",\"mapbando\":\"SidebarLeft_mapbando__1pHU9\",\"mngroup\":\"SidebarLeft_mngroup__9ElSl\",\"gcactive\":\"SidebarLeft_gcactive__oVdVX\",\"gc\":\"SidebarLeft_gc__3Gyjn\",\"scolpan\":\"SidebarLeft_scolpan__2Zw2x\",\"rowan\":\"SidebarLeft_rowan__3hm5S\",\"colsapxep\":\"SidebarLeft_colsapxep__1Gzrq\",\"xuong\":\"SidebarLeft_xuong__1DS3r\"};","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 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, { useState } 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\nimport { Loading } from '../shared/loading/Loading';\r\nimport ThongBao from '../core/ThongBao';\r\n\r\n\r\nexport const Login = () => {\r\n let history = useHistory();\r\n const [loading, setLoading] = useState(false);\r\n const { register, handleSubmit, errors } = useForm({\r\n mode: \"onBlur\"\r\n });\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n axios.post(process.env.REACT_APP_API_URL + '/login', data).then(response => {\r\n localStorage.setItem(process.env.REACT_APP_TOKEN, response.data.token);\r\n setLoading(false);\r\n history.push(\"/main/home\");\r\n }, (eror) => {\r\n if(eror.response){\r\n if(eror.response.data === \"Bad Request\"){\r\n ThongBao.printErrorMessage(\"Tên đăng nhập hoặc mật khẩu không đúng.\");\r\n }\r\n else{\r\n ThongBao.printErrorMessage(eror.response.data);\r\n }\r\n }\r\n setLoading(false);\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}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { NavLink } 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('/function/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/edit';\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n DeleteUser:(Id) => {\r\n const url = '/User/delete/'+ Id;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n UploadFile:(params) => {\r\n const url = '/Upload/addAvatar';\r\n return axiosClientFile.post(url,params);\r\n },\r\n\r\n getUserRoles: (Id) => {\r\n const url = '/User/getuserroles/' +Id;\r\n return axiosClient.get(url)\r\n },\r\n changePass: (data)=>{\r\n const url = '/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 maQuanHuyen:nv.maQuanHuyen,\r\n tatCaQuanHuyen:nv.tatCaQuanHuyen,\r\n idQuanHuyen: nv.idQuanHuyen\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 const token = localStorage.getItem(process.env.REACT_APP_TOKEN);\r\n if(token != null){\r\n const nv = jwt_decode(token);\r\n const 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.Name===\"Admin\") !== -1)\r\n {\r\n return true;\r\n };\r\n }\r\n var permissions = [];\r\n permissions = nv.permissions//JSON.parse(nv.permissions);\r\n if( permissions.findIndex(x=>x.Role === 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 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\nimport { Loading } from '../loading/Loading';\r\n\r\nexport const Header = () => {\r\n\r\n const [nhanVien, setNhanVien] = useState({});\r\n const [loading, setLoading] = useState(false);\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 var apiUrl = 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 logout = () => {\r\n localStorage.removeItem(process.env.REACT_APP_TOKEN);\r\n history.push(\"/login\");\r\n // Authen.logout().then(() => {\r\n // localStorage.removeItem(process.env.REACT_APP_TOKEN);\r\n // history.push(\"/api/logout\");\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 return;\r\n }\r\n setLoading(true);\r\n TaiKhoanApi.changePass(data).then(() => {\r\n setShow(false);\r\n setLoading(false);\r\n ThongBao.printSuccessMessage(\"Đổi mật khẩu thành công!\");\r\n }, err => {\r\n setLoading(false);\r\n })\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst LopBanDoApi = {\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 getAll: () =>{\r\n const url = '/lopbando/getall';\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?listId=' + 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\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 getInfoHome: (params) =>{\r\n const url = '/mappublic/getinfohome';\r\n return axiosClient.get(url, {params});\r\n },\r\n}\r\n\r\nexport default BanDoPublicApi;","import axiosClient from './axiosClient';\r\n\r\n//const { param } = require(\"jquery\");\r\n//const {default: axiosClient} = require(\"./axiosClient\");\r\n\r\nconst CayTrongApi={\r\n getAll: (params) =>{\r\n const url = '/caytrong/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params) => {\r\n const url='/caytrong/paging';\r\n return axiosClient.get(url,{params});\r\n },\r\n\r\n getPagingPublic: (params) => {\r\n const url='/caytrong/pagingpublic';\r\n return axiosClient.get(url,{params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/caytrong/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n getById: (id) =>{\r\n const url = '/caytrong/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/caytrong/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/caytrong/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/caytrong/delete/' + id;\r\n return axiosClient.delete(url);\r\n }\r\n \r\n}\r\n\r\nexport default CayTrongApi;","import React, { useEffect, useState } from 'react';\r\nimport ol from \"openlayers\";\r\nimport \"ol/ol.css\";\r\nimport LopBanDoApi from '../../api/LopBanDoApi';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport CayTrongApi from '../../api/CayTrongApi';\r\nimport { Bar } from 'react-chartjs-2';\r\nimport Select from 'react-select';\r\nimport Chart from 'chart.js';\r\n\r\nexport const Home = () => {\r\n\r\n var [positionFeature, setPositionFeature] = useState(new ol.Feature());\r\n var [map, setMap] = useState(new ol.Map());\r\n var [vectorSelect, setVectorSelect] = useState(new ol.layer.Vector());\r\n const [timListCayTrong, setTimListCayTrong] = useState([]);\r\n var [dataReponse, setDataReponse] = useState({});\r\n const [bieudo, setBieuDo] = useState({});\r\n const [loaiBieuDo, setLoaiBieuDo] = useState({ value: 1, label: 'Diện tích' });\r\n const [listLoaiBieuDo, setListLoaiBieuDo] = useState([\r\n { value: 1, label: 'Diện tích' },\r\n { value: 2, label: 'Năng suất' },\r\n { value: 3, label: 'Sản lượng' }\r\n ]);\r\n\r\n const view = new ol.View({\r\n center: [11728080.0278, 2357260.9077],\r\n zoom: 9.4,\r\n minZoom: 9,\r\n maxZoom: 11,\r\n projection: new ol.proj.get('EPSG:3857'),\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 useEffect(() => {\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 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 // mapBase\r\n // bingMap\r\n ],\r\n view: view\r\n });\r\n setPositionFeature(positionFeature);\r\n map.on('click', function (evt) {\r\n let coordinate = evt.coordinate;\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n coordinate = new ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');\r\n }\r\n loadBieuDo(coordinate[0], coordinate[1]);\r\n });\r\n setMap(map);\r\n loadLopBanDo();\r\n loadBieuDo();\r\n }, []);\r\n\r\n const loadLopBanDo = async () => {\r\n const list = await LopBanDoApi.getAll();\r\n list.forEach(item => {\r\n if (item.Ma === 'BDRANHGIOIHUYEN' || item.Ma === 'BDTENHUYEN') {\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 map.addLayer(province);\r\n }\r\n });\r\n }\r\n\r\n const loadBieuDo = async (x, y) => {\r\n const params = {\r\n x: x,\r\n y: y\r\n }\r\n dataReponse = await BanDoPublicApi.getInfoHome(params);\r\n setDataReponse(dataReponse);\r\n if (dataReponse.bando.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 let features = new ol.format.GeoJSON().readFeatures(dataReponse.bando.geomjson);\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n features = new ol.format.GeoJSON({ featureProjection: 'EPSG:3857', defaultDataProjection: 'EPSG:4326' }).readFeatures(dataReponse.bando.geomjson);\r\n }\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 }\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 let lstCayTrong = [];\r\n if (timListCayTrong.length == 0) {\r\n await CayTrongApi.getAll().then((cay) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn cây trồng...' });\r\n cay.forEach(item => {\r\n list.push({ value: item.Id, label: item.TenCayTrong, ma: item.MaCayTrong });\r\n })\r\n lstCayTrong = list.map(x => x);\r\n setTimListCayTrong(list);\r\n })\r\n }\r\n else {\r\n lstCayTrong = timListCayTrong;\r\n }\r\n buildBieuDo(lstCayTrong, 1);\r\n }\r\n\r\n const buildBieuDo = (lstCayTrong, type = 1) => {\r\n let datasets = [];\r\n const endYear = new Date().getFullYear();\r\n let labels = [];\r\n for (let i = 0; i < 5; i++) {\r\n labels.push(endYear - 4 + i);\r\n }\r\n lstCayTrong.filter(x => x.value != 0).forEach(item => {\r\n let data = [];\r\n labels.forEach(nam => {\r\n const index = dataReponse.bieudo.findIndex(x => x.MaCayTrong == item.ma && x.Nam == nam);\r\n let vl = 0;\r\n switch (type) {\r\n case 1:\r\n vl = (index == -1 ? 0 : dataReponse.bieudo[index].DienTich);\r\n break;\r\n case 2:\r\n vl = (index == -1 ? 0 : dataReponse.bieudo[index].NangSuat);\r\n break;\r\n case 3:\r\n vl = (index == -1 ? 0 : dataReponse.bieudo[index].SanLuong);\r\n break;\r\n }\r\n data.push(vl);\r\n });\r\n let color = '#CF5C00';\r\n switch (item.ma) {\r\n case 'LUA':\r\n color = '#FFDB15';\r\n break;\r\n case 'RAU':\r\n color = '#04D010';\r\n break;\r\n }\r\n datasets.push({\r\n label: item.label,\r\n data: data,\r\n backgroundColor: color\r\n })\r\n });\r\n const bd = {\r\n labels: labels,\r\n datasets: datasets\r\n }\r\n setBieuDo(bd);\r\n }\r\n\r\n const onChaneLoaiBieuDo = (e) => {\r\n setLoaiBieuDo(e);\r\n buildBieuDo(timListCayTrong, e.value);\r\n }\r\n\r\n return (\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 ...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 ...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 0) {\r\n var data = dataset.data[index];\r\n \r\n ctx.fillText(\r\n parseInt((data*100))/100, \r\n bar._model.x, bar._model.y - 5);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listDienTichSanXuats.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 })\r\n }\r\n \r\n
Quận, huyệnPhường xãCây trồngMùa vụGiống câyLoại đấtDiện tích(ha)Năng suấtSản lượng(tấn)
{item.TenQuanHuyen}{item.TenXaPhuong}{item.TenCayTrong}{item.TenMuaVu}{item.GiongCays}{item.LoaiDat}\r\n \r\n \r\n \r\n \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 AnhHuongSauBenhApi = {\r\n\r\n getAll: (params) => { \r\n const url = '/anhhuongsaubenh/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params) => { \r\n const url = '/anhhuongsaubenh/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/anhhuongsaubenh/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/anhhuongsaubenh/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/anhhuongsaubenh/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/anhhuongsaubenh/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n \r\n getThongKe: (params) => { \r\n const url = '/anhhuongsaubenh/getthongke';\r\n return axiosClient.get(url, {params});\r\n },\r\n getSauBenh: (params) => { \r\n const url = '/anhhuongsaubenh/getsaubenh';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default AnhHuongSauBenhApi;","import React, { useState, useEffect } from 'react'\r\nimport Select from 'react-select';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport MuaVuApi from '../../../api/MuaVuApi';\r\nimport PhuongXaApi from '../../../api/PhuongXaApi';\r\nimport QuanHuyenApi from '../../../api/QuanHuyenApi';\r\nimport AnhHuongSauBenhApi from '../../../api/AnhHuongSauBenhApi';\r\nimport { Bar } from \"react-chartjs-2\";\r\nimport Chart from 'chart.js';\r\nimport ExportExcelApi from '../../../api/ExportExcelApi';\r\nimport NumberFormat from 'react-number-format';\r\n\r\n\r\n\r\nexport const ThongKeAnhHuongSauBenh = (props) => {\r\n const [listPhuongXas, setListPhuongXa] = useState([]);\r\n const [listAnhHuongSauBenh, setListAnhHuongSauBenh] = useState([]);\r\n const [timListQuanHuyen, setTimListQuanHuyen] = useState([]);\r\n const [timListPhuongXa, setTimListPhuongXa] = useState([]);\r\n const [timListCayTrong, setTimListCayTrong] = useState([]);\r\n const [timListMuaVu, setTimListMuaVu] = useState([]);\r\n const [timQuanHuyen, setTimQuanHuyen] = useState();\r\n const [timXaPhuong, setTimXaPhuong] = useState();\r\n const [timCayTrong, setTimCayTrong] = useState();\r\n const [timMuaVu, setTimMuaVu] = useState();\r\n const [timListNam, setTimListNam] = useState([]);\r\n const [timNam, setTimNam] = useState();\r\n\r\n const [search, setSearch] = useState('');\r\n var [dataReponse, setDataReponse] = useState({});\r\n const [bieudo, setBieuDo] = useState({});\r\n const [listLoaiBieuDo, setListLoaiBieuDo] = useState([]);\r\n const [loaiBieuDo, setLoaiBieuDo] = useState();\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\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 pageIndex = page;\r\n loadAnhHuongSauBenh();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadAnhHuongSauBenh(props.mahuyen, props.maxa);\r\n loadDanhQuanHuyen();\r\n loadDanhPhuongXa();\r\n loadDanhMucMuaVu();\r\n loadDanhMucNam();\r\n }, []);\r\n\r\n const loadAnhHuongSauBenh = async (mahuyen = '', maxa = '') => {\r\n try {\r\n const maquanhuyen = mahuyen != '' ? mahuyen : (timQuanHuyen === undefined ? '' : timQuanHuyen.value);\r\n const maxaphuong = maxa != '' ? maxa : (timXaPhuong === undefined ? '' : timXaPhuong.value);\r\n const idCayTrong = timCayTrong == undefined ? 0 : timCayTrong.value;\r\n const idMuaVu = timMuaVu == undefined ? 0 : timMuaVu.value;\r\n const nam = timNam == undefined ? 0 : timNam.value;\r\n\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n maquanhuyen: maquanhuyen,\r\n maxaphuong: maxaphuong,\r\n idcaytrong: idCayTrong,\r\n idmuavu: idMuaVu,\r\n nam: nam\r\n }\r\n const response = await AnhHuongSauBenhApi.getThongKe(params);\r\n setListAnhHuongSauBenh(response.timkiem.Items);\r\n paginationConfig.totalPages = Math.ceil(response.timkiem.TotalRows == 0 ? 1 : response.timkiem.TotalRows / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n\r\n let lstCayTrong = [];\r\n if (timListCayTrong.length == 0) {\r\n await CayTrongApi.getAll().then((cay) => {\r\n let list = [];\r\n let listKieuBD = [];\r\n list.push({ value: 0, label: 'Chọn cây trồng...' });\r\n cay.forEach(item => {\r\n list.push({ value: item.Id, label: item.TenCayTrong, ma: item.MaCayTrong });\r\n listKieuBD.push({ value: item.MaCayTrong, label: item.TenCayTrong });\r\n });\r\n lstCayTrong = listKieuBD.map(x => x);\r\n setListLoaiBieuDo(listKieuBD);\r\n setTimListCayTrong(list);\r\n setLoaiBieuDo(listKieuBD[0]);\r\n });\r\n }\r\n else {\r\n lstCayTrong = timListCayTrong;\r\n }\r\n dataReponse = response;\r\n setDataReponse(dataReponse);\r\n const maCay = timListCayTrong.length == 0 ? lstCayTrong[0].value : listLoaiBieuDo[0].value;\r\n buildBieuDo(maCay);\r\n }\r\n catch (err) { }\r\n }\r\n\r\n const ExportExcel = async (mahuyen = '', maxa = '') => {\r\n try {\r\n const maquanhuyen = mahuyen != '' ? mahuyen : (timQuanHuyen === undefined ? '' : timQuanHuyen.value);\r\n const maxaphuong = maxa != '' ? maxa : (timXaPhuong === undefined ? '' : timXaPhuong.value);\r\n const idCayTrong = timCayTrong == undefined ? 0 : timCayTrong.value;\r\n const idMuaVu = timMuaVu == undefined ? 0 : timMuaVu.value;\r\n const nam = timNam == undefined ? 0 : timNam.value;\r\n\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n maquanhuyen: maquanhuyen,\r\n maxaphuong: maxaphuong,\r\n idcaytrong: idCayTrong,\r\n idmuavu: idMuaVu,\r\n nam: nam\r\n }\r\n\r\n ExportExcelApi.getAnhHuongSauBenh(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 = url;\r\n\r\n a.download = 'download.xlsx';\r\n a.click();\r\n }, () => {\r\n\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n const buildBieuDo = (maCay) => {\r\n let datasets = [];\r\n const endYear = new Date().getFullYear();\r\n if (timNam != undefined && timNam.value != 0) {\r\n endYear = timNam.value;\r\n }\r\n let labels = [];\r\n for (let i = 0; i < 5; i++) {\r\n labels.push(endYear - 4 + i);\r\n }\r\n let dataNhe = [];\r\n let dataTrungBinh = [];\r\n let dataNang = [];\r\n let dataMatTrang = [];\r\n let dataPhongTru = [];\r\n labels.forEach(nam => {\r\n const index = dataReponse.bieudo.findIndex(x => x.MaCayTrong == maCay && x.Nam == nam);\r\n dataNhe.push(index == -1 ? 0 : dataReponse.bieudo[index].DienTichNhe);\r\n dataTrungBinh.push(index == -1 ? 0 : dataReponse.bieudo[index].DienTichTrungBinh);\r\n dataNang.push(index == -1 ? 0 : dataReponse.bieudo[index].DienTichNang);\r\n dataMatTrang.push(index == -1 ? 0 : dataReponse.bieudo[index].DienTichMatTrang);\r\n dataPhongTru.push(index == -1 ? 0 : dataReponse.bieudo[index].DienTichPhongTru);\r\n });\r\n datasets.push({\r\n label: 'Diện tích nhẹ',\r\n data: dataNhe,\r\n backgroundColor: '#d2ef7a'\r\n });\r\n datasets.push({\r\n label: 'Diện tích trung bình',\r\n data: dataTrungBinh,\r\n backgroundColor: '#f5ea6e'\r\n });\r\n datasets.push({\r\n label: 'Diện tích nặng',\r\n data: dataNang,\r\n backgroundColor: '#f5ad29'\r\n });\r\n datasets.push({\r\n label: 'Diện tích mất trắng',\r\n data: dataMatTrang,\r\n backgroundColor: '#e01313'\r\n });\r\n datasets.push({\r\n label: 'Diện tích phòng trừ',\r\n data: dataPhongTru,\r\n backgroundColor: '#14e053'\r\n });\r\n const bd = {\r\n labels: labels,\r\n datasets: datasets\r\n }\r\n setBieuDo(bd);\r\n }\r\n\r\n function loadDanhQuanHuyen() {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Quận huyện...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten });\r\n })\r\n setTimListQuanHuyen(list);\r\n if (props.mahuyen != null) {\r\n const index = list.findIndex(x => x.value == props.mahuyen);\r\n if (index != -1) {\r\n setTimQuanHuyen(list[index]);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function loadDanhPhuongXa() {\r\n PhuongXaApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Phường xã...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten, mahuyen: item.MaHuyen });\r\n });\r\n setListPhuongXa(list);\r\n if (props.mahuyen != null) {\r\n let listXas = list.filter(x => x.mahuyen == props.mahuyen);\r\n listXas.unshift({ value: '', label: 'Tất cả xã', mahuyen: '' });\r\n setTimListPhuongXa(listXas);\r\n const index = list.findIndex(x => x.value == props.maxa);\r\n if (index != -1) {\r\n setTimXaPhuong(list[index]);\r\n }\r\n }\r\n else {\r\n setTimListPhuongXa(list);\r\n }\r\n })\r\n }\r\n\r\n function loadDanhMucMuaVu() {\r\n MuaVuApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Mùa vụ...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten });\r\n });\r\n setTimListMuaVu(list);\r\n })\r\n }\r\n\r\n const exportExcel = () => {\r\n ExportExcel();\r\n }\r\n\r\n const loadDanhMucNam = () => {\r\n const endYear = new Date().getFullYear();\r\n let list = [];\r\n list.push({ value: 0, label: 'Năm...' });\r\n for (let i = 2000; i <= endYear; i++) {\r\n list.push({ value: i, label: i });\r\n }\r\n setTimListNam(list);\r\n }\r\n\r\n const timKiem = () => {\r\n loadAnhHuongSauBenh();\r\n }\r\n\r\n const setFilter = (e) => {\r\n setSearch(e.target.value)\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadAnhHuongSauBenh();\r\n }\r\n }\r\n\r\n // TÌM KIẾM\r\n const onChangeTimQuanHuyen = (e) => {\r\n setTimQuanHuyen(e);\r\n setTimXaPhuong({ value: '', label: 'Tất cả xã', mahuyen: '' });\r\n const list = listPhuongXas.filter(x => x.mahuyen === e.value);\r\n list.unshift({ value: '', label: 'Tất cả xã', mahuyen: '' });\r\n setTimListPhuongXa(list);\r\n }\r\n\r\n const onChangeTimXaPhuong = (e) => {\r\n setTimXaPhuong(e);\r\n }\r\n\r\n const onChangeTimCayTrong = (e) => {\r\n setTimCayTrong(e);\r\n }\r\n\r\n const onChangeTimMuaVu = (e) => {\r\n setTimMuaVu(e);\r\n }\r\n\r\n const onChangeTimNam = (e) => {\r\n setTimNam(e);\r\n }\r\n\r\n const typeValueChange = (e) => {\r\n setLoaiBieuDo(e);\r\n buildBieuDo(e.value);\r\n }\r\n\r\n return (\r\n
\r\n {\r\n props.showName == true ?
\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 ...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 0) {\r\n var data = dataset.data[index];\r\n ctx.fillText(parseInt((data*100))/100, bar._model.x, bar._model.y - 5);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listAnhHuongSauBenh.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 \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
Quận, huyệnXã, Thị trấnCây trồngMùa vụVùng nhiễm bệnhGiống câyMật độDiện tích nhẹDiện tích trung bìnhDiện tích nặngDiện tích mất trắngDiện tích phòng trừGhi chú
{item.TenQuanHuyen}{item.TenXaPhuong}{item.TenCayTrong}{item.TenMuaVu}{item.VungNhiemBenh}{item.GiongCays}{item.MatDo}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {item.GhiChu}
\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 DonViCungCapApi =\r\n{\r\n getAll: (params) =>{\r\n const url = '/donvicungcap/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params)=>\r\n {\r\n const url= '/donvicungcap/paging';\r\n return axiosClient.get(url,{params});\r\n },\r\n\r\n getThongKe: (params)=>\r\n {\r\n const url= '/donvicungcap/thongke';\r\n return axiosClient.get(url,{params});\r\n },\r\n\r\n getDetail: (id) =>\r\n {\r\n const url= '/donvicungcap/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n getById: (id) =>\r\n {\r\n const url= '/donvicungcap/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n post: (data) =>{\r\n const url = '/donvicungcap/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/donvicungcap/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/donvicungcap/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n importXls: (data) => {\r\n const url = '/donvicungcap/importxls';\r\n return axiosClient.post(url, data);\r\n }\r\n\r\n}\r\n\r\nexport default DonViCungCapApi;","import React, { useState, useEffect } from 'react'\r\nimport Select from 'react-select';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport DonViCungCapApi from '../../../api/DonViCungCapApi';\r\nimport PhuongXaApi from '../../../api/PhuongXaApi';\r\nimport QuanHuyenApi from '../../../api/QuanHuyenApi';\r\nimport ExportExcelApi from '../../../api/ExportExcelApi';\r\n\r\n\r\nexport const ThongKeDonViCungCap = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n\r\n const [listPhuongXas, setListPhuongXa] = useState([]);\r\n const [listDonViCungCaps, setListDonViCungCaps] = useState([]);\r\n const [timListQuanHuyen, setTimListQuanHuyen] = useState([]);\r\n const [timListPhuongXa, setTimListPhuongXa] = useState([]);\r\n const [timQuanHuyen, setTimQuanHuyen] = useState();\r\n const [timXaPhuong, setTimXaPhuong] = useState();\r\n\r\n const [search, setSearch] = useState('');\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\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 loadDonViCungCap();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadDanhQuanHuyen();\r\n loadDanhPhuongXa(timQuanHuyen);\r\n loadDonViCungCap();\r\n }, []);\r\n\r\n const loadDonViCungCap = async () => {\r\n const maquanhuyen = timQuanHuyen == undefined ? '' : timQuanHuyen.value;\r\n const maxaphuong = timXaPhuong == undefined ? '' : timXaPhuong.value;\r\n try {\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n maquanhuyen: maquanhuyen,\r\n maxaphuong: maxaphuong,\r\n }\r\n const response = await DonViCungCapApi.getThongKe(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.TotalRows / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setListDonViCungCaps(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const ExportExcel = async () => {\r\n const maquanhuyen = timQuanHuyen == undefined ? '' : timQuanHuyen.value;\r\n const maxaphuong = timXaPhuong == undefined ? '' : timXaPhuong.value;\r\n try {\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n maquanhuyen: maquanhuyen,\r\n maxaphuong: maxaphuong,\r\n }\r\n ExportExcelApi.getDonViCungCap(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 = url;\r\n \r\n console.log(url)\r\n a.download = 'download.xlsx';\r\n a.click();\r\n }, () => {\r\n \r\n });\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const exportExcel = () =>{\r\n ExportExcel();\r\n }\r\n\r\n const loadDanhQuanHuyen = () => {\r\n QuanHuyenApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Quận huyện...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten });\r\n })\r\n setTimListQuanHuyen(list);\r\n if (props.mahuyen != null) {\r\n const index = list.findIndex(x => x.value == props.mahuyen);\r\n if (index != -1) {\r\n setTimQuanHuyen(list[index]);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function loadDanhPhuongXa(quanHuyen) {\r\n const params = {\r\n idQuanHuyen: Number(quanHuyen == undefined ? 0 : quanHuyen.value)\r\n }\r\n PhuongXaApi.getAll(params).then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Phường xã...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten, mahuyen: item.MaHuyen });\r\n });\r\n setListPhuongXa(list);\r\n if (props.mahuyen != null) {\r\n let listXas = list.filter(x => x.mahuyen == props.mahuyen);\r\n listXas.unshift({ value: '', label: 'Tất cả xã', mahuyen: '' });\r\n setTimListPhuongXa(listXas);\r\n const index = list.findIndex(x => x.value == props.maxa);\r\n if (index != -1) {\r\n setTimXaPhuong(list[index]);\r\n }\r\n }\r\n else {\r\n setTimListPhuongXa(list);\r\n }\r\n })\r\n }\r\n\r\n const timKiem = () => {\r\n loadDonViCungCap();\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadDonViCungCap();\r\n }\r\n }\r\n\r\n const setFilter = (e) => {\r\n setSearch(e.target.value)\r\n }\r\n\r\n // TÌM KIẾM\r\n const onChangeTimQuanHuyen = (e) => {\r\n setTimQuanHuyen(e);\r\n let listXas = listPhuongXas.filter(x => x.mahuyen == e.value);\r\n listXas.unshift({ value: '', label: 'Tất cả xã', mahuyen: '' });\r\n setTimXaPhuong({ value: '', label: 'Tất cả xã', mahuyen: '' });\r\n setTimListPhuongXa(listXas);\r\n }\r\n\r\n const onChangeTimXaPhuong = (e) => {\r\n setTimXaPhuong(e);\r\n }\r\n\r\n return (\r\n\r\n
\r\n {\r\n props.showName == true ?
\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 listDonViCungCaps.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 \r\n )\r\n })\r\n }\r\n \r\n
TênĐiện thoạiĐịa chỉSố đkkdĐơn vị cấp đkkdNgày cấp đkkdSố CCCMNgày cấp CCCMSố CNDDKNgày cấp CNDDKNgày hết hạn CNDDK
{item.Ten}{item.DienThoai}{item.DiaChi}{item.SoDangKyKinhDoanh}{item.DonViCapDangKyKinhDoanh}{item.NgayCapDangKyKinhDoanh}{item.SoChungChiChuyenMon}{item.NgayCapChungChiChuyenMon}{item.SoChungNhanDieuKien}{item.NgayCapChungNhanDieuKien}{item.NgayHetHanChungNhanDieuKien}
\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 { Modal, Tabs, Tab } from 'react-bootstrap';\r\nimport { DienTichSanXuatPublic } from '../../public/solieu/dientichsanxuat/dientichsanxuat';\r\nimport 'react-tabs/style/react-tabs.css';\r\nimport { ThongKeAnhHuongSauBenh } from '../../public/solieu/anhhuongsaubenh/thongkeanhhuongsaubenh';\r\nimport { ThongKeDonViCungCap } from '../../public/solieu/donvicungcap/DonViCungCap';\r\n\r\nexport const ModalDienTichSanXuat = (props) => {\r\n\tconst [thongTin, setThongTin] = useState([]);\r\n\r\n\tconst [show, setShow] = useState(false);\r\n\tconst [keyTab, setKeyTab] = useState('');\r\n\r\n\tuseEffect(() => {\r\n\t\tif (props.show) {\r\n\t\t\tsetThongTin(props.ThongTin);\r\n\t\t\tsetShow(props.show);\r\n\t\t\tsetKeyTab('dientich');\r\n\t\t}\r\n\t}, [props.show]);\r\n\r\n\tconst handleClose = () => {\r\n\t\tprops.closeModal();\r\n\t\tsetShow(false);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\tSố liệu\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t setKeyTab(k)}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tkeyTab === \"dientich\"?:''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tkeyTab === 'anhhuong'?:''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tkeyTab === 'donvi'?:''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t Hủy\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}\r\n","import React, { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const VungDuAn = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Phân bố cây trồng\r\n \r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
{props.thongTin?.texxa_vn}
Diện tích(ha)\r\n \r\n
Hiện trạng sử dụng{props.thongTin?.caytrong}
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const CayAnQua = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Cây ăn quả có múi\r\n \r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
{props.thongTin?.texxa_vn}
Diện tích(ha)\r\n \r\n
Hiện trạng sử dụng{props.thongTin?.caytrong}
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const CayLua = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Cây lúa\r\n \r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
{props.thongTin?.texxa_vn}
Diện tích(ha)\r\n \r\n
Hiện trạng sử dụng{props.thongTin?.caytrong}
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const CayRau = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Cây rau\r\n \r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
{props.thongTin?.texxa_vn}
Diện tích(ha)\r\n \r\n
Hiện trạng sử dụng{props.thongTin?.caytrong}
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Pie } from 'react-chartjs-2';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const Xa = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const [dataChart, setDataChart] = useState([]);\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n useEffect(() => {\r\n if (props.thongTin.caytrongs) {\r\n props.thongTin.dienTichCayTrong = 0;\r\n let labels = [];\r\n let data = [];\r\n let backgroundColor = [];\r\n let color = '#CF5C00';\r\n props.thongTin.caytrongs.forEach(element => {\r\n labels.push(element.caytrong);\r\n data.push(element.dientich);\r\n props.thongTin.dienTichCayTrong = props.thongTin.dienTichCayTrong + element.dientich;\r\n switch (element.htsd) {\r\n case 'LUA':\r\n color = '#FFDB15';\r\n break;\r\n case 'RAU':\r\n color = '#04D010';\r\n break;\r\n }\r\n backgroundColor.push(color);\r\n });\r\n setDataChart({\r\n labels: labels,\r\n datasets: [\r\n {\r\n label: 'Diện tích',\r\n data: data,\r\n backgroundColor: backgroundColor\r\n }\r\n ]\r\n })\r\n }\r\n }, [props.thongTin])\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n props?.thongTin?.caytrongs.map((item, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n }\r\n \r\n
Thông tin xã\r\n \r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
{props.thongTin?.texxa_vn}
Diện tích(ha)\r\n \r\n
Diện tích cây trồng(ha)\r\n \r\n
\r\n \r\n
{item.caytrong}(ha)\r\n \r\n
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Pie } from 'react-chartjs-2';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const Huyen = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const [dataChart, setDataChart] = useState([]);\r\n const ShowEdit = () => {\r\n props.showEditThongTin();\r\n }\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n useEffect(() => {\r\n if (props.thongTin.caytrongs) {\r\n props.thongTin.dienTichCayTrong = 0;\r\n let labels = [];\r\n let data = [];\r\n let backgroundColor = [];\r\n let color = '#CF5C00';\r\n props.thongTin.caytrongs.forEach(element => {\r\n labels.push(element.caytrong);\r\n data.push(element.dientich);\r\n props.thongTin.dienTichCayTrong = props.thongTin.dienTichCayTrong + element.dientich;\r\n switch (element.htsd) {\r\n case 'LUA':\r\n color = '#FFDB15';\r\n break;\r\n case 'RAU':\r\n color = '#04D010';\r\n break;\r\n }\r\n backgroundColor.push(color);\r\n });\r\n setDataChart({\r\n labels: labels,\r\n datasets: [\r\n {\r\n label: 'Diện tích',\r\n data: data,\r\n backgroundColor: backgroundColor\r\n }\r\n ],\r\n })\r\n }\r\n }, [props.thongTin])\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n props?.thongTin?.caytrongs.map((item, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n }\r\n \r\n
Thông tin huyện\r\n \r\n {\r\n props.admin ? : ''\r\n }\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
Diện tích(ha)\r\n \r\n
Diện tích cây trồng(ha)\r\n \r\n
\r\n \r\n
{item.caytrong}(ha)\r\n \r\n
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useEffect, useState } from 'react';\r\nimport NumberFormat from 'react-number-format';\r\nimport { ModalDienTichSanXuat } from '../modaldientichsanxuat/modaldientichsanxuat';\r\n\r\nexport const BaoVeThucVat = (props) => {\r\n const [edit, setEdit] = useState(false);\r\n const showInfo = () => {\r\n setEdit(true);\r\n }\r\n const closeModalDienTich = () => {\r\n setEdit(false);\r\n }\r\n return (\r\n
\r\n {\r\n props.thongTin.ten_huyen ? \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length > 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n {\r\n props.thongTin.anhhuongsaubenh?.length === 0?\r\n \r\n \r\n \r\n :''\r\n }\r\n \r\n
Phân bố cây trồng\r\n \r\n {/* {\r\n props.admin ? : ''\r\n } */}\r\n
TênThông tin
Huyện{props.thongTin?.ten_huyen}
{props.thongTin?.texxa_vn}
Diện tích(ha)\r\n \r\n
Hiện trạng sử dụng{props.thongTin?.caytrong}
Sâu bệnh{props.thongTin.anhhuongsaubenh[0].TenSauBenh}
Mật độ{props.thongTin.anhhuongsaubenh[0].MatDo}
Diện tích nhẹ(toàn xã){props.thongTin.anhhuongsaubenh[0].DienTichNang}
Diện tích trung bình(toàn xã){props.thongTin.anhhuongsaubenh[0].DienTichTrungBinh}
Diện tích nặng(toàn xã){props.thongTin.anhhuongsaubenh[0].DienTichNang}
Diện tích mất trắng(toàn xã){props.thongTin.anhhuongsaubenh[0].DienTichMatTrang}
Diện tích phòng trừ(toàn xã){props.thongTin.anhhuongsaubenh[0].DienTichPhongTru}
Sâu bệnhKhông nhiễm bệnh
:
Không có thông tin
\r\n }\r\n \r\n
\r\n )\r\n};","import React, { useEffect, useLayoutEffect, useState } from 'react'\r\nimport { Tabs, Tab } from 'react-bootstrap';\r\nimport stylelocal from \"./SidebarLayer.module.css\"\r\nimport { VungDuAn } from '../right-info/VungDuAn';\r\nimport { CayAnQua } from '../right-info/CayAnQua';\r\nimport { CayLua } from '../right-info/CayLua';\r\nimport { CayRau } from '../right-info/CayRau';\r\nimport { Xa } from '../right-info/Xa';\r\nimport { Huyen } from '../right-info/Huyen';\r\nimport { BaoVeThucVat } from '../right-info/BaoVeThucVat';\r\n\r\nexport const SidebarLayer = (props) => {\r\n const [key, setKey] = useState('');\r\n const [showTab, setShowTab] = useState(false);\r\n const [thongTinVungDuAn, setThongTinVungDuAn] = useState({});\r\n const [thongTinCayLua, setThongCayLua] = useState({});\r\n const [thongTinCayRau, setThongTinCayRau] = useState({});\r\n const [thongTinCayAnQua, setThongTinCayAnQua] = useState({});\r\n const [thongTinXa, setThongTinXa] = useState({});\r\n const [thongTinHuyen, setThongTinHuyen] = useState({});\r\n const [thongTinBaoVeThucVat, setThongTinBaoVeThucVat] = 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.ParentId !== 'BANDOVETINH' && (x.ParentId !== 'BDHANHCHINH' || x.Ma === 'BDHANHCHINHHUYEN') && 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.ParentId !== 'BANDOVETINH' && (x.ParentId !== 'BDHANHCHINH' || x.Ma === 'BDHANHCHINHHUYEN') && 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 'BDBAOVETHUCVAT':\r\n props.thongTin.tableName = \"BDBAOVETHUCVAT\";\r\n setThongTinBaoVeThucVat(props.thongTin);\r\n break;\r\n case 'BDRANHGIOIHUYEN':\r\n props.thongTin.tableName = \"BDRANHGIOIHUYEN\";\r\n setThongTinHuyen(props.thongTin);\r\n break;\r\n case 'BDRANHGIOIXA':\r\n props.thongTin.tableName = \"BDRANHGIOIXA\";\r\n setThongTinXa(props.thongTin);\r\n break;\r\n case 'BDCAYCAQ':\r\n props.thongTin.tableName = \"BDCAYCAQ\";\r\n setThongTinCayAnQua(props.thongTin);\r\n break;\r\n case 'BDCAYLUA':\r\n props.thongTin.tableName = \"BDCAYLUA\";\r\n setThongCayLua(props.thongTin);\r\n break;\r\n case 'BDCAYRAU':\r\n props.thongTin.tableName = \"BDCAYRAU\";\r\n setThongTinCayRau(props.thongTin);\r\n break;\r\n case 'BDVUNGDUAN':\r\n props.thongTin.tableName = \"BDVUNGDUAN\";\r\n setThongTinVungDuAn(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 props.updateTableSelect(k);\r\n }\r\n const adminstyle = {\r\n height: 'calc(100vh - 100px)'\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 == 'BDRANHGIOIHUYEN' || x.Ma == 'BDRANHGIOIXA') && x.Checked).map((item, index) => {\r\n switch (item.Ma) {\r\n case 'BDRANHGIOIHUYEN':\r\n return (\r\n \r\n { showEditThongTin(thongTinHuyen) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDRANHGIOIXA':\r\n return (\r\n \r\n { showEditThongTin(thongTinXa) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDVUNGDUAN':\r\n return (\r\n \r\n { showEditThongTin(thongTinVungDuAn) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDCAYCAQ':\r\n return (\r\n \r\n { showEditThongTin(thongTinCayAnQua) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDCAYLUA':\r\n return (\r\n \r\n { showEditThongTin(thongTinCayLua) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDCAYRAU':\r\n return (\r\n \r\n { showEditThongTin(thongTinCayRau) }} admin={props.admin} />\r\n \r\n )\r\n case 'BDBAOVETHUCVAT':\r\n return (\r\n \r\n { showEditThongTin(thongTinBaoVeThucVat) }} 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","import axiosClient from './axiosClient';\r\nconst ChuGiaiApi = {\r\n getNongHoa: () => {\r\n const url = '/chugiai/getnonghoa';\r\n return axiosClient.get(url)\r\n },\r\n getThoNhuong: () => {\r\n const url = 'chugiai/getthonhuong';\r\n return axiosClient.get(url)\r\n },\r\n getDeXuat: () => {\r\n const url = 'chugiai/getdexuat';\r\n return axiosClient.get(url)\r\n },\r\n getThichHop: () => {\r\n const url = 'chugiai/getthichhop';\r\n return axiosClient.get(url)\r\n },\r\n getChatLuongDat: () => {\r\n const url = 'chugiai/getchatluongdat';\r\n return axiosClient.get(url)\r\n },\r\n getHienTrang: () => {\r\n const url = 'chugiai/gethientrang';\r\n return axiosClient.get(url)\r\n },\r\n getThichHopPhanCap: () => {\r\n const url = 'chugiai/getthichhopphancap';\r\n return axiosClient.get(url)\r\n },\r\n getHanhChinhHuyen: () => {\r\n const url = 'chugiai/gethanhchinhhuyen';\r\n return axiosClient.get(url)\r\n },\r\n getVungDuAn: () => {\r\n const url = 'chugiai/getvungduan';\r\n return axiosClient.get(url)\r\n },\r\n getBanDoNen: () => {\r\n const url = 'chugiai/getbandonen';\r\n return axiosClient.get(url)\r\n }\r\n}\r\nexport default ChuGiaiApi;","import React, { useEffect, useState } from 'react'\r\nexport const ChuGiaiNen = (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.maDeXuat).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 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
Màu sắc Ký hiệuTên lớp
\r\n
\r\n {item.id}\r\n
\r\n
{item.ten}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiVungDuAn = (props) => {\r\n const [listChuGiais, setListChuGiai] = useState([]);\r\n useEffect(() => {\r\n setListChuGiai(props.listChuGiais.filter(x=>x.ma !== 'SAU'));\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).length == 0? \"''\":listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.ma + \"'\").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ệuTên lớp
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.ma}\r\n
\r\n
{item.ten}
\r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\n\r\nexport const ChuGiaiBaoVeThucVat = (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).length == 0? \"''\":listChuGiais.filter(x => x.Checked).map(x => \"'\" + x.ma + \"'\").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ệuTên lớp
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {item.ma}\r\n
\r\n
{item.ten}
\r\n )\r\n}\r\n","import React, { useEffect, useLayoutEffect, useState } from 'react'\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\nimport stylelocal from './FooterNote.module.css'\r\nimport { ChuGiaiHanhChinhHuyen } from './ChuGiaiHanhChinhHuyen';\r\nimport { Loading } from '../loading/Loading';\r\nimport { ChuGiaiNen } from './ChuGiaiNen';\r\nimport { ChuGiaiVungDuAn } from './ChuGiaiVungDuAn';\r\nimport { ChuGiaiBaoVeThucVat } from './ChuGiaiBaoVeThucVat';\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 'BDBAOVETHUCVAT':\r\n const listBaoVeThucVats = await ChuGiaiApi.getVungDuAn();\r\n setListChuGuai(listBaoVeThucVats);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listBaoVeThucVats });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDCAYLUA':\r\n const listCayLuas = await ChuGiaiApi.getVungDuAn();\r\n setListChuGuai(listCayLuas);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listCayLuas });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDCAYRAU':\r\n const listCayRaus = await ChuGiaiApi.getVungDuAn();\r\n setListChuGuai(listCayRaus);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listCayRaus });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDCAYCAQ':\r\n const listCayAnQuas = await ChuGiaiApi.getVungDuAn();\r\n setListChuGuai(listCayAnQuas);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listCayAnQuas });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BDVUNGDUAN':\r\n const listVungSuAns = await ChuGiaiApi.getVungDuAn();\r\n setListChuGuai(listVungSuAns);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listVungSuAns });\r\n setListBanDo([...listBanDos]);\r\n break;\r\n case 'BANDONEN':\r\n const listNens = await ChuGiaiApi.getBanDoNen();\r\n setListChuGuai(listNens);\r\n listBanDos.push({ MaBanDo: props.maBanDo, listChuGiais: listNens });\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 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 === 'BDBAOVETHUCVAT' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDCAYLUA' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDCAYRAU' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDCAYCAQ' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BDVUNGDUAN' ? clickChuGiai(e)}> : ''\r\n }\r\n {\r\n props.maBanDo === 'BANDONEN' ? 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\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 === 'BANDONEN') {\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 = true;\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 = true;\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 {/*
{props.children}
*/}\r\n
\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 === true ? : ''\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 VungDuAnApi = {\r\n\r\n update:(params) =>{\r\n const url = '/vungduan/update';\r\n return axiosClient.put(url, params);\r\n },\r\n add:(params) =>{\r\n const url = '/vungduan/add';\r\n return axiosClient.post(url, params);\r\n },\r\n delete: (params) =>{\r\n const url = 'vungduan/delete';\r\n return axiosClient.delete(url, {params});\r\n },\r\n getPaging:(params) =>{\r\n const url = '/vungduan/getpaging';\r\n return axiosClient.get(url, {params});\r\n },\r\n getPagingBaoVeThucVat:(params) =>{\r\n const url = '/vungduan/getpagingbvthucvat';\r\n return axiosClient.get(url, {params});\r\n },\r\n}\r\n\r\nexport default VungDuAnApi;","import axiosClient from './axiosClient';\r\nconst TimKiemApi = {\r\n getFilter: (params) => {\r\n const url = '/timkiem/timxa';\r\n return axiosClient.get(url, {params});\r\n },\r\n getFilterByDuAn: (params) => {\r\n const url = '/timkiem/timxabyduan';\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 getXaDetail: (params) => {\r\n const url = '/timkiem/getxadetail';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\nexport default TimKiemApi;","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: \"Tỉnh Hòa Bình\",\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 TimKiemApi from '../../api/TimKiemApi';\r\nimport { SelectMulti } from './SelectMulti'\r\n\r\nexport const SelectXaMulti = (props) => {\r\n const [listQuanHuyens, setQuanHuyen] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n const loadQuanHuyen = () => {\r\n let params = {\r\n listHuyens: props.filterXa\r\n }\r\n if ( props.listHuyens !== null) {\r\n TimKiemApi.getFilterByDuAn(params).then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.maXa, label: item.tenXa });\r\n });\r\n setQuanHuyen(list);\r\n // list.unshift(allOption);\r\n // setTimeout(() => {\r\n // props.onChangeXaProps(list);\r\n // }, 100);\r\n })\r\n }\r\n }\r\n loadQuanHuyen();\r\n }, [props.filterXa]);\r\n\r\n const allOption = {\r\n label: \"Chọn xã\",\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.onChangeXaProps(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: 1100 }) }}\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 VungDuAnApi from '../../api/VungDuAnApi';\r\nimport { SelectXaMulti } from '../selecthuyenmulti/SelectXaMulti';\r\n\r\nexport const TimKiemVungDuAn = (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 const [listFilters, setListFilter] = 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 (listFilters !== null && listFilters?.length > 0) {\r\n sql = `\"ma_px\" in ('${listFilters.map(x => x.value).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n // if (listDats != null && listDats?.length > 0) {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"khDatTCVN\" in ('${listDats.map(x => x.KhDat).join(',').replace(/,/g, \"','\")}')`\r\n // }\r\n if (data.htsd !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"htsd\" = '${data.htsd}'`\r\n }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${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 const onChangeXa = (e) => {\r\n setListFilter(e);\r\n }\r\n const getKhDat = (listDats) => {\r\n setListDat(listDats)\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 VungDuAnApi.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: 'BDVUNGDUAN'\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 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
\r\n \r\n
\r\n \r\n
\r\n
\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 \r\n return (\r\n clickRow(item.gid)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
HuyệnVùng cây trồngDiện tích
Không có bản ghi được tìm thấy
{item.text_huyen}{item.text_xavn}{item.htsd}\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\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 VungDuAnApi from '../../api/VungDuAnApi';\r\nimport { SelectXaMulti } from '../selecthuyenmulti/SelectXaMulti';\r\n\r\nexport const TimKiemVungLua = (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 const [listFilters, setListFilter] = 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 = `htsd = 'LUA' `;\r\n if (listFilters !== null && listFilters?.length > 0) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = `\"ma_px\" in ('${listFilters.map(x => x.value).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n // if (listDats != null && listDats?.length > 0) {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"khDatTCVN\" in ('${listDats.map(x => x.KhDat).join(',').replace(/,/g, \"','\")}')`\r\n // }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${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 const onChangeXa = (e) => {\r\n setListFilter(e);\r\n }\r\n const getKhDat = (listDats) => {\r\n setListDat(listDats)\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 VungDuAnApi.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: 'BDCAYLUA'\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 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
\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 \r\n return (\r\n clickRow(item.gid)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
HuyệnVùng cây trồngDiện tích
Không có bản ghi được tìm thấy
{item.text_huyen}{item.text_xavn}{item.htsd}\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\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 VungDuAnApi from '../../api/VungDuAnApi';\r\nimport { SelectXaMulti } from '../selecthuyenmulti/SelectXaMulti';\r\n\r\nexport const TimKiemVungCaq = (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 const [listFilters, setListFilter] = 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 = `htsd = 'CAQ' `;\r\n if (listFilters !== null && listFilters?.length > 0) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = `\"ma_px\" in ('${listFilters.map(x => x.value).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n // if (listFilters !== null && listFilters?.length > 0) {\r\n // sql = `\"maXa\" in (${listFilters.map(x => x.value).join(',')})`\r\n // }\r\n // if (listDats != null && listDats?.length > 0) {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"khDatTCVN\" in ('${listDats.map(x => x.KhDat).join(',').replace(/,/g, \"','\")}')`\r\n // }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${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 const onChangeXa = (e) => {\r\n setListFilter(e);\r\n }\r\n const getKhDat = (listDats) => {\r\n setListDat(listDats)\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 VungDuAnApi.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: 'BDCAYCAQ'\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 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
\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 \r\n return (\r\n clickRow(item.gid)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
HuyệnVùng cây trồngDiện tích
Không có bản ghi được tìm thấy
{item.text_huyen}{item.text_xavn}{item.htsd}\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\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 VungDuAnApi from '../../api/VungDuAnApi';\r\nimport { SelectXaMulti } from '../selecthuyenmulti/SelectXaMulti';\r\n\r\nexport const TimKiemVungRau = (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 const [listFilters, setListFilter] = 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 = `htsd = 'RAU' `;\r\n if (listFilters !== null && listFilters?.length > 0) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = `\"ma_px\" in ('${listFilters.map(x => x.value).join(',').replace(/,/g, \"','\")}')`\r\n }\r\n // if (listDats != null && listDats?.length > 0) {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"khDatTCVN\" in ('${listDats.map(x => x.KhDat).join(',').replace(/,/g, \"','\")}')`\r\n // }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"dientichbd\" ${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 const onChangeXa = (e) => {\r\n setListFilter(e);\r\n }\r\n const getKhDat = (listDats) => {\r\n setListDat(listDats)\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 VungDuAnApi.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: 'BDCAYRAU'\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 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
\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 \r\n return (\r\n clickRow(item.gid)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
HuyệnVùng cây trồngDiện tích
Không có bản ghi được tìm thấy
{item.text_huyen}{item.text_xavn}{item.htsd}\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\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 tất cả\",\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 AnhHuongSauBenhApi from '../../api/AnhHuongSauBenhApi';\r\nimport { SelectChuGiaiMulti } from './SelectChuGiaiMulti'\r\n\r\nexport const SelectSauMulti = (props) => {\r\n const [listDats, setDat] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n useEffect(() => {\r\n const loadDat = () => {\r\n AnhHuongSauBenhApi.getSauBenh().then((response) => {\r\n let list = [];\r\n console.log(response)\r\n response.forEach(item => { \r\n list.push({ value: item.id, label: item.ten, ten: item.ten });\r\n });\r\n setDat(list);\r\n // list.unshift(allOption);\r\n setSelectedOption([allOption, ...list]);\r\n setTimeout(() => {\r\n props.onChangeSau(list);\r\n }, 100);\r\n })\r\n }\r\n loadDat();\r\n }, []);\r\n\r\n const allOption = {\r\n label: \"Tất cả\",\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.onChangeSau(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 VungDuAnApi from '../../api/VungDuAnApi';\r\nimport { SelectSauMulti } from \"../selectmulti/SelectSauMulti\";\r\nimport { SelectXaMulti } from '../selecthuyenmulti/SelectXaMulti';\r\n\r\n\r\nexport const TimKiemBaoVeThucVat = (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 [listSaus, setListSau] = useState([]);\r\n const [listFilters, setListFilter] = 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 (listFilters !== null && listFilters?.length > 0) {\r\n sql = `\"ma_px\" in ('${listFilters.map(x => x.value).join(',').replace(/,/g, \"','\")}')`;\r\n\r\n }\r\n if (listSaus != null && listSaus?.length > 0) {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `\"IdSauBenh\" in (${listSaus.map(x => x.value).join(',')})`\r\n }\r\n if (data.htsd !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n if (data.htsd !== 'SAU')\r\n {\r\n sql = sql + `htsd = '${data.htsd}'`\r\n } else{\r\n sql = sql + `\"MaXa\" is not null`;\r\n }\r\n }\r\n if (data.DienTichMin !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `dientichbd ${data.DienTichDieuKienMin} ${data.DienTichMin}`\r\n }\r\n if (data.DienTichMax !== \"\") {\r\n sql = sql.length > 0 ? sql + ' AND ' : '';\r\n sql = sql + `dientichbd ${data.DienTichDieuKienMax} ${data.DienTichMax}`\r\n }\r\n\r\n // if (data.DienTichTbMin !== \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"DienTichTrungBinh\" ${data.DienTichTbDieuKienMin} ${data.DienTichTbMin}`\r\n // }\r\n // if (data.DienTichTbMax !== \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"DienTichTrungBinh\" ${data.DienTichTbDieuKienMax} ${data.DienTichTbMax}`\r\n // }\r\n\r\n // if (data.DienTichNMin !== \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"DienTichNang\" ${data.DienTichNDieuKienMin} ${data.DienTichNMin}`\r\n // }\r\n // if (data.DienTichNMax !== \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"DienTichNang\" ${data.DienTichNDieuKienMax} ${data.DienTichNMax}`\r\n // }\r\n\r\n // if (data.DienTichPtMin !== \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"DienTichPhongTru\" ${data.DienTichPtDieuKienMin} ${data.DienTichPtMin}`\r\n // }\r\n // if (data.DienTichPtMax !== \"\") {\r\n // sql = sql.length > 0 ? sql + ' AND ' : '';\r\n // sql = sql + `\"DienTichPhongTru\" ${data.DienTichPtDieuKienMax} ${data.DienTichPtMax}`\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 const onChangeXa = (e) => {\r\n setListFilter(e);\r\n }\r\n const getTenSau = (listDats) => {\r\n setListSau(listDats)\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 VungDuAnApi.getPagingBaoVeThucVat(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: 'BDBAOVETHUCVAT'\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 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 getTenSau(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
\r\n \r\n
\r\n
*/}\r\n\r\n {/*
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
*/}\r\n\r\n {/*
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
*/}\r\n\r\n {/*
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \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 \r\n return (\r\n clickRow(item.gid)}>\r\n \r\n \r\n \r\n \r\n\r\n \r\n )\r\n })\r\n }\r\n \r\n
HuyệnVùng cây trồngDiện tích
Không có bản ghi được tìm thấy
{item.text_huyen}-{item.gid}{item.text_xavn}{item.htsd}\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 stylelocal from \"./TimKiemNangCao.module.css\"\r\nimport Select from 'react-select';\r\nimport ExportExcelApi from '../../api/ExportExcelApi';\r\nimport { Loading } from '../loading/Loading';\r\nimport { TimKiemVungDuAn } from './VungDuAn';\r\nimport { TimKiemVungLua } from './VungLua';\r\nimport { TimKiemVungCaq } from './VungCaq';\r\nimport { TimKiemVungRau } from './VungRau';\r\nimport { TimKiemBaoVeThucVat } from './BaoVeThucVat';\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 [filterXa, setFilterXa] = useState('');\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\r\n let query = '';\r\n let queryXa = '';\r\n if (props.listHuyens?.length > 0 && props.listHuyens !== null) {\r\n queryXa = `${props.listHuyens.map(x => x.Ma).join(',')}`;\r\n query = `mahuyen IN (${props.listHuyens.map(x => `'${x.Ma}'`).join(',')})`;\r\n\r\n } else { queryXa = '' }\r\n\r\n setQueryHuyen(query);\r\n setFilterXa(queryXa);\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 ma = selectedOption.value;\r\n // const queryHuyen = `\"maHuyen\" 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 ma: ma\r\n }\r\n // console.log(sql);\r\n setLoading(true);\r\n ExportExcelApi.getTimKiemThongKeBanDo(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 = url;\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 === 'BDVUNGDUAN' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen} filterXa={filterXa}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDCAYLUA' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen} filterXa={filterXa}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDCAYRAU' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen} filterXa={filterXa}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDCAYCAQ' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen} filterXa={filterXa}> : ''\r\n }\r\n {\r\n selectedOption.value === 'BDBAOVETHUCVAT' ? onTimKiem(e)} exportExcel={(e) => onExportExcel(e)}\r\n timKiemLoading={(e) => timKiemLoading(e)} timKiemGetChiTiet={(e) => timKiemGetChiTiet(e)} queryHuyen={queryHuyen} filterXa={filterXa}> : ''\r\n }\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","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst TrieuChungApi = {\r\n getTraCuu: (params) => { \r\n const url = '/trieuchung/gettracuu';\r\n return axiosClient.get(url, {params});\r\n },\r\n getAll: (params) => { \r\n const url = '/trieuchung/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params) => { \r\n const url = '/trieuchung/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/trieuchung/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/trieuchung/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/trieuchung/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/trieuchung/delete/' + id;\r\n return axiosClient.delete(url);\r\n } \r\n}\r\n\r\nexport default TrieuChungApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst SauBenhApi = {\r\n\r\n getAll: (params) => { \r\n const url = '/saubenh/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params) => { \r\n const url = '/saubenh/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/saubenh/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/saubenh/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/saubenh/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/saubenh/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n\r\n getXemNhieuNhat: () => {\r\n return axiosClient.get('/saubenh/getxemnhieu');\r\n },\r\n\r\n getMoiNhat: () => {\r\n return axiosClient.get('/saubenh/getmoinhat');\r\n },\r\n\r\n timKiemSauBenh: (params) =>{\r\n return axiosClient.get('/saubenh/timkiemsaubenh',{params});\r\n },\r\n\r\n timKiemSauBenhChiTiet: (id) =>{\r\n const url = '/saubenh/timkiemsaubenhgetbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n timKiemSauBenh_AnhHuong: (params) =>{\r\n return axiosClient.get('/saubenh/timkiemsaubenhanhhuong',{params});\r\n },\r\n\r\n getByTrieuChung: (params) =>{\r\n return axiosClient.get('/saubenh/getbytrieuchung',{params});\r\n },\r\n\r\n getAllGiaiDoanSinhTruong: (params) =>{\r\n return axiosClient.get('/saubenh/getallgiaidoansinhtruong',{params});\r\n },\r\n\r\n getGiaiDoanSinhTruongBySauBenh: (idSauBenh) =>{\r\n return axiosClient.get('/saubenh/getgiaidoansinhtruongbysaubenh/' + idSauBenh);\r\n }\r\n}\r\n\r\nexport default SauBenhApi;","import React, { useState, useEffect } from 'react'\r\nimport $ from 'jquery';\r\nimport Draggable from 'react-draggable';\r\nimport TrieuChungApi from '../../api/TrieuChungApi'\r\nimport SauBenhApi from '../../api/SauBenhApi'\r\nimport { Modal, Button } from 'react-bootstrap';\r\n\r\nexport const TrieuChungSauBenh = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n let [listDacDiemTrieuChung, setListDacDiemTrieuChung] = useState([]);\r\n let [listDaChon, setListDaChon] = useState([]);\r\n let [listSauBenh, setListSauBenh] = useState([]);\r\n let [isXemKetQua, setIsXemKetQua] = useState(false);\r\n let [show, setShow] = useState(false);\r\n let [dacDiemTrieuChung, setDacDiemTrieuChung] = useState({});\r\n let 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 useEffect(() => {\r\n loadDacDiemTrieuChung(props.timKiem.IdCayTrong, props.timKiem.IdQuanHuyen, props.timKiem.IdXaPhuong, props.timKiem.Thang);\r\n setListDaChon([]);\r\n }, [props.timKiem]);\r\n\r\n //#region câu hỏi\r\n const loadDacDiemTrieuChung = (idCayTrong, idQuanHuyen, idXaPhuong, thang) => {\r\n var params = {\r\n pageIndex: 1,\r\n idCayTrong: idCayTrong,\r\n idQuanHuyen: idQuanHuyen,\r\n idXaPhuong: idXaPhuong,\r\n thang: thang\r\n }\r\n TrieuChungApi.getTraCuu(params).then((response) => {\r\n response.Items.forEach(element => {\r\n if (element.HinhAnh == null) {\r\n element.HinhAnh = '';\r\n }\r\n var lst = element.HinhAnh.split(',');\r\n if (lst.length > 0) {\r\n element.HinhAnh_Temp = lst[0];\r\n }\r\n else {\r\n element.HinhAnh_Temp = '';\r\n }\r\n });\r\n setListDacDiemTrieuChung(response.Items);\r\n })\r\n }\r\n\r\n const selectedDacDiemTrieuChung = (item, key) => {\r\n if (listDaChon == null) {\r\n listDaChon = [];\r\n }\r\n if (listDacDiemTrieuChung[key].ClassCss == \"selected-dacdiemtrieuchung\") {\r\n listDacDiemTrieuChung[key].ClassCss = \"\";\r\n for (let index = 0; index < listDaChon.length; index++) {\r\n if (listDaChon[index].Id == item.Id) {\r\n listDaChon.splice(index, 1);\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n listDacDiemTrieuChung[key].ClassCss = \"selected-dacdiemtrieuchung\";\r\n listDaChon.push(item);\r\n }\r\n setListDacDiemTrieuChung([...listDacDiemTrieuChung]);\r\n setListDaChon([...listDaChon]);\r\n }\r\n\r\n const removeDacDiemTrieuChung = (item, key) => {\r\n for (let index = 0; index < listDacDiemTrieuChung.length; index++) {\r\n if (listDacDiemTrieuChung[index].Id == item.Id) {\r\n listDacDiemTrieuChung[index].ClassCss = \"\";\r\n }\r\n }\r\n listDaChon.splice(key, 1);\r\n setListDaChon([...listDaChon]);\r\n setListDacDiemTrieuChung([...listDacDiemTrieuChung]);\r\n }\r\n //#endregion\r\n\r\n const onClickChuanDoanBenh = () => {\r\n setIsXemKetQua(false);\r\n $('#modalchuandoansaubenh').modal('show');\r\n }\r\n\r\n const handleClose = () => {\r\n $('#modalchuandoansaubenh').modal('hide');\r\n $('#modalchuandoansaubenh').modal('dispose');\r\n // props.handleClose();\r\n }\r\n\r\n const onClickXemKetQua = () => {\r\n if (listDaChon.length > 0) {\r\n setIsXemKetQua(true);\r\n var listBieuHien = [];\r\n listDaChon.forEach(element => {\r\n listBieuHien.push(element.IdSauBenh);\r\n });\r\n var params = {\r\n listBieuHien: listBieuHien.toString()\r\n }\r\n // TrieuChungApi.getAll().then((response) => {\r\n SauBenhApi.getByTrieuChung(params).then((response) => {\r\n setListSauBenh(response);\r\n })\r\n }\r\n }\r\n\r\n const onClickXemChiTiet = (item) => {\r\n setDacDiemTrieuChung(item);\r\n setShow(true);\r\n }\r\n\r\n const handleCloseChiTiet = () => {\r\n setShow(false);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n

Lựa chọn triệu chứng

\r\n
\r\n {\r\n listDacDiemTrieuChung.map((item, key) => {\r\n return (\r\n
\r\n
\r\n
selectedDacDiemTrieuChung(item, key)}>\r\n {item.TenCayTrong}\r\n
\r\n {item.MoTa}\r\n
\r\n
\r\n onClickXemChiTiet(item)}>\r\n Xem chi tiế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 {isXemKetQua == false &&\r\n
Triệu chứng đã chọn
\r\n }\r\n {isXemKetQua == true &&\r\n
Kết quả chẩn đoán bệnh
\r\n }\r\n \r\n
\r\n
\r\n {isXemKetQua == false &&\r\n <>\r\n {listDaChon.length == 0 &&\r\n
\r\n \r\n
\r\n }\r\n {\r\n listDaChon.map((item, key) => {\r\n return (\r\n <>\r\n
\r\n {item.TenCayTrong}\r\n
\r\n {item.MoTa}\r\n
\r\n
\r\n removeDacDiemTrieuChung(item, key)}>Xóa\r\n
\r\n
\r\n \r\n )\r\n })\r\n }\r\n \r\n }\r\n {isXemKetQua == true &&\r\n <>\r\n
\r\n

Kết quả chẩn đoán.

\r\n
\r\n {listSauBenh.map((item, key) => {\r\n return (\r\n
\r\n {item.TenSauBenh}\r\n
\r\n
\r\n {item.TenSauBenh}\r\n
\r\n
\r\n {item.MoTa}\r\n
\r\n
\r\n
\r\n )\r\n })\r\n }\r\n \r\n }\r\n
\r\n
\r\n {isXemKetQua == false &&\r\n \r\n }\r\n {isXemKetQua == true &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n Triệu chứng\r\n \r\n \r\n
\r\n
\r\n {dacDiemTrieuChung.SauBenh}\r\n
\r\n
\r\n {dacDiemTrieuChung.GiaiDoan}\r\n
\r\n
\r\n {dacDiemTrieuChung.TenSauBenh}\r\n
\r\n
\r\n {dacDiemTrieuChung.MoTa}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n )\r\n}\r\n","import { Button, Modal } from 'react-bootstrap';\r\nimport React, { useEffect, useState } from 'react'\r\nimport NumberFormat from 'react-number-format';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../../shared/loading/Loading';\r\nimport stylelocal from \"./TraCuu.module.css\"\r\nimport { TrieuChungSauBenh } from '../tracuusaubenh/trieuchungsaubenh'\r\n\r\nexport const ModalTraCuu = (props) => {\r\n const [thongTin, setThongTin] = useState({});\r\n const [show, setShow] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [timKiem, setTimKiem] = useState({});\r\n\r\n useEffect(() => {\r\n if (props.show == true) {\r\n if (props.x) {\r\n const params = {\r\n x: props.x,\r\n y: props.y,\r\n tableName: 'BDVUNGDUAN'\r\n }\r\n setLoading(true);\r\n BanDoPublicApi.getDetail(params).then((res) => {\r\n if(res?.ten_huyen == null){\r\n ThongBao.prinWarningMessage('Không có thông tin.');\r\n setLoading(false);\r\n props.handleClose();\r\n }\r\n else{\r\n setTimKiem({ IdCayTrong: res.htsd , IdQuanHuyen: res.mahuyen, IdXaPhuong: res.id_xa, Thang: 0});\r\n setThongTin(res);\r\n setShow(true);\r\n setLoading(false);\r\n }\r\n \r\n });\r\n }\r\n else {\r\n ThongBao.prinWarningMessage('Bạn chưa chọn khoảnh đất.');\r\n props.handleClose();\r\n }\r\n }\r\n }, [props.show]);\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n props.handleClose();\r\n };\r\n\r\n return (\r\n \r\n \r\n Tra cứu sâu bệnh.\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\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 LichSuChanDoanApi = {\r\n getPaging: (params) => {\r\n const url = '/lichsuchandoan/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n delete: (id) =>{\r\n const url = '/lichsuchandoan/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n add: (data) =>{\r\n const url = '/lichsuchandoan/add';\r\n return axiosClient.post(url, data);\r\n },\r\n}\r\n \r\nexport default LichSuChanDoanApi;","import { Button, Modal } from 'react-bootstrap';\r\nimport React, { useEffect, useState } from 'react'\r\nimport NumberFormat from 'react-number-format';\r\nimport BanDoPublicApi from '../../api/BanDoPublicApi';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../../shared/loading/Loading';\r\nimport Select from 'react-select';\r\nimport SauBenhApi from '../../api/SauBenhApi';\r\nimport LichSuChanDoanApi from '../../api/LichSuChanDoanApi';\r\n\r\nexport const DuDoanDichHai = (props) => {\r\n const [thongTin, setThongTin] = useState({});\r\n const [show, setShow] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [giaiDoan, setGiaiDoan] = useState({});\r\n const [optionGiaiDoans, setOptionGiaiDoan] = useState([{ value: 0, label: 'Chọn giai đoạn' }]);\r\n const [listSauBenh, setListSauBenh] = useState([]);\r\n const [sauBenh, setSauBenh] = useState('');\r\n const [soDiemNhiem, setSoDiemNhiem] = useState();\r\n const [matDo, setMatDo] = useState();\r\n const [dienTich, setDienTich] = useState();\r\n const [ ketQua, setKetQua] = useState({});\r\n\r\n const [optionSauBenhs, setOptionSauBenh] = useState([{ value: 0, label: 'Chọn sâu bệnh' }]);\r\n\r\n useEffect(() => {\r\n if (props.show == true) {\r\n if (props.x) {\r\n const params = {\r\n x: props.x,\r\n y: props.y,\r\n tableName: 'BDVUNGDUAN'\r\n }\r\n setLoading(true);\r\n BanDoPublicApi.getDetail(params).then((res) => {\r\n if (res?.ten_huyen == null) {\r\n ThongBao.prinWarningMessage('Không có thông tin.');\r\n setLoading(false);\r\n props.handleClose();\r\n }\r\n else {\r\n setThongTin(res);\r\n loadSauBenh(res.htsd);\r\n setDienTich(res.dientich);\r\n setShow(true);\r\n setLoading(false);\r\n }\r\n\r\n });\r\n }\r\n else {\r\n ThongBao.prinWarningMessage('Bạn chưa chọn khoảnh đất.');\r\n props.handleClose();\r\n }\r\n }\r\n }, [props.show]);\r\n\r\n const loadSauBenh = async (maCayTrong) => {\r\n const resPonse = await SauBenhApi.getAll();\r\n if (!resPonse.length == false) {\r\n let list = [];\r\n resPonse.map(x => {\r\n if (x.MaCayTrong === maCayTrong) {\r\n list.push({ value: x.Id, label: x.TenSauBenh, idCayTrong: x.IdCayTrong });\r\n }\r\n });\r\n setOptionSauBenh(list);\r\n }\r\n }\r\n\r\n const loadGiaiDoan = async (idSauBenh) => {\r\n const res = await SauBenhApi.getGiaiDoanSinhTruongBySauBenh(idSauBenh);\r\n let list = [];\r\n res.forEach(item => {\r\n list.push({value: item.Id, label: item.Ten, donVi: item.DonVi, tieuChuan: item.TieuChuan});\r\n });\r\n if(list.length > 0){\r\n setGiaiDoan(list[0]);\r\n }\r\n else{\r\n setGiaiDoan(null);\r\n }\r\n setOptionGiaiDoan(list);\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n props.handleClose();\r\n };\r\n\r\n const onChangeSelect = (optionSelected) => {\r\n setSauBenh(optionSelected);\r\n loadGiaiDoan(optionSelected.value);\r\n\r\n }\r\n\r\n const onChangeSelectGiaiDoan = (optionSelected) => {\r\n setGiaiDoan(optionSelected);\r\n }\r\n\r\n const onchangeSoDiemNhiem = (e) => {\r\n const sodiem = parseInt(e.target.value);\r\n if (sodiem < 1) {\r\n ThongBao.printErrorMessage(`Giá trị nhập thấp hơn mức năng suất tối thiểu (1 điểm)`);\r\n setSoDiemNhiem(1);\r\n return;\r\n }\r\n if (sodiem > 10) {\r\n ThongBao.printErrorMessage(`Giá trị nhập vượt quá mức năng suất tối đa (10 điểm)`);\r\n setSoDiemNhiem(10);\r\n return;\r\n }\r\n setSoDiemNhiem(sodiem);\r\n }\r\n\r\n const onchangeDienTich = (e) => {\r\n const dt = parseFloat(e.target.value);\r\n setDienTich(dt);\r\n\r\n }\r\n\r\n const onchangeMatDo = (e) => {\r\n const md = parseFloat(e.target.value);\r\n setMatDo(md);\r\n }\r\n\r\n\r\n\r\n const chuanDoan = () => {\r\n if(matDo == null || soDiemNhiem == null || giaiDoan == null){\r\n ThongBao.printErrorMessage(`Bạn chưa điền đủ các thông tin cần thiết.`);\r\n return;\r\n }\r\n let mucDoNhiem = 'Không nhiễm';\r\n if(matDo >= giaiDoan.tieuChuan * 0.5 && matDo <= giaiDoan.tieuChuan){\r\n mucDoNhiem = 'Nhiễm nhẹ';\r\n }\r\n if(matDo > giaiDoan.tieuChuan && matDo <= giaiDoan.tieuChuan * 2){\r\n mucDoNhiem = 'Nhiễm trung bình';\r\n }\r\n if(matDo > giaiDoan.tieuChuan * 2){\r\n mucDoNhiem = \"Nhiễm nặng\";\r\n }\r\n setKetQua({\r\n MucDoNhiem: mucDoNhiem,\r\n DienTichNhiem: soDiemNhiem/10*dienTich\r\n });\r\n const data = {\r\n IdCayTrong: sauBenh.idCayTrong,\r\n IdSauBenh: sauBenh.value,\r\n IdGiaiDoan: giaiDoan.value,\r\n MatDo: matDo,\r\n MucDoNhiem: mucDoNhiem,\r\n ToaDoX: props.x,\r\n ToaDoY: props.y\r\n }\r\n LichSuChanDoanApi.add(data);\r\n }\r\n\r\n return (\r\n \r\n \r\n Chẩn đoán dịch hại.\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\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","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 { ModalTraCuu } from '../modaltracuu/ModalTraCuu';\r\nimport { DuDoanDichHai } from '../../shared/dudoandichhai/DuDoanDichHai';\r\n\r\nexport const BanDo = (props) => {\r\n const view = new ol.View({\r\n center: [11728080.0278, 2357260.9077],\r\n zoom: 10.2,\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 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 const [showTraCuu, setShowTraCuu] = useState(false);\r\n const [showDuDoan, setShowDuDoan] = useState(false);\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 tra cứu sâu bệnh Hòa Bình'],\r\n url: 'https://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 if(props.showTraCuu > 0){\r\n setShowTraCuu(true);\r\n }\r\n }, [props.showTraCuu]);\r\n\r\n useEffect(() => {\r\n if(props.showDuDoan > 0){\r\n setShowDuDoan(true);\r\n }\r\n }, [props.showDuDoan]);\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 === '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 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 let features = new ol.format.GeoJSON().readFeatures(thongTin.geomjson);\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n features = new ol.format.GeoJSON({ featureProjection: 'EPSG:3857', defaultDataProjection: 'EPSG:4326' }).readFeatures(thongTin.geomjson);\r\n }\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 }\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 console.log(e);\r\n thongTin = await BanDoPublicApi.getById(e);\r\n setThongTin(thongTin);\r\n console.log(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: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:3857',\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', '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 let coordinate = evt.coordinate;\r\n if(map.getView().getProjection().getCode() === 'EPSG:3857'){\r\n coordinate = new ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');\r\n }\r\n loadThongTin(coordinate[0], 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 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 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 //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 ? `mahuyen IN (${props.listHuyens.map(x => x.Ma).join(',')})` : 'mahuyen=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 }, [props.listHuyens]);\r\n\r\n useEffect(() => {\r\n if (props.maXa !== '') {\r\n setLoading(true);\r\n TimKiemApi.getXaDetail({ maXa: props.maXa }).then((res) => {\r\n if (res.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 let features = new ol.format.GeoJSON().readFeatures(res.geomjson);\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n features = new ol.format.GeoJSON({ featureProjection: 'EPSG:3857', defaultDataProjection: 'EPSG:4326' }).readFeatures(res.geomjson);\r\n }\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 map.addLayer(vectorSelect);\r\n }\r\n const center = vectorSelect.getSource().getFeatures()[0].getGeometry().getExtent();\r\n const toaDo = new ol.extent.getCenter(center);\r\n flyTo(toaDo, 13);\r\n setLoading(false);\r\n }, err => {\r\n setLoading(false);\r\n })\r\n }\r\n }, [props.maXa]);\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 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 > 1000000) {\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 > 1000) {\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 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: 'mahuyen 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 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()) {\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()) {\r\n let params = {\r\n CQL_FILTER: props.listHuyens.length > 0 ? `mahuyen IN (${props.listHuyens.map(x => x.Ma).join(',')}) AND ${selectGhiChu.TimKiemGhiChu} IN (${e})` : 'mahuyen=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 changeProjection = (event) => {\r\n // console.log(event.target.value);\r\n const newProj = new ol.proj.get(event.target.value);\r\n const center = event.target.value == 'EPSG:3857' ? [11728080.0278, 2357260.9077] : new ol.proj.transform([11728080.0278, 2357260.9077], '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: 10.2,\r\n minZoom: 9,\r\n maxZoom: 17,\r\n // extent: newProjExtent\r\n });\r\n // map.getView().getCenter()\r\n map.setView(view);\r\n // setMap(map);\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 return (\r\n
\r\n
\r\n
\r\n\r\n
\r\n updateTableSelect(e)}>\r\n \r\n
\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={props.mobile?80:126}>\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 showTraCuu? setShowTraCuu(false)} x={x} y={y}>:''\r\n }\r\n {\r\n showDuDoan? setShowDuDoan(false)} x={x} y={y}>:''\r\n }\r\n \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.Ma, label: item.Ten, Ma: item.Ma });\r\n });\r\n setQuanHuyen(list);\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: \"Tỉnh Hòa Bình\",\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","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 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 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 }\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 tập tin hướng dẫn tại đây)
\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 LuotTruyCapApi = {\r\n\r\n post: (data) =>{\r\n const url = '/luottruycap/add';\r\n return axiosClient.post(url, data);\r\n },\r\n getAll: (params) =>{\r\n const url = '/luottruycap/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default LuotTruyCapApi;","import React, { useState, useEffect } from 'react';\r\nimport PostCategoryApi from '../src/api/PostCategoryApi';\r\nimport { NavLink, useHistory } from 'react-router-dom';\r\nimport LienHeApi from './api/LienHeApi';\r\nimport { HuongDan } from './public/huongdan/HuongDan';\r\nimport Authen from './core/Authen';\r\nimport LuotTruyCapApi from './api/LuotTruyCapApi';\r\n\r\nexport const Header = (props) => {\r\n const apiUrl = process.env.REACT_APP_URL;\r\n const [listPostCategoris, setListPostCategories] = useState([]);\r\n const [lienHe, setLienHe] = useState({});\r\n const [showHuongDan, setShowHuongDan] = useState(false);\r\n const loadPostCategories = async () => {\r\n const res = await PostCategoryApi.getMenu();\r\n setListPostCategories(res);\r\n }\r\n let history = useHistory();\r\n const [nhanVien, setNhanVien] = useState({});\r\n\r\n const loadLienHe = async () => {\r\n const params = {\r\n keyword: '',\r\n pageIndex: 1,\r\n pageSize: 20\r\n }\r\n const res = await LienHeApi.getLienHe(params);\r\n if (res.Items.length > 0) {\r\n setLienHe(res.Items[0]);\r\n if (props.changedLienHe) {\r\n props.changedLienHe(res.Items[0]);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const session = sessionStorage.getItem(\"TRUYCAP\");\r\n if(session == null){\r\n sessionStorage.setItem(\"TRUYCAP\", 1);\r\n LuotTruyCapApi.post();\r\n }\r\n setNhanVien(Authen.getUser());\r\n loadPostCategories();\r\n loadLienHe();\r\n }, []);\r\n\r\n const logout = () => {\r\n localStorage.removeItem(process.env.REACT_APP_TOKEN);\r\n history.push(\"/public\");\r\n history.go(0);\r\n }\r\n\r\n const showHuongDanClick = () => {\r\n setShowHuongDan(true);\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import React, { useEffect, useState } from 'react'\r\nimport { useLocation } from 'react-router-dom';\r\nimport { BanDo } from './bando/BanDo';\r\nimport { SelectHuyenMulti } from '../shared/selecthuyenmulti/SelectHuyenMulti';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport TimKiemApi from '../api/TimKiemApi';\r\nimport { Header } from '../header';\r\nimport { HuongDan } from './huongdan/HuongDan';\r\n\r\nexport const Public = () => {\r\n const [urlFunction, setUrlFunction] = useState({});\r\n const [printMap, setPrintMap] = useState(0);\r\n const [listFilters, setListFilter] = useState([]);\r\n const [valueFilter, setValueFilter] = useState('');\r\n var requestTimer = null;\r\n const [maXa, setMaXa] = useState('');\r\n const [listHuyens, setListHuyen] = useState([]);\r\n const [countTraCuu, setCountTraCuu] = useState(0);\r\n const [mobile, setMobile] = useState(false);\r\n const [countDuDoan, setCountDuDoan] = useState(0);\r\n\r\n const onPrint = () => {\r\n setPrintMap(printMap + 1);\r\n }\r\n\r\n const showTraCuu = () => {\r\n setCountTraCuu(countTraCuu + 1);\r\n }\r\n\r\n const showDuDoan = () => {\r\n setCountDuDoan(countDuDoan + 1);\r\n }\r\n\r\n const getIdHuyen = (listHuyens) => {\r\n setListHuyen(listHuyens)\r\n }\r\n\r\n const localtion = useLocation();\r\n useEffect(() => {\r\n setPrintMap(0);\r\n if(localtion.pathname === '/public/ban-do-chuyen-de-mobile'){\r\n setMobile(true);\r\n }\r\n }, [localtion.pathname]);\r\n\r\n return (\r\n
\r\n {\r\n mobile === false?
:''\r\n } \r\n
\r\n
\r\n
\r\n
    \r\n
    \r\n
  • \r\n \r\n
  • \r\n
    \r\n
  • \r\n \r\n
  • \r\n
    \r\n
  • \r\n \r\n
  • \r\n
    \r\n
  • \r\n \r\n Đăng nhập\r\n \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 FolderApi = {\r\n getPaging: (params) => {\r\n const url = '/folder/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/folder/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/folder/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/folder/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/folder/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'folder/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default FolderApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst UploadFileApi = {\r\n // getPaging: (params) => {\r\n // const url = '/upload/paging';\r\n // return axiosClient.get(url, {params});\r\n // },\r\n\r\n // getDetail: (id) =>{\r\n // const url = '/upload/getbyid/' + id;\r\n // return axiosClient.get(url);\r\n // },\r\n\r\n post: (data,idFolder) =>{\r\n const url = '/upload/addtaptin?idfolder='+idFolder;\r\n return axiosClient.post(url, data);\r\n }\r\n\r\n // put: (data) => {\r\n // const url = '/upload/edit';\r\n // return axiosClient.put(url, data);\r\n // },\r\n\r\n // delete: (id) =>{\r\n // const url = '/upload/delete/' + id;\r\n // return axiosClient.delete(url);\r\n // },\r\n // getAll: (params) =>{\r\n // const url = 'upload/getall';\r\n // return axiosClient.get(url, {params});\r\n // }\r\n}\r\n\r\nexport default UploadFileApi;","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst FileApi = {\r\n getPaging: (params) => {\r\n const url = '/file/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/file/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/file/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/file/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/file/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'file/getall';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default FileApi;","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 { Public } from '../../public/Public';\r\nimport { composeCssTransform, set } from 'ol/transform';\r\nimport './QuanLyTapTin.css';\r\nimport Tree from 'rc-tree';\r\nimport '../../../node_modules/rc-tree/assets/index.css'\r\n\r\nimport FolderApi from '../../api/FolderApi';\r\nimport UploadFileApi from '../../api/UploadFile';\r\nimport FileApi from '../../api/FileApi';\r\nimport axios from 'axios';\r\n\r\nexport const QuanLyTapTin = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n const [listPostCategory, setLopBanDo] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n props.closeModal();\r\n setShow(false);\r\n };\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 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 useEffect(() => {\r\n if (props.viewModal === true) {\r\n reset({\r\n Gid: props.viewModal\r\n }, [reset])\r\n loadAllFolder(true);\r\n setParentItem({});\r\n setShow(true);\r\n }\r\n }, [props.viewModal]);\r\n\r\n\r\n var [parentItem, setParentItem] = useState({});\r\n const [showFolder, setShowFolder] = useState(false);\r\n const handleCloseFolder = () => setShowFolder(false);\r\n const handleShowAddFolder = () => {\r\n reset({\r\n Id: 0,\r\n Name: \"\",\r\n ParentId: parentItem.key,\r\n ParentName: parentItem.title\r\n }, [reset]);\r\n setShowFolder(true);\r\n };\r\n const handleShowEditFolder = () => {\r\n if (parentItem.key != null) {\r\n FolderApi.getDetail(parentItem.key).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Name: response.Name,\r\n ParentId: parentItem.key,\r\n ParentName: parentItem.title\r\n }, [reset]);\r\n setShowFolder(true);\r\n });\r\n }\r\n }\r\n const handleShowDelFolder = () => {\r\n if (parentItem.key != null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstId = [];\r\n lstId.push(parentItem.key);\r\n FolderApi.delete(lstId).then(() => {\r\n loadAllFolder();\r\n })\r\n });\r\n }\r\n }\r\n const saveDataFolder = (data) => {\r\n if (data.Id === \"0\") {\r\n data.Status = true;\r\n FolderApi.post(data).then(() => {\r\n setShowFolder(false);\r\n loadAllFolder();\r\n })\r\n }\r\n else {\r\n FolderApi.put(data).then(() => {\r\n setShowFolder(false);\r\n loadAllFolder();\r\n })\r\n }\r\n }\r\n const loadAllFolder = async (isLoadFile = false) => {\r\n try {\r\n const response = await FolderApi.getAll();\r\n debugger;\r\n var tree = buildTree(response, null);\r\n if (tree == null) {\r\n tree = [];\r\n }\r\n setTreeData(tree);\r\n if (isLoadFile == true) {\r\n if (tree.length > 0) {\r\n setParentItem({ key: tree[0].key });\r\n parentItem = { key: tree[0].key };\r\n loadPagingUpload();\r\n }\r\n }\r\n } catch (err) {\r\n }\r\n };\r\n const buildTree = (data, parentId) => {\r\n var lstTemp = data.filter(x => x.ParentId == parentId);\r\n if (lstTemp.length > 0) {\r\n var lstKetQua = [];\r\n lstTemp.forEach(element => {\r\n var child = buildTree(data, element.Id);\r\n if (child == null) {\r\n lstKetQua.push({ key: element.Id, title: element.Name });\r\n }\r\n else {\r\n lstKetQua.push({ key: element.Id, title: element.Name, children: child });\r\n }\r\n });\r\n return lstKetQua;\r\n }\r\n return null;\r\n }\r\n const [treeData, setTreeData] = useState([]);\r\n\r\n const [showUpload, setShowUpload] = useState(false);\r\n const [fileSelected, setFileSelected] = useState({});\r\n let pageIndexUpload = 1;\r\n var [listFile, setListFile] = useState([]);\r\n const [paginationConfigUpload, setPagingUpload] = 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 pageIndexUpload = page;\r\n loadPagingUpload();\r\n }\r\n });\r\n const loadPagingUpload = async () => {\r\n if (parentItem.key != null) {\r\n try {\r\n const params = {\r\n pageIndex: pageIndexUpload,\r\n pageSize: pageSize,\r\n idFolder: parentItem.key\r\n }\r\n const response = await FileApi.getPaging(params);\r\n paginationConfigUpload.totalPages = Math.ceil(response.TotalRow / pageSize);\r\n paginationConfigUpload.currentPage = pageIndex;\r\n paginationConfigUpload.onClick = function (page) {\r\n pageIndexUpload = page;\r\n loadPagingUpload();\r\n };\r\n if (response.Items.length == 0) {\r\n\r\n paginationConfigUpload.totalPages = 1;\r\n }\r\n setPagingUpload(paginationConfigUpload);\r\n response.Items.forEach(element => {\r\n element.Checked = false;\r\n });\r\n debugger;\r\n response.Items.forEach(element => {\r\n debugger;\r\n let extension = \"\";\r\n let index = element.Name.lastIndexOf(\".\");\r\n if (index > 0) {\r\n extension = element.Name.substring(index).toLowerCase();\r\n }\r\n if (extension == \".jpg\" || extension == \".jpge\" || extension == \".gif\" || extension == \".png\" || extension == \".ico\" || extension == \".jpg\") {\r\n element.Icon = element.Path + \"/\" + element.Name;\r\n }\r\n else if (extension == \".pdf\") {\r\n element.Icon = \"/uploadfiles/website/file-pdf.png\";\r\n }\r\n else if (extension == \".doc\" || extension == \".docx\") {\r\n element.Icon = \"/uploadfiles/website/file-word.png\";\r\n }\r\n else if (extension == \".xls\" || extension == \".xlsx\") {\r\n element.Icon = \"/uploadfiles/website/file-excel.png\";\r\n }\r\n else if (extension == \".rar\") {\r\n element.Icon = \"/uploadfiles/website/file-winrar.png\";\r\n }\r\n else {\r\n element.Icon = \"/uploadfiles/website/file-other.png\";\r\n }\r\n });\r\n setListFile(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n }\r\n const [listFileUpload, setListFileUpload] = useState([]);\r\n const handleCloseUpload = () => setShowUpload(false);\r\n const handleShowAddUpload = () => {\r\n if (parentItem.key != null) {\r\n reset({\r\n\r\n }, [reset]);\r\n setShowUpload(true);\r\n }\r\n };\r\n const handleShowDelUpload = () => {\r\n if (fileSelected.Id != null) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lst=[];\r\n lst.push(fileSelected.Id);\r\n FileApi.delete(lst).then(() => {\r\n loadPagingUpload();\r\n })\r\n });\r\n }\r\n }\r\n const onChangeHandlerUpload = event => {\r\n console.log(event.target.files);\r\n setListFileUpload(event.target.files);\r\n }\r\n const handleChenAnh = () => {\r\n if (fileSelected.Id != null) {\r\n props.onFileSelected(fileSelected.Path + \"/\" + fileSelected.Name);\r\n handleClose();\r\n }\r\n };\r\n const handleDbClickImage = (item) => {\r\n const lst = Object.assign([], listFile);\r\n lst.forEach(element => {\r\n if (element.Id == item.Id) {\r\n element.Checked = true;\r\n }\r\n else {\r\n element.Checked = false;\r\n }\r\n });\r\n setListFile(lst);\r\n setFileSelected(item);\r\n props.onFileSelected(item.Path + \"/\" + item.Name);\r\n handleClose();\r\n }\r\n const handleClickImage = (item) => {\r\n const lst = Object.assign([], listFile);\r\n lst.forEach(element => {\r\n if (element.Id == item.Id) {\r\n element.Checked = true;\r\n }\r\n else {\r\n element.Checked = false;\r\n }\r\n });\r\n setListFile(lst);\r\n setFileSelected(item);\r\n }\r\n const saveDataUpload = (data) => {\r\n debugger;\r\n if (listFileUpload.length > 0) {\r\n let data = new FormData();\r\n for (let index = 0; index < listFileUpload.length; index++) {\r\n data.append('file', listFileUpload[index])\r\n }\r\n console.log(data);\r\n UploadFileApi.post(data, parentItem.key).then(() => {\r\n debugger;\r\n pageIndexUpload = 1;\r\n loadPagingUpload();\r\n setShowUpload(false);\r\n })\r\n }\r\n }\r\n\r\n const onSelect = (selectedKeys, info) => {\r\n if (info.selectedNodes.length > 0) {\r\n parentItem = info.selectedNodes[0];\r\n setParentItem(info.selectedNodes[0]);\r\n loadPagingUpload();\r\n }\r\n else {\r\n setParentItem({});\r\n\r\n }\r\n };\r\n const treeRef = React.useRef();\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 setLopBanDo(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n /* useEffect(() => {\r\n loadCategory();\r\n loadDanhMucCha();\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 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 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 setLopBanDo([...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 Status: response.Status,\r\n MetaKeyword: response.MetaKeyword,\r\n MetaDescription: response.MetaDescription,\r\n IconCss: response.IconCss\r\n }, [reset]);\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 return (\r\n
\r\n \r\n \r\n Quản lý tập 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 Tìm kiêm\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n listFile.map((item, key) => {\r\n return (\r\n
handleClickImage(item)} onDoubleClick={() => handleDbClickImage(item)}>\r\n
\r\n
\r\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 Folder\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\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.Name && 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 Upload file\r\n \r\n \r\n
\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 LienHeApi from '../../../api/LienHeApi';\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 { CKEditor } from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport Authen from '../../../core/Authen';\r\nimport { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\n\r\nexport const LienHe = () => {\r\n const [listLienHes, setListLienHe] = 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 [lienHe, setLienHe] = useState({});\r\n const [ckdData, setckdData] = useState('');\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n\r\n const { handleSubmit, register, reset, errors } = useForm();\r\n\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [viewModal, setViewModal] = useState(false);\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 loadLienHe();\r\n }\r\n }\r\n });\r\n\r\n var pageIndex = 1, pageSize = 20;\r\n\r\n const loadLienHe = 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 LienHeApi.getLienHe(params);\r\n res.Items.map((x) => {\r\n x.Checked = false\r\n });\r\n setListLienHe(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 setLienHe({});\r\n }\r\n catch {\r\n }\r\n\r\n }\r\n\r\n useEffect(() => {\r\n loadLienHe();\r\n setRoleEdit(Authen.checkQuyen('LIENHE_UPDATE'));\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 loadLienHe();\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n setIsXem(false);\r\n setckdData(lienHe.other);\r\n }\r\n const handleShow = () => {\r\n let index = listLienHes.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n LienHeApi.getDetail(listLienHes[index].Id).then((x) => {\r\n reset({\r\n id: x.id,\r\n name: x.name,\r\n phone: x.phone,\r\n email: x.email,\r\n website: x.website,\r\n address: x.address,\r\n other: x.other,\r\n lat: x.lat,\r\n lng: x.lng,\r\n status: x.status,\r\n logo: x.logo,\r\n facebook: x.facebook,\r\n youtube: x.youtube,\r\n youtubedetail: x.youtubedetail,\r\n google: x.google,\r\n hotline: x.hotline,\r\n description: x.description,\r\n zalo: x.zalo,\r\n instagram: x.instagram,\r\n fax: x.fax,\r\n sologan1: x.sologan1,\r\n sologan2: x.sologan2\r\n }, [reset])\r\n setIsEdit(true);\r\n setLienHe(x);\r\n setSrcImage(x.logo);\r\n });\r\n }\r\n\r\n\r\n setIsXem(false);\r\n setShow(true);\r\n }\r\n\r\n const rowClick = (id) => {\r\n listLienHes.map((x) => {\r\n if (x.id === id) {\r\n x.Checked = !x.Checked;\r\n }\r\n });\r\n setListLienHe([...listLienHes]);\r\n let index = listLienHes.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n setIsEdit(true);\r\n }\r\n\r\n }\r\n\r\n const handleShowData = () => {\r\n let index = listLienHes.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n LienHeApi.getDetail(listLienHes[index].id).then((x) => {\r\n reset({\r\n id: x.id,\r\n name: x.name,\r\n phone: x.phone,\r\n email: x.email,\r\n website: x.website,\r\n address: x.address,\r\n other: x.other,\r\n lat: x.lat,\r\n lng: x.lng,\r\n status: x.status,\r\n logo: x.logo,\r\n facebook: x.facebook,\r\n youtube: x.youtube,\r\n youtubedetail: x.youtubedetail,\r\n google: x.google,\r\n hotline: x.hotline,\r\n description: x.description,\r\n zalo: x.zalo,\r\n instagram: x.instagram,\r\n fax: x.fax,\r\n sologan1: x.sologan1,\r\n sologan2: x.sologan2\r\n }, [reset])\r\n setIsEdit(true);\r\n setLienHe(x);\r\n setSrcImage(x.logo);\r\n });\r\n }\r\n setIsXem(true);\r\n setShow(true);\r\n }\r\n\r\n const changeCK = (event, editor) => {\r\n\r\n setckdData(editor.getData());\r\n\r\n }\r\n\r\n const changeTab = () => {\r\n reset({\r\n id: lienHe.id,\r\n name: lienHe.name,\r\n phone: lienHe.phone,\r\n email: lienHe.email,\r\n website: lienHe.website,\r\n address: lienHe.address,\r\n other: lienHe.other,\r\n lat: lienHe.lat,\r\n lng: lienHe.lng,\r\n status: lienHe.status,\r\n logo: lienHe.logo,\r\n facebook: lienHe.facebook,\r\n youtube: lienHe.youtube,\r\n youtubedetail: lienHe.youtubedetail,\r\n google: lienHe.google,\r\n hotline: lienHe.hotline,\r\n description: lienHe.description,\r\n zalo: lienHe.zalo,\r\n instagram: lienHe.instagram,\r\n fax: lienHe.fax,\r\n sologan1: lienHe.sologan1,\r\n sologan2: lienHe.sologan2\r\n }, [reset])\r\n setckdData(lienHe.other);\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n data = lienHe;\r\n if (ckdData !== '') {\r\n data.other = ckdData;\r\n }\r\n data.logo = srcImage;\r\n LienHeApi.updateLienHe(data).then(() => {\r\n setShow(false);\r\n loadLienHe();\r\n });\r\n };\r\n\r\n\r\n const openModalImage = () => {\r\n setViewModal(true);\r\n }\r\n\r\n const closeModalImage = () => {\r\n setViewModal(false);\r\n }\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
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 {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 \r\n {\r\n listLienHes.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 công tyĐiện thoạiĐia chỉTrạng thái
\r\n item.Checked = e.target.value}>\r\n {item.Name}{item.Phone}{item.Address}{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 hệ\r\n \r\n \r\n \r\n \r\n Thông tin cơ bản\r\n Thông tin thêm\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Tên công ty *\r\n
\r\n
\r\n lienHe.name = e.target.value}>\r\n {errors.name && errors.name.message}\r\n
\r\n
\r\n
\r\n
\r\n Số điện thoại\r\n
\r\n
\r\n lienHe.phone = e.target.value}>\r\n
\r\n
\r\n Email *\r\n
\r\n
\r\n lienHe.email = e.target.value}>\r\n {errors.email && errors.email.message}\r\n
\r\n
\r\n
\r\n
\r\n Hotline\r\n
\r\n
\r\n lienHe.hotline = e.target.value}>\r\n
\r\n
\r\n Website\r\n
\r\n
\r\n lienHe.website = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Fax\r\n
\r\n
\r\n lienHe.fax = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Địa chỉ\r\n
\r\n
\r\n lienHe.address = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Facebook\r\n
\r\n
\r\n lienHe.facebook = e.target.value}>\r\n
\r\n
\r\n Youtube\r\n
\r\n
\r\n lienHe.youtube = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Zalo\r\n
\r\n
\r\n lienHe.zalo = e.target.value}>\r\n
\r\n
\r\n App IOS\r\n
\r\n
\r\n lienHe.instagram = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Sologan\r\n
\r\n
\r\n lienHe.sologan1 = e.target.value}>\r\n
\r\n
\r\n App Androi\r\n
\r\n
\r\n lienHe.sologan2 = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Kinh độ\r\n
\r\n
\r\n lienHe.lng = e.target.value}>\r\n
\r\n
\r\n Vĩ độ\r\n
\r\n
\r\n lienHe.lat = e.target.value}>\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 \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 setckdData(editor.getData())} />\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/add';\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/edit';\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n DeleteTrang: (Id) => {\r\n const url = '/Trang/delete/' + 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 getAll: (params) => {\r\n const url = '/Trang/getall';\r\n return axiosClient.get(url, { params });\r\n },\r\n\r\n getByAlias: (params) => {\r\n const url = '/trang/getbyalias';\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;\r\n\r\n\r\nexport const stringToNumber = (obj, allowNull = false) => {\r\n if (allowNull && obj == null) {\r\n return null;\r\n }\r\n if (isNaN(obj)) {\r\n return 0;\r\n }\r\n return +obj;\r\n};\r\n\r\nexport const stringIsNumber = (obj) => {\r\n if (obj == null) {\r\n return false;\r\n }\r\n obj = obj.toString().trim();\r\n if (isNaN(obj) || obj == \"\") {\r\n return false;\r\n }\r\n return true;\r\n};","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 '../../../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 Ultility from '../../../core/Ultility'\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 [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 const { handleSubmit, register, reset, errors } = useForm();\r\n const url = process.env.REACT_APP_URL;\r\n const [alias, setAlias] = useState(\"\");\r\n\r\n useEffect(() => {\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 }\r\n catch {\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 }\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 setIsXem(false);\r\n setSrcImage(noImage);\r\n setckdData(\"\");\r\n setAlias(\"\");\r\n setShow(true);\r\n }\r\n\r\n const handleShowEdit = (isXem) => {\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 setSrcImage(response?.image);\r\n setckdData(response?.content);\r\n setAlias(response?.alias);\r\n setIsXem(isXem);\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(x => {\r\n if (x.id === id) {\r\n x.Checked = !x.Checked;\r\n }\r\n });\r\n setListTrang([...listTrang]);\r\n let index = listTrang.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n setIsEdit(true);\r\n }\r\n }\r\n\r\n // const handleShowData = () => {\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 // setSrcImage(response.image);\r\n // setckdData(response.content);\r\n // setAlias(response.alias);\r\n // setIsXem(false);\r\n // setIsEdit(true);\r\n // setShow(true);\r\n // });\r\n // }\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 setckdData(editor.getData());\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 data.content = ckdData;\r\n if (data.alias === null || data.alias === '') {\r\n data.alias = Ultility.MakeSeoTitle(data.name);\r\n }\r\n if (data.id==\"0\") {\r\n data.id = 1;\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 loadTrang();\r\n reset({}, [reset]);\r\n }\r\n catch (ex) {\r\n }\r\n\r\n }\r\n\r\n const alertDell = () => {\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);\r\n loadTrang();\r\n setIsEdit(false);\r\n });\r\n }\r\n }\r\n\r\n const onChangeTen = (event) => {\r\n let str = \"\";\r\n str = Ultility.MakeSeoTitle(event.target.value);\r\n setAlias(str);\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 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
Tên trangAliasTrạ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
\r\n setAlias(e.target.value)} ref={register(\r\n { required: \"Tên alias không được trống\" }\r\n )}>\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 \r\n
\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 setckdData(editor.getData())}>\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 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 useEffect(() => {\r\n if(listQuanHuyens.length > 0){\r\n const index = listQuanHuyens.findIndex(x=>x.ma == props.maHuyen);\r\n if(index != -1){\r\n setSelectedOption(listQuanHuyens[index]);\r\n props.onChangeHuyenProps(listQuanHuyens[index]);\r\n }\r\n }\r\n }, [props.maHuyen])\r\n\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.Ma, label: item.Ten, ma: item.Ma });\r\n if(props.maHuyen == item.Ma){\r\n setSelectedOption({ value: item.Ma, label: item.Ten, ma: item.Ma });\r\n props.onChangeHuyenProps({ value: item.Ma, label: item.Ten, ma: item.Ma });\r\n }\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 styles={{ container: (base) => ({ ...base, zIndex: 500 }) }}\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 if (props.maHuyen == null) {\r\n setXa([]);\r\n }\r\n else {\r\n loadXa();\r\n }\r\n }, [props.maHuyen]);\r\n useEffect(() => {\r\n if (listXas.length > 0) {\r\n const index = listXas.findIndex(x => x.value == props.maXa);\r\n if (index != -1) {\r\n setSelectedOption(listXas[index]);\r\n props.onChangeXaProps(listXas[index]);\r\n }\r\n }\r\n }, [props.maXa])\r\n\r\n const loadXa = () => {\r\n let params = {\r\n maHuyen: props.maHuyen\r\n }\r\n QuanHuyenApi.getXaByHuyen(params).then((response) => {\r\n let list = [];\r\n response.forEach(item => {\r\n list.push({ value: item.maXa, label: item.tenXa });\r\n if (props.maXa == item.maXa) {\r\n setSelectedOption({ value: item.maXa, label: item.tenXa });\r\n props.onChangeXaProps({ value: item.maXa, label: item.tenXa });\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, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\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\nimport VungDuAnApi from '../../api/VungDuAnApi';\r\nimport ChuGiaiApi from '../../api/ChuGiaiApi';\r\n\r\nexport const ModalVungDuAn = (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 [listhtsd, setListhtsd] = useState([]);\r\n const [htsd, sethtsd] = 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 ma_px: props.thongTin.ma_px,\r\n text_xavn: props.thongTin.text_xavn,\r\n mahuyen: props.thongTin.mahuyen,\r\n text_huyen: props.thongTin.text_huyen,\r\n htsd: props.thongTin.htsd,\r\n dientich: props.thongTin.dientich\r\n }, [reset]);\r\n loadHienTrang();\r\n }\r\n }, [props.showModal]);\r\n\r\n const loadHienTrang = async () => {\r\n const res = await ChuGiaiApi.getVungDuAn();\r\n let list = [];\r\n res.forEach(item => {\r\n if(item.ma != 'SAU'){\r\n list.push({value: item.ma, label: item.ten});\r\n }\r\n })\r\n if (props.thongTin.htsd != null) {\r\n const index = list.findIndex(x => x.value == props.thongTin.htsd);\r\n if (index != -1) {\r\n sethtsd(list[index]);\r\n }\r\n }\r\n setListhtsd(list);\r\n }\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 const onchangeHienTrang = (e) => {\r\n sethtsd(e);\r\n }\r\n\r\n\r\n const onSubmit = (data) => {\r\n try {\r\n data.mahuyen = huyen.value;\r\n data.text_huyen = huyen.label;\r\n data.ma_px = xa.value;\r\n data.text_xavn = xa.label;\r\n data.geoText = props.thongTin.geoText;\r\n data.id = props.thongTin.id;\r\n data.htsd = htsd.value;\r\n setLoading(true);\r\n if (data.id != null) {\r\n VungDuAnApi.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 VungDuAnApi.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 Hiện trạng sử dụng\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
\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 { 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 { SelectHuyenMulti } from '../../shared/selecthuyenmulti/SelectHuyenMulti';\r\nimport Autocomplete from 'react-autocomplete';\r\nimport ThongBao from '../../core/ThongBao';\r\nimport Authen from '../../core/Authen';\r\nimport { ModalVungDuAn } from '../../shared/modaladdedit/ModalVungVuAn';\r\n\r\nexport const BanDo = (props) => {\r\n const view = new ol.View({\r\n center: [11728080.0278, 2357260.9077],\r\n zoom: 10.2,\r\n minZoom: 9,\r\n maxZoom: 17,\r\n projection: new ol.proj.get('EPSG:3857'),\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 const [loading, setLoading] = 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 const [listHuyens, setListHuyen] = useState([]);\r\n const [valueFilter, setValueFilter] = useState('');\r\n const [listFilters, setListFilter] = useState([]);\r\n var requestTimer = 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 tra cứu sâu bệnh Hòa Bình'],\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 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 const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\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 === '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 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 let features = new ol.format.GeoJSON().readFeatures(thongTin.geomjson);\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n features = new ol.format.GeoJSON({ featureProjection: 'EPSG:3857', defaultDataProjection: 'EPSG:4326' }).readFeatures(thongTin.geomjson);\r\n }\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 }\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 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: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:3857',\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', '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 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 let coordinate = evt.coordinate;\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n coordinate = new ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326');\r\n }\r\n loadThongTin(coordinate[0], 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 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 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 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 > 1000000) {\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 > 1000) {\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 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: 'mahuyen 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 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()) {\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()) {\r\n let params = {\r\n CQL_FILTER: props.listHuyens.length > 0 ? `mahuyen IN (${listHuyens.map(x => x.Ma).join(',')}) AND ${selectGhiChu.TimKiemGhiChu} IN (${e})` : 'mahuyen=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 changeProjection = (event) => {\r\n const newProj = new ol.proj.get(event.target.value);\r\n const center = event.target.value == 'EPSG:3857' ? [11728080.0278, 2357260.9077] : new ol.proj.transform([11728080.0278, 2357260.9077], '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: 10.2,\r\n minZoom: 9,\r\n maxZoom: 17,\r\n // extent: newProjExtent\r\n });\r\n // map.getView().getCenter()\r\n map.setView(view);\r\n // setMap(map);\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 getIdHuyen = (listHuyens) => {\r\n setListHuyen(listHuyens);\r\n if (listLopBanDos.length > 0) {\r\n let params = {\r\n CQL_FILTER: listHuyens.length > 0 ? `mahuyen IN (${listHuyens.map(x => x.Ma).join(',')})` : 'mahuyen=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 changeMaXa = (e) => {\r\n if (e !== undefined) {\r\n setLoading(true);\r\n TimKiemApi.getXaDetail({ maXa: e }).then((res) => {\r\n if (res.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 let features = new ol.format.GeoJSON().readFeatures(res.geomjson);\r\n if (map.getView().getProjection().getCode() === 'EPSG:3857') {\r\n features = new ol.format.GeoJSON({ featureProjection: 'EPSG:3857', defaultDataProjection: 'EPSG:4326' }).readFeatures(res.geomjson);\r\n }\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 map.addLayer(vectorSelect);\r\n }\r\n const center = vectorSelect.getSource().getFeatures()[0].getGeometry().getExtent();\r\n const toaDo = new ol.extent.getCenter(center);\r\n flyTo(toaDo, 13);\r\n setLoading(false);\r\n }, err => {\r\n setLoading(false);\r\n })\r\n }\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 // 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 dientich: ol.Sphere.getArea(e.feature.getGeometry())/10000\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.Ma;\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 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 setThongTinAddEdit(e);\r\n const ma = e.tableName;\r\n setShowModalAddEdit(ma);\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 return (\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
\r\n
\r\n updateTableSelect(e)}\r\n showEditThongTin={(e) => showEditThongTin(e)} admin={true}>\r\n \r\n
\r\n
\r\n onTimKiemNangCao(e)} listHuyens={listHuyens}\r\n loadThongTinById={(e) => loadThongTinById(e)}>\r\n getSelectGhiChu(e)} onSapXep={(e) => onSapXep(e)} admin={true}>\r\n \r\n timkiemGhiChu(e)} height=\"126\">\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}","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, { 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 \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\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 NhatKyDangNhapApi = {\r\n getPaging: (params) => {\r\n const url = '/nhatkydangnhap/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n delete: (id) =>{\r\n const url = '/nhatkydangnhap/delete/' + id;\r\n return axiosClient.delete(url);\r\n }\r\n}\r\n \r\nexport default NhatKyDangNhapApi;","import React, { useState, useEffect } from 'react'\r\nimport NhatKyDangNhapApi from '../../../api/NhatKyDangNhapApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport DateRangePicker from 'react-bootstrap-daterangepicker';\r\nimport 'bootstrap-daterangepicker/daterangepicker.css';\r\nimport moment from 'moment';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const NhatKyDangNhap = () => {\r\n const [listNhatKyDangNhaps, setNhatKyDangNhap] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [isEdit, setIsEdit] = useState(false);\r\n var [tuNgay, setTuNgay] = useState(new Date());\r\n var [denNgay, setDenNgay] = useState(new Date());\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 loadNhatKyDangNhap();\r\n }\r\n });\r\n\r\n const loadNhatKyDangNhap = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n tuNgay: moment(tuNgay).format('DD/MM/YYYY'),\r\n denNgay: moment(denNgay).format('DD/MM/YYYY')\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 setNhatKyDangNhap(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadNhatKyDangNhap();\r\n setRoleAdd(Authen.checkQuyen('NHATKYDANGNHAP_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('NHATKYDANGNHAP_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('NHATKYDANGNHAP_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadNhatKyDangNhap();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listNhatKyDangNhaps.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa bản ghi này không?\", () => {\r\n NhatKyDangNhapApi.delete(listNhatKyDangNhaps[index].Id).then(() => {\r\n ThongBao.printSuccessMessage(\"Xóa thành công!\");\r\n loadNhatKyDangNhap();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listNhatKyDangNhaps.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setNhatKyDangNhap([...listNhatKyDangNhaps]);\r\n let list = listNhatKyDangNhaps.filter(x => x.Checked);\r\n if (list.length !== 0) {\r\n setIsEdit(true);\r\n }\r\n else\r\n {\r\n setIsEdit(false);\r\n }\r\n }\r\n\r\n const handleCallback = (start, end, label) => {\r\n tuNgay = start;\r\n denNgay = end;\r\n setTuNgay(tuNgay);\r\n setDenNgay(denNgay);\r\n loadNhatKyDangNhap();\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
\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 listNhatKyDangNhaps.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
Tài khoảnNội dungThời gianĐịa chỉ Ip
\r\n
\r\n \r\n
\r\n
{item.TenDangNhap}{item.NoiDung}{item.Ngay}{item.Ip}
\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 NhatKySuDungApi = {\r\n getPaging: (params) => {\r\n const url = '/nhatkysudung/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n delete: (id) =>{\r\n const url = '/nhatkysudung/delete/' + id;\r\n return axiosClient.delete(url);\r\n }\r\n}\r\n \r\nexport default NhatKySuDungApi;","import React, { useState, useEffect } from 'react'\r\nimport NhatKySuDungApi from '../../../api/NhatKySuDungApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport DateRangePicker from 'react-bootstrap-daterangepicker';\r\nimport 'bootstrap-daterangepicker/daterangepicker.css';\r\nimport moment from 'moment';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const NhatKySuDung = () => {\r\n const [listNhatKySuDungs, setNhatKySuDung] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [isEdit, setIsEdit] = useState(false);\r\n var [tuNgay, setTuNgay] = useState(new Date());\r\n var [denNgay, setDenNgay] = useState(new Date());\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 loadNhatKySuDung();\r\n }\r\n });\r\n\r\n const loadNhatKySuDung = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n tuNgay: moment(tuNgay).format('DD/MM/YYYY'),\r\n denNgay: moment(denNgay).format('DD/MM/YYYY')\r\n }\r\n const response = await NhatKySuDungApi.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 setNhatKySuDung(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadNhatKySuDung();\r\n setRoleDel(Authen.checkQuyen('NHATKYSUDUNG_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadNhatKySuDung();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listNhatKySuDungs.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa bản ghi này không?\", () => {\r\n NhatKySuDungApi.delete(listNhatKySuDungs[index].Id).then(() => {\r\n ThongBao.printSuccessMessage(\"Xóa thành công!\");\r\n loadNhatKySuDung();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listNhatKySuDungs.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setNhatKySuDung([...listNhatKySuDungs]);\r\n let list = listNhatKySuDungs.filter(x => x.Checked);\r\n if (list.length !== 0) {\r\n setIsEdit(true);\r\n }\r\n else{\r\n setIsEdit(false);\r\n }\r\n }\r\n\r\n const handleCallback = (start, end, label) => {\r\n tuNgay = start;\r\n denNgay = end;\r\n setTuNgay(tuNgay);\r\n setDenNgay(denNgay);\r\n loadNhatKySuDung();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Nhật ký sử dụng
\r\n
\r\n
\r\n \r\n \r\n \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 listNhatKySuDungs.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
Tài khoảnNội dungThời gianĐịa chỉ Ip
\r\n
\r\n \r\n
\r\n
{item.TenDangNhap}{item.NoiDung}{item.Ngay}{item.Ip}
\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 DatabaseApi = {\r\n getPaging: (params) => {\r\n const url = '/database/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/database/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/database/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/database/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/database/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'database/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n restore: (data) =>{\r\n const url = '/database/restore';\r\n return axiosClient.post(url, data);\r\n }\r\n}\r\n\r\nexport default DatabaseApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport DatabaseApi from '../../../api/DatabaseApi';\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 { Loading } from '../../../shared/loading/Loading';\r\nimport * as moment from 'moment'\r\n\r\nexport const Database = () => {\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 [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [isChecked, setIsChecked] = 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 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 DatabaseApi.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 setRoleAdd(true);\r\n setRoleDel(true);\r\n setRoleEdit(true);\r\n setRoleAdd(Authen.checkQuyen('DATABASE_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('DATABASE_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('DATABASE_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 if (data.Id === \"0\") {\r\n setLoading(true);\r\n DatabaseApi.post(data).then(() => {\r\n setLoading(false);\r\n setShow(false);\r\n loadCategory();\r\n }).catch(() => {\r\n setLoading(false);\r\n })\r\n }\r\n else {\r\n setLoading(true);\r\n DatabaseApi.put(data).then(() => {\r\n setLoading(false);\r\n setShow(false);\r\n loadCategory();\r\n }).catch(() => {\r\n setLoading(false);\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 let lstChecked = listPostCategory.filter(x => x.Checked);\r\n if(lstChecked.length==1){\r\n setIsChecked(true);\r\n }\r\n else{\r\n setIsChecked(false);\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 Status: true\r\n }, [reset]);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listPostCategory.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n DatabaseApi.getDetail(listPostCategory[index].Id).then((response) => {\r\n reset(response, [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 = 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 DatabaseApi.delete(lstId).then(() => {\r\n loadCategory();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const handleShowRestore = () => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý khôi phục CSDL tại điểm backup này không?\", () => {\r\n let lstChecked = listPostCategory.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n setLoading(true);\r\n DatabaseApi.restore({ Id: lstChecked[0].Id }).then(() => {\r\n setLoading(false);\r\n ThongBao.printSuccessMessage(\"Khôi phục thành công.\");\r\n }).catch(() => {\r\n setLoading(false);\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 loadCategory();\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Cơ sở dữ liệu
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd == 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 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
Tiêu đềGhi chúĐường dẫnNgàyTrạng thái
\r\n
\r\n \r\n
\r\n
{item.Ten}{item.GhiChu}{item.DuongDan}{moment(item.CreatedDate).format('DD/MM/YYYY HH:mm')}\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 Backup cơ sở dữ liệu\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Ten && 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","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","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 getPagingByCategory: (params) => {\r\n const url = '/post/pagingByCategory';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getTinNoiBat: () =>{\r\n return axiosClient.get('post/getnoibat');\r\n },\r\n getTinMoi: () =>{\r\n return axiosClient.get('post/gettinmoi');\r\n },\r\n getHotFlag: (params) => {\r\n const url = '/post/gethotflag';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPagingByCategory: (params) => {\r\n const url = '/post/pagingbycategory';\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\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport SauBenhApi from '../../../api/SauBenhApi';\r\n\r\nimport Authen from '../../../core/Authen';\r\nimport Ultility from '../../../core/Ultility';\r\nimport { post } from 'jquery';\r\n\r\nexport const Post = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\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([]);\r\n const [selectedOption, setSelectedOption] = 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 const [cayTrong, setCayTrong] = useState({});\r\n const [sauBenh, setSauBenh] = useState({});\r\n\r\n const [optionCayTrongs, setOptionCayTrong] = useState([]);\r\n const [optionSauBenhs, setOptionSauBenh] = useState([]);\r\n const [isEdit, setIsEdit] = 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 const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter\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 setIsEdit(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const loadSauBenh = async () => {\r\n const resPonse = await SauBenhApi.getAll();\r\n let lst = [];\r\n lst.push({ value: 0, label: 'Chọn sâu bệnh ...' });\r\n if (!resPonse.length == false) {\r\n resPonse.map(x => {\r\n lst.push({ 'value': x.Id, 'label': x.TenSauBenh });\r\n })\r\n }\r\n setOptionSauBenh(lst);\r\n }\r\n\r\n const loadCayTrong = async () => {\r\n const rePonse = await CayTrongApi.getAll();\r\n let lst = [];\r\n lst.push({ value: 0, label: 'Chọn cây trồng ...' });\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n lst.push({ 'value': x.Id, 'label': x.TenCayTrong });\r\n })\r\n }\r\n setOptionCayTrong(lst);\r\n }\r\n\r\n useEffect(() => {\r\n loadPosts();\r\n loadDanhMucCha();\r\n loadSauBenh();\r\n loadCayTrong();\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 postModal.IdSauBenh = sauBenh.value;\r\n postModal.IdCayTrong = cayTrong.value;\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 if (listPosts.filter(x => x.Checked == true).length > 0) {\r\n setIsEdit(true);\r\n }\r\n else {\r\n setIsEdit(false);\r\n }\r\n setListPosts([...listPosts]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n var login = Authen.getUser();\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 setCayTrong({ value: 0, label: 'Chọn cây trồng ...' });\r\n setSauBenh({ value: 0, label: 'Chọn sâu bệnh ...' });\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\r\n setCayTrong(response.IdCayTrong == null ? { value: 0, label: 'Chọn cây trồng ...' } : optionCayTrongs.filter(x => x.value == response.IdCayTrong)[0]);\r\n setSauBenh(response.IdSauBenh == null ? { value: 0, label: 'Chọn sâu bệnh ...' } : optionSauBenhs.filter(x => x.value == response.IdSauBenh)[0]);\r\n\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 }\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 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 const onChangeSelectCayTrong = (optionSelect) => {\r\n setCayTrong(optionSelect);\r\n }\r\n\r\n const onChangeSelectSauBenh = (optionSelect) => {\r\n setSauBenh(optionSelect);\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 Danh mục 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 \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 Cây trồng\r\n
\r\n
\r\n null, IndicatorSeparator: () => 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 {/* tab 2 */}\r\n \r\n
\r\n \r\n
\r\n onChangeContent(event, editor)}\r\n onInit={editor => {\r\n // You can store the \"editor\" and use when it is needed.\r\n // console.log(\"Editor is ready to use!\", editor);\r\n editor.editing.view.change(writer => {\r\n writer.setStyle(\r\n \"height\",\r\n \"100px\",\r\n editor.editing.view.document.getRoot()\r\n );\r\n });\r\n }}\r\n\r\n />\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 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 const [isEdit, setIsEdit]=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 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 setIsEdit(false);\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 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.DisplayOrder != null) {\r\n data.DisplayOrder = +data.DisplayOrder;\r\n }\r\n if (data.Id === \"0\") {\r\n 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 // if (selectedOption == null || selectedOption.value == 0) {\r\n // ThongBao.prinWarningMessage(\"Hãy nhập danh mục cha.\");\r\n // }\r\n // else {\r\n // data.ParentId = selectedOption.value;\r\n // if (data.DisplayOrder != null) {\r\n // data.DisplayOrder = +data.DisplayOrder;\r\n // }\r\n // if (data.Id === \"0\") {\r\n // 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\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 if(listPostCategory.filter(x=>x.Checked==true).length>0){\r\n setIsEdit(true);\r\n }\r\n else{\r\n setIsEdit(false);\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 Status: true\r\n }, [reset]);\r\n setAlias('');\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 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","import axiosClient from './axiosClient';\r\n\r\nconst GiongCayTrongApi=\r\n{\r\n getAll: (params) =>{\r\n const url = '/giongcaytrong/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params)=>\r\n {\r\n const url= '/giongcaytrong/paging';\r\n return axiosClient.get(url,{params});\r\n },\r\n getDetail: (id) =>\r\n {\r\n const url= '/giongcaytrong/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n getById: (id) =>\r\n {\r\n const url= '/giongcaytrong/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n post: (data) =>{\r\n const url = '/giongcaytrong/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/giongcaytrong/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/giongcaytrong/delete/' + id;\r\n return axiosClient.delete(url);\r\n }\r\n}\r\n\r\nexport default GiongCayTrongApi;","import axiosClient from './axiosClient';\r\n\r\n\r\nconst GiaiDoanPhatTrienApi=\r\n{\r\n getAll: (params) =>{\r\n const url = '/giaidoanphattrien/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getPaging: (params)=>\r\n {\r\n const url= '/giaidoanphattrien/paging';\r\n return axiosClient.get(url,{params});\r\n },\r\n getDetail: (id) =>\r\n {\r\n const url= '/giaidoanphattrien/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n getById: (id) =>\r\n {\r\n const url= '/giaidoanphattrien/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n post: (data) =>{\r\n const url = '/giaidoanphattrien/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/giaidoanphattrien/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/giaidoanphattrien/delete/' + id;\r\n return axiosClient.delete(url);\r\n }\r\n \r\n}\r\n\r\nexport default GiaiDoanPhatTrienApi;","import axiosClient from './axiosClient';\r\n\r\nconst ImportExcelSauBenhHaiApi = {\r\n\r\n saveFile: (params) => {\r\n const url = '/ImportExcelSauBenhHai/savefile';\r\n return axiosClient.post(url, params);\r\n },\r\n}\r\n\r\nexport default ImportExcelSauBenhHaiApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport Select from 'react-select';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport { Loading } from '../../../shared/loading/Loading';\r\nimport ImportExcelSauBenhHaiApi from '../../../api/ImportExcelSauBenhHaiApi';\r\n\r\nexport const ImportExcel = (props) => {\r\n const [listDS, setListDS] = useState([]);\r\n const [cayTrong, setCayTrong] = useState({ value: 0, label: 'Chọn cây trồng' });\r\n const [optionCayTrong, setOptionCayTrong] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [optionLoaiSauBenh, setOptionLoaiSauBenh] = useState([{ value: 1, label: 'Sâu hại' }, { value: 0, label: 'Bệnh hại' }]);\r\n const [loaiSauBenh, setLoaiSauBenh] = useState({});\r\n const handleClose = () => {\r\n setShow(false);\r\n props.handleClose();\r\n }\r\n\r\n const loadCayTrong = async () => {\r\n const rePonse = await CayTrongApi.getAll();\r\n let lstCayTrong = [{ value: 0, label: 'Chọn cây trồng' }];\r\n if (!rePonse.length == false) {\r\n rePonse.forEach(x => {\r\n lstCayTrong.push({ value: x.Id, label: x.TenCayTrong });\r\n });\r\n }\r\n setOptionCayTrong(lstCayTrong);\r\n }\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n setShow(true);\r\n }\r\n }, [props.show])\r\n\r\n useEffect(() => {\r\n loadCayTrong();\r\n setLoaiSauBenh({ value: 1, label: 'Sâu hại' });\r\n }, [])\r\n\r\n const fileExcel = (e) => {\r\n if (e.target.value == null) {\r\n return;\r\n }\r\n let file = e.target.files[0];\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onerror = function (error) {\r\n console.log('Error: ', error);\r\n }\r\n ExcelRenderer(file, (err, resp) => {\r\n if (err) {\r\n console.log(err);\r\n e.target.value = null;\r\n return;\r\n }\r\n if (resp.rows.length > 5) {\r\n debugger;\r\n var aa = resp.rows.length;\r\n let lst = [];\r\n let currentItem = {};\r\n let Item = {};\r\n resp.rows.map(async (x, key) => {\r\n if (key > 5) {\r\n Item = currentItem;\r\n let x5 = x[6] == undefined ? Item.ThoiKy : x[6];\r\n\r\n if (x5 == undefined || x5 == '') {\r\n return;\r\n }\r\n\r\n let nhietdo = x[8] == undefined ? Item.NhietDo + '-' : x[8] + '-';\r\n let lstNhietDo = [];\r\n if (nhietdo != undefined) {\r\n lstNhietDo = nhietdo.split('-');\r\n }\r\n\r\n currentItem = {\r\n CayTrong: x[1] == undefined ? Item.CayTrong : x[1],\r\n TenKhoaHoc: x[2] == undefined ? Item.TenKhoaHoc : x[2],\r\n TenThuongGoi: x[3] == undefined ? Item.TenThuongGoi : x[3],\r\n DacDiemSinhHoc: x[4] == undefined ? Item.DacDiemSinhHoc : x[4],\r\n ThoiKy: x[5] == undefined ? Item.ThoiKy : x[5],\r\n NoiDung: x[6] == undefined ? Item.NoiDung : x[6],\r\n Anh: x[7],\r\n AnhSau: x[7] != undefined ? x[7].split(',')[0] : '',\r\n NhietDo: x[8] == undefined ? Item.NhietDo : x[8],\r\n NhietDoMin: lstNhietDo.length > 0 ? lstNhietDo[0] : 0,\r\n NhietDoMax: lstNhietDo.length > 1 ? lstNhietDo[1] : (lstNhietDo.length > 0 ? lstNhietDo[0] : 0),\r\n ThoiGian: x[9] == undefined ? Item.ThoiGian : x[9],\r\n NoiDungGayHai: x[10] == undefined ? Item.NoiDungGayHai : x[10],\r\n MucDoThietHai: x[11] == undefined ? Item.MucDoThietHai : x[11],\r\n BienPhapQuanLy: x[12] == undefined ? Item.BienPhapQuanLy : x[12],\r\n ThuocBVTV: x[13] == undefined ? Item.ThuocBVTV : x[13],\r\n LoaiSauBenh: x[4] == undefined || x[4] == '' ? 0 : 1,\r\n IdCayTrong: null,\r\n IsValid: true,\r\n ThongBao: \"\"\r\n }\r\n lst.push(currentItem);\r\n }\r\n });\r\n lst.forEach(element => {\r\n debugger;\r\n var index = -1;\r\n index = optionCayTrong.findIndex(x => x.label.toLowerCase().trim().includes(element.CayTrong.toLowerCase().trim()))\r\n if (index >= 0) {\r\n element.IdCayTrong = optionCayTrong[index].value;\r\n }\r\n else {\r\n element.IsValid = false;\r\n element.ThongBao += \"sai tên cây trồng, \";\r\n }\r\n });\r\n setListDS(lst);\r\n }\r\n });\r\n }\r\n\r\n const saveData = async () => {\r\n var lst = listDS.filter(x => x.IsValid == false);\r\n if (lst.length > 0) {\r\n ThongBao.prinWarningMessage(\"Dữ liệu import không hợp lệ. Hãy kiểm tra lại các dòng dữ liệu bị sai (dòng có màu đỏ)\")\r\n }\r\n else {\r\n let params = listDS\r\n console.log(listDS);\r\n const resuilt = await ImportExcelSauBenhHaiApi.saveFile(params)\r\n if (resuilt == 'OK') {\r\n ThongBao.printSuccessMessage('Import file thành công !!!');\r\n props.handleClose();\r\n }\r\n }\r\n }\r\n\r\n const onChangeSelectCayTrong = (optionSelected) => {\r\n setCayTrong(optionSelected);\r\n }\r\n\r\n const onChangeSelectLoaiSauBenh = (optionSelected) => {\r\n setLoaiSauBenh(optionSelected);\r\n }\r\n\r\n\r\n return (\r\n \r\n \r\n Sâu bệnh\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 Tệp tin 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 listDS.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
Cây trồngTên thường gọithời kỳNhiệt độ minNhiệt độ maxThời gian
{item.CayTrong}{item.TenThuongGoi}{item.ThoiKy}{item.NhietDoMin}{item.NhietDoMax}{item.ThoiGian}
\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}","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Tabs, Tab } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport SauBenhApi from '../../../api/SauBenhApi';\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport Authen from '../../../core/Authen';\r\nimport { Loading } from '../../../shared/loading/Loading';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport GiongCayTrongApi from '../../../api/GiongCayTrongApi';\r\nimport GiaiDoanPhatTrienApi from '../../../api/GiaiDoanPhatTrienApi';\r\nimport { CKEditor } from '@ckeditor/ckeditor5-react';\r\nimport ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport { ImportExcel } from '../../tienich/importexcel/ImportExcel';\r\n\r\nexport const SauBenh = (props) => {\r\n const { handleSubmit, reset, register, errors } = useForm();\r\n var data = require('../../../shared/Thang.json');\r\n const optionThoiGian = [...data];\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('/api', '');\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n var newItem_GiaiDoanPhatTrien = { Ten: '', DonVi: '', TieuChuan: '' };\r\n const [listSauBenh, setListSauBenh] = useState([]);\r\n const [cayTrong, setCayTrong] = useState({});\r\n const [giongCayTrong, setGiongCayTrong] = useState({});\r\n const [cha, setCha] = useState({});\r\n const [giaiDoan, setGiaiDoan] = useState({});\r\n const [loaiSaubenh, setLoaiSauBenh] = useState({});\r\n const [thoiGianSelect, setThoiGianSelect] = useState([]);\r\n const [show, setShow] = useState(false);\r\n const [showImport, setShowImport] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\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 [loading, setLoading] = useState(false);\r\n let pageIndex = 1, pageSize = 20;\r\n const [disButtonEdit, setDisButtonEdit] = useState(true);\r\n const [viewModal, setViewModal] = useState(false);\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [sauBenh, setSauBenh] = useState({});\r\n\r\n const [moTa, setMoTa] = useState('');\r\n const [canhTac, setCanhTac] = useState('');\r\n const [phongTru, setPhongTru] = useState('');\r\n const [title, setTitle] = useState('');\r\n\r\n const [optionCayTrongs, setOptionCayTrong] = useState([{ value: 0, label: 'Chọn cây trồng' }]);\r\n const [optionGiongCayTrongs, setOptionGiongCayTrong] = useState([{ value: 0, label: 'Chọn giống cây trồng' }]);\r\n const [optionChas, setOptionCha] = useState([{ value: 0, label: 'Chọn sâu bệnh cha' }]);\r\n const [optionChaEdits, setOptionChaEdit] = useState([]);\r\n const [optionGiaiDoans, setOptionGiaiDoan] = useState([{ value: 0, label: 'Chọn giai đoạn' }]);\r\n const [loaiSauView, setLoaiSauView] = useState({ value: 0, label: 'Chọn loại sâu bệnh' });\r\n const [selectLoaiCay, setSelectLoaiCay] = useState({ value: 0, label: 'Chọn cây trồng' });\r\n const [listGiaiDoanSinhTruong, setListGiaiDoanSinhTruong] = useState([]);\r\n\r\n const optionLoaiSauBenhs = [\r\n { value: true, label: 'Sâu hại cây trồng' },\r\n { value: false, label: 'Bệnh hại cây trồng' },\r\n ];\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 pageIndex = page;\r\n loadSauBenh();\r\n }\r\n });\r\n\r\n const closeModalImage = () => {\r\n setViewModal(false);\r\n }\r\n\r\n const openModalImage = () => {\r\n setViewModal(true);\r\n }\r\n\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n const onChangeSelect = (optionSelected) => {\r\n setCayTrong(optionSelected);\r\n }\r\n\r\n const onChangeSelectGiong = (optionSelected) => {\r\n setGiongCayTrong(optionSelected);\r\n }\r\n\r\n const onChangeSelectLoaiSauBenh = (optionSelected) => {\r\n setLoaiSauBenh(optionSelected)\r\n }\r\n\r\n const onChangeSelectCha = (optionSelected) => {\r\n setCha(optionSelected);\r\n }\r\n\r\n const onChangeSelectGiaiDoan = (optionSelected) => {\r\n setGiaiDoan(optionSelected);\r\n }\r\n\r\n const onChangeSelectThoiGian = (optionSelected) => {\r\n setThoiGianSelect(optionSelected);\r\n }\r\n\r\n\r\n const loadSauBenh = async () => {\r\n try {\r\n var idCayTrong = 0;\r\n if (selectLoaiCay != null) {\r\n idCayTrong = selectLoaiCay.value;\r\n }\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n loaiSauBenh: props.LoaiSauBenh,\r\n idCayTrong: idCayTrong\r\n }\r\n\r\n const response = await SauBenhApi.getPaging(params);\r\n response.Items.forEach((x) => {\r\n x.Checked = false\r\n });\r\n\r\n setListSauBenh(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 }\r\n catch (err) { }\r\n }\r\n\r\n const rowClick = (id) => {\r\n setIsEdit(false);\r\n listSauBenh.forEach(element => {\r\n if (element.Id === id) {\r\n if (element.Checked === true) {\r\n element.Checked = false;\r\n }\r\n else {\r\n element.Checked = true;\r\n setIsEdit(true);\r\n setDisButtonEdit(false);\r\n }\r\n }\r\n else {\r\n element.Checked = false;\r\n }\r\n });\r\n\r\n if (listSauBenh.findIndex(element => element.Checked === true) === -1) {\r\n setIsEdit(false);\r\n setDisButtonEdit(true);\r\n };\r\n setListSauBenh([...listSauBenh]);\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Status: true\r\n }, [reset]);\r\n setSauBenh({ Id: 0, Status: true })\r\n setListGiaiDoanSinhTruong([newItem_GiaiDoanPhatTrien]);\r\n setSrcImage(noImage);\r\n setCayTrong({ value: 0, label: 'Chọn cây trồng' });\r\n setOptionChaEdit(optionChas);\r\n setCha({ value: 0, label: 'Chọn sâu bệnh cha' });\r\n setGiongCayTrong({ value: 0, label: 'Chọn giống cây trồng' });\r\n setGiaiDoan({ value: 0, label: 'Chọn giai đoạn' });\r\n setLoaiSauBenh({ value: true, label: 'Sâu hại cây trồng' });\r\n setThoiGianSelect([]);\r\n setMoTa('');\r\n setCanhTac('');\r\n setPhongTru('');\r\n setIsEdit(false);\r\n setIsXem(false);\r\n setShow(true);\r\n }\r\n\r\n const loadThang = (tg) => {\r\n if (tg == null) {\r\n return;\r\n }\r\n let lstThang = Array.from(tg.split(','), Number);\r\n let lstTG = [];\r\n lstThang.forEach(x => {\r\n let index = optionThoiGian.findIndex(p => p.value == Number(x));\r\n if (index !== -1) {\r\n lstTG.push(optionThoiGian[index]);\r\n }\r\n });\r\n setThoiGianSelect(lstTG);\r\n }\r\n\r\n const loadOptionSauBenhById = (Id) => {\r\n let lstCha = [];\r\n optionChas.forEach(x => {\r\n if (x.value !== Id) {\r\n lstCha.push({ value: x.value, label: x.label });\r\n }\r\n });\r\n setOptionChaEdit(lstCha);\r\n }\r\n\r\n const handleShowEdit = () => {\r\n setIsEdit(true);\r\n setIsXem(false);\r\n let index = listSauBenh.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n SauBenhApi.getDetail(listSauBenh[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n TenSauBenh: response.TenSauBenh,\r\n TenKhoaHoc: response.TenKhoaHoc,\r\n MoTa: response.MoTa,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n NhietDoMax: response.NhietDoMax,\r\n NhietDoMin: response.NhietDoMin,\r\n }, [reset]);\r\n setSauBenh(response);\r\n var lst = response.GiaiDoanSinhTruongPhatTrien;\r\n if (lst == null) {\r\n lst = [];\r\n }\r\n lst.push(newItem_GiaiDoanPhatTrien);\r\n setListGiaiDoanSinhTruong(lst);\r\n setSrcImage(response.HinhAnh);\r\n setCayTrong(optionCayTrongs.filter(x => x.value == response.IdCayTrong).length == 0 ? { value: 0, label: 'Chọn cây trồng' } : optionCayTrongs.filter(x => x.value == response.IdCayTrong)[0]);\r\n loadOptionSauBenhById(response.Id);\r\n loadThang(response.ThoiGian);\r\n setCha(optionChas.filter(x => x.value == response.IdCha).length == 0 ? { value: 0, label: 'Chọn cha' } : optionChas.filter(x => x.value == response.IdCha)[0]);\r\n setGiongCayTrong(optionGiongCayTrongs.filter(x => x.value == response.IdGiongCay).length == 0 ? { value: 0, label: 'Chọn giống cây trồng' } : optionGiongCayTrongs.filter(x => x.value == response.IdGiongCay)[0]);\r\n setGiaiDoan(optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan).length == 0 ? { value: 0, label: 'Chọn giai đoạn' } : optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan)[0]);\r\n setLoaiSauBenh(response.LoaiSauBenh == undefined ? { value: true, label: 'Sâu bệnh gây hại' } : optionLoaiSauBenhs.filter(x => x.value == response.LoaiSauBenh)[0]);\r\n setMoTa(response.MoTa);\r\n setCanhTac(response.BienPhapCanhTac);\r\n setPhongTru(response.BienPhapPhongTru);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowData = () => {\r\n setIsXem(true);\r\n let index = listSauBenh.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n SauBenhApi.getDetail(listSauBenh[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n TenSauBenh: response.TenSauBenh,\r\n TenKhoaHoc: response.TenKhoaHoc,\r\n MoTa: response.MoTa,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n NhietDoMax: response.NhietDoMax,\r\n NhietDoMin: response.NhietDoMin,\r\n }, [reset]);\r\n setSauBenh(response);\r\n setSrcImage(response.HinhAnh);\r\n setCayTrong(optionCayTrongs.filter(x => x.value == response.IdCayTrong).length == 0 ? { value: 0, label: 'Chọn cây trồng' } : optionCayTrongs.filter(x => x.value == response.IdCayTrong)[0]);\r\n loadOptionSauBenhById(response.Id);\r\n loadThang(response.ThoiGian);\r\n setCha(optionChas.filter(x => x.value == response.IdCha).length == 0 ? { value: 0, label: 'Chọn cha' } : optionChas.filter(x => x.value == response.IdCha)[0]);\r\n setGiongCayTrong(optionGiongCayTrongs.filter(x => x.value == response.IdGiongCay).length == 0 ? { value: 0, label: 'Chọn giống cây trồng' } : optionGiongCayTrongs.filter(x => x.value == response.IdGiongCay)[0]);\r\n setGiaiDoan(optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan).length == 0 ? { value: 0, label: 'Chọn giai đoạn' } : optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan)[0]);\r\n setLoaiSauBenh(response.LoaiSauBenh == undefined ? { value: true, label: 'Sâu bệnh gây hại' } : optionLoaiSauBenhs.filter(x => x.value == response.LoaiSauBenh)[0]);\r\n setMoTa(response.MoTa);\r\n setCanhTac(response.BienPhapCanhTac);\r\n setPhongTru(response.BienPhapPhongTru);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n sauBenh.HinhAnh = srcImage == undefined ? noImage : srcImage;\r\n sauBenh.IdCayTrong = cayTrong.value;\r\n sauBenh.IdGiongCay = giongCayTrong.value;\r\n sauBenh.IdCha = cha.value;\r\n sauBenh.IdGiaiDoan = giaiDoan.value;\r\n sauBenh.MoTa = moTa;\r\n sauBenh.BienPhapCanhTac = canhTac;\r\n sauBenh.BienPhapPhongTru = phongTru;\r\n sauBenh.GiaiDoanSinhTruongPhatTrien = listGiaiDoanSinhTruong.filter(x => x.Ten.trim() != '');\r\n // sauBenh.LoaiSauBenh = loaiSaubenh.value;\r\n sauBenh.LoaiSauBenh = props.LoaiSauBenh;\r\n if (!thoiGianSelect.length === 0) {\r\n let tg = '';\r\n thoiGianSelect.forEach(x => {\r\n if (tg === '') {\r\n tg += x.value;\r\n }\r\n else {\r\n tg += ',' + x.value;\r\n }\r\n });\r\n sauBenh.ThoiGian = tg;\r\n }\r\n\r\n if (!isEdit) {\r\n await SauBenhApi.post(sauBenh);\r\n }\r\n else {\r\n await SauBenhApi.put(sauBenh);\r\n }\r\n setShow(false);\r\n loadSauBenh();\r\n }\r\n catch (ex) {\r\n console.log(ex.message);\r\n }\r\n }\r\n\r\n const loadCayTrong = async () => {\r\n const rePonse = await CayTrongApi.getAll();\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn cây trồng' });\r\n rePonse.map(x => {\r\n list.push({ 'value': x.Id, 'label': x.TenCayTrong });\r\n });\r\n setOptionCayTrong(list);\r\n }\r\n\r\n const loadGiongCayTrong = async () => {\r\n const rePonse = await GiongCayTrongApi.getAll();\r\n let list = [];\r\n rePonse.map(x => {\r\n list.push({ 'value': x.Id, 'label': x.TenGiong });\r\n });\r\n setOptionGiongCayTrong(list);\r\n }\r\n\r\n const loadGiaiDoan = async () => {\r\n const rePonse = await GiaiDoanPhatTrienApi.getAll();\r\n rePonse.map(x => {\r\n optionGiaiDoans.push({ 'value': x.Id, 'label': x.TenGiaiDoan });\r\n })\r\n }\r\n\r\n const loadSauBenhCha = async () => {\r\n const rePonse = await SauBenhApi.getAll();\r\n rePonse.map(x => {\r\n optionChas.push({ 'value': x.Id, 'label': x.TenSauBenh });\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n loadSauBenh();\r\n loadCayTrong();\r\n loadGiongCayTrong();\r\n loadGiaiDoan();\r\n loadSauBenhCha();\r\n listGiaiDoanSinhTruong.push(newItem_GiaiDoanPhatTrien);\r\n if (props.LoaiSauBenh == true) {\r\n setTitle(\"Sinh vật gây hại\");\r\n setRoleAdd(Authen.checkQuyen('SINHVATGAYHAI_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('SINHVATGAYHAI_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('SINHVATGAYHAI_DELETE'));\r\n }\r\n else {\r\n setTitle(\"Bệnh hại cây trồng\");\r\n setRoleAdd(Authen.checkQuyen('BENHHAICAYTRONG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('BENHHAICAYTRONG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('BENHHAICAYTRONG_DELETE'));\r\n }\r\n }, []);\r\n\r\n const setFilter = (e) => {\r\n setSearch(e.target.value);\r\n }\r\n\r\n\r\n const alertDell = async () => {\r\n let lstChecked = listSauBenh.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n SauBenhApi.delete(lstChecked[0].Id).then(() => {\r\n loadSauBenh();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const Timkiem = () => {\r\n loadSauBenh();\r\n }\r\n\r\n const onChangeMoTa = (event, editor) => {\r\n const data = editor.getData();\r\n setMoTa(data);\r\n }\r\n\r\n const onChangeCanhTac = (event, editor) => {\r\n const data = editor.getData();\r\n setCanhTac(data);\r\n }\r\n\r\n const onChangePhongTru = (event, editor) => {\r\n const data = editor.getData();\r\n setPhongTru(data);\r\n }\r\n\r\n const onChangeSelectView = (optionSelected) => {\r\n setLoaiSauView(optionSelected);\r\n loadSauBenh();\r\n }\r\n\r\n const onChangedSelectLoaiCay = (event) => {\r\n setSelectLoaiCay(event);\r\n loadSauBenh();\r\n }\r\n\r\n const handleShowImport = () => {\r\n setShowImport(true);\r\n }\r\n\r\n const handleCloseImport = () => {\r\n setShowImport(false);\r\n }\r\n\r\n const onChangeTen = (event, item, index) => {\r\n item.Ten = event.target.value;\r\n if (index + 1 == listGiaiDoanSinhTruong.length) {\r\n listGiaiDoanSinhTruong.push(newItem_GiaiDoanPhatTrien);\r\n }\r\n setListGiaiDoanSinhTruong([...listGiaiDoanSinhTruong]);\r\n }\r\n\r\n const onChangeDonVi = (event, item) => {\r\n item.DonVi = event.target.value;\r\n setListGiaiDoanSinhTruong([...listGiaiDoanSinhTruong]);\r\n }\r\n\r\n const onChangeTieuChuan = (event, item) => {\r\n item.TieuChuan = event.target.value;\r\n setListGiaiDoanSinhTruong([...listGiaiDoanSinhTruong]);\r\n }\r\n\r\n const removeItem_Style = {\r\n color: 'red',\r\n cursor: 'pointer'\r\n }\r\n\r\n const onClickRemoveItem = (index) => {\r\n if (index < listGiaiDoanSinhTruong.length - 1) {\r\n listGiaiDoanSinhTruong.splice(index, 1);\r\n }\r\n setListGiaiDoanSinhTruong([...listGiaiDoanSinhTruong]);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
{title}
\r\n
\r\n
\r\n ({\r\n ...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 {roleAdd === 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 listSauBenh.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
Hình ảnhTên sâu bệnhTên khoa họcMô tảStatus
\r\n \r\n \r\n \r\n {item.TenSauBenh}{item.TenKhoaHoc}{item.MoTa}{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 {title}\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n Tên sâu bệnh *\r\n
\r\n
\r\n sauBenh.TenSauBenh = e.target.value} >\r\n {errors.TenSauBenh && errors.TenSauBenh.message}\r\n
\r\n
\r\n Tên khoa học\r\n
\r\n
\r\n sauBenh.TenKhoaHoc = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Cây trồng\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 Thời gian\r\n
\r\n
\r\n sauBenh.NhietDoMax = e.target.value}>\r\n
\r\n
\r\n Nhiệt độ min\r\n
\r\n
\r\n sauBenh.NhietDoMin = e.target.value}>\r\n
\r\n
\r\n
\r\n
\r\n Giống cây trồng\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 Ghi chú\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 sauBenh.Status = e.target.value}>\r\n
\r\n {/*
\r\n Loại sâu bệnh\r\n
\r\n
\r\n onChangeTen(event, item, key)} value={item.Ten}>\r\n onChangeTieuChuan(event, item)} value={item.TieuChuan}>\r\n onChangeDonVi(event, item)} value={item.DonVi}>\r\n onClickRemoveItem(key)}>\r\n \r\n )\r\n }\r\n )}\r\n \r\n \r\n {/*
\r\n
\r\n onChangePhongTru(event, editor)} />\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 viewModal ? onFileSelected(e)}> : ''\r\n }\r\n {\r\n showImport ? : ''\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 CayTrongApi from '../../../api/CayTrongApi';\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\n\r\nimport Authen from '../../../core/Authen';\r\nimport Ultility from '../../../core/Ultility';\r\nimport { param, post } from 'jquery';\r\nimport PostApi from '../../../api/PostApi';\r\nimport { now } from 'moment';\r\n\r\nexport const CayTrong = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n\r\n const [listCayTrongs, setListCayTrongs] = 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 [srcImage, setSrcImage] = useState(noImage);\r\n\r\n const [viewModal, setViewModal] = useState(false);\r\n const [cayTrongModal, setCayTrongModal] = useState({ CayTrong });\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 [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\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 loadCayTrong();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadCayTrong();\r\n setRoleAdd(Authen.checkQuyen('CAYTRONG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('CAYTRONG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('CAYTRONG_DELETE'));\r\n }, []);\r\n\r\n const loadCayTrong = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter,\r\n idCha: 0\r\n }\r\n const response = await CayTrongApi.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 setListCayTrongs(response.Items);\r\n setIsEdit(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const timKiem = () => {\r\n loadCayTrong();\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 try {\r\n var userLogin = Authen.getUser().UserName;\r\n cayTrongModal.HinhAnh = srcImage;\r\n cayTrongModal.IdCha = 0;\r\n if (cayTrongModal.Id === 0 || cayTrongModal.Id == null) {\r\n cayTrongModal.Id = 0;\r\n cayTrongModal.CreatedDate = new Date();\r\n cayTrongModal.CreatedBy = userLogin;\r\n CayTrongApi.post(cayTrongModal).then(() => {\r\n setShow(false);\r\n loadCayTrong();\r\n })\r\n }\r\n else {\r\n cayTrongModal.UpdatedDate = new Date();\r\n cayTrongModal.UpdatedBy = userLogin;\r\n CayTrongApi.put(cayTrongModal).then(() => {\r\n setShow(false);\r\n loadCayTrong();\r\n })\r\n }\r\n setIsEdit(false);\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listCayTrongs.forEach(element => {\r\n if (element.Id === id) {\r\n element.Checked = !element.Checked;\r\n }\r\n })\r\n let index = listCayTrongs.findIndex(x => x.Checked);\r\n if (index >= 0) {\r\n setIsEdit(true);\r\n }\r\n else {\r\n setIsEdit(false);\r\n }\r\n setListCayTrongs([...listCayTrongs]);\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n TenCayTrong: \"\",\r\n Status: true\r\n }, [reset]);\r\n setCayTrongModal({\r\n Id: 0,\r\n TenCayTrong: \"\",\r\n Status: true\r\n });\r\n setIsXem(false);\r\n setShow(true)\r\n setSrcImage(noImage);\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listCayTrongs.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n CayTrongApi.getDetail(listCayTrongs[index].Id).then((response) => {\r\n reset({\r\n Id: response.ID,\r\n TenCayTrong: response.TenCayTrong,\r\n MoTa: response.MoTa,\r\n HinhAnh: response.MoTa,\r\n IdCha: response.IdCha,\r\n GhiChu: response.GhiChu,\r\n Delete: response.Delete,\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 }, [reset]);\r\n setCayTrongModal(response);\r\n setIsXem(false);\r\n setShow(true);\r\n setSrcImage(response.HinhAnh);\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 = listCayTrongs.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 CayTrongApi.delete(lstId).then(() => {\r\n loadCayTrong();\r\n })\r\n setIsEdit(false);\r\n }\r\n });\r\n }\r\n const handleShowData = () => {\r\n let index = listCayTrongs.findIndex(x => x.Checked);\r\n if (index !== - 1) {\r\n CayTrongApi.getDetail(listCayTrongs[index].Id).then((response) => {\r\n reset({\r\n Id: response.ID,\r\n TenCayTrong: response.TenCayTrong,\r\n MoTa: response.MoTa,\r\n HinhAnh: response.MoTa,\r\n IdCha: response.IdCha,\r\n GhiChu: response.GhiChu,\r\n Delete: response.Delete,\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 }, [reset]);\r\n setCayTrongModal(response);\r\n setShow(true);\r\n setIsXem(true);\r\n setSrcImage(response.HinhAnh);\r\n })\r\n }\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadCayTrong();\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 changeTab = () => {\r\n reset({\r\n Id: cayTrongModal.ID,\r\n TenCayTrong: cayTrongModal.TenCayTrong,\r\n MoTa: cayTrongModal.MoTa,\r\n HinhAnh: cayTrongModal.MoTa,\r\n IdCha: cayTrongModal.IdCha,\r\n GhiChu: cayTrongModal.GhiChu,\r\n Delete: cayTrongModal.Delete,\r\n CreatedDate: cayTrongModal.CreatedDate,\r\n CreatedBy: cayTrongModal.CreatedBy,\r\n UpdatedDate: cayTrongModal.UpdatedDate,\r\n UpdatedBy: cayTrongModal.UpdatedBy,\r\n Status: cayTrongModal.Status\r\n }, [reset])\r\n }\r\n\r\n const onChangeName = (e) => {\r\n let str = \"\";\r\n cayTrongModal.TenCayTrong = e.target.value\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Cây Trồng
\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 listCayTrongs.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 cây trồngMô tảGhi chúHình ảnhTrạng thái
\r\n
\r\n \r\n
\r\n
{item.TenCayTrong}{item.MoTa}{item.GhiChu}\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 Chi tiết cây trồng\r\n \r\n \r\n
\r\n cayTrongModal.Id = e.target.value} >\r\n
\r\n \r\n
\r\n \r\n {errors.TenCayTrong && Hãy nhập tên cây trồng}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {\r\n viewModal == true ? onFileSelected(e)}> : ''\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 CayTrongApi from '../../../api/CayTrongApi';\r\nimport GiongCayTrongApi from '../../../api/GiongCayTrongApi';\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\nimport 'react-tabs/style/react-tabs.css';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const GiongCayTrong = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n\r\n //const [listCayTrongs, setListCayTrongs] = useState([]);\r\n const [listGiongCays,setListGiongCays]=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\r\n const [viewModal, setViewModal] = useState(false);\r\n const [giongCayModal, setGiongCayModal] = useState({GiongCayTrong})\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 [isEdit, setIsEdit] = useState(false);\r\n\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listDanhMucCay, setDanhMucCay] = useState([]);\r\n\r\n const [selectedFindIdCay, setSelectedFindIdCay] = useState();\r\n const [findIdCay, setFindIdCay] = useState();\r\n const [isXem, setIsXem]=useState(true);\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\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 loadGiongCay();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadGiongCay();\r\n loadDanhMucCay();\r\n setRoleAdd(Authen.checkQuyen('GIONGCAYTRONG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('GIONGCAYTRONG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('GIONGCAYTRONG_DELETE'));\r\n }, []);\r\n\r\n const loadGiongCay = async () => {\r\n try {\r\n const params = {\r\n filter: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n idCayTrong: findIdCay\r\n }\r\n const response = await GiongCayTrongApi.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.TotalRows / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setListGiongCays(response.Items);\r\n setIsEdit(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n function loadDanhMucCay() {\r\n CayTrongApi.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 list.push({ value: item.Id, label: item.TenCayTrong });\r\n })\r\n setDanhMucCay(list);\r\n })\r\n }\r\n\r\n const timKiem = () => {\r\n loadGiongCay();\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 listGiongCays.forEach(element =>{\r\n if (element.Id===id){\r\n element.Checked= !element.Checked;\r\n }\r\n })\r\n let index=listGiongCays.findIndex(x=>x.Checked);\r\n if (index >= 0)\r\n {\r\n setIsEdit(true);\r\n }\r\n else\r\n {\r\n setIsEdit(false);\r\n }\r\n setListGiongCays([...listGiongCays]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n TenGiong:\"\",\r\n Status: true\r\n }, [reset]);\r\n setGiongCayModal({\r\n Id: 0,\r\n TenGiong:\"\",\r\n Status: true\r\n });\r\n setShow(true)\r\n setIsXem(false);\r\n setSelectedOption(listDanhMucCay[0]);\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listGiongCays.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n GiongCayTrongApi.getDetail(listGiongCays[index].Id).then((response) => {\r\n reset({\r\n Id:response.ID,\r\n TenGiong:response.TenGiong,\r\n IdCayTrong:response.IdCayTrong,\r\n MoTa:response.MoTa,\r\n GhiChu:response.GhiChu,\r\n Status:response.Status,\r\n Delete:response.Delete,\r\n CreatedBy:response.CreatedBy,\r\n CreatedDate:response.CreatedDate,\r\n UpdatedBy:response.UpdatedBy, \r\n UpdatedDate:response.UpdatedDate \r\n }, [reset]);\r\n var index = listDanhMucCay.findIndex(x => x.value == response.IdCayTrong);\r\n setSelectedOption(listDanhMucCay[index]);\r\n setGiongCayModal(response);\r\n setShow(true);\r\n setIsXem(false);\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 = listGiongCays.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 GiongCayTrongApi.delete(lstId).then(() => {\r\n loadGiongCay();\r\n })\r\n }\r\n });\r\n }\r\n const handleShowData = () => {\r\n let index = listGiongCays.findIndex(x => x.Checked);\r\n if (index !== - 1)\r\n {\r\n GiongCayTrongApi.getDetail(listGiongCays[index].Id).then((response)=> \r\n {\r\n reset({\r\n Id:response.ID,\r\n TenGiong:response.TenGiong,\r\n IdCayTrong:response.IdCayTrong,\r\n MoTa:response.MoTa,\r\n GhiChu:response.GhiChu,\r\n Status:response.Status,\r\n Delete:response.Delete,\r\n CreatedBy:response.CreatedBy,\r\n CreatedDate:response.CreatedDate,\r\n UpdatedBy:response.UpdatedBy, \r\n UpdatedDate:response.UpdatedDate \r\n }, [reset]);\r\n var index = listDanhMucCay.findIndex(x => x.value == response.IdCayTrong);\r\n setSelectedOption(listDanhMucCay[index]);\r\n setGiongCayModal(response);\r\n setShow(true);\r\n setIsXem(true);\r\n })\r\n }\r\n }\r\n\r\n const saveData = () => {\r\n try\r\n { \r\n var userLogin= Authen.getUser().UserName;\r\n giongCayModal.IdCayTrong=0;\r\n if (selectedOption) {\r\n if (selectedOption.value == 0) {\r\n giongCayModal.IdCayTrong = null;\r\n }\r\n else {\r\n giongCayModal.IdCayTrong = selectedOption.value;\r\n }\r\n }\r\n else \r\n {\r\n giongCayModal.IdCayTrong = null;\r\n }\r\n if (giongCayModal.IdCayTrong==null)\r\n {\r\n ThongBao.prinWarningMessage(\"Hãy lựa chọn danh mục cây trồng\");\r\n }\r\n else\r\n {\r\n if (giongCayModal.Id === 0 || giongCayModal.Id == null || giongCayModal.Id == undefined) \r\n {\r\n giongCayModal.Id = 0;\r\n giongCayModal.CreatedDate= new Date();\r\n giongCayModal.CreatedBy=userLogin;\r\n GiongCayTrongApi.post(giongCayModal).then(() => {\r\n setShow(false);\r\n loadGiongCay();\r\n })\r\n }\r\n else {\r\n giongCayModal.UpdatedDate=new Date();\r\n giongCayModal.UpdatedBy=userLogin;\r\n GiongCayTrongApi.put(giongCayModal).then(() => {\r\n setShow(false);\r\n loadGiongCay();\r\n })\r\n }\r\n setIsEdit(false);\r\n }\r\n }\r\n catch(ex)\r\n {\r\n console.log(ex);\r\n } \r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const onChangeDanhMucCay = (e) => {\r\n setSelectedOption(e);\r\n }\r\n\r\n const onChangeFindIdCay = (e) => {\r\n setSelectedFindIdCay(e);\r\n setFindIdCay(e.value);\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadGiongCay();\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 \r\n }\r\n\r\n const onChangeName = (e) => {\r\n giongCayModal.TenGiong = e.target.value\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Giống Cây Trồng
\r\n
\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 listGiongCays.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 giống cây trồngMô tảGhi chúCây trồngTrạng thái
\r\n
\r\n \r\n
\r\n
{item.TenGiong}{item.MoTa}{item.GhiChu}{item.TenCayTrong}\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 Chi tiết giống cây trồng\r\n \r\n \r\n
\r\n \r\n giongCayModal.Id = e.target.value} >\r\n
\r\n \r\n
\r\n \r\n {errors.TenGiong && Hãy nhập tên giống cây trồng}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.IdCayTrong && Hãy chọn cây trồng}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\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}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Fade, Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport TrieuChungApi from '../../../api/TrieuChungApi';\r\nimport '../../../css/apppublic.css';\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 { Loading } from '../../../shared/loading/Loading';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport SauBenhApi from '../../../api/SauBenhApi';\r\nimport GiaiDoanPhatTrienApi from '../../../api/GiaiDoanPhatTrienApi';\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\n\r\n\r\nexport const DacDiemTrieuChung = () => {\r\n\r\n const { handleSubmit, reset, register, errors } = useForm();\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\r\n const [listTrieuChung, setListTrieuChung] = useState([]);\r\n const [sauBenh, setSauBenh] = useState('');\r\n const [giaiDoan, setGiaiDoan] = 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 [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 [loading, setLoading] = useState(false);\r\n let pageIndex = 1, pageSize = 20;\r\n const [disButtonEdit, setDisButtonEdit] = useState(true);\r\n const [viewModal, setViewModal] = useState(false);\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [loai, setLoai] = useState({});\r\n const [dacDiem, setDacDiem] = useState({});\r\n const [moTa, setMoTa] = useState('');\r\n const [listSauBenh, setListSauBenh] = useState([]);\r\n\r\n const [optionSauBenhs, setOptionSauBenh] = useState([{ value: 0, label: 'Chọn sâu bệnh' }]);\r\n const [optionGiaiDoans, setOptionGiaiDoan] = useState([{ value: 0, label: 'Chọn giai đoạn' }]);\r\n\r\n const optionLoais = [\r\n { value: true, label: 'Đặc điểm sinh học' },\r\n { value: false, label: 'Đặc điểm triệu chứng' },\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 loadTrieuChung();\r\n }\r\n }\r\n });\r\n\r\n const closeModalImage = () => {\r\n setViewModal(false);\r\n }\r\n\r\n const openModalImage = () => {\r\n setViewModal(true);\r\n }\r\n\r\n const onFileSelected = (event) => {\r\n setSrcImage(event);\r\n }\r\n\r\n const onChangeSelect = (optionSelected) => {\r\n setSauBenh(optionSelected);\r\n }\r\n\r\n\r\n const onChangeSelectGiaiDoan = (optionSelected) => {\r\n setGiaiDoan(optionSelected);\r\n if (!listSauBenh.length == false) {\r\n let lstSau = listSauBenh.filter(x => x.IdGiaiDoan === optionSelected.value);\r\n let opt = [{ value: 0, label: 'Chọn sâu bệnh' }]\r\n lstSau.forEach(x => {\r\n opt.push({ 'value': x.Id, 'label': x.TenSauBenh });\r\n });\r\n setOptionSauBenh(opt);\r\n setSauBenh({ value: 0, label: 'Chọn sâu bệnh' });\r\n }\r\n\r\n }\r\n\r\n const loadTrieuChung = async () => {\r\n try {\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const response = await TrieuChungApi.getPaging(params);\r\n response.Items.forEach((x) => {\r\n x.Checked = false\r\n });\r\n /* setDisButtonEdit(true); */\r\n setListTrieuChung(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 }\r\n catch (err) { }\r\n }\r\n\r\n const rowClick = (id) => {\r\n listTrieuChung.forEach(element => {\r\n if (element.Id === id) {\r\n if (element.Checked === true) {\r\n element.Checked = false;\r\n }\r\n else {\r\n element.Checked = true;\r\n setIsEdit(true);\r\n setDisButtonEdit(false);\r\n }\r\n }\r\n else {\r\n element.Checked = false;\r\n }\r\n });\r\n\r\n if (listTrieuChung.filter(element => element.Checked === true).length == 0) {\r\n setIsEdit(false);\r\n setDisButtonEdit(true);\r\n };\r\n\r\n setIsEdit(true);\r\n setListTrieuChung([...listTrieuChung]);\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Status: true\r\n }, [reset]);\r\n setDacDiem({\r\n Id: 0,\r\n Status: true\r\n });\r\n setSrcImage(noImage);\r\n setIsEdit(false);\r\n setIsXem(false);\r\n setMoTa('');\r\n setSauBenh({ value: 0, label: 'Chọn sâu bệnh' });\r\n setGiaiDoan({ value: 0, label: 'Chọn giai đoạn' });\r\n setLoai({ value: true, label: 'Đặc điểm sinh học' });\r\n setShow(true);\r\n }\r\n\r\n const handleShowEdit = () => {\r\n setIsEdit(true);\r\n setIsXem(false);\r\n let index = listTrieuChung.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n TrieuChungApi.getDetail(listTrieuChung[index].Id).then((response) => {\r\n reset(\r\n {\r\n Id: response.Id,\r\n TenTrieuChung: response.TenTrieuChung,\r\n TenKhoaHoc: response.TenKhoaHoc,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n ThuTu: response.ThuTu,\r\n DonViTinh: response.DonViTinh,\r\n TieuChuan: response.TieuChuan\r\n }\r\n , [reset]);\r\n setDacDiem(response);\r\n setSrcImage(response.HinhAnh);\r\n setSauBenh(optionSauBenhs.filter(x => x.value == response.IdSauBenh).length == 0 ? { value: 0, label: 'Chọn sâu bệnh' } : optionSauBenhs.filter(x => x.value == response.IdSauBenh)[0]);\r\n setGiaiDoan(optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan).length == 0 ? { value: 0, label: 'Chọn giai đoạn' } : optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan)[0]);\r\n setLoai(response.Loai == undefined ? { value: true, label: 'Đặc điểm sinh học' } : optionLoais.filter(x => x.value == response.Loai)[0]);\r\n setMoTa(response.MoTa);\r\n setIsXem(false);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowData = () => {\r\n setIsXem(true);\r\n let index = listTrieuChung.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n TrieuChungApi.getDetail(listTrieuChung[index].Id).then((response) => {\r\n reset(reset(\r\n {\r\n Id: response.Id,\r\n TenTrieuChung: response.TenTrieuChung,\r\n TenKhoaHoc: response.TenKhoaHoc,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n ThuTu: response.ThuTu,\r\n DonViTinh: response.DonViTinh,\r\n TieuChuan: response.TieuChuan\r\n }\r\n , [reset]), [reset]);\r\n setDacDiem(response);\r\n setSrcImage(response.HinhAnh);\r\n setSauBenh(optionSauBenhs.filter(x => x.value == response.IdSauBenh).length == 0 ? { value: 0, label: 'Chọn sâu bệnh' } : optionSauBenhs.filter(x => x.value == response.IdSauBenh)[0]);\r\n setGiaiDoan(optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan).length == 0 ? { value: 0, label: 'Chọn giai đoạn' } : optionGiaiDoans.filter(x => x.value == response.IdGiaiDoan)[0]);\r\n setLoai(response.Loai == undefined ? { value: true, label: 'Đặc điểm sinh học' } : optionLoais.filter(x => x.value == response.Loai)[0]);\r\n setMoTa(response.MoTa);\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n var fielPath = '';\r\n\r\n dacDiem.HinhAnh = srcImage;\r\n dacDiem.IdSauBenh = sauBenh.value;\r\n dacDiem.IdGiaiDoan = giaiDoan.value;\r\n dacDiem.MoTa = moTa;\r\n if (!isEdit) {\r\n console.log(dacDiem);\r\n const res = await TrieuChungApi.post(dacDiem);\r\n }\r\n else {\r\n console.log(dacDiem);\r\n const res = await TrieuChungApi.put(dacDiem);\r\n }\r\n setShow(false);\r\n loadTrieuChung();\r\n }\r\n catch (ex) {\r\n console.log(ex.message);\r\n }\r\n }\r\n\r\n const loadSauBenh = async () => {\r\n const resPonse = await SauBenhApi.getAll();\r\n setListSauBenh(resPonse);\r\n if (!resPonse.length == false) {\r\n resPonse.map(x => {\r\n optionSauBenhs.push({ 'value': x.Id, 'label': x.TenSauBenh });\r\n })\r\n }\r\n }\r\n\r\n const loadGiaiDoan = async () => {\r\n const rePonse = await GiaiDoanPhatTrienApi.getAll();\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n optionGiaiDoans.push({ 'value': x.Id, 'label': x.TenGiaiDoan });\r\n })\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadTrieuChung();\r\n loadSauBenh();\r\n loadGiaiDoan();\r\n setRoleAdd(Authen.checkQuyen('DACDIEMTRIEUCHUNG_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('DACDIEMTRIEUCHUNG_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('DACDIEMTRIEUCHUNG_DELETE'));\r\n }, []);\r\n\r\n const setFilter = (e) => {\r\n setSearch(e.target.value);\r\n }\r\n\r\n\r\n const alertDell = async () => {\r\n let lstChecked = listTrieuChung.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n TrieuChungApi.delete(lstChecked[0].Id).then(() => {\r\n loadTrieuChung();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const Timkiem = () => {\r\n loadTrieuChung();\r\n }\r\n\r\n const onChangeSelectLoai = (optionSelected) => {\r\n setLoai(optionSelected)\r\n }\r\n\r\n const onChangeMoTa = (event, editor) => {\r\n const data = editor.getData();\r\n setMoTa(data);\r\n }\r\n\r\n const changeTab = () => {\r\n reset(\r\n {\r\n Id: dacDiem.Id,\r\n TenTrieuChung: dacDiem.TenTrieuChung,\r\n TenKhoaHoc: dacDiem.TenKhoaHoc,\r\n GhiChu: dacDiem.GhiChu,\r\n Status: dacDiem.Status,\r\n ThuTu: dacDiem.ThuTu,\r\n DonViTinh: dacDiem.DonViTinh,\r\n TieuChuan: dacDiem.TieuChuan\r\n }, [reset]);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Đặc điểm triệu chứng
\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 {\r\n listTrieuChung.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 \r\n
Hình ảnhTên triệu chứngMô tảTiêu chuẩnĐơn vị tínhStatus
\r\n item.checked = e.target.value}>\r\n \r\n \r\n {item.TenTrieuChung}{item.MoTa}{item.TieuChuan}{item.DonViTinh}{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 Đặc điểm triệu chứng\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Thông tin cơ bản\r\n Mô tả\r\n \r\n \r\n \r\n
\r\n
\r\n Tên triệu chứng *\r\n
\r\n
\r\n dacDiem.TenTrieuChung = e.target.value}>\r\n {errors.TenTrieuChung && errors.TenTrieuChung.message}\r\n
\r\n
\r\n
\r\n
\r\n Hình ảnh\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Giai đoạ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 Ghi chú\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n Loại\r\n
\r\n
\r\n dacDiem.ThuTu = e.target.value}\r\n >\r\n
\r\n
\r\n
\r\n
\r\n Tiêu chuẩn\r\n
\r\n
\r\n dacDiem.TieuChuan = e.target.value}\r\n >\r\n
\r\n
\r\n Đơn vị tính\r\n
\r\n
\r\n dacDiem.DonViTinh = e.target.value}\r\n >\r\n
\r\n
\r\n
\r\n
\r\n Trạng thái\r\n
\r\n
\r\n dacDiem.Status = e.target.value}>\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n onChangeMoTa(event, editor)} />\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 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 CayTrongApi from '../../../api/CayTrongApi';\r\nimport GiaiDoanPhatTrienApi from '../../../api/GiaiDoanPhatTrienApi';\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\nimport 'react-tabs/style/react-tabs.css';\r\nimport Authen from '../../../core/Authen';\r\n\r\nexport const GiaiDoanPhatTrien = () => {\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n\r\n //const [listCayTrongs, setListCayTrongs] = useState([]);\r\n const [listGiaiDoans,setListGiaiDoans]=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\r\n const [viewModal, setViewModal] = useState(false);\r\n const [giaiDoanModal, setGiaiDoanModal] = useState({GiaiDoanPhatTrien})\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 [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem]=useState(false);\r\n\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listDanhMucCay, setDanhMucCay] = useState([]);\r\n\r\n const [selectedFindIdCay, setSelectedFindIdCay] = useState();\r\n const [findIdCay, setFindIdCay] = useState();\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\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 loadGiaiDoan();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadGiaiDoan();\r\n loadDanhMucCay();\r\n setRoleAdd(Authen.checkQuyen('GIAIDOANPHATTRIEN_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('GIAIDOANPHATTRIEN_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('GIAIDOANPHATTRIEN_DELETE'));\r\n }, []);\r\n\r\n const loadGiaiDoan = async () => {\r\n try {\r\n const params = {\r\n filter: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n idCayTrong: findIdCay\r\n }\r\n const response = await GiaiDoanPhatTrienApi.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.TotalRows / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setListGiaiDoans(response.Items);\r\n setIsEdit(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n function loadDanhMucCay() {\r\n CayTrongApi.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 list.push({ value: item.Id, label: item.TenCayTrong });\r\n })\r\n setDanhMucCay(list);\r\n })\r\n }\r\n\r\n const timKiem = () => {\r\n loadGiaiDoan();\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 listGiaiDoans.forEach(element =>{\r\n if (element.Id===id){\r\n element.Checked= !element.Checked;\r\n }\r\n \r\n })\r\n let index=listGiaiDoans.findIndex(x=>x.Checked);\r\n if (index >= 0)\r\n {\r\n setIsEdit(true);\r\n }\r\n else\r\n {\r\n setIsEdit(false);\r\n }\r\n setListGiaiDoans([...listGiaiDoans]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n TenGiaiDoan:\"\",\r\n Status: true\r\n }, [reset]);\r\n setGiaiDoanModal({\r\n Id: 0,\r\n TenGiaiDoan:\"\",\r\n Status: true\r\n });\r\n setShow(true);\r\n setIsXem(false);\r\n setSelectedOption(listDanhMucCay[0]);\r\n };\r\n\r\n const handleShowEdit = () => \r\n {\r\n let index = listGiaiDoans.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n GiaiDoanPhatTrienApi.getDetail(listGiaiDoans[index].Id).then((response) => {\r\n reset({\r\n Id: response.ID,\r\n TenGiaiDoan: response.TenGiaiDoan,\r\n MoTa: response.MoTa,\r\n IdCayTrong: response.IdCayTrong,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n Delete: response.Delete,\r\n CreatedBy: response.CreatedBy,\r\n CreatedDate: response.CreatedDate,\r\n UpdatedBy: response.UpdatedBy, \r\n UpdatedDate: response.UpdatedDate,\r\n SoNgay: response.SoNgay\r\n }, [reset]);\r\n var index = listDanhMucCay.findIndex(x => x.value == response.IdCayTrong);\r\n setSelectedOption(listDanhMucCay[index]);\r\n setGiaiDoanModal(response);\r\n setShow(true);\r\n setIsXem(false);\r\n setIsEdit(true);\r\n });\r\n }\r\n }\r\n\r\n const handleShowDel = () => \r\n {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstChecked = listGiaiDoans.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 GiaiDoanPhatTrienApi.delete(lstId).then(() => {\r\n loadGiaiDoan();\r\n })\r\n }\r\n });\r\n }\r\n const handleShowData = () => \r\n {\r\n let index = listGiaiDoans.findIndex(x => x.Checked);\r\n if (index !== - 1)\r\n {\r\n GiaiDoanPhatTrienApi.getDetail(listGiaiDoans[index].Id).then((response)=> \r\n {\r\n reset({\r\n Id:response.ID,\r\n TenGiaiDoan:response.TenGiaiDoan,\r\n MoTa:response.MoTa,\r\n IdCayTrong:response.IdCayTrong,\r\n GhiChu:response.GhiChu,\r\n Status:response.Status,\r\n Delete:response.Delete,\r\n CreatedBy:response.CreatedBy,\r\n CreatedDate:response.CreatedDate,\r\n UpdatedBy:response.UpdatedBy, \r\n UpdatedDate:response.UpdatedDate,\r\n SoNgay: response.SoNgay \r\n }, [reset]);\r\n var index = listDanhMucCay.findIndex(x => x.value == response.IdCayTrong);\r\n setSelectedOption(listDanhMucCay[index]);\r\n setGiaiDoanModal(response);\r\n setShow(true);\r\n setIsXem(true);\r\n setIsEdit(true);\r\n })\r\n }\r\n }\r\n\r\n const saveData = (data) => \r\n {\r\n try\r\n { \r\n var userLogin= Authen.getUser().UserName;\r\n giaiDoanModal.IdCayTrong=0;\r\n if (selectedOption) {\r\n if (selectedOption.value === 0) {\r\n giaiDoanModal.IdCayTrong = null;\r\n }\r\n else {\r\n giaiDoanModal.IdCayTrong = selectedOption.value;\r\n }\r\n }\r\n else \r\n {\r\n giaiDoanModal.IdCayTrong = null;\r\n }\r\n if (giaiDoanModal.IdCayTrong==null)\r\n {\r\n ThongBao.prinWarningMessage(\"Hãy lựa chọn danh mục cây trồng\");\r\n }\r\n else\r\n {\r\n if (giaiDoanModal.Id === 0 || giaiDoanModal.Id === null || giaiDoanModal.Id === undefined) \r\n {\r\n giaiDoanModal.Id = 0;\r\n giaiDoanModal.CreatedDate= new Date();\r\n giaiDoanModal.CreatedBy=userLogin;\r\n GiaiDoanPhatTrienApi.post(giaiDoanModal).then(() => {\r\n setShow(false);\r\n loadGiaiDoan();\r\n })\r\n }\r\n else {\r\n giaiDoanModal.UpdatedDate=new Date();\r\n giaiDoanModal.UpdatedBy=userLogin;\r\n GiaiDoanPhatTrienApi.put(giaiDoanModal).then(() => {\r\n setShow(false);\r\n loadGiaiDoan();\r\n })\r\n }\r\n setIsEdit(false);\r\n }\r\n }\r\n catch(ex)\r\n {\r\n } \r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const onChangeDanhMucCay = (e) => {\r\n setSelectedOption(e);\r\n }\r\n\r\n const onChangeFindIdCay = (e) => {\r\n setSelectedFindIdCay(e);\r\n setFindIdCay(e.value);\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadGiaiDoan();\r\n }\r\n }\r\n\r\n const closeModalImage = () => {\r\n setViewModal(false);\r\n }\r\n\r\n const onChangeName = (e) => {\r\n giaiDoanModal.TenGiaiDoan = e.target.value;\r\n }\r\n\r\n const onChangeSoNgay = (e) => {\r\n if (isNaN(e.target.value))\r\n {\r\n giaiDoanModal.SoNgay=\"\";\r\n }\r\n else\r\n {\r\n giaiDoanModal.SoNgay=e.target.value;\r\n }\r\n }\r\n\r\n const onFileSelected = (e) => {\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Giai Đoạn Phát Triển
\r\n
\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 listGiaiDoans.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 giai đoạnMô tảGhi chúCây trồngTrạng thái
\r\n
\r\n \r\n
\r\n
{item.TenGiaiDoan}{item.MoTa}{item.GhiChu}{item.TenCayTrong}\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 Chi tiết giai đoạn\r\n \r\n \r\n
\r\n giaiDoanModal.Id = e.target.value} >\r\n
\r\n \r\n
\r\n \r\n {errors.TenGiaiDoan && Hãy nhập tên giai đoạn}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.IdCayTrong && Chọn cây trồng}\r\n
\r\n \r\n
\r\n \r\n {errors.SoNgay && Hãy nhập số ngày}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \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}\r\n","import React, { useState, useEffect } from 'react'\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 'react-tabs/style/react-tabs.css';\r\nimport Authen from '../../../core/Authen';\r\nimport moment from 'moment';\r\nimport DonViCungCapApi from '../../../api/DonViCungCapApi';\r\nimport Datetime from 'react-datetime';\r\nimport \"react-datetime/css/react-datetime.css\";\r\nimport { ExcelRenderer } from \"react-excel-renderer\";\r\nimport Select from 'react-select';\r\nimport * as XLSX from \"xlsx\";\r\nimport QuanHuyenApi from '../../../api/QuanHuyenApi';\r\nimport { set } from 'ol/transform';\r\nimport Ultility, { stringIsNumber, stringToNumber } from '../../../core/Ultility';\r\n\r\nexport const DonViCungCap = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n var 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 const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const [showXlsForm, setShowXlsForm] = useState(false);\r\n const handleCloseXlsForm = () => setShowXlsForm(false);\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [filter, setFilter] = useState('');\r\n\r\n const [listDonViCungCaps, setListDonViCungCaps] = 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 const [isEdit, setIsEdit] = useState(false);\r\n\r\n const [fileNameXls, setFileNameXls] = useState({});\r\n const [listXls, setListXls] = useState([]);\r\n // const [listDonViCungCapXlsRoot, setListDonViCungCapXlsRoot] = useState([]);\r\n const [listDonViCungCapXls, setListDonViCungCapXls] = useState([]);\r\n\r\n const [startDate, setStartDate] = useState(new Date());\r\n const [startDate2, setStartDate2] = useState(new Date());\r\n const [startDate3, setStartDate3] = useState(new Date());\r\n const [startDate4, setStartDate4] = useState(new Date());\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [listQuanHuyen, setListQuanHuyen] = useState([]);\r\n const [listPhuongXa_All, setListPhuongXa_All] = useState([]);\r\n const [listPhuongXa, setListPhuongXa] = useState([]);\r\n const [listPhuongXa_TimKiem, setListPhuongXa_TimKiem] = useState([]);\r\n const [selectedQuanHuyen, setSelectedQuanHuyen] = useState();\r\n const [selectedQuanHuyen_TimKiem, setSelectedQuanHuyen_TimKiem] = useState();\r\n const [selectedPhuongXa, setSelectedPhuongXa] = useState();\r\n const [selectedPhuongXa_TimKiem, setSelectedPhuongXa_TimKiem] = useState();\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 loadDonViCungCap();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadDonViCungCap();\r\n loadQuanHuyen();\r\n loadPhuongXa_All();\r\n setRoleAdd(Authen.checkQuyen('DONVICUNGCAP_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('DONVICUNGCAP_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('DONVICUNGCAP_DELETE'));\r\n }, []);\r\n\r\n const loadDonViCungCap = async () => {\r\n var maHuyen = '';\r\n var maXa = '';\r\n if (selectedQuanHuyen_TimKiem != null && selectedQuanHuyen_TimKiem.value != null) {\r\n maHuyen = selectedQuanHuyen_TimKiem.value;\r\n }\r\n if (selectedPhuongXa_TimKiem != null && selectedPhuongXa_TimKiem.value != null) {\r\n maXa = selectedPhuongXa_TimKiem.value;\r\n }\r\n try {\r\n const params = {\r\n filter: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n maHuyen: maHuyen,\r\n maXa: maXa\r\n }\r\n const response = await DonViCungCapApi.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.TotalRows / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setListDonViCungCaps(response.Items);\r\n setIsEdit(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const timKiem = () => {\r\n loadDonViCungCap();\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 listDonViCungCaps.forEach(element => {\r\n if (element.Id === id) {\r\n element.Checked = !element.Checked;\r\n }\r\n })\r\n let index = listDonViCungCaps.findIndex(x => x.Checked);\r\n if (index >= 0) {\r\n setIsEdit(true);\r\n }\r\n else {\r\n setIsEdit(false);\r\n }\r\n setListDonViCungCaps([...listDonViCungCaps]);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n try {\r\n reset({\r\n Id: 0,\r\n Ma: \"\",\r\n Ten: \"\",\r\n ToaDoX: 0,\r\n ToaDoY: 0,\r\n DiaChi: \"\",\r\n DienThoai: \"\",\r\n Email: \"\",\r\n WebSite: \"\",\r\n GhiChu: \"\",\r\n Status: true,\r\n Delete: false,\r\n CreatedBy: Authen.getUser().UserName,\r\n CreatedDate: new Date(),\r\n UpdatedBy: \"\",\r\n UpdatedDate: null,\r\n SoDangKyKinhDoanh: \"\",\r\n DonViCapDangKyKinhDoanh: \"\",\r\n NgayCapDangKyKinhDoanh: null,\r\n SoChungChiChuyenMon: \"\",\r\n NgayCapChungChiChuyenMon: null,\r\n SoChungNhanDieuKien: \"\",\r\n NgayCapChungNhanDieuKien: null,\r\n NgayHetHanChungNhanDieuKien: null\r\n }, [reset]);\r\n setShow(true)\r\n setStartDate(moment(new Date()));\r\n setStartDate2(moment(new Date()));\r\n setStartDate3(moment(new Date()));\r\n setStartDate4(moment(new Date()));\r\n if (listQuanHuyen.length >= 0) {\r\n setSelectedQuanHuyen(listQuanHuyen[0]);\r\n }\r\n if (listPhuongXa.length >= 0) {\r\n setSelectedPhuongXa(listPhuongXa[0]);\r\n }\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n };\r\n\r\n const handleShowEdit = () => {\r\n try {\r\n let index = listDonViCungCaps.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n DonViCungCapApi.getDetail(listDonViCungCaps[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Ma: response.Ma,\r\n Ten: response.Ten,\r\n ToaDoX: response.ToaDoX,\r\n ToaDoY: response.ToaDoY,\r\n DiaChi: response.DiaChi,\r\n DienThoai: response.DienThoai,\r\n Email: response.Email,\r\n WebSite: response.WebSite,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n Delete: response.Delete,\r\n CreatedBy: response.CreatedBy,\r\n CreatedDate: response.CreatedDate,\r\n UpdatedBy: response.UpdatedBy,\r\n UpdatedDate: response.UpdatedDate,\r\n SoDangKyKinhDoanh: response.SoDangKyKinhDoanh,\r\n DonViCapDangKyKinhDoanh: response.DonViCapDangKyKinhDoanh,\r\n NgayCapDangKyKinhDoanh: response.NgayCapDangKyKinhDoanh,\r\n SoChungChiChuyenMon: response.SoChungChiChuyenMon,\r\n NgayCapChungChiChuyenMon: response.NgayCapChungChiChuyenMon,\r\n SoChungNhanDieuKien: response.SoChungNhanDieuKien,\r\n NgayCapChungNhanDieuKien: response.NgayCapChungNhanDieuKien,\r\n NgayHetHanChungNhanDieuKien: response.NgayHetHanChungNhanDieuKien\r\n }, [reset]);\r\n setStartDate(moment(response.NgayCapDangKyKinhDoanh));\r\n setStartDate2(moment(response.NgayCapChungChiChuyenMon));\r\n setStartDate3(moment(response.NgayCapChungNhanDieuKien));\r\n setStartDate4(moment(response.NgayHetHanChungNhanDieuKien));\r\n setShow(true);\r\n setIsEdit(true);\r\n setSelectedQuanHuyen(listQuanHuyen[0]);\r\n var index = listQuanHuyen.findIndex(x => x.value == response.MaHuyen);\r\n if (index >= 0) {\r\n setSelectedQuanHuyen(listQuanHuyen[index]);\r\n }\r\n loadPhuongXa({ value: response.MaHuyen }, false, response.MaXa);\r\n });\r\n }\r\n }\r\n catch (err) {\r\n console.log(err);\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 = listDonViCungCaps.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 DonViCungCapApi.delete(lstId).then(() => {\r\n loadDonViCungCap();\r\n })\r\n }\r\n });\r\n }\r\n const handleShowData = () => {\r\n let index = listDonViCungCaps.findIndex(x => x.Checked);\r\n if (index !== - 1) {\r\n DonViCungCapApi.getDetail(listDonViCungCaps[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n Ma: response.Ma,\r\n Ten: response.Ten,\r\n ToaDoX: response.ToaDoX,\r\n ToaDoY: response.ToaDoY,\r\n DiaChi: response.DiaChi,\r\n DienThoai: response.DienThoai,\r\n Email: response.Email,\r\n WebSite: response.WebSite,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n Delete: response.Delete,\r\n CreatedBy: response.CreatedBy,\r\n CreatedDate: response.CreatedDate,\r\n UpdatedBy: response.UpdatedBy,\r\n UpdatedDate: response.UpdatedDate,\r\n SoDangKyKinhDoanh: response.SoDangKyKinhDoanh,\r\n DonViCapDangKyKinhDoanh: response.DonViCapDangKyKinhDoanh,\r\n NgayCapDangKyKinhDoanh: response.NgayCapDangKyKinhDoanh,\r\n SoChungChiChuyenMon: response.SoChungChiChuyenMon,\r\n NgayCapChungChiChuyenMon: response.NgayCapChungChiChuyenMon,\r\n SoChungNhanDieuKien: response.SoChungNhanDieuKien,\r\n NgayCapChungNhanDieuKien: response.NgayCapChungNhanDieuKien,\r\n NgayHetHanChungNhanDieuKien: response.NgayHetHanChungNhanDieuKien\r\n }, [reset]);\r\n setStartDate(moment(response.NgayCapDangKyKinhDoanh));\r\n setStartDate2(moment(response.NgayCapChungChiChuyenMon));\r\n setStartDate3(moment(response.NgayCapChungNhanDieuKien));\r\n setStartDate4(moment(response.NgayHetHanChungNhanDieuKien));\r\n setShow(true);\r\n setIsEdit(true);\r\n })\r\n }\r\n }\r\n\r\n const saveData = (data) => {\r\n try {\r\n if (selectedQuanHuyen == null || selectedQuanHuyen.value == '') {\r\n ThongBao.prinWarningMessage(\"Chưa chọn quận huyện\");\r\n }\r\n else {\r\n data.NgayCapDangKyKinhDoanh = moment(startDate).format(\"DD/MM/YYYY\");\r\n data.NgayCapChungChiChuyenMon = moment(startDate2).format(\"DD/MM/YYYY\");\r\n data.NgayCapChungNhanDieuKien = moment(startDate3).format(\"DD/MM/YYYY\");\r\n data.NgayHetHanChungNhanDieuKien = moment(startDate4).format(\"DD/MM/YYYY\");\r\n if (selectedQuanHuyen != null && selectedQuanHuyen.value != '') {\r\n data.MaHuyen = selectedQuanHuyen.value;\r\n }\r\n if (selectedPhuongXa != null && selectedPhuongXa.value != '') {\r\n data.MaXa = selectedPhuongXa.value;\r\n }\r\n if (data.Id == 0 || data.Id == null || data.Id == undefined) {\r\n data.Id = 0;\r\n data.CreatedDate = new Date();\r\n DonViCungCapApi.post(data).then(() => {\r\n setShow(false);\r\n loadDonViCungCap();\r\n })\r\n }\r\n else {\r\n data.UpdatedDate = new Date();\r\n DonViCungCapApi.put(data).then(() => {\r\n setShow(false);\r\n loadDonViCungCap();\r\n })\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n console.log(ex);\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 loadDonViCungCap();\r\n }\r\n }\r\n\r\n const handleImportXlsx = () => {\r\n setListDonViCungCapXls([]);\r\n setShowXlsForm(true);\r\n }\r\n\r\n const Ngay_ValueChange = (event) => {\r\n setStartDate(event._d);\r\n }\r\n\r\n const Ngay_ValueChange2 = (event) => {\r\n setStartDate2(event._d);\r\n }\r\n\r\n const Ngay_ValueChange3 = (event) => {\r\n setStartDate3(event._d);\r\n }\r\n\r\n const Ngay_ValueChange4 = (event) => {\r\n setStartDate4(event._d);\r\n }\r\n\r\n const colTen_Style = {\r\n minWidth: '100px'\r\n }\r\n\r\n const colDiaChi_Style = {\r\n minWidth: '120px'\r\n }\r\n\r\n // Import Xls\r\n function toDate(obj) {\r\n if (obj == null) {\r\n return null;\r\n }\r\n else {\r\n var str = obj.toString().trim();\r\n if (moment(str, 'D/M/YYYY', true).isValid() == true) {\r\n return str;\r\n }\r\n else {\r\n if (stringIsNumber(obj)) {\r\n var num = stringToNumber(obj);\r\n if (num > 25569) {\r\n return moment(new Date(Math.round((num - 25569) * 86400 * 1000))).format(\"DD/MM/YYYY\");\r\n }\r\n }\r\n return \"Invalid date\";\r\n }\r\n }\r\n }\r\n\r\n const selectXls = (e) => {\r\n var file = e.target.files[0];\r\n setFileNameXls(file);\r\n let reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onerror = function (error) {\r\n console.log('Error: ', error);\r\n }\r\n ExcelRenderer(file, (err, resp) => {\r\n if (err) {\r\n console.log(err);\r\n }\r\n else {\r\n setListXls({\r\n cols: resp.cols,\r\n rows: resp.rows\r\n });\r\n\r\n // let listRoot = [];\r\n let list = [];\r\n let count = 0;\r\n resp.rows.forEach((item, key) => {\r\n try {\r\n if (key != 0 && item[3] != undefined && item[3] != \"\" && item[0] != undefined && item[0] != \"TT\" && item[0] != \"STT\") {\r\n list.push({\r\n // Stt: item[0],\r\n Ma: \"\",\r\n Ten: item[3],\r\n ToaDoX: 0,\r\n ToaDoY: 0,\r\n DiaChi: (item[5] == undefined) ? '' : item[5],\r\n DienThoai: (item[4] == undefined) ? '' : item[4],\r\n Email: \"\",\r\n WebSite: \"\",\r\n GhiChu: \"\",\r\n Status: true,\r\n Delete: false,\r\n CreatedBy: \"Admin\",\r\n CreatedDate: new Date(),\r\n SoDangKyKinhDoanh: (item[6] == undefined) ? '' : item[6].trim().toUpperCase(),\r\n DonViCapDangKyKinhDoanh: (item[7] == undefined) ? '' : item[7],\r\n NgayCapDangKyKinhDoanh: toDate(item[8]),\r\n SoChungChiChuyenMon: (item[9] == undefined) ? '' : item[9],\r\n NgayCapChungChiChuyenMon: toDate(item[10]),\r\n SoChungNhanDieuKien: (item[11] == undefined) ? '' : item[11],\r\n NgayCapChungNhanDieuKien: toDate(item[12]),\r\n NgayHetHanChungNhanDieuKien: toDate(item[13]),\r\n TenHuyen: item[1],\r\n TenXa: item[2],\r\n MaHuyen: null,\r\n MaXa: null,\r\n IsValid: true,\r\n ThongBao: \"\"\r\n });\r\n }\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n });\r\n list.forEach((element, i) => {\r\n var index = -1;\r\n if (element.TenHuyen != null && element.TenHuyen.length > 0) {\r\n index = listQuanHuyen.findIndex(x => x.label.toLowerCase().trim().includes(element.TenHuyen.toLowerCase().trim()));\r\n if (index >= 0) {\r\n element.MaHuyen = listQuanHuyen[index].value;\r\n }\r\n else {\r\n element.ThongBao += \"sai tên huyện, \";\r\n }\r\n if (element.MaHuyen != null && element.TenXa != null && element.TenXa.length > 0) {\r\n index = listPhuongXa_All.findIndex(x => element.MaHuyen == x.maHuyen && x.label.toLowerCase().trim().includes(element.TenXa.toLowerCase().trim()))\r\n if (index >= 0) {\r\n element.MaXa = listPhuongXa_All[index].value;\r\n }\r\n else {\r\n element.ThongBao += \"sai tên xã, \";\r\n element.IsValid = false;\r\n }\r\n }\r\n }\r\n else {\r\n element.ThongBao += \" chưa nhập tên huyện, \";\r\n element.IsValid = false;\r\n }\r\n if (element.NgayCapDangKyKinhDoanh == \"Invalid date\" || element.NgayCapChungChiChuyenMon == \"Invalid date\" || element.NgayCapChungNhanDieuKien == \"Invalid date\" || element.NgayHetHanChungNhanDieuKien == \"Invalid date\") {\r\n element.ThongBao += \" sai định dạng ngày tháng, \";\r\n element.IsValid = false;\r\n }\r\n if (element.IsValid == false) {\r\n // element.ThongBao = \"Dòng \" + i.toString() + element.ThongBao;\r\n }\r\n });\r\n setListDonViCungCapXls(list);\r\n }\r\n });\r\n }\r\n\r\n const isDate = (input, i, lineXls) => {\r\n var isKq = Boolean = true;\r\n if (input != null && input != undefined && input != \"\") {\r\n var utc = moment(input, 'dd/mm/yyyy');\r\n var isUtc = utc.isValid();\r\n var txt = \"\";\r\n txt = input;\r\n var sltrim = txt.trimLeft().trimRight().split(' ').length;\r\n if (isUtc == false || sltrim > 1) {\r\n ThongBao.printErrorMessage('Dòng ' + i + ':\\n Column ' + lineXls + i + ' Sai định dạng ngày hoặc giữa ngày tháng năm có khoảng trắng');\r\n isKq = false;\r\n }\r\n }\r\n return isKq;\r\n }\r\n\r\n const importData = async () => {\r\n try {\r\n if (listDonViCungCapXls.filter(x => x.IsValid == false).length == 0) {\r\n const response = await DonViCungCapApi.importXls(listDonViCungCapXls);\r\n if (response.Status == true) {\r\n ThongBao.printSuccessMessage(\"Đã import thành công\");\r\n setShowXlsForm(false);\r\n loadDonViCungCap();\r\n }\r\n }\r\n else {\r\n ThongBao.prinWarningMessage(\"Dữ liệu import không hợp lệ. Hãy kiểm tra lại các dòng dữ liệu bị sai (dòng có màu đỏ)\")\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const onChangeQuanHuyen = (e) => {\r\n setSelectedQuanHuyen(e);\r\n loadPhuongXa(e, false, null);\r\n }\r\n\r\n const onChangePhuongXa = (e) => {\r\n setSelectedPhuongXa(e);\r\n }\r\n\r\n const onChangeQuanHuyen_TimKiem = (e) => {\r\n setSelectedQuanHuyen_TimKiem(e);\r\n loadPhuongXa(e, true, null);\r\n }\r\n\r\n const onChangePhuongXa_TimKiem = (e) => {\r\n setSelectedPhuongXa_TimKiem(e);\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 quận huyện...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten });\r\n })\r\n setListQuanHuyen(list);\r\n })\r\n }\r\n\r\n // function loadPhuongXa(idQuanHuyen, isTimKiem, maXa) {\r\n // const params = {\r\n // maHuyen: Number(idQuanHuyen.value == undefined ? '' : idQuanHuyen.value)\r\n // }\r\n // QuanHuyenApi.getXaByHuyen(params).then((response) => {\r\n // let list = [];\r\n // list.push({ value: '', label: 'Chọn phường xã...' });\r\n // response.forEach(item => {\r\n // list.push({ value: item.maXa, label: item.tenXa });\r\n // })\r\n // if (isTimKiem == true) {\r\n // setListPhuongXa_TimKiem(list);\r\n // setSelectedPhuongXa_TimKiem(list[0]);\r\n // }\r\n // else {\r\n // setListPhuongXa(list);\r\n // var index = list.findIndex(x => x.value == maXa);\r\n // if (index >= 0) {\r\n // setSelectedPhuongXa(list[index]);\r\n // }\r\n // else {\r\n // setSelectedPhuongXa(list[0]);\r\n // }\r\n // }\r\n // })\r\n // }\r\n\r\n function loadPhuongXa_All() {\r\n QuanHuyenApi.getXaByHuyen({ maHuyen: '' }).then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn phường xã...', maHuyen: '' });\r\n response.forEach(item => {\r\n list.push({ value: item.maXa, label: item.tenXa, maHuyen: item.maHuyen });\r\n })\r\n setListPhuongXa_All(list);\r\n })\r\n }\r\n\r\n function loadPhuongXa(idQuanHuyen, isTimKiem, maXa) {\r\n var maHuyen = idQuanHuyen.value == undefined ? '' : idQuanHuyen.value;\r\n let list = [];\r\n list = listPhuongXa_All.filter(x => x.maHuyen == maHuyen || x.maHuyen == '')\r\n if (isTimKiem == true) {\r\n setListPhuongXa_TimKiem(list);\r\n setSelectedPhuongXa_TimKiem(list[0]);\r\n }\r\n else {\r\n setListPhuongXa(list);\r\n var index = list.findIndex(x => x.value == maXa);\r\n if (index >= 0) {\r\n setSelectedPhuongXa(list[index]);\r\n }\r\n else {\r\n setSelectedPhuongXa(list[0]);\r\n }\r\n }\r\n }\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Đơn Vị Cung Cấp
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\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 \r\n {\r\n listDonViCungCaps.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 })\r\n }\r\n \r\n
HuyệnMã đơn vịTên đơn vịĐịa chỉĐiện thoạiEmailWebSiteGhi chúTrạng thái
\r\n
\r\n \r\n
\r\n
{item.TenHuyen}{item.Ma}{item.Ten}{item.DiaChi}{item.DienThoai}{item.Email}{item.WebSite}{item.GhiChu}\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 \r\n\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n listDonViCungCapXls.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 \r\n \r\n \r\n \r\n \r\n )\r\n })\r\n }\r\n \r\n
STTHuyệnTênĐiện thoạiĐịa chỉSố đkkdĐơn vị cấp đkkdNgày cấp đkkdSố CCCMNgày cấp CCCMSố CNDDKNgày cấp CNDDKNgày hết hạn CNDDK
{key + 1}{item.Stt}-{item.TenHuyen}{item.TenXa}{item.Ten}{item.DienThoai}{item.DiaChi}{item.SoDangKyKinhDoanh}{item.DonViCapDangKyKinhDoanh}{item.NgayCapDangKyKinhDoanh}{item.SoChungChiChuyenMon}{item.NgayCapChungChiChuyenMon}{item.SoChungNhanDieuKien}{item.NgayCapChungNhanDieuKien}{item.NgayHetHanChungNhanDieuKien}
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n \r\n Chi tiết\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Ma && Hãy nhập mã đơn vị..}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n {errors.Ten && Hãy nhập tên đơn 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 {errors.ToaDoX && errors.ToaDoX.message}\r\n
\r\n \r\n
\r\n \r\n
\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.ToaDoX && errors.ToaDoX.message}\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n Ngay_ValueChange(e)} ref={register} value={startDate} />\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.ToaDoX && errors.ToaDoX.message}\r\n
\r\n \r\n
\r\n Ngay_ValueChange2(e)} ref={register} value={startDate2} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {errors.ToaDoX && errors.ToaDoX.message}\r\n
\r\n \r\n
\r\n Ngay_ValueChange3(e)} ref={register} value={startDate3} />\r\n
\r\n \r\n
\r\n Ngay_ValueChange4(e)} ref={register} value={startDate4} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\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 HoiDapApi = {\r\n getPaging: (params) => {\r\n const url = '/hoidap/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n getPagingPublic: (params) => {\r\n const url = '/hoidap/pagingpublic';\r\n return axiosClient.get(url, {params});\r\n },\r\n getXemNhieuNhat: (params) => {\r\n const url = '/hoidap/getxemnhieunhat';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/hoidap/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/hoidap/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n postPublic: (data) =>{\r\n const url = '/hoidap/addpublic';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n postCauHoiPublic: (data) =>{\r\n const url = '/hoidap/addcauhoipublic';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/hoidap/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/hoidap/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'hoidap/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n getByCha: (idcha) => {\r\n const url = '/hoidap/getbycha/'+idcha;\r\n return axiosClient.get(url);\r\n },\r\n\r\n addLike: (data) => {\r\n const url = '/hoidap/addlike';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n addView: (data) => {\r\n const url = '/hoidap/addview';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n \r\n}\r\n\r\nexport default HoiDapApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport HoiDapApi from '../../../api/HoiDapApi';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport 'react-tabs/style/react-tabs.css';\r\nimport '../../../index.css'\r\n\r\nexport const TraLoi = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n setShow(false);\r\n props.closeModal();\r\n }\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [currentItem, setCurrentItem] = useState({});\r\n\r\n const [idHoiDap, setIdHoiDap] = useState();\r\n const [listTraLoi, setListTraLoi] = useState([]);\r\n\r\n useEffect(() => {\r\n if (props.show === true) {\r\n setShow(true);\r\n setIdHoiDap(props.idHoiDap);\r\n loadHoiDaps(props.idHoiDap);\r\n var item = {\r\n Id: 0,\r\n NoiDung: ''\r\n };\r\n reset(item, [reset]);\r\n }\r\n }, [props.show]);\r\n\r\n const loadHoiDaps = async (id) => {\r\n try {\r\n const response = await HoiDapApi.getByCha(id);\r\n setCurrentItem(response);\r\n setListTraLoi(response.TraLois);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const saveData = (data) => {\r\n data.IdCayTrong = currentItem.IdCayTrong;\r\n data.IdCha = currentItem.Id;\r\n data.Status = true;\r\n if (data.Id === \"0\" || data.Id == null) {\r\n data.Id = 0;\r\n HoiDapApi.post(data).then(() => {\r\n loadHoiDaps(currentItem.Id);\r\n var item = {\r\n Id: 0,\r\n NoiDung: ''\r\n };\r\n reset(item, [reset]);\r\n })\r\n }\r\n else {\r\n HoiDapApi.put(data).then(() => {\r\n setShow(false);\r\n loadHoiDaps();\r\n })\r\n }\r\n }\r\n\r\n const handleShowEdit = (data) => {\r\n reset(data, [reset]);\r\n }\r\n\r\n const handleShowDel = (data) => {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n let lstId = [];\r\n lstId.push(data.Id);\r\n HoiDapApi.delete(lstId).then(() => {\r\n loadHoiDaps(currentItem.Id);\r\n });\r\n });\r\n }\r\n\r\n const fontLarge_Style = {\r\n fontSize: 'large'\r\n }\r\n\r\n const traLoi_Style = {\r\n backgroundColor: 'ghostwhite',\r\n padding: '20px',\r\n maxHeight: '250px',\r\n overflow: 'scroll'\r\n }\r\n\r\n const button_Style = {\r\n padding: '.25rem .25rem',\r\n lineHeight: '1',\r\n fontSize: '.875rem',\r\n borderRadius: '2rem',\r\n marginLeft: '.5rem'\r\n }\r\n\r\n const thumb_Style = {\r\n maxHeight: '100px',\r\n maxWidth: '100%',\r\n padding: '2px',\r\n border: '1px solid gainsboro'\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n Trả lời\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {currentItem.FullName == null ? currentItem.HoTen : currentItem.FullName}\r\n \r\n \r\n {currentItem.TenCayTrong}\r\n \r\n
\r\n
\r\n
\r\n {currentItem.ChuDe} \r\n
\r\n
\r\n {currentItem.NoiDung} \r\n
\r\n
\r\n
\r\n {currentItem.HinhAnhs != null &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n {listTraLoi.length == 0 &&\r\n <>\r\n
\r\n Chưa có câu trả lời nào.\r\n
\r\n \r\n }\r\n {listTraLoi.length > 0 &&\r\n listTraLoi.map((item, key) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {item.FullName == null ? item.HoTen : item.FullName}\r\n \r\n
\r\n
\r\n {item.FullName != null &&\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n
\r\n {item.NoiDung} \r\n
\r\n
\r\n
\r\n \r\n )\r\n })\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\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 HoiDapApi from '../../../api/HoiDapApi';\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\nimport 'react-tabs/style/react-tabs.css';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport Authen from '../../../core/Authen';\r\nimport moment from 'moment'\r\nimport { TraLoi } from './traloi'\r\n\r\nexport const HoiDap = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [listHoiDaps, setListHoiDaps] = 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 [listCayTrong, setListCayTrong] = useState([]);\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [viewModal, setViewModal] = useState(false);\r\n const [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [checkedRow, setCheckedRow] = useState(false);\r\n const [currentItem, setCurrentItem] = useState({});\r\n const [idHoiDap, setIdHoiDap] = useState();\r\n const [showTraLoi, setShowTraLoi] = useState(false);\r\n const [isAdminCreated, setIsAdminCreated] = useState(false);\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 loadHoiDaps();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadListCayTrong();\r\n loadHoiDaps();\r\n setRoleAdd(Authen.checkQuyen('HOIDAP_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('HOIDAP_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('HOIDAP_DELETE'));\r\n }, []);\r\n\r\n const loadHoiDaps = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter,\r\n idCayTrong: ''\r\n }\r\n const response = await HoiDapApi.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 paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadHoiDaps();\r\n }\r\n setPaging(paginationConfig);\r\n setListHoiDaps(response.Items);\r\n setCheckedRow(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n const saveData = (data) => {\r\n data.HinhAnhs = srcImage;\r\n if (selectedOption) {\r\n if (selectedOption.value === 0) {\r\n data.IdCayTrong = null;\r\n }\r\n else {\r\n data.IdCayTrong = selectedOption.value;\r\n }\r\n }\r\n else {\r\n data.IdCayTrong = null;\r\n }\r\n if (data.Id === \"0\" || data.Id === null) {\r\n data.Id = 0;\r\n HoiDapApi.post(data).then(() => {\r\n setShow(false);\r\n loadHoiDaps();\r\n })\r\n }\r\n else {\r\n HoiDapApi.put(data).then(() => {\r\n setShow(false);\r\n loadHoiDaps();\r\n })\r\n }\r\n }\r\n\r\n const handleShowAdd = () => {\r\n var item = {\r\n Id: 0,\r\n ChuDe: '',\r\n NoiDung: '',\r\n GhiChu: '',\r\n HoTen: '',\r\n Email: '',\r\n Tel: '',\r\n Linked: 0,\r\n Shared: 0,\r\n Viewed: 0,\r\n Status: true\r\n };\r\n reset(item, [reset]);\r\n setSelectedOption(listCayTrong[0]);\r\n setSrcImage(noImage);\r\n setCurrentItem(item);\r\n setIsAdminCreated(true);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listHoiDaps.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n HoiDapApi.getDetail(listHoiDaps[index].Id).then((response) => {\r\n reset(response, [reset]);\r\n setCurrentItem(response);\r\n var index = listCayTrong.findIndex(x => x.value === response.IdCayTrong);\r\n setSelectedOption(listCayTrong[index]);\r\n setSrcImage(response.HinhAnhs);\r\n setIsAdminCreated(response.CreatedBy !== null);\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 = listHoiDaps.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 HoiDapApi.delete(lstId).then(() => {\r\n loadHoiDaps();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const timKiem = () => {\r\n loadHoiDaps();\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 listHoiDaps.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n if (listHoiDaps.findIndex(x => x.Checked === true) >= 0) {\r\n setCheckedRow(true);\r\n }\r\n else {\r\n setCheckedRow(false);\r\n }\r\n setListHoiDaps([...listHoiDaps]);\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n function loadListCayTrong() {\r\n CayTrongApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn cây trồng...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.TenCayTrong });\r\n })\r\n setListCayTrong(list);\r\n })\r\n }\r\n\r\n const onChangeCayTrong = (e) => {\r\n setSelectedOption(e);\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadHoiDaps();\r\n }\r\n }\r\n\r\n const openModalImage = () => {\r\n setViewModal(true);\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 colNgay_Style = {\r\n width: '120px',\r\n maxWidth: '150px'\r\n }\r\n\r\n const showModalTraLoi = () => {\r\n var lst = listHoiDaps.filter(x => x.Checked);\r\n if (lst.length > 0) {\r\n setShowTraLoi(true);\r\n setIdHoiDap(lst[0].Id);\r\n }\r\n }\r\n\r\n const closeModalTraLoi = () => {\r\n setShowTraLoi(false);\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n
Hỏi đáp
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {roleAdd === 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 listHoiDaps.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 \r\n
Hình ảnhChủ đềNội dungHọ tênEmailNgày tạoTrạng thái
\r\n
\r\n \r\n
\r\n
{item.ChuDe}{item.NoiDung}{item.HoTen}{item.Email}{item.CreatedDate===''?'':moment(item.CreatedDate,\"DD/MM/YYYY HH:mm:ss\").format(\"DD/MM/YYYY HH:mm\")}\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 Hỏi đáp\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 \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n {isAdminCreated === false &&\r\n <>\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n }\r\n
\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}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport MuaVuApi from '../../../api/MuaVuApi';\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 MuaVu = () => {\r\n const [listMuaVu, setMuaVu] = 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 [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [checkedRow, setCheckedRow] = useState(false);\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 loadMuaVus();\r\n }\r\n });\r\n\r\n const loadMuaVus = 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 MuaVuApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = response.Items.length > 0 ? Math.ceil(response.TotalRow / pageSize) : 1;\r\n paginationConfig.currentPage = pageIndex;\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadMuaVus();\r\n }\r\n setPaging(paginationConfig);\r\n setMuaVu(response.Items);\r\n setCheckedRow(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadMuaVus();\r\n setRoleAdd(Authen.checkQuyen('MUAVU_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('MUAVU_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('MUAVU_DELETE'));\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n if (data.Id === \"0\") {\r\n MuaVuApi.post(data).then(() => {\r\n setShow(false);\r\n loadMuaVus();\r\n })\r\n }\r\n else {\r\n MuaVuApi.put(data).then(() => {\r\n setShow(false);\r\n loadMuaVus();\r\n })\r\n }\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Ten: \"\",\r\n Status: true\r\n }, [reset]);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listMuaVu.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n MuaVuApi.getDetail(listMuaVu[index].Id).then((response) => {\r\n reset(response, [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 = listMuaVu.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 MuaVuApi.delete(lstId).then(() => {\r\n loadMuaVus();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const timKiem = () => {\r\n loadMuaVus();\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 listMuaVu.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n if (listMuaVu.findIndex(x => x.Checked == true) >= 0) {\r\n setCheckedRow(true);\r\n }\r\n else {\r\n setCheckedRow(false);\r\n }\r\n setMuaVu([...listMuaVu]);\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 loadMuaVus();\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Mùa vụ
\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 listMuaVu.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 mùa vụThời gianMô tảGhi chúTrạng thái
\r\n
\r\n \r\n
\r\n
{item.Ten}{item.ThoiGian}{item.MoTa}{item.GhiChu}\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 Mùa vụ\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Ten && 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","const { default: axiosClient } = require(\"./axiosClient\");\r\n\r\nconst ThoiTietApi = {\r\n getPaging: (params) => { \r\n const url = '/thoitiet/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/thoitiet/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/thoitiet/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/thoitiet/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/thoitiet/delete/' + id;\r\n return axiosClient.delete(url);\r\n } \r\n}\r\n\r\nexport default ThoiTietApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport ThoiTietApi from '../../../api/ThoiTietApi';\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\n\r\nimport Datetime from 'react-datetime';\r\nimport \"react-datetime/css/react-datetime.css\";\r\n\r\nexport const ThoiTiet = () => {\r\n const [listThoiTiet, setThoiTiet] = 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 [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [checkedRow, setCheckedRow] = useState(false);\r\n const [startDate, setStartDate] = useState(new Date());\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 loadThoiTiets();\r\n }\r\n });\r\n\r\n const loadThoiTiets = 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 ThoiTietApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = response.Items.length > 0 ? Math.ceil(response.TotalRow / pageSize) : 1;\r\n paginationConfig.currentPage = pageIndex;\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadThoiTiets();\r\n }\r\n setPaging(paginationConfig);\r\n setThoiTiet(response.Items);\r\n setCheckedRow(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadThoiTiets();\r\n setRoleAdd(Authen.checkQuyen('THOITIET_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('THOITIET_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('THOITIET_DELETE'));\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n debugger;\r\n data.Ngay=moment(startDate).format(\"DD/MM/YYYY\");\r\n if (data.Id === \"0\") {\r\n ThoiTietApi.post(data).then(() => {\r\n setShow(false);\r\n loadThoiTiets();\r\n })\r\n }\r\n else {\r\n ThoiTietApi.put(data).then(() => {\r\n setShow(false);\r\n loadThoiTiets();\r\n })\r\n }\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Ten: \"\",\r\n Status: true\r\n }, [reset]);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listThoiTiet.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThoiTietApi.getDetail(listThoiTiet[index].Id).then((response) => {\r\n reset(response, [reset]);\r\n debugger;\r\n var d=moment(response.Ngay);\r\n\r\n setStartDate(moment(response.Ngay));\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 = listThoiTiet.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 ThoiTietApi.delete(lstId).then(() => {\r\n loadThoiTiets();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const timKiem = () => {\r\n loadThoiTiets();\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 listThoiTiet.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n if (listThoiTiet.findIndex(x => x.Checked == true) >= 0) {\r\n setCheckedRow(true);\r\n }\r\n else {\r\n setCheckedRow(false);\r\n }\r\n setThoiTiet([...listThoiTiet]);\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 loadThoiTiets();\r\n }\r\n }\r\n const Ngay_ValueChange=(event)=>{\r\n setStartDate(event._d);\r\n }\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
Thời tiế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 {\r\n listThoiTiet.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
NgàyNhiệt độĐộ ẩmNắngMưaTrạng thái
\r\n
\r\n \r\n
\r\n
{moment(item.Ngay).format(\"DD/MM/YYYY\")}{item.NhietDo}{item.DoAm}{item.Nang}{item.Mua}\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 Thời tiết\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n Ngay_ValueChange(e)} ref={register} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\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 ThuocBaoVeThucVatApi = {\r\n getPaging: (params) => {\r\n const url = '/thuocbaovethucvat/paging';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getDetail: (id) =>{\r\n const url = '/thuocbaovethucvat/getbyid/' + id;\r\n return axiosClient.get(url);\r\n },\r\n\r\n post: (data) =>{\r\n const url = '/thuocbaovethucvat/add';\r\n return axiosClient.post(url, data);\r\n },\r\n\r\n put: (data) => {\r\n const url = '/thuocbaovethucvat/edit';\r\n return axiosClient.put(url, data);\r\n },\r\n\r\n delete: (id) =>{\r\n const url = '/thuocbaovethucvat/delete/' + id;\r\n return axiosClient.delete(url);\r\n },\r\n getAll: (params) =>{\r\n const url = 'thuocbaovethucvat/getall';\r\n return axiosClient.get(url, {params});\r\n },\r\n\r\n getThongKe: (params) => {\r\n const url = '/thuocbaovethucvat/thongke';\r\n return axiosClient.get(url, {params});\r\n }\r\n}\r\n\r\nexport default ThuocBaoVeThucVatApi;","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Button } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport ThuocBaoVeThucVatApi from '../../../api/ThuocBaoVeThucVatApi';\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 { QuanLyTapTin } from '../../../shared/quanlytaptin/QuanLyTapTin';\r\nimport * as XLSX from 'xlsx';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\n\r\nexport const ThuocBaoVeThucVat = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [srcImage, setSrcImage] = useState(noImage);\r\n const [listThuocBaoVeThucVat, setThuocBaoVeThucVat] = 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 [roleAdd, setRoleAdd] = useState(false);\r\n const [roleEdit, setRoleEdit] = useState(false);\r\n const [roleDel, setRoleDel] = useState(false);\r\n const [checkedRow, setCheckedRow] = useState(false);\r\n const [viewModal, setViewModal] = useState(false);\r\n const [selectedCay, setSelectedCay] = useState();\r\n const [danhMucCay, setDanhMucCay] = useState([]);\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 loadThuocBaoVeThucVats();\r\n }\r\n });\r\n\r\n var 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 function loadDanhMucCay() {\r\n CayTrongApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: null, label: 'Chọn cây trồng...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.TenCayTrong });\r\n })\r\n setDanhMucCay(list);\r\n })\r\n }\r\n\r\n const loadThuocBaoVeThucVats = 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 ThuocBaoVeThucVatApi.getPaging(params);\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n });\r\n paginationConfig.totalPages = response.Items.length > 0 ? Math.ceil(response.TotalRow / pageSize) : 1;\r\n paginationConfig.currentPage = pageIndex;\r\n paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadThuocBaoVeThucVats();\r\n }\r\n setPaging(paginationConfig);\r\n setThuocBaoVeThucVat(response.Items);\r\n setCheckedRow(false);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadThuocBaoVeThucVats();\r\n loadDanhMucCay();\r\n setRoleAdd(Authen.checkQuyen('THUOCBAOVETHUCVAT_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('THUOCBAOVETHUCVAT_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('THUOCBAOVETHUCVAT_DELETE'));\r\n }, []);\r\n\r\n const saveData = (data) => {\r\n data.HinhAnh = srcImage;\r\n data.IdCayTrong = selectedCay == null? null: selectedCay.value;\r\n if (data.Id === \"0\") {\r\n ThuocBaoVeThucVatApi.post(data).then(() => {\r\n setShow(false);\r\n loadThuocBaoVeThucVats();\r\n })\r\n }\r\n else {\r\n ThuocBaoVeThucVatApi.put(data).then(() => {\r\n setShow(false);\r\n loadThuocBaoVeThucVats();\r\n })\r\n }\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Ten: \"\",\r\n IdCayTrong: null,\r\n Status: true\r\n }, [reset]);\r\n setSelectedCay(null);\r\n setSrcImage(noImage);\r\n setShow(true)\r\n };\r\n\r\n const handleShowEdit = () => {\r\n let index = listThuocBaoVeThucVat.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThuocBaoVeThucVatApi.getDetail(listThuocBaoVeThucVat[index].id).then((response) => {\r\n const index = danhMucCay.findIndex(x=>x.value == response.IdCayTrong);\r\n if(index != -1){\r\n setSelectedCay(danhMucCay[index]);\r\n }\r\n else{\r\n setSelectedCay(null);\r\n }\r\n reset(response, [reset]);\r\n setSrcImage(response.HinhAnh);\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 = listThuocBaoVeThucVat.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 ThuocBaoVeThucVatApi.delete(lstId).then(() => {\r\n loadThuocBaoVeThucVats();\r\n })\r\n }\r\n });\r\n }\r\n\r\n const timKiem = () => {\r\n loadThuocBaoVeThucVats();\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 listThuocBaoVeThucVat.forEach(item => {\r\n item.Checked = false;\r\n if (item.id === id) {\r\n item.Checked = true;\r\n }\r\n });\r\n if (listThuocBaoVeThucVat.findIndex(x => x.Checked == true) >= 0) {\r\n setCheckedRow(true);\r\n }\r\n else {\r\n setCheckedRow(false);\r\n }\r\n setThuocBaoVeThucVat([...listThuocBaoVeThucVat]);\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 loadThuocBaoVeThucVats();\r\n }\r\n }\r\n\r\n const openModalImage = () => {\r\n setViewModal(true);\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 const onChangeDanhMucCay = (e) => {\r\n setSelectedCay(e);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Thuốc bảo vệ thực vậ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 \r\n {\r\n listThuocBaoVeThucVat.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 \r\n
Hình ảnhMã thuốcTên thuốcCây trồngMô tảGhi chúTrạng thái
\r\n
\r\n \r\n
\r\n
{item.ma}{item.ten}{item.caytrong}{item.mota}{item.ghichu}\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 Thuốc bảo vệ thực vật\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n {errors.Ten && 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 onFileSelected(e)}>\r\n
\r\n\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Fade, Modal } from 'react-bootstrap';\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport SauBenhApi from '../../../api/SauBenhApi';\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 { Loading } from '../../../shared/loading/Loading';\r\nimport ThongBao from '../../../core/ThongBao';\r\nimport QuanHuyenApi from '../../../api/QuanHuyenApi';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport GiongCayTrongApi from '../../../api/GiongCayTrongApi';\r\nimport 'react-tabs/style/react-tabs.css';\r\nimport AnhHuongSauBenhApi from '../../../api/AnhHuongSauBenhApi';\r\nimport MuaVuApi from '../../../api/MuaVuApi';\r\nimport PhuongXaApi from '../../../api/PhuongXaApi';\r\n\r\n\r\nexport const AnhHuongSauBenh = () => {\r\n\r\n const { handleSubmit, reset, register, errors } = useForm();\r\n\r\n var data = require('../../../shared/Thang.json');\r\n const optionThoiGian = [...data];\r\n\r\n const [listAnhHuongSauBenh, setListAnhHuongSauBenh] = useState([]);\r\n const [roles, setRoles] = useState('');\r\n\r\n const [listSauBenh, setListSauBenh] = useState([]);\r\n\r\n const [show, setShow] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [isXem, setIsXem] = useState(false);\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 [loading, setLoading] = useState(false);\r\n let pageIndex = 1, pageSize = 20;\r\n\r\n const [listQuanHuyen, setListQuanHuyen] = useState([]);\r\n const [listXaPhuong, setListXaPhuong] = useState([]);\r\n\r\n\r\n const [disButtonEdit, setDisButtonEdit] = useState(true);\r\n\r\n const [optionQuanHuyens, setOptionQuanHuyen] = useState([]);\r\n const [optionXaPhuongs, setOptionXaPhuong] = useState([]);\r\n const [optionCayTrongs, setOptionCayTrong] = useState([]);\r\n const [optionGiongCayTrongs, setOptionGiongCayTrong] = useState([]);\r\n const [optionSauBenhs, setOptionSauBenh] = useState([]);\r\n const [optionMuaVus, setOptionMuaVu] = useState([]);\r\n\r\n const [quanHuyen, setQuanHuyen] = useState({ value: 0, label: 'Chọn quận huyện' });\r\n const [xaPhuong, setXaPhuong] = useState({ value: 0, label: 'Chọn xã phường' });\r\n const [cayTrong, setCayTrong] = useState({ value: 0, label: 'Chọn cây trồng' });\r\n const [giongCayTrong, setGiongCayTrong] = useState({ value: 0, label: 'Chọn giống cây trồng' });\r\n const [sauBenh, setSauBenh] = useState({ value: 0, label: 'Chọn sâu bệnh' });\r\n const [muaVu, setMuaVu] = useState({ value: 0, label: 'Chọn mùa vụ' });\r\n\r\n const [optionNgay, setOptionNgay] = useState([]);\r\n const [optionThang, setOptionThang] = useState([]);\r\n const [optionNam, setOptionNam] = useState([]);\r\n\r\n const [ngay, setNgay] = useState({ value: 0, label: '...' });\r\n const [thang, setThang] = useState({ value: 0, label: '...' });\r\n const [nam, setNam] = useState({ value: 0, label: '...' });\r\n\r\n const LoadNgay = (year, month, ngay) => {\r\n let songay = new Date(year, month, 0).getDate();\r\n let lstNgay = [{ value: 0, label: '...' }];\r\n for (let index = 0; index < songay; index++) {\r\n lstNgay.push({ value: index + 1, label: index + 1 });\r\n }\r\n setOptionNgay(lstNgay);\r\n let d = new Date().getDate();\r\n if (ngay > songay) {\r\n setNgay(lstNgay.filter(x => x.value == d));\r\n }\r\n else {\r\n if (ngay == undefined || ngay.value == 0) {\r\n setNgay({ value: 0, label: '...' });\r\n }\r\n else {\r\n let lstNgayNew = lstNgay.filter(x => x.value == ngay.value);\r\n if (lstNgayNew.length > 0) {\r\n setNgay(ngay);\r\n }\r\n else {\r\n setNgay({ value: 0, label: '...' });\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n const LoadThang = () => {\r\n let lstThang = [{ value: 0, label: '...' }];\r\n data.forEach(x => {\r\n lstThang.push({ value: x.value, label: x.value });\r\n });\r\n setOptionThang(lstThang);\r\n let d = new Date();\r\n }\r\n\r\n const LoadNam = (sonam) => {\r\n let lstNam = [{ value: 0, label: '...' }];\r\n let date = new Date();\r\n let year = date.getFullYear();\r\n for (let index = 0; index < sonam; index++) {\r\n lstNam.push({ value: year - index, label: year - index });\r\n }\r\n setOptionNam(lstNam);\r\n }\r\n\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 pageIndex = page;\r\n loadAnhHuongSauBenh();\r\n }\r\n });\r\n\r\n const onChangeSelectCayTrong = (optionSelected) => {\r\n setCayTrong(optionSelected);\r\n }\r\n\r\n const onChangeSelectGiongCayTrong = (optionSelected) => {\r\n setGiongCayTrong(optionSelected);\r\n }\r\n\r\n const onChangeSelectSauBenh = (optionSelected) => {\r\n setSauBenh(optionSelected)\r\n }\r\n\r\n const onChangeSelectMuaVu = (optionSelected) => {\r\n setMuaVu(optionSelected);\r\n }\r\n\r\n const onChangeSelectQuanHuyen = (optionSelected) => {\r\n setQuanHuyen(optionSelected);\r\n // let lstXa = [{ value: 0, label: 'Chọn xã phường' }]\r\n debugger;\r\n var maHuyen = '0';\r\n if (optionSelected.value != null) {\r\n maHuyen = optionSelected.value;\r\n }\r\n loadOptionXaPhuong(maHuyen, null);\r\n // let lst = listXaPhuong.filter(x => x.maHuyen == maHuyen || x.value == \"0\");\r\n // setOptionXaPhuong(lst);\r\n // if (lst.length > 0) {\r\n // setXaPhuong(lst[0]);\r\n // }\r\n }\r\n\r\n const loadOptionXaPhuong = (maHuyen, maXa) => {\r\n let lst = listXaPhuong.filter(x => x.maHuyen == maHuyen || x.value == \"0\");\r\n setOptionXaPhuong(lst);\r\n if (lst.length > 0) {\r\n setXaPhuong(lst[0]);\r\n }\r\n if (maXa != null && maXa != \"0\") {\r\n var index = lst.findIndex(x => x.value == maXa);\r\n if (index > 0) {\r\n setXaPhuong(lst[index]);\r\n }\r\n }\r\n }\r\n\r\n const onChangeSelectXaPhuong = (optionSelected) => {\r\n setXaPhuong(optionSelected);\r\n }\r\n\r\n const onChangeSelectNgay = (optionSelected) => {\r\n setNgay(optionSelected);\r\n }\r\n\r\n const onChangeSelectThang = (optionSelected) => {\r\n setThang(optionSelected);\r\n if (nam.value != 0 && thang.value != 0) {\r\n LoadNgay(nam.value, optionSelected.value, ngay);\r\n }\r\n\r\n }\r\n\r\n const onChangeSelectNam = (optionSelected) => {\r\n setNam(optionSelected);\r\n if (optionSelected.value != 0 && thang.value != 0) {\r\n LoadNgay(nam.value, thang.value, ngay);\r\n }\r\n }\r\n\r\n\r\n const loadAnhHuongSauBenh = async () => {\r\n try {\r\n const params = {\r\n filter: search,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize\r\n }\r\n const response = await AnhHuongSauBenhApi.getPaging(params);\r\n\r\n response.Items.forEach((x) => {\r\n x.Checked = false\r\n });\r\n setListAnhHuongSauBenh(response.Items);\r\n paginationConfig.totalPages = Math.ceil(response.TotalRows == 0 ? 1 : response.TotalRows / pageSize);\r\n paginationConfig.currentPage = pageIndex;\r\n setPaginationConfig(paginationConfig);\r\n }\r\n catch (err) { }\r\n }\r\n\r\n const rowClick = (id) => {\r\n setIsEdit(false);\r\n listAnhHuongSauBenh.forEach(element => {\r\n if (element.Id === id) {\r\n if (element.Checked === true) {\r\n element.Checked = false;\r\n }\r\n else {\r\n element.Checked = true;\r\n setIsEdit(true);\r\n setDisButtonEdit(false);\r\n }\r\n }\r\n else {\r\n element.Checked = false;\r\n }\r\n });\r\n\r\n if (listAnhHuongSauBenh.filter(element => element.Checked === true).length == 0) {\r\n setIsEdit(false);\r\n setDisButtonEdit(true);\r\n };\r\n setListAnhHuongSauBenh([...listAnhHuongSauBenh]);\r\n }\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n Status: true\r\n }, [reset]);\r\n setQuanHuyen({ value: 0, label: 'Chọn quận huyện' });\r\n setXaPhuong({ value: 0, label: 'Chọn xã phường' });\r\n setCayTrong({ value: 0, label: 'Chọn cây trồng' });\r\n setGiongCayTrong({ value: 0, label: 'Chọn giống cây trồng' });\r\n setSauBenh({ value: 0, label: 'Chọn sâu bệnh' });\r\n setMuaVu({ value: 0, label: 'Chọn mùa vụ' });\r\n setNgay({ value: 0, label: '...' });\r\n setThang({ value: 0, label: '...' });\r\n setNam({ value: 0, label: '...' });\r\n\r\n setIsEdit(false);\r\n setIsXem(false);\r\n setShow(true);\r\n }\r\n\r\n const handleShowEdit = (isXem) => {\r\n setIsEdit(true);\r\n setIsXem(isXem);\r\n let index = listAnhHuongSauBenh.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n AnhHuongSauBenhApi.getDetail(listAnhHuongSauBenh[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n VungNhiemBenh: response.VungNhiemBenh,\r\n MatDo: response.MatDo,\r\n DienTichNhe: response.DienTichNhe,\r\n DienTichTrungBinh: response.DienTichTrungBinh,\r\n DienTichNang: response.DienTichNang,\r\n DienTichMatTrang: response.DienTichMatTrang,\r\n DienTichPhongTru: response.DienTichPhongTru,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n }, [reset]);\r\n\r\n setQuanHuyen(optionQuanHuyens.filter(x => x.value == response.MaHuyen).length == 0 ? { value: 0, label: 'Chọn quận huyện' } : optionQuanHuyens.filter(x => x.value == response.MaHuyen)[0]);\r\n loadOptionXaPhuong(response.MaHuyen,response.MaXa);\r\n // setXaPhuong(optionXaPhuongs.filter(x => x.value == response.IdXaPhuong).length == 0 ? { value: 0, label: 'Chọn xã phường' } : optionXaPhuongs.filter(x => x.value == response.IdXaPhuong)[0]);\r\n setCayTrong(optionCayTrongs.filter(x => x.value == response.IdCayTrong).length == 0 ? { value: 0, label: 'Chọn cây trồng' } : optionCayTrongs.filter(x => x.value == response.IdCayTrong)[0]);\r\n setGiongCayTrong(optionGiongCayTrongs.filter(x => x.value == response.IdGiongCayTrong).length == 0 ? { value: 0, label: 'Chọn giống cây trồng' } : optionGiongCayTrongs.filter(x => x.value == response.IdGiongCayTrong)[0]);\r\n setSauBenh(optionSauBenhs.filter(x => x.value == response.IdSauBenh).length == 0 ? { value: 0, label: 'Chọn Sâu bệnh' } : optionSauBenhs.filter(x => x.value == response.IdSauBenh)[0]);\r\n setMuaVu(optionMuaVus.filter(x => x.value == response.IdMuaVu).length == 0 ? { value: 0, label: 'Chọn mùa vụ' } : optionMuaVus.filter(x => x.value == response.IdMuaVu)[0]);\r\n setNgay(optionNgay.filter(x => x.value == response.Ngay).length == 0 ? { value: 0, label: '...' } : optionNgay.filter(x => x.value == response.Ngay)[0]);\r\n setThang(optionThang.filter(x => x.value == response.Thang).length == 0 ? { value: 0, label: '...' } : optionThang.filter(x => x.value == response.Thang)[0]);\r\n setNam(optionNam.filter(x => x.value == response.Nam).length == 0 ? { value: 0, label: '...' } : optionNam.filter(x => x.value == response.Nam)[0]);\r\n\r\n setShow(true);\r\n });\r\n }\r\n }\r\n\r\n // const handleShowData = () => {\r\n // setIsXem(true);\r\n // let index = listAnhHuongSauBenh.findIndex(x => x.Checked);\r\n // if (index !== -1) {\r\n // AnhHuongSauBenhApi.getDetail(listAnhHuongSauBenh[index].Id).then((response) => {\r\n // reset({\r\n // response\r\n // }, [reset]);\r\n // onChangeSelectQuanHuyen({ 'value': response.MaHuyen });\r\n // setQuanHuyen(optionQuanHuyens.filter(x => x.value == response.IdQuanHuyen).length == 0 ? { value: 0, label: 'Chọn quận huyện' } : optionQuanHuyens.filter(x => x.value == response.IdQuanHuyen)[0]);\r\n // setXaPhuong(optionXaPhuongs.filter(x => x.value == response.IdXaPhuong).length == 0 ? { value: 0, label: 'Chọn xã phường' } : optionXaPhuongs.filter(x => x.value == response.IdXaPhuong)[0]);\r\n // setCayTrong(optionCayTrongs.filter(x => x.value == response.IdCayTrong).length == 0 ? { value: 0, label: 'Chọn cây trồng' } : optionCayTrongs.filter(x => x.value == response.IdCayTrong)[0]);\r\n // setGiongCayTrong(optionGiongCayTrongs.filter(x => x.value == response.IdGiongCay).length == 0 ? { value: 0, label: 'Chọn giống cây trồng' } : optionGiongCayTrongs.filter(x => x.value == response.IdGiongCay)[0]);\r\n // setSauBenh(optionSauBenhs.filter(x => x.value == response.IdSauBenh).length == 0 ? { value: 0, label: 'Chọn Sâu bệnh' } : optionSauBenhs.filter(x => x.value == response.IdSauBenh)[0]);\r\n // setMuaVu(optionMuaVus.filter(x => x.value == response.IdGiaiDoan).length == 0 ? { value: 0, label: 'Chọn mùa vụ' } : optionMuaVus.filter(x => x.value == response.IdGiaiDoan)[0]);\r\n // setNgay(optionNgay.filter(x => x.value == response.Ngay).length == 0 ? { value: 0, label: '...' } : optionNgay.filter(x => x.value == response.Ngay)[0]);\r\n // setThang(optionThang.filter(x => x.value == response.Thang).length == 0 ? { value: 0, label: '...' } : optionThang.filter(x => x.value == response.Thang)[0]);\r\n // setNgay(optionNam.filter(x => x.value == response.Nam).length == 0 ? { value: 0, label: '...' } : optionNam.filter(x => x.value == response.Nam)[0]);\r\n\r\n // setShow(true);\r\n // });\r\n // }\r\n // }\r\n\r\n const onSubmit = async (data) => {\r\n try {\r\n\r\n data.MaHuyen = quanHuyen.value;\r\n data.MaXa = xaPhuong.value;\r\n data.IdCayTrong = cayTrong.value;\r\n data.IdGiongCayTrong = giongCayTrong.value;\r\n data.IdSauBenh = sauBenh.value;\r\n data.IdMuaVu = muaVu.value;\r\n data.Ngay = ngay.value;\r\n data.Thang = thang.value;\r\n data.Nam = nam.value;\r\n if (data.DienTichNhe == '') data.DienTichNhe = null;\r\n if (data.DienTichTrungBinh == '') data.DienTichTrungBinh = null;\r\n if (data.DienTichNang == '') data.DienTichNang = null;\r\n if (data.DienTichMatTrang == '') data.DienTichMatTrang = null;\r\n if (data.DienTichPhongTru == '') data.DienTichPhongTru = null;\r\n\r\n if (!isEdit) {\r\n const res = await AnhHuongSauBenhApi.post(data);\r\n }\r\n else {\r\n const res = await AnhHuongSauBenhApi.put(data);\r\n }\r\n setShow(false);\r\n loadAnhHuongSauBenh();\r\n }\r\n catch (ex) {\r\n }\r\n }\r\n\r\n const loadCayTrong = async () => {\r\n const rePonse = await CayTrongApi.getAll();\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n optionCayTrongs.push({ 'value': x.Id, 'label': x.TenCayTrong });\r\n })\r\n }\r\n }\r\n\r\n const loadGiongCayTrong = async () => {\r\n const rePonse = await GiongCayTrongApi.getAll();\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n optionGiongCayTrongs.push({ 'value': x.Id, 'label': x.TenGiong });\r\n })\r\n }\r\n }\r\n\r\n const loadMuaVu = async () => {\r\n const rePonse = await MuaVuApi.getAll();\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n optionMuaVus.push({ 'value': x.Id, 'label': x.Ten });\r\n })\r\n }\r\n }\r\n\r\n const loadSauBenh = async () => {\r\n const rePonse = await SauBenhApi.getAll();\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n optionSauBenhs.push({ 'value': x.Id, 'label': x.TenSauBenh });\r\n })\r\n }\r\n }\r\n\r\n const loadQuanHuyen = async () => {\r\n const rePonse = await QuanHuyenApi.getAll();\r\n if (!rePonse.length == false) {\r\n rePonse.map(x => {\r\n optionQuanHuyens.push({ 'value': x.Ma, 'label': x.Ten });\r\n })\r\n }\r\n }\r\n\r\n const loadXaPhuong = async () => {\r\n // let params = {\r\n // maHuyen: quanHuyen.value\r\n // }\r\n const rePonse = await QuanHuyenApi.getXaByHuyen();\r\n var lst = [];\r\n lst.push({ 'value': \"0\", 'label': \"Chọn xã phường\", 'maHuyen': '0' });\r\n rePonse.map(x => {\r\n lst.push({ 'value': x.maXa, 'label': x.tenXa, 'maHuyen': x.maHuyen });\r\n })\r\n debugger;\r\n setListXaPhuong(lst);\r\n }\r\n\r\n\r\n const loadNgayThang = () => {\r\n LoadNam(10);\r\n LoadThang();\r\n let d = new Date();\r\n LoadNgay(d.getFullYear(), d.getMonth() + 1, ngay);\r\n }\r\n\r\n useEffect(() => {\r\n loadAnhHuongSauBenh();\r\n loadQuanHuyen();\r\n loadXaPhuong();\r\n loadCayTrong();\r\n loadGiongCayTrong();\r\n loadMuaVu();\r\n loadSauBenh();\r\n loadNgayThang();\r\n setRoleAdd(Authen.checkQuyen('ANHHUONGSAUBENH_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('ANHHUONGSAUBENH_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('ANHHUONGSAUBENH_DELETE'));\r\n }, []);\r\n\r\n const setFilter = (e) => {\r\n setSearch(e.target.value);\r\n }\r\n\r\n\r\n const alertDell = async () => {\r\n let lstChecked = listAnhHuongSauBenh.filter(x => x.Checked);\r\n if (lstChecked.length > 0) {\r\n ThongBao.printConfirmationDialog(\"Bạn có đồng ý xóa dữ liệu đã chọn hay không?\", () => {\r\n AnhHuongSauBenhApi.delete(lstChecked[0].Id).then(() => {\r\n loadAnhHuongSauBenh();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const Timkiem = () => {\r\n loadAnhHuongSauBenh();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Ảnh hưởng sâu Bệnh
\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 listAnhHuongSauBenh.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
Vùng nhiễm bệnhMật độGhi chúStatus
\r\n \r\n {item.VungNhiemBenh}{item.MatDo}{item.GhiChu}{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 Ảnh hưởng sâu bệnh\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n Quận huyện *\r\n
\r\n
\r\n null, IndicatorSeparator: () => null }} />\r\n
\r\n
\r\n
\r\n
Vùng nhiễm bệnh *
\r\n
\r\n \r\n {errors.VungNhiemBenh && errors.VungNhiemBenh.message}\r\n
\r\n
\r\n
\r\n
Ngày
\r\n
\r\n null, IndicatorSeparator: () => null }} />\r\n
\r\n
Năm
\r\n
\r\n null, IndicatorSeparator: () => null }} />\r\n
\r\n
Giống cây trồng
\r\n
\r\n null, IndicatorSeparator: () => null }} />\r\n
\r\n
Mùa vụ
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Diện tích nhẹ
\r\n
\r\n \r\n
\r\n
Diện tích trung bình
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Diện tích nặng
\r\n
\r\n \r\n
\r\n
Diện tích mặt tráng
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Diện tích phòng trừ
\r\n
\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 Trạng thái\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 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 Pagination from 'react-bootstrap-4-pagination';\r\nimport ThongBao from '../../../core/ThongBao';\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 Authen from '../../../core/Authen';\r\nimport Ultility from '../../../core/Ultility';\r\nimport { param, post } from 'jquery';\r\nimport { now } from 'moment';\r\nimport DienTichSanXuatApi from '../../../api/DienTichSanXuatApi';\r\nimport CayTrongApi from '../../../api/CayTrongApi';\r\nimport MuaVuApi from '../../../api/MuaVuApi';\r\nimport PhuongXaApi from '../../../api/PhuongXaApi';\r\nimport QuanHuyenApi from '../../../api/QuanHuyenApi';\r\n\r\nexport const DienTichSanXuat = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\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 [isEdit, setIsEdit] = useState(false);\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 [srcImage, setSrcImage] = useState(noImage);\r\n const [viewModal, setViewModal] = useState(false);\r\n const [listDienTichSanXuats, setListDienTichSanXuats] = useState([]);\r\n const [dienTichSanXuatModal, setDienTichSanXuatModal] = useState({ DienTichSanXuat });\r\n\r\n const [selectedQuanHuyen, setSelectedQuanHuyen] = useState();\r\n const [danhMucQuanHuyen, setDanhMucQuanHuyen] = useState([]);\r\n const [selectedPhuongXa, setSelectedPhuongXa] = useState();\r\n const [danhMucPhuongXa, setDanhMucPhuongXa] = useState([]);\r\n const [selectedCay, setSelectedCay] = useState();\r\n const [danhMucCay, setDanhMucCay] = useState([]);\r\n const [selectedMuaVu, setSelectedMuaVu] = useState();\r\n const [danhMucMuaVu, setDanhMucMuaVu] = useState([]);\r\n\r\n const [timListQuanHuyen, setTimListQuanHuyen] = useState([]);\r\n const [timListPhuongXa, setTimListPhuongXa] = useState([]);\r\n const [timListCayTrong, setTimListCayTrong] = useState([]);\r\n const [timListMuaVu, setTimListMuaVu] = useState([]);\r\n const [timQuanHuyen, setTimQuanHuyen] = useState();\r\n const [timXaPhuong, setTimXaPhuong] = useState();\r\n const [timCayTrong, setTimCayTrong] = useState();\r\n const [timMuaVu, setTimMuaVu] = useState();\r\n const [timListNam, setTimListNam] = useState([]);\r\n const [timNam, setTimNam] = useState();\r\n const [timThang, setTimThang] = useState();\r\n const [timNgay, setTimNgay] = useState();\r\n const [isXem, setIsXem] = useState(false);\r\n var 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 let pageIndex = 1;\r\n let pageSize = 20;\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 loadDienTichSanXuat();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n loadDienTichSanXuat();\r\n loadQuanHuyen();\r\n loadDanhMucCay();\r\n loadDanhMucMuaVu();\r\n loadDanhMucNam();\r\n setRoleAdd(Authen.checkQuyen('DIENTICHSANXUAT_CREATE'));\r\n setRoleEdit(Authen.checkQuyen('DIENTICHSANXUAT_UPDATE'));\r\n setRoleDel(Authen.checkQuyen('DIENTICHSANXUAT_DELETE'));\r\n }, []);\r\n\r\n const loadDienTichSanXuat = async () => {\r\n try {\r\n const idQuanHuyen = timQuanHuyen == undefined ? '' : timQuanHuyen.value;\r\n const idXaPhuong = timXaPhuong == undefined ? '' : timXaPhuong.value;\r\n const idCayTrong = timCayTrong == undefined ? 0 : timCayTrong.value;\r\n const idMuaVu = timMuaVu == undefined ? 0 : timMuaVu.value;\r\n const nam = timNam == undefined ? 0 : timNam.value;\r\n const thang = timThang == undefined ? 0 : timThang;\r\n const ngay = timNgay == undefined ? 0 : timNgay;\r\n const params = {\r\n filter: filter,\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n idQuanHuyen: idQuanHuyen,\r\n idXaPhuong: idXaPhuong,\r\n idCayTrong: idCayTrong,\r\n idMuaVu: idMuaVu,\r\n nam: nam,\r\n thang: thang,\r\n ngay: ngay\r\n }\r\n const response = await DienTichSanXuatApi.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.TotalRows / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n setListDienTichSanXuats(response.Items);\r\n setIsEdit(false);\r\n } catch (err) {\r\n }\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 quận huyện...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Ma, label: item.Ten });\r\n })\r\n setDanhMucQuanHuyen(list);\r\n setTimListQuanHuyen(list);\r\n })\r\n }\r\n\r\n function loadPhuongXa(idQuanHuyen, isTimKiem, maXa) {\r\n const params = {\r\n maHuyen: Number(idQuanHuyen.value == undefined ? '' : idQuanHuyen.value)\r\n }\r\n QuanHuyenApi.getXaByHuyen(params).then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn phường xã...' });\r\n response.forEach(item => {\r\n list.push({ value: item.maXa, label: item.tenXa });\r\n })\r\n if (isTimKiem == true) {\r\n setTimListPhuongXa(list);\r\n setTimXaPhuong(list[0]);\r\n }\r\n else {\r\n setDanhMucPhuongXa(list);\r\n var index = list.findIndex(x => x.value == maXa);\r\n if (index >= 0) {\r\n setSelectedPhuongXa(list[index]);\r\n }\r\n else {\r\n setSelectedPhuongXa(list[0]);\r\n }\r\n }\r\n })\r\n }\r\n\r\n function loadDanhMucCay() {\r\n CayTrongApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: '', label: 'Chọn cây trồng...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.TenCayTrong });\r\n })\r\n setDanhMucCay(list);\r\n setTimListCayTrong(list);\r\n })\r\n }\r\n\r\n function loadDanhMucMuaVu() {\r\n MuaVuApi.getAll().then((response) => {\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn mùa vụ...' });\r\n response.forEach(item => {\r\n list.push({ value: item.Id, label: item.Ten });\r\n })\r\n setDanhMucMuaVu(list);\r\n setTimListMuaVu(list);\r\n })\r\n }\r\n\r\n const loadDanhMucNam = () => {\r\n const endYear = new Date().getFullYear();\r\n let list = [];\r\n list.push({ value: 0, label: 'Chọn năm...' });\r\n for (let i = 2000; i <= endYear; i++) {\r\n list.push({ value: i, label: i });\r\n }\r\n setTimListNam(list);\r\n }\r\n\r\n const timKiem = () => {\r\n loadDienTichSanXuat();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const setSelectedToData = () => {\r\n dienTichSanXuatModal.IdCayTrong = null;\r\n dienTichSanXuatModal.IdMuaVu = null;\r\n const idQuanHuyen = selectedQuanHuyen == undefined ? '' : selectedQuanHuyen.value;\r\n const idXaPhuong = selectedPhuongXa == undefined ? '' : selectedPhuongXa.value;\r\n dienTichSanXuatModal.MaHuyen = idQuanHuyen;\r\n dienTichSanXuatModal.MaXa = idXaPhuong;\r\n if (selectedCay != undefined && selectedCay != null && selectedCay != 0) {\r\n dienTichSanXuatModal.IdCayTrong = selectedCay.value;\r\n }\r\n if (selectedMuaVu != undefined && selectedMuaVu != null && selectedMuaVu != 0) {\r\n dienTichSanXuatModal.IdMuaVu = selectedMuaVu.value;\r\n }\r\n }\r\n\r\n const saveData = (data) => {\r\n try {\r\n if (selectedCay == null || selectedCay.value == '') {\r\n ThongBao.prinWarningMessage(\"Bạn chưa nhập cây trồng.\");\r\n }\r\n else {\r\n setSelectedToData();\r\n if (dienTichSanXuatModal.Id === 0 || dienTichSanXuatModal.Id == null) {\r\n dienTichSanXuatModal.Id = 0;\r\n dienTichSanXuatModal.CreatedDate = new Date();\r\n DienTichSanXuatApi.post(dienTichSanXuatModal).then(() => {\r\n setShow(false);\r\n ThongBao.printSuccessMessage(\"Đã cập nhật thành công\");\r\n loadDienTichSanXuat();\r\n })\r\n }\r\n else {\r\n dienTichSanXuatModal.UpdatedDate = new Date();\r\n DienTichSanXuatApi.put(dienTichSanXuatModal).then(() => {\r\n setShow(false);\r\n ThongBao.printSuccessMessage(\"Đã cập nhật thành công\");\r\n loadDienTichSanXuat();\r\n })\r\n }\r\n }\r\n }\r\n catch (ex) {\r\n console.log(ex);\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listDienTichSanXuats.forEach(element => {\r\n if (element.Id === id) {\r\n element.Checked = !element.Checked;\r\n }\r\n })\r\n let index = listDienTichSanXuats.findIndex(x => x.Checked);\r\n if (index >= 0) {\r\n setIsEdit(true);\r\n }\r\n else {\r\n setIsEdit(false);\r\n }\r\n setListDienTichSanXuats([...listDienTichSanXuats]);\r\n }\r\n\r\n const checkBoHandler = () => {\r\n\r\n }\r\n\r\n const handleShowAdd = () => {\r\n reset({\r\n Id: 0,\r\n TenCayTrong: \"\",\r\n Status: true\r\n }, [reset]);\r\n setDienTichSanXuatModal({\r\n Id: 0,\r\n TenCayTrong: \"\",\r\n Status: true\r\n });\r\n setIsXem(false);\r\n setSrcImage(noImage);\r\n setSelectedQuanHuyen(null);\r\n setSelectedPhuongXa(null);\r\n setSelectedCay(null);\r\n setSelectedMuaVu(null);\r\n setShow(true);\r\n };\r\n\r\n const handleShowEdit = (isXem) => {\r\n let index = listDienTichSanXuats.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n DienTichSanXuatApi.getDetail(listDienTichSanXuats[index].Id).then((response) => {\r\n reset({\r\n Id: response.Id,\r\n IdQuanHuyen: response.IdQuanHuyen,\r\n IdXaPhuong: response.IdXaPhuong,\r\n Ngay: response.Ngay,\r\n Thang: response.Thang,\r\n Nam: response.Nam,\r\n IdCayTrong: response.IdCayTrong,\r\n IdMuaVu: response.IdMuaVu,\r\n GiongCays: response.GiongCays,\r\n LoaiDat: response.LoaiDat,\r\n DienTich: response.DienTich,\r\n NangSuat: response.NangSuat,\r\n SanLuong: response.SanLuong,\r\n GhiChu: response.GhiChu,\r\n Status: response.Status,\r\n Delete: response.Delete,\r\n CreatedBy: response.CreatedBy,\r\n CreatedDate: response.CreatedDate,\r\n UpdatedBy: response.UpdatedBy,\r\n UpdatedDate: response.UpdatedDate\r\n }, [reset]);\r\n setDienTichSanXuatModal(response);\r\n setShow(true);\r\n setIsEdit(true);\r\n setIsXem(isXem);\r\n setSelectedQuanHuyen(null);\r\n setSelectedPhuongXa(null);\r\n setSelectedCay(null);\r\n setSelectedMuaVu(null);\r\n var idQuan = danhMucQuanHuyen.findIndex(x => x.value == response.MaHuyen);\r\n if (idQuan >= 0) {\r\n setSelectedQuanHuyen(danhMucQuanHuyen[idQuan]);\r\n }\r\n loadPhuongXa({ value: response.MaHuyen }, false, response.MaXa)\r\n var idCay = danhMucCay.findIndex(x => x.value == response.IdCayTrong);\r\n if (idCay >= 0) {\r\n setSelectedCay(danhMucCay[idCay]);\r\n }\r\n var idMua = danhMucMuaVu.findIndex(x => x.value == response.IdMuaVu);\r\n if (idMua > 0) {\r\n setSelectedMuaVu(danhMucMuaVu[idMua]);\r\n }\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 = listDienTichSanXuats.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 DienTichSanXuatApi.delete(lstId).then(() => {\r\n loadDienTichSanXuat();\r\n setIsEdit(false);\r\n })\r\n }\r\n });\r\n }\r\n\r\n const handleKeyPress = (event) => {\r\n if (event.key === 'Enter') {\r\n loadDienTichSanXuat();\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 changeTab = () => {\r\n reset({\r\n Id: dienTichSanXuatModal.Id,\r\n IdQuanHuyen: dienTichSanXuatModal.IdQuanHuyen,\r\n IdXaPhuong: dienTichSanXuatModal.IdXaPhuong,\r\n Ngay: dienTichSanXuatModal.Ngay,\r\n Thang: dienTichSanXuatModal.Thang,\r\n Nam: dienTichSanXuatModal.Nam,\r\n IdCayTrong: dienTichSanXuatModal.IdCayTrong,\r\n IdMuaVu: dienTichSanXuatModal.IdMuaVu,\r\n GiongCays: dienTichSanXuatModal.GiongCays,\r\n LoaiDat: dienTichSanXuatModal.LoaiDat,\r\n DienTich: dienTichSanXuatModal.DienTich,\r\n NangSuat: dienTichSanXuatModal.NangSuat,\r\n SanLuong: dienTichSanXuatModal.SanLuong,\r\n GhiChu: dienTichSanXuatModal.GhiChu,\r\n Status: dienTichSanXuatModal.Status,\r\n Delete: dienTichSanXuatModal.Delete,\r\n CreatedBy: dienTichSanXuatModal.CreatedBy,\r\n CreatedDate: dienTichSanXuatModal.CreatedDate,\r\n UpdatedBy: dienTichSanXuatModal.UpdatedBy,\r\n UpdatedDate: dienTichSanXuatModal.UpdatedDate\r\n }, [reset])\r\n }\r\n\r\n const onChangeDanhMucQuanHuyen = (e) => {\r\n setSelectedQuanHuyen(e);\r\n loadPhuongXa(e, false, null);\r\n }\r\n\r\n const onChangeDanhMucPhuongXa = (e) => {\r\n setSelectedPhuongXa(e);\r\n }\r\n\r\n const onChangeDanhMucCay = (e) => {\r\n setSelectedCay(e);\r\n }\r\n\r\n const onChangeDanhMucMuaVu = (e) => {\r\n setSelectedMuaVu(e);\r\n }\r\n\r\n // TÌM KIẾM\r\n const onChangeTimQuanHuyen = (e) => {\r\n setTimQuanHuyen(e);\r\n loadPhuongXa(e, true, null);\r\n }\r\n\r\n const onChangeTimXaPhuong = (e) => {\r\n setTimXaPhuong(e);\r\n }\r\n\r\n const onChangeTimCayTrong = (e) => {\r\n setTimCayTrong(e);\r\n }\r\n\r\n const onChangeTimMuaVu = (e) => {\r\n setTimMuaVu(e);\r\n }\r\n\r\n const onChangeTimNam = (e) => {\r\n setTimNam(e);\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
Diện tích sản xuấ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 {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 {item.TenQuanHuyen}\r\n {item.TenXaPhuong}\r\n {item.TenCayTrong}\r\n {item.TenMuaVu}\r\n {item.GiongCays}\r\n {item.LoaiDat}\r\n {item.DienTich}\r\n {item.TongDienTich}\r\n {item.NangSuat}\r\n {item.SanLuong}\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 \r\n
\r\n
\r\n\r\n \r\n \r\n Chi tiết\r\n \r\n \r\n
\r\n dienTichSanXuatModal.Id = e.target.value} >\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n dienTichSanXuatModal.Ngay = e.target.value} />\r\n
\r\n
\r\n dienTichSanXuatModal.Thang = e.target.value} />\r\n
\r\n
\r\n dienTichSanXuatModal.Nam = e.target.value} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n dienTichSanXuatModal.GiongCays = e.target.value} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n dienTichSanXuatModal.LoaiDat = e.target.value} />\r\n
\r\n \r\n
\r\n dienTichSanXuatModal.DienTich = e.target.value} />\r\n
\r\n
\r\n
\r\n \r\n
\r\n dienTichSanXuatModal.NangSuat = e.target.value} />\r\n
\r\n \r\n
\r\n dienTichSanXuatModal.SanLuong = e.target.value} />\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {isXem==false && \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, Tabs, Tab } from 'react-bootstrap';\r\nimport {SauBenh} from '../sauvabenh/sauvabenh';\r\n\r\nexport const BenhHaiCayTrong = () => {\r\n \r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}\r\n\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal, Tabs, Tab } from 'react-bootstrap';\r\nimport {SauBenh} from '../sauvabenh/sauvabenh';\r\n\r\nexport const SinhVatGayHai = () => {\r\n \r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}\r\n\r\n","import moment from 'moment';\r\nimport React, { useEffect, useState } from 'react'\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport DateRangePicker from 'react-bootstrap-daterangepicker';\r\nimport LichSuChanDoanApi from '../../../api/LichSuChanDoanApi';\r\nimport Authen from '../../../core/Authen';\r\nimport ThongBao from '../../../core/ThongBao';\r\n\r\nexport const LichSuChanDoan = () => {\r\n const [listLichSuChanDoans, setLichSuChanDoan] = useState([]);\r\n const [filter, setFilter] = useState('');\r\n const [isEdit, setIsEdit] = useState(false);\r\n var [tuNgay, setTuNgay] = useState(new Date());\r\n var [denNgay, setDenNgay] = useState(new Date());\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 loadLichSuChanDoan();\r\n }\r\n });\r\n\r\n const loadLichSuChanDoan = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n keyword: filter,\r\n idCayTrong: 0,\r\n idSauBenh: 0,\r\n tuNgay: moment(tuNgay).format('DD/MM/YYYY'),\r\n denNgay: moment(denNgay).format('DD/MM/YYYY')\r\n }\r\n const response = await LichSuChanDoanApi.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 setLichSuChanDoan(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadLichSuChanDoan();\r\n setRoleDel(Authen.checkQuyen('NHATKYSUDUNG_DELETE'));\r\n }, []);\r\n\r\n const timKiem = () => {\r\n loadLichSuChanDoan();\r\n }\r\n\r\n function onChangeFilter(e) {\r\n setFilter(e.target.value)\r\n }\r\n\r\n const handleShowDel = () => {\r\n let index = listLichSuChanDoans.findIndex(x => x.Checked);\r\n if (index !== -1) {\r\n ThongBao.printConfirmationDialog(\"Bạn có muốn xóa bản ghi này không?\", () => {\r\n LichSuChanDoanApi.delete(listLichSuChanDoans[index].Id).then(() => {\r\n ThongBao.printSuccessMessage(\"Xóa thành công!\");\r\n loadLichSuChanDoan();\r\n })\r\n });\r\n }\r\n }\r\n\r\n const clickRow = (id) => {\r\n listLichSuChanDoans.forEach(item => {\r\n if (item.Id === id) {\r\n item.Checked = !item.Checked;\r\n }\r\n });\r\n setLichSuChanDoan([...listLichSuChanDoans]);\r\n let list = listLichSuChanDoans.filter(x => x.Checked);\r\n if (list.length !== 0) {\r\n setIsEdit(true);\r\n }\r\n else{\r\n setIsEdit(false);\r\n }\r\n }\r\n\r\n const handleCallback = (start, end, label) => {\r\n tuNgay = start;\r\n denNgay = end;\r\n setTuNgay(tuNgay);\r\n setDenNgay(denNgay);\r\n loadLichSuChanDoan();\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
Lịch sử chẩn đoán
\r\n
\r\n
\r\n \r\n \r\n \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 \r\n \r\n {\r\n listLichSuChanDoans.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 )\r\n })\r\n }\r\n \r\n
Cây trồngGiai đoạnSâu bệnhThời gianMật độMức độ nhiễmTọa độ xTọa độ y
\r\n
\r\n \r\n
\r\n
{item.TenCayTrong}{item.TenGiaiDoan}{item.TenSauBenh}{item.NgayNhap}{item.MatDo}{item.MucDoNhiem}{item.ToaDoX}{item.ToaDoY}
\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/create';\r\n return axiosClient.post(url, params);\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/update';\r\n return axiosClient.put(url, params);\r\n },\r\n\r\n DeleteSlide: (Id) => {\r\n const url = '/Slide/delete/' + Id;\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 getAll: (params) => {\r\n const url = '/Slide/getall';\r\n return axiosClient.get(url, { params });\r\n }\r\n\r\n}\r\n\r\nexport default SlideApi;","import React from 'react';\r\nimport { Sidebar } from '../shared/sidebar/Sidebar';\r\nimport { Header } from '../shared/header/Header';\r\nimport Switch from 'react-bootstrap/esm/Switch';\r\nimport { Home } from './home/Home';\r\nimport { Route } from 'react-router-dom';\r\n\r\nimport { LienHe } from './tienich/lienhe/LienHe';\r\nimport { Trang } from './tienich/trang/Trang';\r\nimport { BanDo } from './bando/BanDo';\r\nimport { GopY } from './tienich/gopy/GopY';\r\nimport { HuongDan } from './tienich/huongdan/huongdan';\r\nimport { NhomQuyen } from './hethong/nhomquyen/NhomQuyen';\r\nimport { TaiKhoan } from './hethong/taikhoan/TaiKhoan';\r\nimport { PhanQuyen } from './hethong/phanquyen/PhanQuyen';\r\nimport { BaoCao } from './baocao/BaoCao';\r\nimport { NhatKyDangNhap } from './hethong/nhatkydangnhap/nhatkydangnhap';\r\nimport { NhatKySuDung } from './hethong/nhatkysudung/nhatkysudung';\r\nimport { Database } from './hethong/database/database';\r\nimport { HuongDanAddEdit } from './tienich/huongdan/huongdanaddedit';\r\nimport { Post} from './tienich/post/post';\r\nimport { PostCategory} from './tienich/post/postcategory';\r\nimport { SauBenh} from './saubenh/sauvabenh/sauvabenh';\r\nimport { CayTrong } from './tienich/caytrong/CayTrong';\r\nimport { GiongCayTrong } from './tienich/giongcaytrong/GiongCayTrong'\r\nimport { DacDiemTrieuChung } from './saubenh/dacdiemtrieuchung/dacdiemtrieuchung';\r\nimport { GiaiDoanPhatTrien } from './tienich/giaidoanphattrien/GiaiDoanPhatTrien';\r\nimport { DonViCungCap } from './tienich/donvicungcap/DonViCungCap';\r\nimport { HoiDap } from './tienich/hoidap/hoidap'\r\nimport { MuaVu } from './tienich/muavu/muavu'\r\nimport { ThoiTiet } from './tienich/thoitiet/thoitiet'\r\nimport { ThuocBaoVeThucVat } from './tienich/thuocbaovethucvat/thuocbaovethucvat'\r\nimport { AnhHuongSauBenh } from './saubenh/anhhuongsaubenh/anhhuongsaubenh';\r\nimport { ImportExcel } from './tienich/importexcel/ImportExcel';\r\nimport { DienTichSanXuat } from './tienich/dientichsanxuat/DienTichSanXuat';\r\nimport { BenhHaiCayTrong } from './saubenh/benhhaicaytrong/benhhaicaytrong';\r\nimport { SinhVatGayHai } from './saubenh/sinhvatgayhai/sinhvatgayhai';\r\nimport { LichSuChanDoan } from './hethong/lichsuchandoan/lichsuchandoan';\r\nimport { Slide} from './tienich/slide/Slide';\r\n\r\nexport const Main = () => {\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import $ from 'jquery';\nconst runFunc = {\n run: () => {\n // $(\"body\").toggleClass(\"sidebar-toggled\");\n // $(\".sidebar\").toggleClass(\"toggled\");\n \n $(\"#sidebarToggle, #sidebarToggleTop\").on('click', function (e) {\n $(\"body\").toggleClass(\"sidebar-toggled\");\n $(\".sidebar\").toggleClass(\"toggled\");\n if ($(\".sidebar\").hasClass(\"toggled\")) {\n // $('.sidebar .collapse').collapse('hide');\n };\n });\n\n // Close any open menu accordions when window is resized below 768px\n $(window).resize(function () {\n if ($(window).width() < 768) {\n $('.sidebar .collapse').collapse('hide');\n };\n\n // Toggle the side navigation when window is resized below 480px\n if ($(window).width() < 480 && !$(\".sidebar\").hasClass(\"toggled\")) {\n $(\"body\").addClass(\"sidebar-toggled\");\n $(\".sidebar\").addClass(\"toggled\");\n $('.sidebar .collapse').collapse('hide');\n };\n });\n\n // Prevent the content wrapper from scrolling when the fixed side navigation hovered over\n $('body.fixed-nav .sidebar').on('mousewheel DOMMouseScroll wheel', function (e) {\n if ($(window).width() > 768) {\n var e0 = e.originalEvent,\n delta = e0.wheelDelta || -e0.detail;\n this.scrollTop += (delta < 0 ? 1 : -1) * 30;\n e.preventDefault();\n }\n });\n\n // Scroll to top button appear\n $(document).on('scroll', function () {\n var scrollDistance = $(this).scrollTop();\n if (scrollDistance > 100) {\n $('.scroll-to-top').fadeIn();\n } else {\n $('.scroll-to-top').fadeOut();\n }\n });\n\n // Smooth scrolling using jQuery easing\n $(document).on('click', 'a.scroll-to-top', function (e) {\n var $anchor = $(this);\n $('html, body').stop().animate({\n scrollTop: ($($anchor.attr('href')).offset().top)\n }, 1000, 'easeInOutExpo');\n e.preventDefault();\n });\n }\n\n}; // End of use strict\nexport default runFunc;","import React, { useState, useEffect } from 'react'\r\nimport SlideApi from '../../api/SlideApi'\r\nimport Slider from \"react-slick\";\r\n\r\nexport const Slide = () => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n const [listSlide, setListSlide] = useState([]);\r\n\r\n const loadSlide = async () => {\r\n const res = await SlideApi.getAll({ type: 2 });\r\n setListSlide(res);\r\n }\r\n\r\n useEffect(() => {\r\n loadSlide();\r\n }, []);\r\n\r\n\r\n\r\n var settings = {\r\n dots: false,\r\n infinite: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n pauseOnHover: true,\r\n arrows: false\r\n };\r\n\r\n var slide_Style = {\r\n height: '350px'\r\n }\r\n\r\n var slideItem_Style = {\r\n width: '100%',\r\n height: \"350px\"\r\n }\r\n var textItem_Style = {\r\n textAlign: \"center\"\r\n }\r\n\r\n return (\r\n
\r\n \r\n {listSlide.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","import React, { useState, useEffect } from 'react'\r\nimport PostApi from '../src/api/PostApi'\r\nimport TrangApi from '../src/api/TrangApi'\r\nimport SauBenhApi from '../src/api/SauBenhApi'\r\nimport { Slide } from '../src/public/website/slide'\r\nimport Slider from \"react-slick\";\r\nimport { NavLink } from 'react-router-dom';\r\nimport { Home } from './main/home/Home'\r\nimport LuotTruyCapApi from './api/LuotTruyCapApi'\r\nimport SlideApi from './api/SlideApi'\r\nimport LienHeApi from './api/LienHeApi'\r\n\r\n\r\nexport const TrangChu = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [listTopPage, setListTopPage] = useState([]);\r\n const [listButomPage, setListButomPage] = useState([]);\r\n const [listPostHotFlag, setListPostHotFlag] = useState([]);\r\n const [listSauBenh, setListSauBenh] = useState([]);\r\n const [listLuotTruyCap, setLuotTruyCap] = useState([]);\r\n const [listSlide, setListSlide] = useState([]);\r\n const [lienHe, setLienHe] = useState({});\r\n\r\n const loadTrangs = async () => {\r\n const res = await TrangApi.getAll();\r\n var lstTop = [];\r\n var lstButom = [];\r\n var lstTopAlias = [] = ['gioi-thieu-tinh-nang', 'gioi-thieu-website', 'tinh-nang-noi-bat'];\r\n var lstButomAlias = [] = ['gioi-thieu-ban-do', 'gioi-thieu-phan-bon'];\r\n lstTopAlias.forEach(element => {\r\n var temp = res.filter(x => x.Alias == element);\r\n if (temp.length > 0) {\r\n lstTop.push(...temp);\r\n }\r\n });\r\n lstButomAlias.forEach(element => {\r\n var temp = res.filter(x => x.Alias == element);\r\n if (temp.length > 0) {\r\n lstButom.push(...temp);\r\n }\r\n });\r\n setListTopPage(lstTop);\r\n setListButomPage(lstButom);\r\n }\r\n\r\n const loadBaiVietTrangChu = async () => {\r\n const res = await PostApi.getHotFlag();\r\n setListPostHotFlag(res);\r\n }\r\n\r\n const loadLuotTruyCap = async () => {\r\n const res = await LuotTruyCapApi.getAll();\r\n setLuotTruyCap(res);\r\n }\r\n\r\n const loadSauBenh = async () => {\r\n const res = await SauBenhApi.getAll();\r\n setListSauBenh(res);\r\n }\r\n\r\n const loadSlide = async () => {\r\n const res = await SlideApi.getAll({ type: 3 });\r\n setListSlide(res);\r\n }\r\n\r\n useEffect(() => {\r\n loadLienHe();\r\n loadTrangs();\r\n loadSlide();\r\n loadBaiVietTrangChu();\r\n loadSauBenh();\r\n loadLuotTruyCap();\r\n }, []);\r\n\r\n const loadLienHe = async () => {\r\n const params = {\r\n keyword: '',\r\n pageIndex: 1,\r\n pageSize: 20\r\n }\r\n const res = await LienHeApi.getLienHe(params);\r\n if (res.Items.length > 0) {\r\n setLienHe(res.Items[0]);\r\n }\r\n }\r\n\r\n var settings = {\r\n dots: false,\r\n infinite: true,\r\n slidesToShow: window.innerWidth < 600 ? 1 : 4,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n pauseOnHover: true,\r\n arrows: false\r\n };\r\n var slide_Style = {\r\n height: '200px'\r\n }\r\n\r\n var slideItem_Style = {\r\n marginLeft: \"auto\",\r\n marginRight: \"auto\",\r\n padding: \"0px 5px\",\r\n height: \"160px\",\r\n maxWidth: \"100%\"\r\n }\r\n var textItem_Style = {\r\n textAlign: \"center\"\r\n }\r\n\r\n\r\n\r\n\r\n var settingsApp = {\r\n dots: false,\r\n infinite: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n pauseOnHover: true,\r\n arrows: false\r\n };\r\n\r\n var slide_StyleApp = {\r\n height: '600px'\r\n }\r\n\r\n var slideItem_StyleApp = {\r\n width: '100%',\r\n height: \"600px\"\r\n }\r\n return (\r\n <>\r\n \r\n \r\n {listButomPage.map((item, key) => {\r\n return (\r\n
\r\n )\r\n })}\r\n
\r\n
\r\n
\r\n

DANH MỤC SÂU BỆNH

\r\n
\r\n
\r\n
\r\n \r\n {listSauBenh.map((item, key) => {\r\n return (\r\n
\r\n \r\n \r\n

{item.TenSauBenh}

\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ông kê truy cập

\r\n
\r\n
\r\n
\r\n {\r\n listLuotTruyCap.map((item, key) => {\r\n return (\r\n
\r\n {item.SoLuong} \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

TIN TỨC

\r\n
\r\n
\r\n
\r\n \r\n {listPostHotFlag.map((item, key) => {\r\n return (\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

ỨNG DỤNG QUẢN LÝ SÂU BỆNH

\r\n
\r\n
\r\n
\r\n \r\n {listSlide.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 \r\n \r\n \r\n
\r\n
\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\n\r\nexport const Footer = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n const [lienHe, setLienHe] = useState({});\r\n\r\n useEffect(() => {\r\n debugger;\r\n if(props.lienHe != null){\r\n setLienHe(props.lienHe);\r\n }\r\n }, [props.lienHe]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{lienHe.Name}
\r\n

Địa chỉ: {lienHe.Address}

\r\n

Điện thoại: {lienHe.Phone}

\r\n

Email: {lienHe.Email}

\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 PostApi from '../../api/PostApi'\r\nimport PostCategoryApi from '../../api/PostCategoryApi'\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport { Link, NavLink, Route, useParams, withRouter } from 'react-router-dom';\r\n/* import { defaultProps } from 'react-select/src/Select'; */\r\n\r\nexport const BaiViet = (props) => {\r\n\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('/api', '');\r\n const [listBaiViets, setListBaiViet] = useState([]);\r\n const [postCategory, setPostCategory] = useState({});\r\n const [filter, setFilter] = useState('');\r\n const [listNoiBats, setListNoiBat] = useState([]);\r\n const [listNews, setListNew] = useState([]);\r\n\r\n const { IdDanhMuc } = useParams();\r\n useEffect(() => {\r\n loadBaiViet();\r\n loadCategory();\r\n loadNoiBat();\r\n loadTinMoi();\r\n }, []);\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 loadBaiViet();\r\n }\r\n });\r\n\r\n const loadCategory = async () => {\r\n const category = await PostCategoryApi.getDetail(IdDanhMuc);\r\n setPostCategory(category);\r\n }\r\n\r\n const loadBaiViet = async () => {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n categoryId: IdDanhMuc,\r\n filter: filter\r\n }\r\n var res = await PostApi.getPagingByCategory(params);\r\n setListBaiViet(res.Items);\r\n paginationConfig.totalPages = 1;\r\n if (res.Items.length > 0) {\r\n paginationConfig.totalPages = Math.ceil(res.TotalRow / pageSize);\r\n }\r\n paginationConfig.currentPage = pageIndex;\r\n setPaging(paginationConfig);\r\n }\r\n\r\n const loadNoiBat = async () => {\r\n var res = await PostApi.getTinNoiBat();\r\n setListNoiBat(res);\r\n }\r\n\r\n const loadTinMoi = async () => {\r\n var res = await PostApi.getTinMoi();\r\n setListNew(res);\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n Trang chủ / \r\n {postCategory.Name}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n {\r\n listBaiViets.map((item, key) => {\r\n return (\r\n
\r\n
\r\n \r\n {item.name}\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

Tin nổi bật

\r\n {\r\n listNoiBats.map((item, key) => {\r\n return (\r\n
\r\n \r\n {item.name}\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

Tin mới nhất

\r\n {\r\n listNews.map((item, key) => {\r\n return (\r\n
\r\n \r\n {item.name}\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}","import React, { useState, useEffect } from 'react'\r\nimport TrangApi from '../../api/TrangApi';\r\nimport { useParams } from 'react-router';\r\nimport { Slide } from '../../public/website/slide'\r\n\r\nexport const Trang = () => {\r\n const [trangModel, setTrangModel] = useState({});\r\n let { alias } = useParams();\r\n const loadByAlias = async () => {\r\n try {\r\n alias = alias.replace(\".html\", \"\");\r\n const params = {\r\n alias: alias\r\n }\r\n const response = await TrangApi.getByAlias(params);\r\n if (response.Items.length > 0) {\r\n setTrangModel(response.Items[0]);\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n loadByAlias();\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n Trang chủ / \r\n {trangModel.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","import React, { useEffect, useState } from 'react';\r\nimport PostApi from '../../api/PostApi'\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Link } from 'react-router-dom';\r\nimport PostCategoryApi from '../../api/PostCategoryApi';\r\n\r\nexport const TrangBaiViet = (props) => {\r\n\r\n var apiUrl = process.env.REACT_APP_API_URL.replace('/api', '');\r\n const [baiViet, setBaiViet] = useState({});\r\n const [listBaiViet, setListBaiViet] = useState([]);\r\n const [listBreadcrumb, setListBreadcrumb] = useState([]);\r\n\r\n const loadBaiViet = async (Id) => {\r\n const resPonse = await PostApi.getDetail(Id);\r\n setBaiViet(resPonse);\r\n }\r\n\r\n const loadListBaiViet = async () => {\r\n const resPonse = await PostApi.getAll();\r\n setListBaiViet(resPonse);\r\n }\r\n\r\n const loadBreadcrumb = async (id) => {\r\n const resPonse = await PostCategoryApi.getBreadcrumb({ id: id });\r\n setListBreadcrumb(resPonse);\r\n }\r\n\r\n useEffect(() => {\r\n var id = props.match.params.IdBaiViet;\r\n id = id.replace(\".html\", \"\");\r\n loadBreadcrumb(id);\r\n loadBaiViet(id);\r\n loadListBaiViet();\r\n }, [props.match.params.IdBaiViet])\r\n\r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Trang chủ / \r\n {listBreadcrumb.map((item, key) => {\r\n return (\r\n {item.Name} /\r\n )\r\n })}\r\n {baiViet.Name}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
{baiViet.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
Tin nổi bật
\r\n {\r\n listBaiViet.filter(x => x.HotFlag == true).map((p, key) => {\r\n if (key <= 4) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{p.Name}
\r\n
\r\n
\r\n )\r\n }\r\n })\r\n }\r\n
\r\n
Tin mới nhất
\r\n {\r\n listBaiViet.filter(x => x.HotFlag == false).map((p, key) => {\r\n if (key <= 4) {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
{p.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}","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport $ from 'jquery';\r\nimport Draggable from 'react-draggable';\r\nimport HoiDapApi from '../../api/HoiDapApi'\r\nimport CayTrongApi from '../../api/CayTrongApi'\r\nimport { useForm } from 'react-hook-form';\r\nimport Select from 'react-select';\r\nimport moment from 'moment'\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport './hoidap.css'\r\nimport Authen from '../../core/Authen';\r\n\r\nexport const ThemCauHoi = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listCayTrong, setListCayTrong] = useState([{ value: 0, label: 'Chọn cây trồng...' }]);\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [show, setShow] = useState(false);\r\n const [currentItem, setCurrentItem] = useState({});\r\n const [nhanVien, setNhanVien] = useState({});\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n loadListCayTrong();\r\n setSelectedOption(listCayTrong[0]);\r\n reset({\r\n Id: \"0\",\r\n ChuDe: '',\r\n NoiDung: '',\r\n HoTen: '',\r\n Email: '',\r\n Tel: ''\r\n }, [reset]);\r\n setNhanVien(Authen.getUser());\r\n $('#modalgopy').modal('show');\r\n setShow(true);\r\n }\r\n }, [props.show]);\r\n\r\n const handleClose = () => {\r\n setShow(false);\r\n $('#modalgopy').modal('hide');\r\n $('#modalgopy').modal('dispose');\r\n props.closeModal();\r\n }\r\n\r\n //#region câu hỏi\r\n const saveDataCauHoi = (data) => {\r\n if (selectedOption) {\r\n if (selectedOption.value == 0) {\r\n data.IdCayTrong = null;\r\n }\r\n else {\r\n data.IdCayTrong = selectedOption.value;\r\n }\r\n }\r\n else {\r\n data.IdCayTrong = null;\r\n }\r\n data.Status = false;\r\n if (data.Id === \"0\" || data.Id == null) {\r\n data.Id = 0;\r\n HoiDapApi.postCauHoiPublic(data).then(() => {\r\n // var item = {\r\n // Id: \"0\",\r\n // ChuDe: '',\r\n // NoiDung: '',\r\n // HoTen: '',\r\n // Email: '',\r\n // Tel: ''\r\n // };\r\n // reset(item, [reset]);\r\n handleClose();\r\n })\r\n }\r\n else {\r\n HoiDapApi.put(data).then(() => {\r\n\r\n })\r\n }\r\n }\r\n\r\n const onChangeCayTrong = (e) => {\r\n setSelectedOption(e);\r\n }\r\n //#endregion\r\n\r\n function loadListCayTrong() {\r\n // CayTrongApi.getAll().then((response) => {\r\n // let list = [];\r\n // list.push({ value: 0, label: 'Chọn cây trồng...' });\r\n // response.forEach(item => {\r\n // list.push({ value: item.Id, label: item.TenCayTrong });\r\n // })\r\n // setListCayTrong(list);\r\n // })\r\n CayTrongApi.getAll().then((response) => {\r\n // let list = [];\r\n // list.push({ value: 0, label: 'Chọn cây trồng...' });\r\n // response.forEach(item => {\r\n // list.push({ value: item.Id, label: item.TenCayTrong });\r\n // })\r\n response.forEach(element => {\r\n element.ClassCss = \"btn-secondary\";\r\n });\r\n if (response.length > 0) {\r\n response[0].ClassCss = \"btn-success\";\r\n setCurrentItem(response[0]);\r\n }\r\n setListCayTrong(response);\r\n })\r\n }\r\n\r\n const changeCayTrong = (item) => {\r\n listCayTrong.forEach(element => {\r\n element.ClassCss = \"btn-secondary\";\r\n });\r\n item.ClassCss = \"btn-success\";\r\n setListCayTrong([...listCayTrong]);\r\n setCurrentItem(item);\r\n }\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Thêm câu hỏi
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n listCayTrong.map((item, key) => {\r\n return (\r\n
\r\n
\r\n {item.TenCayTrong} changeCayTrong(item)} />\r\n \r\n
\r\n
\r\n )\r\n })\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.Name && 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","import React, { useState,useEffect } 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\nimport ThongBao from '../../core/ThongBao';\r\nimport { Loading } from '../../shared/loading/Loading';\r\nimport { Modal, Button } from 'react-bootstrap';\r\n\r\nexport const DangNhap = (props) => {\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => {\r\n setShow(false); \r\n props.closeModal();\r\n }\r\n let history = useHistory();\r\n const [loading, setLoading] = useState(false);\r\n const { register, handleSubmit, errors } = useForm({\r\n mode: \"onBlur\"\r\n });\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n setShow(true);\r\n }\r\n }, [props.show]);\r\n\r\n const onSubmit = (data) => {\r\n setLoading(true);\r\n axios.post(process.env.REACT_APP_API_URL + '/login', data).then(response => {\r\n localStorage.setItem(process.env.REACT_APP_TOKEN, response.data.token);\r\n setLoading(false);\r\n // history.push(\"/#\");\r\n history.go(0);\r\n }, (eror) => {\r\n if (eror.response) {\r\n if (eror.response.data === \"Bad Request\") {\r\n ThongBao.printErrorMessage(\"Tên đăng nhập hoặc mật khẩu không đúng.\");\r\n }\r\n else {\r\n ThongBao.printErrorMessage(eror.response.data);\r\n }\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n return (\r\n\r\n \r\n \r\n ĐĂNG NHẬP HỆ THỐNG\r\n \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\r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport $ from 'jquery';\r\nimport HoiDapApi from '../../api/HoiDapApi'\r\nimport CayTrongApi from '../../api/CayTrongApi'\r\nimport { useForm } from 'react-hook-form';\r\nimport moment from 'moment'\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport './hoidap.css'\r\nimport { ThemCauHoi } from './themcauhoi'\r\nimport { NavLink, useHistory } from 'react-router-dom';\r\nimport { DangNhap } from '../../public/dangnhap/dangnhap'\r\nimport Authen from '../../core/Authen';\r\nimport TaiKhoanApi from '../../api/TaiKhoanApi';\r\nimport ThongBao from '../../core/ThongBao';\r\n\r\nexport const HoiDap = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n let history = useHistory();\r\n const [filter, setFilter] = useState('');\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [listCayTrong, setListCayTrong] = useState([{ value: 0, label: 'Chọn cây trồng...' }]);\r\n const [currentItem, setCurrentItem] = useState({});\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [showAnh, setShowAnh] = useState(false);\r\n const [urlShowAnh, setUrlShowAnh] = useState();\r\n const [showThemCauHoi, setShowThemCauHoi] = useState(false);\r\n const [showDangNhap, setShowDangNhap] = useState(false);\r\n const [nhanVien, setNhanVien] = useState({});\r\n const [listFileUpload, setListFileUpload] = useState(null);\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n const [listHoiDaps, setListHoiDaps] = useState([]);\r\n const [listHoiDaps_XemNhieuNhat, setListHoiDaps_XemNhieuNhat] = useState([]);\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 loadHoiDaps();\r\n }\r\n });\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n loadListCayTrong();\r\n setSelectedOption(listCayTrong[0]);\r\n loadHoiDaps();\r\n loadXemNhieuNhat();\r\n setNhanVien(Authen.getUser());\r\n $('#modalhoidap').modal('show');\r\n }\r\n }, [props.show]);\r\n\r\n //#region câu hỏi\r\n const loadXemNhieuNhat= async ()=>{\r\n try {\r\n const response = await HoiDapApi.getXemNhieuNhat();\r\n setListHoiDaps_XemNhieuNhat(response.Items); \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n const loadHoiDaps = async () => {\r\n try {\r\n const params = {\r\n pageIndex: pageIndex,\r\n pageSize: pageSize,\r\n filter: filter,\r\n idCayTrong: selectedOption == null ? '' : selectedOption.value,\r\n status: true\r\n }\r\n const response = await HoiDapApi.getPagingPublic(params);\r\n var str = localStorage.getItem(process.env.REACT_LIKE_HOIDAP);\r\n var listLike = [];\r\n if (str != null) {\r\n listLike = JSON.parse(str);\r\n }\r\n response.Items.forEach(item => {\r\n item.Checked = false;\r\n if (listLike.filter(x => x.Id == item.Id).length > 0) {\r\n item.IsLiked = true;\r\n }\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 paginationConfig.onClick = function (page) {\r\n pageIndex = page;\r\n loadHoiDaps();\r\n }\r\n setPaging(paginationConfig);\r\n setListHoiDaps(response.Items);\r\n } catch (err) {\r\n }\r\n }\r\n \r\n const handleCloseCauHoi = () => {\r\n setShowThemCauHoi(false);\r\n }\r\n\r\n const addLike = async (cauHoi) => {\r\n if (cauHoi.IsLiked != true) {\r\n var str = localStorage.getItem(process.env.REACT_LIKE_HOIDAP);\r\n var listLike = [];\r\n if (str != null) {\r\n listLike = JSON.parse(str);\r\n }\r\n listLike.push({ Id: cauHoi.Id });\r\n localStorage.setItem(process.env.REACT_LIKE_HOIDAP, JSON.stringify(listLike));\r\n HoiDapApi.addLike({ Id: cauHoi.Id }).then(() => {\r\n var lst = JSON.parse(JSON.stringify(listHoiDaps));\r\n lst.forEach(element => {\r\n if (element.Id == cauHoi.Id) {\r\n element.IsLiked = true;\r\n element.Liked = +element.Liked + 1\r\n }\r\n });\r\n setListHoiDaps(lst);\r\n });\r\n }\r\n }\r\n\r\n //#endregion\r\n\r\n //#region hình ảnh\r\n const handleCloseAnh = () => {\r\n setShowAnh(false);\r\n }\r\n const handleShowAnh = (urlAnh) => {\r\n setUrlShowAnh(urlAnh);\r\n setShowAnh(true);\r\n }\r\n //#endregion\r\n\r\n function loadListCayTrong() {\r\n CayTrongApi.getAll().then((response) => {\r\n response.forEach(element => {\r\n element.ClassCss = \"btn-light\";\r\n });\r\n if (response.length > 0) {\r\n response[0].ClassCss = \"btn-success\";\r\n setCurrentItem(response[0]);\r\n }\r\n setListCayTrong(response);\r\n })\r\n }\r\n\r\n const closeModalDangNhap = () => {\r\n setShowDangNhap(false);\r\n }\r\n\r\n const saveDataCauHoi = async (data) => {\r\n debugger;\r\n if (listFileUpload != null) {\r\n var fielPath = '';\r\n let dataUpload = new FormData();\r\n dataUpload.append('file', listFileUpload);\r\n fielPath = await TaiKhoanApi.UploadFile(dataUpload);\r\n data.HinhAnhs = fielPath;\r\n }\r\n if (currentItem) {\r\n data.IdCayTrong = currentItem.Id;\r\n }\r\n else {\r\n data.IdCayTrong = null;\r\n }\r\n data.Status = false;\r\n if (data.Id === \"0\" || data.Id == null) {\r\n data.Id = 0;\r\n HoiDapApi.post(data).then(() => {\r\n reset({ Id: 0, ChuDe: '', NoiDung: '' }[reset]);\r\n setListFileUpload(null);\r\n ThongBao.printSuccessMessage(\"Gửi câu hỏi thành công.\");\r\n })\r\n }\r\n else {\r\n HoiDapApi.put(data).then(() => {\r\n\r\n })\r\n }\r\n }\r\n const changeCayTrong = (item) => {\r\n listCayTrong.forEach(element => {\r\n element.ClassCss = \"btn-light\";\r\n });\r\n item.ClassCss = \"btn-success\";\r\n setListCayTrong([...listCayTrong]);\r\n setCurrentItem(item);\r\n }\r\n const showModalDangNhap = () => {\r\n setShowDangNhap(true);\r\n }\r\n const showModalDangKy = () => {\r\n history.push(\"/dangky\");\r\n }\r\n const onChangeHandlerUpload = event => {\r\n setListFileUpload(event.target.files[0]);\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Trang chủ / \r\n Hỏi đáp\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {nhanVien.UserName == null &&\r\n <>\r\n \r\n
\r\n
Câu hỏi của bạn?
\r\n
\r\n \r\n }\r\n {nhanVien.UserName != null &&\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n {\r\n listCayTrong.map((item, key) => {\r\n return (\r\n
\r\n
\r\n {item.TenCayTrong} changeCayTrong(item)} />\r\n \r\n
\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
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n {\r\n listHoiDaps.map((item, key) => {\r\n return (\r\n
\r\n
\r\n handleShowAnh(item.HinhAnhs)} />\r\n
\r\n \r\n  \r\n {item.FullName != null ? item.FullName : item.HoTen}\r\n \r\n
\r\n
\r\n \r\n  \r\n {item.TenCayTrong}\r\n \r\n \r\n  \r\n {item.CreatedDate == '' ? '' : moment(item.CreatedDate, \"DD/MM/YYYY HH:mm:ss\").format(\"DD/MM/YYYY HH:mm\")}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {item.ChuDe} \r\n
\r\n
\r\n
\r\n
{item.NoiDung}
\r\n
\r\n {item.HinhAnhs != null && item.HinhAnhs != \"\" &&\r\n
\r\n handleShowAnh(item.HinhAnhs)} />\r\n
\r\n }\r\n
\r\n
\r\n {/* showTraLoi(item)}> {item.CountTraLoi} Trả lời */}\r\n \r\n {item.CountTraLoi} Trả lời\r\n \r\n addLike(item)} className={item.IsLiked == true ? 'like-style' : ''}> {item.Liked} Like\r\n
\r\n
\r\n
\r\n )\r\n })\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Xem nhiều nhất

\r\n
\r\n {\r\n listHoiDaps_XemNhieuNhat.map((item, key) => {\r\n return (\r\n
\r\n \r\n {item.ChuDe}\r\n \r\n
\r\n \r\n

{item.ChuDe}

\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 ảnh\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n { showDangNhap && }\r\n \r\n )\r\n}\r\n","import React, { useState, useEffect } from 'react'\r\nimport { Modal } from 'react-bootstrap';\r\nimport $ from 'jquery';\r\nimport HoiDapApi from '../../api/HoiDapApi'\r\nimport CayTrongApi from '../../api/CayTrongApi'\r\nimport { useForm } from 'react-hook-form';\r\nimport moment from 'moment'\r\nimport Pagination from 'react-bootstrap-4-pagination';\r\nimport './hoidap.css'\r\nimport { ThemCauHoi } from './themcauhoi'\r\nimport { NavLink, useParams } from 'react-router-dom';\r\nimport { DangNhap } from '../../public/dangnhap/dangnhap'\r\nimport Authen from '../../core/Authen';\r\nimport TaiKhoanApi from '../../api/TaiKhoanApi';\r\nimport ThongBao from '../../core/ThongBao';\r\n\r\nexport const TraLoi = (props) => {\r\n var apiUrl = process.env.REACT_APP_URL;\r\n var noImage = \"/uploadfiles/website/no_image-100x100.jpg\";\r\n const [filter, setFilter] = useState('');\r\n const [selectedOption, setSelectedOption] = useState();\r\n const [currentItem, setCurrentItem] = useState({});\r\n const [listTraLoi, setListTraLoi] = useState([]);\r\n const { register, handleSubmit, reset, errors } = useForm();\r\n const [showAnh, setShowAnh] = useState(false);\r\n const [urlShowAnh, setUrlShowAnh] = useState();\r\n const [showDangNhap, setShowDangNhap] = useState(false);\r\n const [nhanVien, setNhanVien] = useState({});\r\n\r\n const [listHoiDaps, setListHoiDaps] = useState([]);\r\n\r\n useEffect(() => {\r\n AddViewed();\r\n loadTraLois();\r\n setNhanVien(Authen.getUser());\r\n }, []);\r\n\r\n const { IdCauHoi } = useParams();\r\n\r\n const AddViewed = () => {\r\n HoiDapApi.addView({ Id: IdCauHoi }).then(() => {\r\n\r\n })\r\n }\r\n\r\n const saveDataTraLoi = (data) => {\r\n data.IdCayTrong = currentItem.IdCayTrong;\r\n data.IdCha = currentItem.Id;\r\n data.Status = true;\r\n if (data.Id === \"0\" || data.Id == null) {\r\n data.Id = 0;\r\n HoiDapApi.postPublic(data).then(() => {\r\n loadTraLois();\r\n var item = {\r\n Id: 0,\r\n NoiDung: '',\r\n HoTen: '',\r\n Email: '',\r\n DienThoai: '',\r\n };\r\n reset(item, [reset]);\r\n })\r\n }\r\n else {\r\n HoiDapApi.put(data).then(() => {\r\n loadTraLois();\r\n })\r\n }\r\n }\r\n\r\n const addLike = async (cauHoi) => {\r\n if (cauHoi.IsLiked != true) {\r\n var str = localStorage.getItem(process.env.REACT_LIKE_HOIDAP);\r\n var listLike = [];\r\n if (str != null) {\r\n listLike = JSON.parse(str);\r\n }\r\n listLike.push({ Id: cauHoi.Id });\r\n localStorage.setItem(process.env.REACT_LIKE_HOIDAP, JSON.stringify(listLike));\r\n HoiDapApi.addLike({ Id: cauHoi.Id }).then(() => {\r\n var lst = JSON.parse(JSON.stringify(listHoiDaps));\r\n lst.forEach(element => {\r\n if (element.Id == cauHoi.Id) {\r\n element.IsLiked = true;\r\n element.Liked = +element.Liked + 1\r\n }\r\n });\r\n setListHoiDaps(lst);\r\n });\r\n }\r\n }\r\n const handleCloseAnh = () => {\r\n setShowAnh(false);\r\n }\r\n const handleShowAnh = (urlAnh) => {\r\n setUrlShowAnh(urlAnh);\r\n setShowAnh(true);\r\n }\r\n\r\n const loadTraLois = async () => {\r\n debugger;\r\n var idCauHoi = Number.parseInt(IdCauHoi || 0);\r\n if (idCauHoi > 0) {\r\n try {\r\n const response = await HoiDapApi.getByCha(idCauHoi);\r\n var str = localStorage.getItem(process.env.REACT_LIKE_HOIDAP);\r\n var listLike = [];\r\n if (str != null) {\r\n listLike = JSON.parse(str);\r\n }\r\n if (listLike.filter(x => x.Id == response.Id).length > 0) {\r\n response.IsLiked = true;\r\n }\r\n setCurrentItem(response);\r\n setListTraLoi(response.TraLois);\r\n } catch (err) {\r\n }\r\n\r\n }\r\n }\r\n\r\n const closeModalDangNhap = () => {\r\n setShowDangNhap(false);\r\n }\r\n const showModalDangNhap = () => {\r\n setShowDangNhap(true);\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Trang chủ / \r\n Hỏi đáp / \r\n Chi tiế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 handleShowAnh(currentItem.HinhAnhs)} />\r\n
\r\n \r\n  \r\n {currentItem.FullName != null ? currentItem.FullName : currentItem.HoTen}\r\n \r\n
\r\n
\r\n \r\n  \r\n {currentItem.TenCayTrong}\r\n \r\n \r\n  \r\n {currentItem.CreatedDate == '' ? '' : moment(currentItem.CreatedDate, \"DD/MM/YYYY HH:mm:ss\").format(\"DD/MM/YYYY HH:mm\")}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{currentItem.ChuDe}
\r\n
\r\n
\r\n
{currentItem.NoiDung}
\r\n
\r\n {currentItem.HinhAnhs != null && currentItem.HinhAnhs != \"\" &&\r\n
\r\n handleShowAnh(currentItem.HinhAnhs)} />\r\n
\r\n }\r\n
\r\n
\r\n {listTraLoi.length} Trả lời\r\n addLike(currentItem)} className={currentItem.IsLiked == true ? 'like-style' : ''}> {currentItem.Liked} Like\r\n
\r\n
\r\n
\r\n
\r\n {listTraLoi.length == 0 &&\r\n
\r\n Chưa có câu trả lời nào.\r\n
\r\n }\r\n {listTraLoi.length > 0 &&\r\n listTraLoi.map((item, key) => {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
{item.FullName == null ? item.HoTen : item.FullName}
\r\n
\r\n \r\n  \r\n {item.CreatedDate == '' ? '' : moment(item.CreatedDate, \"DD/MM/YYYY HH:mm:ss\").format(\"DD/MM/YYYY HH:mm\")}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {item.NoiDung} \r\n
\r\n
\r\n
\r\n \r\n )\r\n })\r\n }\r\n
\r\n
\r\n {nhanVien.UserName != null &&\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n {nhanVien.UserName == null &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n {nhanVien.UserName != null &&\r\n \r\n }\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n Hình ảnh\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n { showDangNhap && }\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport styled from 'styled-components';\r\n\r\nconst Wrapper = styled.div`\r\nposition: absolute;\r\ntop: 50%;\r\nleft: 50%;\r\nwidth: 50px;\r\nheight: 58px;\r\nbackground-image: url(/img/diadiem.png);\r\nbackground-repeat: no-repeat;\r\n-webkit-user-select: none;\r\n-moz-user-select: none;\r\n-ms-user-select: none;\r\nuser-select: none;\r\n-webkit-transform: translate(-50%,-50%);\r\n-ms-transform: translate(-50%,-50%);\r\ntransform: translate(-50%,-50%);\r\n cursor: ${(props) => (props.onClick ? 'pointer' : 'default')};\r\n &:hover {\r\n z-index: 1;\r\n }\r\n`;\r\n\r\nconst Marker = ({ text, onClick }) => (\r\n \r\n);\r\n\r\nMarker.defaultProps = {\r\n onClick: null,\r\n};\r\n\r\nMarker.propTypes = {\r\n onClick: PropTypes.func,\r\n text: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default Marker;","import React, { useState, useEffect } from 'react'\r\nimport LienHeApi from '../../api/LienHeApi';\r\nimport GoogleMapReact from 'google-map-react';\r\nimport Marker from './Marker';\r\n\r\nexport const LienHe = () => {\r\n\r\n let pageIndex = 1;\r\n let pageSize = 20;\r\n let filter = '';\r\n const [lienHe, setLienHe] = useState({});\r\n const [local, setLocal] = useState({\r\n center: { lat: 0, lng: 0 },\r\n zoom: 15\r\n });\r\n useEffect(() => {\r\n const loadLienHes = 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 LienHeApi.getLienHe(params);\r\n if (response.Items.length > 0) {\r\n setLocal({\r\n center: {\r\n lat: response.Items[0].Lat,\r\n lng: response.Items[0].Lng\r\n },\r\n zoom: 14\r\n });\r\n setLienHe(response.Items[0]);\r\n }\r\n } catch (err) {\r\n }\r\n }\r\n loadLienHes();\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n Trang chủ / \r\n Liên hệ\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Địa chỉ: {lienHe.Address}
\r\n
Điện thoại: {lienHe.Phone}
\r\n
Email: {lienHe.Email}
\r\n
\r\n
\r\n
\r\n

Phản hồi

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