{"version":3,"sources":["components/Grid/GridItemLogin.js","components/Grid/GridItem.js","components/Grid/GridContainer.js","assets/jss/material-dashboard-react.js","assets/jss/material-dashboard-react/components/customInputStyle.js","components/CustomInput/LoginInput.js","components/CustomInput/PasswordInput.js","assets/jss/material-dashboard-react/components/buttonStyle.js","components/CustomButtons/Button.js","assets/jss/material-dashboard-react/components/cardStyle.js","components/Card/Card.js","assets/jss/material-dashboard-react/components/cardHeaderStyle.js","components/Card/CardHeader.js","assets/jss/material-dashboard-react/components/cardBodyStyle.js","components/Card/CardBody.js","assets/jss/material-dashboard-react/components/cardFooterStyle.js","components/Card/CardFooter.js","conFig.js","assets/jss/material-dashboard-react/components/snackbarContentStyle.js","components/Snackbar/Snackbar.js","assets/img/background_login.png","assets/jss/material-dashboard-react/components/cardHeaderStyletab.js","components/Card/CardHeadertab.js","assets/jss/material-dashboard-react/dropdownStyle.js","assets/jss/material-dashboard-react/components/headerLinksStyle.js","components/Navbars/AdminNavbarLinks.js","components/CustomInput/CustomInput.js","assets/jss/material-dashboard-react/components/rtlHeaderLinksStyle.js","components/Navbars/RTLNavbarLinks.js","assets/jss/material-dashboard-react/components/cardIconStyle.js","components/Card/CardIcon.js","components/Dashboard/Kkt_kcn_ccn.js","components/Dashboard/Trongnuoc_fdi.js","assets/jss/material-dashboard-react/components/bieudo.js","components/Dashboard/Thongkediabancot.js","assets/jss/material-dashboard-react/components/chucnangStyle.js","components/Dashboard/Thongkelinhvuc.js","components/Xuatexcel/Baocaotiendoduanexcel.js","assets/jss/material-dashboard-react/components/dashBoardth.js","views/Dashboard/Dashboard.js","assets/jss/material-dashboard-react/components/tableviewStyle.js","components/Util/Boloc1.js","components/Processbars/Processbar.js","components/Dashboard/Quanlytiendo/Charttiendoduan.js","components/Dashboard/Quanlytiendo/Charttiendogiaingan.js","components/Dashboard/Quanlytiendo/Thongtinchitietduan.js","views/Dashboard/Quanlytiendoduan.js","assets/jss/material-dashboard-react/components/customTabsStyle.js","components/CustomTabs/CustomTabsGrid.js","components/Duan/Themduan.js","components/Duan/Capnhatduan.js","components/Duan/Themmoiduan.js","components/Util/Boloc.js","assets/jss/material-dashboard-react/components/tablebaocaoStyle.js","components/Duan/Thongtin/Chitietquytable.js","components/Duan/Thongtin/Thongtinduantable.js","components/Duan/Thongtin/Thongtinduan.js","components/Duan/Dieuchinh/Themmoidieuchinh.js","components/Duan/Dieuchinh/Capnhatdieuchinh.js","components/Duan/Dieuchinh/NoidungdieuchinhTbl.js","components/Xuatexcel/Baocaodieuchinhexcel.js","components/Duan/Dieuchinh/Dieuchinhduan.js","components/Duan/Hoatdongketthucthuhoi/Capnhathoatdong.js","components/Xuatexcel/Baocaoduandivaohoatdongexcel.js","components/Duan/Hoatdongketthucthuhoi/Hoatdong.js","components/Duan/Hoatdongketthucthuhoi/Capnhatketthuc.js","components/Xuatexcel/Baocaoduanketthucexcel.js","components/Duan/Hoatdongketthucthuhoi/Ketthuc.js","components/Duan/Hoatdongketthucthuhoi/Capnhatthuhoi.js","components/Duan/Hoatdongketthucthuhoi/Themthuhoi.js","components/Xuatexcel/Baocaoduanthuhoiexcel.js","components/Duan/Hoatdongketthucthuhoi/Thuhoi.js","components/Duan/Tinhtrangkyquy/Capnhatkyquy.js","components/Duan/Tinhtrangkyquy/Kyquy.js","components/Duan/Tinhtrangkyquy/Capnhatnopm3.js","components/Duan/Tinhtrangkyquy/Nopm3.js","components/Duan/Vipham/Suakiemtravipham.js","components/Duan/Vipham/Capnhatvipham.js","components/Duan/Vipham/Vipham.js","components/Uploadfile/Listfileupload.js","components/Uploadfile/Themfile.js","components/Quanlyfile/Quanlyfile.js","components/Baocaoduan/Baocaothang/Thembaocao.js","components/Baocaoduan/Baocaothang/Capnhatbaocao.js","components/Baocaoduan/Baocaothang/Baocaothang.js","components/Baocaoduan/Baocaoquy/Thembaocao.js","components/Xuatexcel/Baocaoquyexcel.js","components/Baocaoduan/Baocaoquy/Capnhatbaocao.js","components/Baocaoduan/Baocaoquy/BaocaoquyTable.js","components/Baocaoduan/Baocaoquy/Baocaoquy.js","components/Xuatexcel/Baocaonamexcel.js","components/Baocaoduan/Baocaonam/Capnhatbaocao.js","components/Baocaoduan/Baocaonam/BaocaonamTable.js","components/Baocaoduan/Baocaonam/Baocaonam.js","components/Baocaoduan/Baocaotiendo/Baocaotiendo.js","components/Baocaoduan/Baocaoduan.js","components/Xuatexcel/Baocaocanhbaoexcel.js","components/Duan/Canhbao/Canhbao.js","components/Baocaoduan/Baocaothang/Xembaocaothang.js","components/Baocaoduan/Baocaoquy/Xembaocaoquy.js","components/Baocaoduan/Baocaonam/Xembaocaonam.js","components/Baocaoduan/Baocaotiendo/Xembaocaotiendo.js","components/Baocaoduan/Xembaocaoduan.js","components/Xuatexcel/Baocaothongkechuabaocaoexcel.js","components/Duan/Canhbao/Thongkecanhbao.js","components/Xuatexcel/Baocaothongkechuabaocaolannaoexcel.js","components/Duan/Canhbao/Thongkechuabaocaolannao.js","components/Xuatexcel/Baocaophulucbolocexcel.js","components/Xuatexcel/Baocaophulucexcel.js","components/Baocaophuluc/Baocaophuluc.js","components/Baocaophuluc/BaocaotonghopTable.js","components/Xuatexcel/Baocaotonghopexcel.js","components/Baocaophuluc/Baocaotonghop.js","components/Danhmuc/Chudautu/Themchudautu.js","components/Danhmuc/Chudautu/Capnhatchudautu.js","components/Xuatexcel/Baocaochudautuexcel.js","components/Danhmuc/Chudautu/Chudautu.js","components/Danhmuc/Quocgia/Themquocgia.js","components/Danhmuc/Quocgia/Capnhatquocgia.js","components/Danhmuc/Quocgia/Quocgia.js","components/Danhmuc/Diadanh/Themdiadanh.js","components/Danhmuc/Diadanh/Capnhatdiadanh.js","components/Danhmuc/Diadanh/Danhmucdiadanh.js","components/Danhmuc/Tinhtrangduan/Themtinhtrang.js","components/Danhmuc/Tinhtrangduan/Capnhattinhtrang.js","components/Danhmuc/Tinhtrangduan/Tinhtrangduan.js","components/Danhmuc/Tinhtrangkiemtra/Themtinhtrang.js","components/Danhmuc/Tinhtrangkiemtra/Capnhattinhtrang.js","components/Danhmuc/Tinhtrangkiemtra/Tinhtrangkiemtra.js","components/Danhmuc/Tinhtrangkyquy/Themtinhtrang.js","components/Danhmuc/Tinhtrangkyquy/Capnhattinhtrang.js","components/Danhmuc/Tinhtrangkyquy/Tinhtrangkyquy.js","components/Danhmuc/Tinhtrangnopngansach/Themtinhtrang.js","components/Danhmuc/Tinhtrangnopngansach/Capnhattinhtrang.js","components/Danhmuc/Tinhtrangnopngansach/Tinhtrangnopngansach.js","components/Danhmuc/Tinhtrangvipham/Themtinhtrang.js","components/Danhmuc/Tinhtrangvipham/Capnhattinhtrang.js","components/Danhmuc/Tinhtrangvipham/Tinhtrangvipham.js","components/Danhmuc/Donvitiente/Themdonvitiente.js","components/Danhmuc/Donvitiente/Capnhatdonvitiente.js","components/Danhmuc/Donvitiente/Donvitiente.js","components/Danhmuc/Nguonvondautu/Themnguonvondautu.js","components/Danhmuc/Nguonvondautu/Capnhatnguonvondautu.js","components/Danhmuc/Nguonvondautu/Nguonvondautu.js","components/Danhmuc/Khuvucdautu/Themkhuvucdautu.js","components/Danhmuc/Khuvucdautu/Capnhatkhuvucdautu.js","components/Danhmuc/Khuvucdautu/Khuvucdautu.js","components/Danhmuc/Linhvuc/Themlinhvuc.js","components/Danhmuc/Linhvuc/Capnhatlinhvuc.js","components/Danhmuc/Linhvuc/Linhvuc.js","components/Danhmuc/Loaibaocao/Themloaibaocao.js","components/Danhmuc/Loaibaocao/Capnhatloaibaocao.js","components/Danhmuc/Loaibaocao/Loaibaocao.js","components/Users/Users.js","components/Users/Chudautuuser.js","components/Duan/Ganuser/Duanuser.js","components/Roles/Roles.js","components/Permissions/Permissions.js","components/Menus/Menus.js","components/PhanQuyenMenu/PhanQuyenMenu.js","components/RolePermission/RolePermission.js","routes.js","views/Duan/Thongtinduan.js","views/Duan/Duan.js","views/Duan/Dieuchinhduan.js","views/Duan/Hoatdongketthucthuhoi.js","views/Duan/Kyquy.js","views/Duan/Vipham.js","views/Quanlyfile/Quanlyfile.js","views/Baocaoduan/Baocaoduan.js","views/Baocaoduan/Xembaocao.js","views/Baocaophuluc/Baocaophuluc.js","views/Danhmuc/Chudautu/Chudautu.js","views/Danhmuc/Diadanh/Danhmucdiadanh.js","views/Danhmuc/Danhmuctinhtrang/Danhmuctinhtrang.js","views/Danhmuc/Danhmucdungchung/Danhmucdungchung.js","views/Quantringuoidung/Quantringuoidung.js","views/RolesMenuPermission/RolesMenuPermission.js","assets/jss/material-dashboard-react/components/headerStyle.js","components/Navbars/Navbar.js","hooks/useRouteName.js","assets/jss/material-dashboard-react/components/sidebarStyle.js","components/Sidebar/Sidebar.js","assets/img/sidebar-1.jpg","assets/img/sidebar-2.jpg","assets/img/sidebar-3.jpg","assets/img/sidebar-4.jpg","components/FixedPlugin/FixedPlugin.js","assets/jss/material-dashboard-react/layouts/adminStyle.js","layouts/Admin.js","assets/img/Menu.png","protectedroute.js","assets/jss/material-dashboard-react/components/loginInputStyle.js","layouts/Login.js","index.js"],"names":["useStyles","makeStyles","grid","padding","marginTop","GridItemDoia3","props","classes","children","rest","Grid","item","className","GridItem","width","GridContainer","container","hexToRgb","input","replace","test","length","Error","first","second","last","toUpperCase","parseInt","drawerWidth","transition","paddingRight","paddingLeft","marginRight","marginLeft","defaultFont","fontFamily","fontWeight","lineHeight","primaryColor","warningColor","dangerColor","successColor","infoColor","roseColor","otColor","grayColor","blackColor","whiteColor","boxShadow","primaryBoxShadow","infoBoxShadow","successBoxShadow","warningBoxShadow","dangerBoxShadow","roseBoxShadow","otBoxShadow","warningCardHeader","background","successCardHeader","dangerCardHeader","infoCardHeader","primaryCardHeader","roseCardHeader","otCardHeader","defaultBoxShadow","margin","paddingTop","borderTop","height","border","borderRadius","title","color","textDecoration","marginBottom","minHeight","customInputStyle","disabled","backgroundColor","underline","borderColor","borderWidth","underlineError","underlineSuccess","labelRoot","fontSize","letterSpacing","labelRootError","labelRootSuccess","feedback","position","top","right","zIndex","display","textAlign","pointerEvents","formControl","paddingBottom","verticalAlign","labelRTL","transform","styles","LoginInput","formControlProps","labelText","id","labelProps","inputProps","error","success","rtlActive","onChange","labelClasses","classNames","underlineClasses","undefined","newInputProps","maxLength","minLength","step","FormControl","InputLabel","htmlFor","Input","root","e","target","value","PasswordInput","type","buttonStyle","button","minWidth","textTransform","willChange","whiteSpace","touchAction","cursor","left","white","rose","primary","info","warning","danger","simple","transparent","opacity","lg","sm","round","block","link","justIcon","card_content_button","float","backgound","flexDirection","wordWrap","card_icon_button","RegularButton","size","muiClasses","btnClasses","Button","cardStyle","card","cardPlain","cardProfile","cardChart","Card","plain","profile","chart","cardClasses","cardHeaderStyle","cardHeader","borderBottom","overflow","cardHeaderPlain","cardHeaderStats","cardHeaderIcon","cardHeaderIconot","CardHeader","stats","icon","cardHeaderClasses","cardBodyStyle","cardBody","flex","WebkitBoxFlex","cardBodyPlain","cardBodyProfile","CardBody","cardBodyClasses","cardFooterStyle","cardFooter","justifyContent","alignItems","cardFooterProfile","cardFooterPlain","cardFooterStats","cardFooterChart","CardFooter","cardFooterClasses","conFig","backend","linkbcquy","linkbcnam","linkdownload","snackbarContentStyle","flexWrap","maxWidth","top20","top40","message","close","iconButton","infoIcon","successIcon","warningIcon","dangerIcon","primaryIcon","roseIcon","iconMessage","actionRTL","Snackbar","place","open","action","messageClasses","IconButton","onClick","closeNotification","anchorOrigin","vertical","indexOf","horizontal","ContentProps","dropdownStyle","theme","buttonLink","breakpoints","down","links","linkText","popperClose","popperResponsive","WebkitBoxShadow","popperNav","dropdown","listStyle","WebkitBackgroundClip","backgroundClip","dropdownItem","WebkitTransition","MozTransition","OTransition","MsTransition","clear","headerLinksStyle","search","searchButton","searchIcon","notifications","up","manager","searchWrapper","btn_icon","img_danger","name","icons","datagridSx","gridClasses","cell","py","newline","text","split","map","str","i","canhbaocolumns","field","headerName","headerAlign","cellClassName","renderCell","params","style","AdminNavbarLinks","token","localStorage","getItem","React","useState","thongbao","setThongbao","thongbaolist","setThongbaolist","openProfile","setOpenProfile","setOpen","opencanhbao","setOpencanhbao","oldpassword","setOldpassword","newpassword","setNewpassword","newpasswordagain","setNewpasswordagain","isStrongPass","setIsStrongPass","alert","setAlert","alert2","setAlert2","alert3","setAlert3","alert4","setAlert4","alert5","setAlert5","handleClose","handleClosecanhbao","handleCloseProfile","change_password","username","obj","method","headers","Accept","Authorization","showNotification","setTimeout","showNotification2","showNotification3","showNotification4","showNotification5","logout","removeItem","location","href","reviewfile","window","Config","useEffect","fetch","then","res","json","data","catch","console","strength","kiemTraDoManhMatKhau","xs","md","innerWidth","event","contains","currentTarget","sx","Popper","Boolean","anchorEl","disablePortal","TransitionProps","placement","Grow","transformOrigin","Paper","ClickAwayListener","onClickAway","MenuList","role","MenuItem","Divider","light","Modal","onClose","cardTitleWhite","fullWidth","Typography","variant","AddAlert","body","JSON","stringify","oldPassword","newPassword","DataGrid","getRowId","row","stt","rows","columns","rowsPerPageOptions","getRowHeight","checkboxSelection","headerHeight","initialState","filter","filterModel","items","quickFilterLogicOperator","GridLinkOperator","Or","components","Toolbar","Box","p","pb","GridToolbarQuickFilter","quickFilterParser","searchInput","trim","placeholder","CustomInput","RTLNavbarLinks","handleToggle","Hidden","mdUp","implementation","cardIconStyle","cardIcon","CardIcon","cardIconClasses","Kkt_kcn_ccn","memo","tungay","denngay","duanccn","setDuanccn","vonccn","seVonccn","duankkt","setDuankkt","vonkkt","seVonkkt","duanngoaikkt","setDuanngoaikkt","vonngoaikkt","seVonngoaikkt","tu","$y","String","$M","padStart","$D","den","soduan","tongvon","toLocaleString","getccn","getkkt","getngoaikkt","chartType","loader","options","chartArea","animation","startup","easing","duration","hAxis","textStyle","vAxis","legend","titleTextStyle","Trongnuoc_fdi","duantrongnuoc","setDuantrongnuoc","vontrongnuoc","setVontrongnuoc","duanfdi","setDuanfdi","vonfdi","setVonfdi","gettrongnuoc","getfdi","chiTieu","chitieu_4_total","chitieu_4_child","chitieu_4_child_ptm_top","chitieu_4_child_ptm","ChartJS","register","ArcElement","Tooltip","CategoryScale","LinearScale","PointElement","LineElement","LineController","BarElement","BarController","Legend","options_thoigiantldv","maintainAspectRatio","responsive","tooltips","mode","intersect","hover","scales","yAxes","ticks","xAxes","plugins","Thongkediabancot","soluong","setSoluong","sl_trongcnn","setSl_trongcnn","sl_ngoaicnn","setSl_ngoaicnn","vondangky","setVondangky","vondangky_trongcnn","setVondangky_trongcnn","vondangky_ngoaicnn","setVondangky_ngoaicnn","column","setColumn","data_solieu","labels","datasets","label","fill","yAxisID","soluongtemp","sl_trongcnntemp","sl_ngoaicnntemp","vondangkytemp","vondangky_trongcnntemp","vondangky_ngoaicnntemp","columntemp","prop","push","sl","diaban","getdata","ChucnangStyle","card_body_slst","outline","table","overflowY","overflowX","tabledb","borderSpacing","borderCollapse","tabledb_th","tabledb_ct_th","tabledb_td","tabledb_td_ptgt","tabledb_ct_td","tabledb_td_number","tabledb_td_number_ptgt","chuaht_td_number","tablechuaht_td_number","tabledb_ct_td_number","tabledb_ct_td_click","tabledb_td_cap","tabledb_td_cap_number","tooltip","Thongkelinhvuc","setData","getbaocao","tHead","tBody","ExcelJS","require","initHeaderColumns","headerColumns","forEach","h","headerColumn","key","Baocaotiendoduanexcel","apiRef","filteredSortedRowIds","gridFilteredSortedRowIdsSelector","visibleColumnsField","gridVisibleColumnFieldsSelector","current","getCellParams","getExcelData","useGridApiContext","autoWidth","worksheet","minimalWidth","maxColumnLength","eachCell","includeEmpty","Math","max","toString","handleExport","workbook","Workbook","sheet","addWorksheet","mergeCells","Object","keys","getCell","headerValues","element","getRow","values","addRows","eachRow","bottom","alignment","wrapText","font","bold","includes","getColumn","rowNumber","colChudautu","chudautu","colTiendothuchien","tiendothuchien","numFmt","colVondangky_vnd","pattern","fgColor","argb","xlsx","writeBuffer","buffer","saveAs","Blob","dashBoardth","dashboard_th","dashboard_header","header_title","textShadow","header_title_right","header_title_left","header_home_button","header_home_button_reload","header_span","dashboard_main","card_header_map","card_header_tltc","card_header_left","borderTopLeftRadius","borderTopRightRadius","card_body_map","card_content_camera","card_icon_camera","card_content_camera_title","map_content","card_body_bdst","card_header_center","card_body_diaban","card_body_tiendo","card_body_top","card_body_vantai","card_body_vantai_right","borderRight","card_body_nvth","card_header_right","card_body_cpt","card_body_cdt","card_body_tlc","card_body_xhc","card_header_bottom","card_body_bottom","card_body_nhiemvu","card_body_tauca","title_cuoc","content_cuoc","bottom_cuoc","tinhhuyen_header","tltc_header","vantai_header","hothuyloi_header","xhdoanhthu_header","header_right","chitieu_header","lttp_header","doanhthu_header","thiethai_header","card_body_thiethai","card_body_congtrinh","chitieu_content","dichvu","dichvu_xhdt","capchihuy","doanhthu","xhkythuat_select","ruiro_select","thongtin_header","img","img_reload","successText","upArrowCardCategory","cardCategory","cardCategoryWhite","cardTitle","yellow","red","dacolumn","tableviewStyle","tableview_th","tableview_td","Boloc1","opentimkiem","handleClosetimkiem","handleOpenCloseBackdrop","handleSetResult","dayjs","setTungay","setDenngay","diadiem","setDiadiem","diadiemVL","setDiadiemVL","linhvuc","setLinhvuc","linhvucVL","setLinhvucVL","khuvuc","setKhuvuc","khuvucVL","setKhuvucVL","nguonvon","setNguonvon","nguonvonVL","setNguonvonVL","tinhtrangduan","setTinhtrangduan","tinhtrangduanVL","setTinhtrangduanVL","setChudautu","chudautuVL","setChudautuVL","tinhtrangkyquy","setTinhtrangkyquy","tinhtrangkyquyVL","setTinhtrangkyquyVL","loaivipham","setLoaivipham","loaiviphamVL","setLoaiviphamVL","tiendoduan","setTiendoduan","tiendoduanVL","setTiendoduanVL","chutruong","setChutruong","chutruongVL","setChutruongVL","quyetdinhdieuchinh","setQuyetdinhdieuchinh","quyetdinhdieuchinhVL","setQuyetdinhdieuchinhVL","dmtiendoduans","ten","gettiendoduan","dmchutruongs","getchutruong","dmquyetdinhdieuchinhs","getquyetdinhdieuchinh","LocalizationProvider","dateAdapter","AdapterDayjs","DatePicker","newValue","format","slotProps","textField","views","Autocomplete","multiple","freeSolo","disableClearable","getOptionLabel","option","renderInput","TextField","InputProps","khuvucdautu","tinhtrang","tinhtrangkq","vipham","tiendo","chutr","qddieuchinh","diaban_id","linhvuc_id","khuvucdautu_id","nguonvondautu_id","tinhtrangduan_id","chudautu_id","tinhtrangkyquy_id","loaivipham_id","trangthaitiendothuchienduan","phanTramVonGiaiNgan","vonthuchien_vnd_lk","vondangky_vnd","phantramtiendogiaingan","tinhtrangtiendo","status","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","colorPrimary","palette","grey","bar","CustomizedProgressBars","per","flexGrow","Charttiendoduan","duan","soDuAnDungTienDo","soDuAnSapTreTienDoGD","soDuAnTreTienDoGD","soDuAnSapTreTienDoToanDA","soDuAnTreTienDoToanDA","green","Charttiendogiaingan","tongVonDuAnDungTienDo","tongVonDaGiaiNganDuAnDungTienDo","tongVonDuAnSapTreTienDoGD","tongVonDuAnTreTienDoGD","tongVonDaGiaiNganDuAnSapTreTienDoGD","tongVonDaGiaiNganDuAnTreTienDoGD","tongVonDuAnSapTreTienDoTda","tongVonDuAnTreTienDoTda","tongVonDaGiaiNganDuAnSapTreTienDoTda","tongVonDaGiaiNganDuAnTreTienDoTda","Thongtinchitietduan","duan_id","tiendocolumn","valueFormatter","maduan","setMaduan","tenduan","setTenduan","thoidiemcapduan","setThoidiemcapduan","ngaycapquyetdinh","setNgaycapquyetdinh","duandenngay","setDuandenngay","soqdpd","setSoqdpd","giaychungnhandkdt","setGiaychungnhandkdt","setVondangky_vnd","vondangky_usd","setVondangky_usd","diadiemthuchien","setDiadiemthuchien","setDiaban","dientich","setDientich","muctieu","setMuctieu","quymo","setQuymo","quocgia","setQuocgia","uudaihotro","setUudaihotro","ccnkktkcn","setCcnkktkcn","laodong_vn_dangky","setLaodong_vn_dangky","laodong_nn_dangky","setLaodong_nn_dangky","diachitruso","setDiachitruso","coquanbanhanh","setCoquanbanhanh","gopvon","setGopvon","vonvay","setVonvay","setTiendo","linkluutru","setLinkluutru","opentiendo","setOpentiendo","handleClosetiendo","year","month","day","year1","month1","day1","soquyetdinhpheduyet","thoidiemhethan","year2","month2","day2","nguonvondautu","coquanbanhanh_id","ccnkktkcn_id","cnnkktkcn","defaultcdt","getOptionSelected","InputLabelProps","customInput","allowNegative","thousandSeparator","decimalSeparator","min","multiline","decimalScale","hideFooter","customTabsStyle","cardTitleRTL","displayNone","tabsRoot","tabRootButton","maxHeight","tabSelected","tabWrapper","CustomTabsGrid","setValue","headerColor","plainTabs","tabs","Tabs","indicator","scrollButtons","tabIcon","Tab","selected","wrapper","tabName","tabContent","isSameOrAfter","extend","Themduan","vongopcolumn","log","sortable","stopPropagation","tiendoth","j","vongop_usd","vongop_vnd","tyle","noidung","showNotification1","vonvaycolumn","vonvay_usd","vonvay_vnd","giaidoan","giaidoan_id","noidungthuchien","ngaycapchungnhan","setNgaycapchungnhan","coquanbanhanhVL","setCoquanbanhanhVL","diachi","setDiachi","thoigianhoatdong","setThoigianhoatdong","quocgiaVL","setQuocgiaVL","chudautu1","setChudautu1","chudautuID","setChudautuID","ccnkktkcnID","setCcnkktkcnID","setVongop_vnd","setVongop_usd","setTyle","setNoidung","setVonvay_vnd","setVonvay_usd","noidungvay","setNoidungvay","noidungtiendo","setNoidungtiendo","setGiaidoan","giaidoanVL","setGiaidoanVL","openthemcdt","setOpenthemcdt","alert1","setAlert1","alert6","setAlert6","alertError","setAlertError","messageError","setMessageError","disableBT","setDisableBT","disableBT1","setDisableBT1","disableBT2","setDisableBT2","disableBT3","setDisableBT3","disableUSD","setDisableUSD","trickUpdateDefaultValue","setTrickUpdateDefaultValue","handleClosecdt","getchudautu","tenchudautu","setTenchudautu","giaycndkdn","setGiaycndkdn","giaycndkdnVL","setGiaycndkdnVL","diachicdt","setDiachicdt","getcumcongnghiep","showError","showNotificationCanhBaoSoAm","showNotificationCanhBaoNgayBatDauNgayKetThuc","showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh","onBlur","isBefore","isAfter","onValueChange","ngay","Number","oldArray","oldArray1","sodienthoai","email","ghichu","nguoidaidien","donvicapgiaycn","ngaycapgiaycn","chudt","tiendothvonvay","tiendothvongop","ngayduan","ngayquyetdinh","ngaychungnhan","hethan","ngaycapgiaycndkdt","quocgia_id","Capnhatduan","logid","handleClosesua","ccnkktkcnVL","setCcnkktkcnVL","year3","month3","day3","yearqd","yearhh","landieuchinh","Themmoiduan","pageSize","setPageSize","setDuan","openthem","setOpenthem","opensua","setOpensua","setDuan_id","setLogid","getduantheonam","Date","getFullYear","da_id","onPageSizeChange","newPageSize","pagination","onRowClick","onCellDoubleClick","ctrlKey","Boloc","tablebaocaoStyle","tablebc","tableprint","titleheader","tablebcsotandan","tablebcsotandanclass","tablebcsotandan_th","borderStyle","backgroundImage","tablebc_th_dn","tablebcdiemsotan_th","tablebrutgon_th","tablebcsotandan_number_th","tablebcsotandan_td","tablebc_td_dn","tablebc_td_right","tablebc_td_center","tablebcsotandan_td_number","tablebcsotandan_td_cap","tablebcsotandan_td_cap_number","tablesotan_td","tablethiethai_td","tablethiethaibold_td","tablesotanbold_td","tablesotan_td_number","tablesotanbold_td_number","tablebcdiemsotan","tablediemsotan_td","tablediemsotan_td_number","chooseFile","Chitietquytable","Thongtinduantable","quydata","setQuydata","openCtquy","setOpenCtquy","handleClosequy","vonthuchien_usd_lk","vonthuchien_vnd_quy","cusor","vonthuchien_usd_quy","tinhinhthuchien_bcq","kyquy","nopngansachnhanuoc","tinhtrangnopns","tinhtrangkiemtra","ketquakiemtra","sudungdat_vipham","sltainguyen_vipham","loinhuan_lk","nopngansachnhanuoc_lk","Thongtinduan","setOpentimkiem","val","Backdrop","drawer","CircularProgress","Themmoidieuchinh","handleClosethem","Capnhatdieuchinh","Noidungdieuchinh","dieuchinh_id","Baocaodieuchinhexcel","Duan","duandata","setDuandata","tuthangnam","setTuthangnam","denthangnam","setDenthangnam","openduan","setOpenduan","openTTdieuchinh","setOpenTTdieuchinh","setLandieuchinh","setDieuchinh_id","disableBTXoa","setDisableBTXoa","getduantheonamRF","getdataRF","handleCloseTTdieuchinh","handleCloseduan","ngaybatdau","ngayketthuc","GridToolbarColumnsButton","GridToolbarExportContainer","Capnhathoatdong","ngayhoatdong","setNgayhoatdong","ngaydivaohoatdong","Baocaoduandivaohoatdongexcel","Hoatdong","duandahoatdong","setDuandahoatdong","getduandahoatdongtheonamRF","getduandahoatdongtheonam","Capnhatketthuc","setNgayketthuc","Baocaoduanketthucexcel","Ketthuc","duandaketthuc","setDuandaketthuc","getduandaketthuctheonamRF","getduandaketthuctheonam","Capnhatthuhoi","ngaythuhoi","setNgaythuhoi","ngayquyetdinh_thuhoi","setNgayquyetdinh","soquyetdinh_thuhoi","soquyetdinh","setSoquyetdinh","coquanbanhanhqdthuhoi_id","coquanbanhanhqdthuhoi","setMessage","setIcon","setColor","ms","ngayqd","ngayth","DoneIcon","Themthuhoi","Baocaoduanthuhoiexcel","Thuhoi","duandathuhoi","setDuandathuhoi","getduanthuhoitheonamRF","getduanthuhoitheonam","Capnhatkyquy","thangnam","setThangnam","openthemkyquy","setOpenthemkyquy","hinhthuckyquy","setHinhthuckyquy","hinhthuckyquyVL","setHinhthuckyquyVL","danhsachkyquy","setDanhsachkyquy","setKyquy","thoidiemkyquy","setThoidiemkyquy","handleClosethemkyquy","kyquycolumn","ngaykyquy","hinhthuckyquy_id","Kyquy","duandakyquy","setDuandakyquy","getduantheonamFR","getduandakyquytheonamFR","getduandakyquytheonam","Capnhatnopm3","setNopngansachnhanuoc","setTinhtrangnopns","tinhtrangnopnsVL","setTinhtrangnopnsVL","thoidiemnopm3","setThoidiemnopm3","tinhtrangnopns_id","Nopm3","duandanopm3","setDuandanopm3","getduandanopm3theonamFR","getduandanopm3theonam","Suakiemtravipham","kiemtra_id","coquanraqd","setCoquanraqd","coquanraqdVL","setCoquanraqdVL","loaikiemtra","setLoaikiemtra","loaikiemtraVL","setLoaikiemtraVL","soqdktvipham","setSoqdktvipham","ngaycapqdktvipham","setNgaycapqdktvipham","noidungqdkt","setNoidungqdkt","disabledat","setDisabledat","disabletainguyen","setDisabletainguyen","ketluankiemtra","setKetluankiemtra","ketquakiemtradat","setKetquakiemtradat","ketquakttainguyen","setKetquakttainguyen","setTinhtrangkiemtra","tinhtrangkiemtraVL","setTinhtrangkiemtraVL","setSudungdat_vipham","sudungdat_viphamVL","setSudungdat_viphamVL","qltainguyen_vipham","setQltainguyen_vipham","qltainguyen_viphamVL","setQltainguyen_viphamVL","getchitietktvipham","defaultloaikiemtra","tinhtrangvipham_id","tinhtrangvipham","child","soquyetdinhkiemtra","ngayquyetdinhkiemtra","donvi_id","donviraquyetdinh","tinhtrangkiemtra_id","noidungquyetdinhkiemtra","chitietkt","noidungquyetdinh","chitiet","Thongtinxulyvipham","kiemtravipham","setKiemtravipham","openthemkiemtravipham","setOpenthemkiemtravipham","opensuakiemtravipham","setOpensuakiemtravipham","soqdxulyvipham","setSoqdxulyvipham","ngaycapqdxulyvipham","setNgaycapqdxulyvipham","noidungxulyvipham","setNoidungxulyvipham","disableThemBT","setDisableThemBT","handleClosethemkiemtravipham","getlistviphamtheoid","handleClosesuakiemtravipham","setKiemtra_id","kiemtraviphamcolumn","duanvipham","setDuanvipham","getduandaxlvptheonamFR","getduandaxlvptheonam","Capnhatvipham","Listfileupload","tenfile","xoafile","loai","openxoafile","setOpenxoafile","handleClosexoa","fileName","fileid","Themfile","dangvienid","thumucid","selectedFiles","setSelectedFiles","progressInfos","setProgressInfos","setTenfile","listfile","setListfile","progresstemp","bodyFormData","FormData","upload","idx","file","_progressInfos","percentage","loaded","total","filename","progressInfo","index","completed","files","selectedFiless","delete","url","append","axios","post","FolderOpenIcon","FolderIcon","filecolumn","valueGetter","ext","formattedValue","Quanlyfile","duanid","setDuanid","setFile","setFileid","fileupload_id","setFileupload_id","openfile","setOpenfile","nodes","setNodes","getfileReload","handleClosefile","namvl","getthumuctheoduan","r","array","parent","thumuccha_id","createParentNode","a","tenthumuc","state","path","showCheckbox","iconComponents","upload_id","fileUrl","Thembaocao","vongiaingan_thang","setVongiaingan_thang","tinhhinhthuchien","setTinhhinhthuchien","khokhanvuongmac","setKhokhanvuongmac","thang","nam","Capnhatbaocao","baocao_id","Baocaothang","setThang","setNam","disableBT_xoa","setDisableBT_xoa","setBaocao_id","opencapnhat","setOpencapnhat","getbaocaothang","handleClosecapnhat","quy","setQuy","vongiaingan_quy","setVongiaingan_quy","ketquahoatdong_quy","setKetquahoatdong_quy","laodong_vn","setLaodong_vn","laodong_nn","setLaodong_nn","nopngansach_quy","setNopngansach_quy","dientichdadung_quy","setDientichdadung_quy","tinhhinhtrienkhai","setTinhhinhtrienkhai","quyhoachchutruong","setQuyhoachchutruong","setTiendothuchien","baovemoitruong","setBaovemoitruong","congnghe","setCongnghe","datdaitainguyen","setDatdaitainguyen","kehoachtrienkhaisaptoi","setKehoachtrienkhaisaptoi","colSpan","Select","labelId","quyid","Baocaoquyexcel","disableBT_xuatExcel","dataTmp","setdataTmp","getDataTmp","createExcelTemplate","aCol","bCol","cCol","dCol","eCol","italic","richText","fullFillDataTemplate","get","Map","entries","VisuallyHiddenInput","clip","clipPath","disableBT_capnhat","setDisableBT_capnhat","setDisableBT_xuatExcel","disableBT_upload","setDisableBT_upload","objDelete","getfile","getsolieu","component","startIcon","accept","BaocaoquyTable","quy1","quy2","quy3","quy4","rowSpan","vongiaingan_lknam","vongiaingan_lkduan","ketquahoatdong_lknam","laodong_tongso","nopngansach_lknam","nopngansach_lkduan","dientichdadung_lknam","dientichdadung_lkduan","Baocaoquy","setQuy1","setQuy2","setQuy3","setQuy4","getsolieuquy1","getsolieuquy2","getsolieuquy3","getsolieuquy4","Baocaonamexcel","sltheocdt","setSltheocdt","thongtinduan","setThongtinduan","getchudautubyduan","getsolieutheocdt","getthongtinchitietduan","createExcelTemplateAndFullFillData","tongtien","tongvondaututhuchien_nam","tongvondaututhuchien_lk","tongvongoptheotungcdt_nam","tongvongoptheotungcdt_lk","rowNum","bangtien","bangtien_lkduan","maymocthietbi","maymocthietbi_lkduan","taisankhac","taisankhac_lkduan","tongvonvay_nam","tongvonvay_lk","vonvay_trongnuoc","vonvay_trongnuoc_lkduan","vonvay_ctyme","vonvay_ctyme_lkduan","vonvay_nuocngoai","vonvay_nuocngoai_lkduan","loinhuantaidautu","loinhuantaidautu_lkduan","doanhthuthuan","giatri_hangxk","giatri_hangnk","thunhapbq_nld","thue_nopnsnn","loinhuansauthue","chiphi_dtncpt","chiphi_dtncpt_lkduan","chiphi_dtxlbvmt","chiphi_dtxlbvmt_lkduan","nguongoc_congnghe","tinhtongsotien","tongtienobject","tongso_lkduan","renderChudautu","chudautuprop","setVonvay_trongnuoc","setVonvay_ctyme","setVonvay_nuocngoai","setLoinhuantaidautu","setDoanhthuthuan","setGiatri_hangxk","setGiatri_hangnk","setThunhapbq_nld","setThue_nopnsnn","setLoinhuansauthue","setChiphi_dtncpt","setChiphi_dtxlbvmt","setNguongoc_congnghe","resetchudautuVL","Fragment","vongop_array","BaocaonamTBL","renderTableHead","renderTableBody","Baocaonam","BaocaonamTable","Baocaotiendo","giaidoancon","giaidoancon_id","trangthai_id","huyhoanthanh","setTiendo_id","setOpenhoanthanh","Checkbox","defaultChecked","hoanthanhcon","ngayhoanthanh","setNgayhoanthanh","tiendo_id","openhoanthanh","handleClosehoanthanh","gettiendo","checked","getRowClassName","Baocaoduan","openbcthang","setOpenbcthang","openbcquy","setOpenbcquy","openbcnam","setOpenbcnam","openbctiendo","setOpenbctiendo","canhbaothang","setCanhbaothang","handleClosebcthang","handleClosebcquy","handleClosebcnam","handleClosebctiendo","Baocaocanhbaoexcel","colTenduan","cbcolumn","canhbao","setCanhbao","chuabaocao","Xembaocaothang","Xembaocaoquy","listfile1","setListfile1","listfile2","setListfile2","listfile3","setListfile3","listfile4","setListfile4","getfile1","getfile2","getfile3","getfile4","Xembaocaonam","Xembaocaotiendo","Xembaocaoduan","nguonvonBC","setNguonvonBC","Baocaothongkechuabaocaoexcel","Thongkecanhbao","mauBC","setMauBC","controlDisableQuy","setControlDisableQuy","controlDisableThang","setControlDisableThang","getthongkecanhbao","maubc","FormLabel","RadioGroup","FormControlLabel","control","Radio","Baocaothongkechuabaocaolannaoexcel","Thongkechuabaocaolannao","Baocaophulucbolocexcel","colKiemtravipham","formatDataTemplate","results","lmapTrongNuocNgoaiKktKcnLinhvucCn","lmapTrongNuocNgoaiKktKcnLinhvucTmDv","lmapTrongNuocNgoaiKktKcnLinhvucXdHt","lmapTrongNuocNgoaiKktKcnLinhvucCbLg","lmapTrongNuocNgoaiKktKcnLinhvucNn","lmapTrongNuocNgoaiKktKcnLinhvucBdsKtdt","lmapTrongNuocNgoaiKktKcnLinhvucCntt","lmapTrongNuocTrongKktKcnLinhvucCn","lmapTrongNuocTrongKktKcnLinhvucTmDv","lmapTrongNuocTrongKktKcnLinhvucXdHt","lmapTrongNuocTrongKktKcnLinhvucCbLg","lmapTrongNuocTrongKktKcnLinhvucNn","lmapTrongNuocTrongKktKcnLinhvucBdsKtdt","lmapTrongNuocTrongKktKcnLinhvucCntt","lmapNuocNgoaiNgoaiKktKcn","lmapNuocNgoaiTrongKktKcn","mapTong","mapTrongNuoc","mapTrongNuocNgoaiKktKcn","mapTrongNuocNgoaiKktKcnLinhvucCn","mapTrongNuocNgoaiKktKcnLinhvucTmDv","mapTrongNuocNgoaiKktKcnLinhvucXdHt","mapTrongNuocNgoaiKktKcnLinhvucCbLg","mapTrongNuocNgoaiKktKcnLinhvucNn","mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt","mapTrongNuocNgoaiKktKcnLinhvucCntt","mapTrongNuocTrongKktKcn","mapTrongNuocTrongKktKcnLinhvucCn","mapTrongNuocTrongKktKcnLinhvucTmDv","mapTrongNuocTrongKktKcnLinhvucXdHt","mapTrongNuocTrongKktKcnLinhvucCbLg","mapTrongNuocTrongKktKcnLinhvucNn","mapTrongNuocTrongKktKcnLinhvucBdsKtdt","mapTrongNuocTrongKktKcnLinhvucCntt","mapNuocNgoai","mapNuocNgoaiNgoaiKktKcn","mapNuocNgoaiTrongKktKcn","lmapData","maps","convertDataToMaps","mapData","set","Baocaophulucexcel","n","fCol","gCol","hCol","iCol","jCol","kCol","lCol","autoFilter","from","to","xSplit","ySplit","activeCell","quickSearchToolbar","Baocaophuluc","bgcolor","Chip","BaocaotonghopTbl","Baocaotonghopexcel","bgColor","Baocaotonghop","getbaocaotonghop","BaocaotonghopTable","Themchudautu","setSodienthoai","setEmail","setGhichu","setNguoidaidien","setDonvicapgiaycn","setNgaycapgiaycn","Capnhatchudautu","Baocaochudautuexcel","cdtcolumn","Chudautu","setChudautu_id","Themquocgia","setTen","ma","setMa","Capnhatquocgia","qgcolumn","Quocgia","setQuocgia_id","getquocgia","Themdiadanh","Capnhatdiadanh","diadanh_id","ddcolumn","Danhmucdiadanh","diadanh","setDiadanh","setDiadanh_id","getdiadanh","Themtinhtrangduan","Capnhattinhtrang","tinhtrang_id","ttcolumn","Tinhtrangduan","setTinhtrang","setTinhtrang_id","gettinhtrang","Themtinhtrang","Tinhtrangkiemtra","Tinhtrangkyquy","Tinhtrangnopngansach","Tinhtrangvipham","Themdonvitiente","Capnhatdonvitiente","tiente_id","Donvitiente","tiente","setTiente","setTiente_id","gettiente","Themnguonvondautu","Capnhatnguonvon","nguonvon_id","nvcolumn","Nguonvondautu","setNguonvon_id","getnguonvon","Capnhatnguonvondautu","Themkhuvucdautu","Capnhatkhuvuc","kvcolumn","Khuvucdautu","setKhuvucdautu","setKhuvucdautu_id","getkhuvucdautu","Capnhatkhuvucdautu","Themlinhvuc","Capnhatlinhvuc","lvcolumn","Linhvuc","setLinhvuc_id","getlinhvuc","Capnhatloaibaocao","loai_id","loaicolumn","Loaibaocao","loaibaocao","setLoaibaocao","setLoai_id","getloaibaocao","User","roles","setroles","openthemuser","setOpenuser","openupdateuser","setOpenupdateuser","openwarning","setOpenWarning","warrningContent","setWarrningContent","updateLoaiUser","setUpdateLoaiUser","updateId","setUpdateId","listUsers","setlistUsers","updateObj","setUpdateObj","addObj","setAddObj","getListUsers","StatusRow","isActive","userscolumn","handleupdateClose","handleCloseWarning","DangerousIcon","defaultMuiPrevented","firstName","defaultValue","rolE_ID","rolE_NAME","lastName","response","ok","cdtcolumns","usercolumn","Chudautuuser","chudautuSL","setChudautuSL","user","setUser","user_id","setUser_id","showMs","account","cdt","NotificationsIcon","selectionModel","onSelectionModelChange","selection","selectionSet","Set","result","s","has","rowHeight","duancolumns","selectedduanRows","setSelectedduanRows","init","initduan","setInitduan","ids","selectedIDs","selectedRows","Role","openthemroles","setOpenroles","openxoarole","setOpenxoarole","deleteId","setDeleteId","getroles","handlexoaClose","role_Id","ghI_CHU","permissionscolumn","Permission","listpermission","setListpermission","openthempermission","setOpenpermission","openupdatepermission","setOpenupdatepermission","openxoapermission","setOpenxoapermission","openUpLoadFile","setOpenUpLoadFile","deleteLoaiPermission","setDeleteLoaiPermission","openUpLoadTable","setOpenUpLoadTable","getListPermission","handleCloseUpload","handleCloseUploadTable","pmS_ID","pmS_NAME","ctL_NAME","menuscolumn","Menu","listmenu","setListmenu","openthemmenu","setOpenmenu","openupdatemenu","setOpenupdatemenu","openxoamenu","setOpenxoamenu","deleteLoaiMenu","setDeleteLoaiMenu","getListMenu","layout","sub","rolecolumns","phanquyenmenucolumn","PhanQuyenMenu","selectedroleRows","setSelectedroleRows","selectedmenuRows","setSelectedmenuRows","setRoles","menus","setMenus","initmenu","setInitmenu","getmenubyrole","kq","roleId","menuId","RolePermission","permissions","setPermissions","selectedpermissionRows","setSelectedpermissionRows","initpermission","setInitpermission","getpermissionbyrole","rolEID","pmsIds","dashboardRoutes","rtlName","Dashboard","openShowProjectInfo","setOpenShowProjectInfo","duantrongtheotg","setDuantrongtheotg","tongvontrongtheotg","setTongvontrongtheotg","gettongtheothoigian","showNotificationCanhBaoNgay","handleCloseShowProjectInfo","getduan","svg","openthongtinchitietduan","setOpenthongtinchitietduan","handleClosethongtinchitietduan","ManageSearchIcon","AddBusinessIcon","CropRotateIcon","AttachMoneyIcon","FileOpenIcon","FormatListBulletedIcon","BallotIcon","CategoryIcon","ManageAccounts","headerStyle","appBar","appResponsive","Header","routeName","routes","route","useRouteName","appBarClasses","AppBar","smDown","handleDrawerToggle","sidebarStyle","drawerPaper","visibility","drawerPaperRTL","logo","content","logoLink","logoLinkRTL","logoImage","backgroundSize","backgroundPosition","list","itemLink","itemIcon","itemIconRTL","itemText","itemTextRTL","whiteFont","purple","blue","orange","submenu","sidebarWrapper","overflowScrolling","activePro","Sidebar","selectedIndex","setSelectedIndex","useLocation","activeRoute","pathname","image","logoText","List","listItemClasses","whiteFontClasses","ListItem","handleClick","Icon","ListItemText","disableTypography","Collapse","in","timeout","unmountOnExit","listItemClasses1","activeClassName","brand","src","alt","Drawer","anchor","paper","ModalProps","keepMounted","FixedPlugin","bgImage","classnames","ps","appStyle","mainPanel","protectedroute","Component","checkpermission","parse","render","Admin","menu","setMenu","setRoute","sumArray","redirect","switchRoutes","exact","createRef","fixedClasses","setFixedClasses","mobileOpen","setMobileOpen","resizeFunction","d","setItem","getmenu","navigator","platform","PerfectScrollbar","suppressScrollX","suppressScrollY","document","addEventListener","destroy","removeEventListener","ref","handleColorClick","handleFixedClick","loginInputStyle","ReactDOM","setToken","setUsername","password","setPassword","setActive","checkinforedirect","Background","active","spinner","getElementById"],"mappings":"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S,CACPhE,gBAAiBxC,EAAa,GAC9BU,UACE,oBACA/B,EAASqB,EAAa,IACtB,gCACArB,EAASqB,EAAa,IACtB,4BACArB,EAASqB,EAAa,IACtB,UACF,kBAAmB,CACjBwC,gBAAiBxC,EAAa,GAC9BU,UACE,0BACA/B,EAASqB,EAAa,IACtB,gCACArB,EAAS6B,GACT,iCACA7B,EAASqB,EAAa,IACtB,WAGNyG,KAAM,CACJjE,gBAAiBpC,EAAU,GAC3BM,UACE,oBACA/B,EAASyB,EAAU,IACnB,gCACAzB,EAASyB,EAAU,IACnB,4BACAzB,EAASyB,EAAU,IACnB,UACF,kBAAmB,CACjBoC,gBAAiBpC,EAAU,GAC3BM,UACE,0BACA/B,EAASyB,EAAU,IACnB,gCACAzB,EAAS6B,GACT,iCACA7B,EAASyB,EAAU,IACnB,WAGNoE,QAAS,CACPhC,gBAAiBrC,EAAa,GAC9BO,UACE,oBACA/B,EAASwB,EAAa,IACtB,gCACAxB,EAASwB,EAAa,IACtB,4BACAxB,EAASwB,EAAa,IACtB,UACF,kBAAmB,CACjBqC,gBAAiBrC,EAAa,GAC9BO,UACE,0BACA/B,EAASwB,EAAa,IACtB,gCACAxB,EAAS6B,GACT,iCACA7B,EAASwB,EAAa,IACtB,WAGNuG,QAAS,CACPlE,gBAAiBvC,EAAa,GAC9BS,UACE,oBACA/B,EAASsB,EAAa,IACtB,gCACAtB,EAASsB,EAAa,IACtB,4BACAtB,EAASsB,EAAa,IACtB,UACF,kBAAmB,CACjBuC,gBAAiBvC,EAAa,GAC9BS,UACE,0BACA/B,EAASsB,EAAa,IACtB,gCACAtB,EAAS6B,GACT,iCACA7B,EAASsB,EAAa,IACtB,WAGN0G,OAAQ,CACNnE,gBAAiBtC,EAAY,GAC7BQ,UACE,oBACA/B,EAASuB,EAAY,IACrB,gCACAvB,EAASuB,EAAY,IACrB,4BACAvB,EAASuB,EAAY,IACrB,UACF,kBAAmB,CACjBsC,gBAAiBtC,EAAY,GAC7BQ,UACE,0BACA/B,EAASuB,EAAY,IACrB,gCACAvB,EAAS6B,GACT,iCACA7B,EAASuB,EAAY,IACrB,WAGN0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","file":"static/js/main.04166169.chunk.js","sourcesContent":["import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n padding: \"0 5px !important\",\n marginTop: \"50px !important\",\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nexport default function GridItemDoia3(props) {\n const classes = useStyles();\n const { children, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nGridItemDoia3.propTypes = {\n children: PropTypes.node,\n};\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n padding: \"0 5px !important\",\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nexport default function GridItem(props) {\n const classes = useStyles();\n const { children, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nGridItem.propTypes = {\n children: PropTypes.node,\n};\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n marginTop: \"-10px\",\n width: \"unset\",\n },\n};\n\nconst useStyles = makeStyles(styles);\n\nexport default function GridContainer(props) {\n const classes = useStyles();\n const { children, ...rest } = props;\n return (\n \n {children}\n \n );\n}\n\nGridContainer.propTypes = {\n children: PropTypes.node,\n};\n","/*!\n\n =========================================================\n * Material Dashboard React - v1.10.0 based on Material Dashboard - v1.2.0\n =========================================================\n\n * Product Page: http://www.creative-tim.com/product/material-dashboard-react\n * Copyright 2021 Creative Tim (http://www.creative-tim.com)\n * Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md)\n\n =========================================================\n\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n */\n\n// ##############################\n// // // Function that converts from hex color to rgb color\n// // // Example: input = #9c27b0 => output = 156, 39, 176\n// // // Example: input = 9c27b0 => output = 156, 39, 176\n// // // Example: input = #999 => output = 153, 153, 153\n// // // Example: input = 999 => output = 153, 153, 153\n// #############################\nconst hexToRgb = (input) => {\n input = input + \"\";\n input = input.replace(\"#\", \"\");\n let hexRegex = /[0-9A-Fa-f]/g;\n if (!hexRegex.test(input) || (input.length !== 3 && input.length !== 6)) {\n throw new Error(\"input is not a valid hex color.\");\n }\n if (input.length === 3) {\n let first = input[0];\n let second = input[1];\n let last = input[2];\n input = first + first + second + second + last + last;\n }\n input = input.toUpperCase();\n let first = input[0] + input[1];\n let second = input[2] + input[3];\n let last = input[4] + input[5];\n return (\n parseInt(first, 16) +\n \", \" +\n parseInt(second, 16) +\n \", \" +\n parseInt(last, 16)\n );\n};\n\n// ##############################\n// // // Variables - Styles that are used on more than one component\n// #############################\n\nconst drawerWidth = 260;\n\nconst transition = {\n transition: \"all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1)\",\n};\n\nconst container = {\n paddingRight: \"15px\",\n paddingLeft: \"15px\",\n marginRight: \"auto\",\n marginLeft: \"auto\",\n};\n\nconst defaultFont = {\n fontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n fontWeight: \"300\",\n lineHeight: \"1.5em\",\n};\n\n//const primaryColor = [\"#9c27b0\", \"#ab47bc\", \"#8e24aa\", \"#af2cc5\"];\nconst primaryColor = [\"#9c27b0\", \"#00acc1\", \"#00d5ef\", \"#af2cc5\"];\nconst warningColor = [\"#ff9800\", \"#ffa726\", \"#fb8c00\", \"#ffa21a\"];\nconst dangerColor = [\"#f44336\", \"#ef5350\", \"#e53935\", \"#f55a4e\"];\nconst successColor = [\"#4caf50\", \"#66bb6a\", \"#43a047\", \"#5cb860\"];\nconst infoColor = [\"#00acc1\", \"#26c6da\", \"#00acc1\", \"#00d3ee\"];\nconst roseColor = [\"#e91e63\", \"#ec407a\", \"#d81b60\", \"#eb3573\"];\nconst otColor = [\"#b659f0\", \"#6a4fff\", \"#b659f0\", \"#6a4fff\"];\nconst grayColor = [\n \"#999\",\n \"#777\",\n \"#3C4858\",\n \"#AAAAAA\",\n \"#D2D2D2\",\n \"#DDD\",\n \"#b4b4b4\",\n \"#555555\",\n \"#333\",\n \"#a9afbb\",\n \"#eee\",\n \"#e7e7e7\",\n \"#ffffff\",\n];\nconst blackColor = \"#01182b\";\nconst whiteColor = \"#FFF\";\nconst timColor = \"#d900d2\";\n\nconst boxShadow = {\n boxShadow:\n \"0 10px 30px -12px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.42), 0 4px 25px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.2)\",\n};\n\nconst primaryBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \",.4)\",\n};\nconst infoBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.4)\",\n};\nconst successBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.4)\",\n};\nconst warningBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.4)\",\n};\nconst dangerBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.4)\",\n};\nconst roseBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(roseColor[0]) +\n \",.4)\",\n};\nconst otBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(otColor[0]) +\n \",.4)\",\n};\n\nconst warningCardHeader = {\n background:\n \"linear-gradient(60deg, \" + warningColor[1] + \", \" + warningColor[2] + \")\",\n ...warningBoxShadow,\n};\nconst successCardHeader = {\n background:\n \"linear-gradient(60deg, \" + successColor[1] + \", \" + successColor[2] + \")\",\n ...successBoxShadow,\n};\nconst dangerCardHeader = {\n background:\n \"linear-gradient(60deg, \" + dangerColor[1] + \", \" + dangerColor[2] + \")\",\n ...dangerBoxShadow,\n};\nconst infoCardHeader = {\n background:\n \"linear-gradient(60deg, \" + infoColor[1] + \", \" + infoColor[2] + \")\",\n ...infoBoxShadow,\n};\nconst primaryCardHeader = {\n background:\n \"linear-gradient(60deg, \" + primaryColor[1] + \", \" + primaryColor[2] + \")\",\n ...primaryBoxShadow,\n};\nconst roseCardHeader = {\n background:\n \"linear-gradient(60deg, \" + roseColor[1] + \", \" + roseColor[2] + \")\",\n ...roseBoxShadow,\n};\nconst otCardHeader = {\n background: \"linear-gradient(60deg, \" + otColor[1] + \", \" + otColor[2] + \")\",\n ...otBoxShadow,\n};\n\nconst cardActions = {\n margin: \"0 20px 10px\",\n paddingTop: \"10px\",\n borderTop: \"1px solid \" + grayColor[10],\n height: \"auto\",\n ...defaultFont,\n};\n\nconst cardHeader = {\n margin: \"-20px 15px 0\",\n borderRadius: \"3px\",\n padding: \"15px\",\n};\n\nconst card = {\n display: \"inline-block\",\n position: \"relative\",\n width: \"100%\",\n margin: \"25px 0\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n borderRadius: \"3px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor,\n};\n\nconst defaultBoxShadow = {\n border: \"0\",\n borderRadius: \"3px\",\n boxShadow:\n \"0 10px 20px -12px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.42), 0 3px 20px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.2)\",\n padding: \"10px 0\",\n transition: \"all 150ms ease 0s\",\n};\n\nconst title = {\n color: grayColor[2],\n textDecoration: \"none\",\n fontWeight: \"300\",\n marginTop: \"30px\",\n marginBottom: \"25px\",\n minHeight: \"32px\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\",\n },\n};\n\nconst cardTitle = {\n ...title,\n marginTop: \"0\",\n marginBottom: \"3px\",\n minHeight: \"auto\",\n \"& a\": {\n ...title,\n marginTop: \".625rem\",\n marginBottom: \"0.75rem\",\n minHeight: \"auto\",\n },\n};\n\nconst cardSubtitle = {\n marginTop: \"-.375rem\",\n};\n\nconst cardLink = {\n \"& + $cardLink\": {\n marginLeft: \"1.25rem\",\n },\n};\n\nexport {\n hexToRgb,\n //variables\n drawerWidth,\n transition,\n container,\n boxShadow,\n card,\n defaultFont,\n primaryColor,\n warningColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n otColor,\n grayColor,\n blackColor,\n whiteColor,\n timColor,\n primaryBoxShadow,\n infoBoxShadow,\n successBoxShadow,\n warningBoxShadow,\n dangerBoxShadow,\n roseBoxShadow,\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n otCardHeader,\n cardActions,\n cardHeader,\n defaultBoxShadow,\n title,\n cardTitle,\n cardSubtitle,\n cardLink,\n};\n","import {\n primaryColor,\n dangerColor,\n successColor,\n grayColor,\n defaultFont,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst customInputStyle = {\n disabled: {\n \"&:before\": {\n backgroundColor: \"transparent !important\",\n },\n },\n underline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: grayColor[4] + \" !important\",\n borderWidth: \"1px !important\",\n },\n \"&:after\": {\n borderColor: primaryColor[0],\n },\n },\n underlineError: {\n \"&:after\": {\n borderColor: dangerColor[0],\n },\n },\n underlineSuccess: {\n \"&:after\": {\n borderColor: successColor[0],\n },\n },\n labelRoot: {\n ...defaultFont,\n color: grayColor[3] + \" !important\",\n fontWeight: \"400\",\n fontSize: \"14px\",\n lineHeight: \"1.42857\",\n letterSpacing: \"unset\",\n },\n labelRootError: {\n color: dangerColor[0],\n },\n labelRootSuccess: {\n color: successColor[0],\n },\n feedback: {\n position: \"absolute\",\n top: \"18px\",\n right: \"0\",\n zIndex: \"2\",\n display: \"block\",\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n pointerEvents: \"none\",\n },\n marginTop: {\n marginTop: \"16px\",\n },\n formControl: {\n paddingBottom: \"10px\",\n //margin: \"px 0 0 0\",\n position: \"relative\",\n verticalAlign: \"unset\",\n },\n labelRTL: {\n right: 0,\n transition: \"all 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms\",\n \"&.MuiInputLabel-shrink\": {\n transform: \"translate(0, 1.5px)\",\n },\n },\n};\n\nexport default customInputStyle;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport Input from \"@material-ui/core/Input\";\n// @material-ui/icons\nimport Clear from \"@material-ui/icons/Clear\";\nimport Check from \"@material-ui/icons/Check\";\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/customInputStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function LoginInput(props) {\n const classes = useStyles();\n const {\n formControlProps,\n labelText,\n id,\n labelProps,\n inputProps,\n error,\n success,\n rtlActive,\n onChange,\n } = props;\n\n const labelClasses = classNames({\n [\" \" + classes.labelRootError]: error,\n [\" \" + classes.labelRootSuccess]: success && !error,\n [\" \" + classes.labelRTL]: rtlActive,\n });\n const underlineClasses = classNames({\n [classes.underlineError]: error,\n [classes.underlineSuccess]: success && !error,\n [classes.underline]: true,\n });\n const marginTop = classNames({\n [classes.marginTop]: labelText === undefined,\n });\n const setvalue = (e) => {\n onChange(e.target.value);\n };\n let newInputProps = {\n maxLength:\n inputProps && inputProps.maxLength ? inputProps.maxLength : undefined,\n minLength:\n inputProps && inputProps.minLength ? inputProps.minLength : undefined,\n step: inputProps && inputProps.step ? inputProps.step : undefined,\n };\n return (\n \n {labelText !== undefined ? (\n \n {labelText}\n \n ) : null}\n \n {error ? (\n \n ) : success ? (\n \n ) : null}\n \n );\n}\n\nLoginInput.propTypes = {\n labelText: PropTypes.node,\n labelProps: PropTypes.object,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n formControlProps: PropTypes.object,\n error: PropTypes.bool,\n success: PropTypes.bool,\n rtlActive: PropTypes.bool,\n onChange: PropTypes.func,\n};\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport Input from \"@material-ui/core/Input\";\n// @material-ui/icons\nimport Clear from \"@material-ui/icons/Clear\";\nimport Check from \"@material-ui/icons/Check\";\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/customInputStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function PasswordInput(props) {\n const classes = useStyles();\n const {\n formControlProps,\n labelText,\n id,\n labelProps,\n inputProps,\n error,\n success,\n rtlActive,\n onChange,\n } = props;\n\n const labelClasses = classNames({\n [\" \" + classes.labelRootError]: error,\n [\" \" + classes.labelRootSuccess]: success && !error,\n [\" \" + classes.labelRTL]: rtlActive,\n });\n const underlineClasses = classNames({\n [classes.underlineError]: error,\n [classes.underlineSuccess]: success && !error,\n [classes.underline]: true,\n });\n const marginTop = classNames({\n [classes.marginTop]: labelText === undefined,\n });\n const setvalue = (e) => {\n onChange(e.target.value);\n };\n let newInputProps = {\n maxLength:\n inputProps && inputProps.maxLength ? inputProps.maxLength : undefined,\n minLength:\n inputProps && inputProps.minLength ? inputProps.minLength : undefined,\n step: inputProps && inputProps.step ? inputProps.step : undefined,\n };\n return (\n \n {labelText !== undefined ? (\n \n {labelText}\n \n ) : null}\n \n {error ? (\n \n ) : success ? (\n \n ) : null}\n \n );\n}\n\nPasswordInput.propTypes = {\n labelText: PropTypes.node,\n labelProps: PropTypes.object,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n formControlProps: PropTypes.object,\n error: PropTypes.bool,\n success: PropTypes.bool,\n rtlActive: PropTypes.bool,\n onChange: PropTypes.func,\n};\n","import {\r\n grayColor,\r\n primaryColor,\r\n infoColor,\r\n successColor,\r\n warningColor,\r\n dangerColor,\r\n roseColor,\r\n whiteColor,\r\n blackColor,\r\n hexToRgb,\r\n} from \"assets/jss/material-dashboard-react.js\";\r\n\r\nconst buttonStyle = {\r\n button: {\r\n minHeight: \"auto\",\r\n minWidth: \"auto\",\r\n backgroundColor: grayColor[0],\r\n color: whiteColor,\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(grayColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(grayColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(grayColor[0]) +\r\n \", 0.12)\",\r\n border: \"none\",\r\n borderRadius: \"3px\",\r\n position: \"relative\",\r\n padding: \"12px 30px\",\r\n margin: \".3125rem 1px\",\r\n fontSize: \"12px\",\r\n fontWeight: \"400\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0\",\r\n willChange: \"box-shadow, transform\",\r\n transition:\r\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\r\n lineHeight: \"1.42857143\",\r\n textAlign: \"center\",\r\n whiteSpace: \"nowrap\",\r\n verticalAlign: \"middle\",\r\n touchAction: \"manipulation\",\r\n cursor: \"pointer\",\r\n \"&:hover,&:focus\": {\r\n color: whiteColor,\r\n backgroundColor: grayColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(grayColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(grayColor[0]) +\r\n \", 0.2)\",\r\n },\r\n \"& .fab,& .fas,& .far,& .fal, &.material-icons\": {\r\n position: \"relative\",\r\n display: \"inline-block\",\r\n top: \"0\",\r\n marginTop: \"-1em\",\r\n marginBottom: \"-1em\",\r\n fontSize: \"1.1rem\",\r\n marginRight: \"4px\",\r\n verticalAlign: \"middle\",\r\n },\r\n \"& svg\": {\r\n position: \"relative\",\r\n display: \"inline-block\",\r\n top: \"0\",\r\n width: \"18px\",\r\n height: \"18px\",\r\n marginRight: \"4px\",\r\n verticalAlign: \"middle\",\r\n },\r\n \"&$justIcon\": {\r\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\r\n marginTop: \"0px\",\r\n position: \"absolute\",\r\n width: \"100%\",\r\n transform: \"none\",\r\n left: \"0px\",\r\n top: \"0px\",\r\n height: \"100%\",\r\n lineHeight: \"41px\",\r\n fontSize: \"20px\",\r\n },\r\n },\r\n },\r\n white: {\r\n \"&,&:focus,&:hover\": {\r\n backgroundColor: whiteColor,\r\n color: grayColor[0],\r\n },\r\n },\r\n rose: {\r\n backgroundColor: roseColor[0],\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(roseColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(roseColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(roseColor[0]) +\r\n \", 0.12)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: roseColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(roseColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(roseColor[0]) +\r\n \", 0.2)\",\r\n },\r\n },\r\n primary: {\r\n backgroundColor: primaryColor[0],\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(primaryColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(primaryColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(primaryColor[0]) +\r\n \", 0.12)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: primaryColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(primaryColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(primaryColor[0]) +\r\n \", 0.2)\",\r\n },\r\n },\r\n info: {\r\n backgroundColor: infoColor[0],\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \", 0.12)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: infoColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \", 0.2)\",\r\n },\r\n },\r\n success: {\r\n backgroundColor: successColor[0],\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \", 0.12)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: successColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \", 0.2)\",\r\n },\r\n },\r\n warning: {\r\n backgroundColor: warningColor[0],\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \", 0.12)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: warningColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \", 0.2)\",\r\n },\r\n },\r\n danger: {\r\n backgroundColor: dangerColor[0],\r\n boxShadow:\r\n \"0 2px 2px 0 rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \", 0.14), 0 3px 1px -2px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \", 0.2), 0 1px 5px 0 rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \", 0.12)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: dangerColor[0],\r\n boxShadow:\r\n \"0 14px 26px -12px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \", 0.42), 0 4px 23px 0px rgba(\" +\r\n hexToRgb(blackColor) +\r\n \", 0.12), 0 8px 10px -5px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \", 0.2)\",\r\n },\r\n },\r\n simple: {\r\n \"&,&:focus,&:hover\": {\r\n color: whiteColor,\r\n background: \"transparent\",\r\n boxShadow: \"none\",\r\n },\r\n \"&$rose\": {\r\n \"&,&:focus,&:hover,&:visited\": {\r\n color: roseColor[0],\r\n },\r\n },\r\n \"&$primary\": {\r\n \"&,&:focus,&:hover,&:visited\": {\r\n color: primaryColor[0],\r\n },\r\n },\r\n \"&$info\": {\r\n \"&,&:focus,&:hover,&:visited\": {\r\n color: infoColor[0],\r\n },\r\n },\r\n \"&$success\": {\r\n \"&,&:focus,&:hover,&:visited\": {\r\n color: successColor[0],\r\n },\r\n },\r\n \"&$warning\": {\r\n \"&,&:focus,&:hover,&:visited\": {\r\n color: warningColor[0],\r\n },\r\n },\r\n \"&$danger\": {\r\n \"&,&:focus,&:hover,&:visited\": {\r\n color: dangerColor[0],\r\n },\r\n },\r\n },\r\n transparent: {\r\n \"&,&:focus,&:hover\": {\r\n color: \"inherit\",\r\n background: \"transparent\",\r\n boxShadow: \"none\",\r\n },\r\n },\r\n disabled: {\r\n opacity: \"0.65\",\r\n pointerEvents: \"none\",\r\n },\r\n lg: {\r\n padding: \"1.125rem 2.25rem\",\r\n fontSize: \"0.875rem\",\r\n lineHeight: \"1.333333\",\r\n borderRadius: \"0.2rem\",\r\n },\r\n sm: {\r\n padding: \"0.40625rem 1.25rem\",\r\n fontSize: \"0.6875rem\",\r\n lineHeight: \"1.5\",\r\n borderRadius: \"0.2rem\",\r\n },\r\n round: {\r\n borderRadius: \"30px\",\r\n },\r\n block: {\r\n width: \"100% !important\",\r\n },\r\n link: {\r\n \"&,&:hover,&:focus\": {\r\n backgroundColor: \"transparent\",\r\n color: grayColor[0],\r\n boxShadow: \"none\",\r\n },\r\n },\r\n justIcon: {\r\n paddingLeft: \"12px\",\r\n paddingRight: \"12px\",\r\n paddingBottom: \"30px\",\r\n fontSize: \"20px\",\r\n height: \"41px\",\r\n minWidth: \"41px\",\r\n width: \"41px\",\r\n \"& .fab,& .fas,& .far,& .fal,& svg,& .material-icons\": {\r\n marginRight: \"0px\",\r\n },\r\n \"&$lg\": {\r\n height: \"57px\",\r\n minWidth: \"57px\",\r\n width: \"57px\",\r\n lineHeight: \"56px\",\r\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\r\n fontSize: \"32px\",\r\n lineHeight: \"56px\",\r\n },\r\n \"& svg\": {\r\n width: \"32px\",\r\n height: \"32px\",\r\n },\r\n },\r\n \"&$sm\": {\r\n height: \"30px\",\r\n minWidth: \"30px\",\r\n width: \"30px\",\r\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\r\n fontSize: \"17px\",\r\n lineHeight: \"29px\",\r\n },\r\n \"& svg\": {\r\n width: \"17px\",\r\n height: \"17px\",\r\n },\r\n },\r\n },\r\n card_content_button: {\r\n width: \"33%\",\r\n height: \"95%\",\r\n float: \"left\",\r\n },\r\n backgound: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n wordWrap: \"break-word\",\r\n },\r\n card_icon_button: {\r\n width: \"50%\",\r\n height: \"70%\",\r\n marginLeft: \"30px\",\r\n },\r\n};\r\n\r\nexport default buttonStyle;\r\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// material-ui components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/buttonStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function RegularButton(props) {\n const classes = useStyles();\n const {\n color,\n round,\n children,\n disabled,\n simple,\n size,\n block,\n link,\n justIcon,\n className,\n muiClasses,\n ...rest\n } = props;\n const btnClasses = classNames({\n [classes.button]: true,\n [classes[size]]: size,\n [classes[color]]: color,\n [classes.round]: round,\n [classes.disabled]: disabled,\n [classes.simple]: simple,\n [classes.block]: block,\n [classes.link]: link,\n [classes.justIcon]: justIcon,\n [className]: className,\n });\n return (\n \n );\n}\n\nRegularButton.propTypes = {\n color: PropTypes.oneOf([\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\",\n \"white\",\n \"transparent\",\n ]),\n size: PropTypes.oneOf([\"sm\", \"lg\"]),\n simple: PropTypes.bool,\n round: PropTypes.bool,\n disabled: PropTypes.bool,\n block: PropTypes.bool,\n link: PropTypes.bool,\n justIcon: PropTypes.bool,\n className: PropTypes.string,\n // use this to pass the classes props from Material-UI\n muiClasses: PropTypes.object,\n children: PropTypes.node,\n};\n","import {\n blackColor,\n whiteColor,\n hexToRgb,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardStyle = {\n card: {\n border: \"0\",\n marginBottom: \"5px\",\n marginTop: \"10px\",\n borderRadius: \"6px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor,\n width: \"100%\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n minWidth: \"0\",\n wordWrap: \"break-word\",\n fontSize: \".875rem\",\n },\n cardPlain: {\n background: \"transparent\",\n boxShadow: \"none\",\n },\n cardProfile: {\n marginTop: \"30px\",\n textAlign: \"center\",\n },\n cardChart: {\n \"& p\": {\n marginTop: \"0px\",\n paddingTop: \"0px\",\n },\n },\n};\n\nexport default cardStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Card(props) {\n const classes = useStyles();\n const { className, children, plain, profile, chart, ...rest } = props;\n const cardClasses = classNames({\n [classes.card]: true,\n [classes.cardPlain]: plain,\n [classes.cardProfile]: profile,\n [classes.cardChart]: chart,\n [className]: className !== undefined,\n });\n return (\n
\n {children}\n
\n );\n}\n\nCard.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node,\n};\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n otCardHeader,\n whiteColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardHeaderStyle = {\n cardHeader: {\n padding: \"0.75rem 1.25rem\",\n marginBottom: \"0\",\n borderBottom: \"none\",\n background: \"transparent\",\n zIndex: \"3 !important\",\n \"&$cardHeaderPlain,&$cardHeaderIcon,&$cardHeaderStats,&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n margin: \"0 15px\",\n padding: \"0\",\n position: \"relative\",\n color: whiteColor,\n },\n \"&:first-child\": {\n borderRadius: \"calc(.25rem - 1px) calc(.25rem - 1px) 0 0\",\n },\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n \"&:not($cardHeaderIcon)\": {\n borderRadius: \"3px\",\n marginTop: \"-20px\",\n padding: \"15px\",\n height: \"1.5vh\",\n },\n },\n \"&$cardHeaderStats svg\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n textAlign: \"center\",\n width: \"36px\",\n height: \"36px\",\n margin: \"10px 10px 4px\",\n },\n \"&$cardHeaderStats i,&$cardHeaderStats .material-icons\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n width: \"56px\",\n height: \"56px\",\n textAlign: \"center\",\n overflow: \"unset\",\n marginBottom: \"1px\",\n },\n \"&$cardHeaderStats$cardHeaderIcon\": {\n textAlign: \"left\",\n },\n },\n cardHeaderPlain: {\n marginLeft: \"0px !important\",\n marginRight: \"0px !important\",\n },\n cardHeaderStats: {\n \"& $cardHeaderIcon\": {\n textAlign: \"right\",\n },\n \"& h1,& h2,& h3,& h4,& h5,& h6\": {\n margin: \"0 !important\",\n },\n },\n cardHeaderIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n background: \"transparent\",\n boxShadow: \"none\",\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\",\n },\n },\n cardHeaderIconot: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n background: \"#170cc4\",\n boxShadow: \"none\",\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\",\n },\n },\n warningCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...warningCardHeader,\n },\n },\n successCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...successCardHeader,\n },\n },\n dangerCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...dangerCardHeader,\n },\n },\n infoCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...infoCardHeader,\n },\n },\n primaryCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...primaryCardHeader,\n },\n },\n roseCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIconot)\": {\n ...roseCardHeader,\n },\n },\n otCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIconot)\": {\n ...otCardHeader,\n },\n },\n};\n\nexport default cardHeaderStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardHeaderStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardHeader(props) {\n const classes = useStyles();\n const { className, children, color, plain, stats, icon, ...rest } = props;\n const cardHeaderClasses = classNames({\n [classes.cardHeader]: true,\n [classes[color + \"CardHeader\"]]: color,\n [classes.cardHeaderPlain]: plain,\n [classes.cardHeaderStats]: stats,\n [classes.cardHeaderIcon]: icon,\n [className]: className !== undefined,\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardHeader.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\",\n ]),\n plain: PropTypes.bool,\n stats: PropTypes.bool,\n icon: PropTypes.bool,\n children: PropTypes.node,\n};\n","const cardBodyStyle = {\n cardBody: {\n padding: \"0.9375rem 20px\",\n flex: \"1 1 auto\",\n WebkitBoxFlex: \"1\",\n position: \"relative\",\n },\n cardBodyPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\",\n },\n cardBodyProfile: {\n marginTop: \"15px\",\n },\n};\n\nexport default cardBodyStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardBodyStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardBody(props) {\n const classes = useStyles();\n const { className, children, plain, profile, ...rest } = props;\n const cardBodyClasses = classNames({\n [classes.cardBody]: true,\n [classes.cardBodyPlain]: plain,\n [classes.cardBodyProfile]: profile,\n [className]: className !== undefined,\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardBody.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n children: PropTypes.node,\n};\n","import { grayColor } from \"assets/jss/material-dashboard-react.js\";\n\nconst cardFooterStyle = {\n cardFooter: {\n padding: \"0\",\n paddingTop: \"10px\",\n margin: \"0 15px 10px\",\n borderRadius: \"0\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n display: \"flex\",\n backgroundColor: \"transparent\",\n border: \"0\",\n },\n cardFooterProfile: {\n marginTop: \"-15px\",\n },\n cardFooterPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\",\n backgroundColor: \"transparent\",\n },\n cardFooterStats: {\n borderTop: \"1px solid \" + grayColor[10],\n marginTop: \"20px\",\n \"& svg\": {\n position: \"relative\",\n top: \"4px\",\n marginRight: \"3px\",\n marginLeft: \"3px\",\n width: \"16px\",\n height: \"16px\",\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"16px\",\n position: \"relative\",\n top: \"4px\",\n marginRight: \"3px\",\n marginLeft: \"3px\",\n },\n },\n cardFooterChart: {\n borderTop: \"1px solid \" + grayColor[10],\n },\n};\n\nexport default cardFooterStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardFooterStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardFooter(props) {\n const classes = useStyles();\n const { className, children, plain, profile, stats, chart, ...rest } = props;\n const cardFooterClasses = classNames({\n [classes.cardFooter]: true,\n [classes.cardFooterPlain]: plain,\n [classes.cardFooterProfile]: profile,\n [classes.cardFooterStats]: stats,\n [classes.cardFooterChart]: chart,\n [className]: className !== undefined,\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardFooter.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n stats: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node,\n};\n","const conFig = {\n //backend: \"http://10.53.67.9:99\",\n //backend: \"http://localhost:59581\",\n //backend: \"https://api-qlvnns.vnptbinhdinh.vn:59586\",\n backend: \"https://api-qlvnns.vnptbinhdinh.vn\",\n linkbcquy:\n \"https://api-qlvnns.vnptbinhdinh.vn/api/QlFileThuMuc/DownloadFileBCquy?fileId=\",\n linkbcnam:\n \"https://api-qlvnns.vnptbinhdinh.vn/api/QlFileThuMuc/DownloadFileBCnam?fileId=\",\n linkdownload:\n \"https://api-qlvnns.vnptbinhdinh.vn/api/QlFileThuMuc/DownloadFile?fileid=bb9a1405-1890-4726-a87d-b4c8fd77d5ec\",\n};\n\nexport default conFig;\n","import {\n defaultFont,\n primaryBoxShadow,\n infoBoxShadow,\n successBoxShadow,\n warningBoxShadow,\n dangerBoxShadow,\n roseBoxShadow,\n whiteColor,\n blackColor,\n grayColor,\n infoColor,\n successColor,\n dangerColor,\n roseColor,\n primaryColor,\n warningColor,\n hexToRgb,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst snackbarContentStyle = {\n root: {\n ...defaultFont,\n flexWrap: \"unset\",\n position: \"relative\",\n padding: \"20px 15px\",\n lineHeight: \"20px\",\n marginBottom: \"20px\",\n fontSize: \"14px\",\n backgroundColor: whiteColor,\n color: grayColor[7],\n borderRadius: \"3px\",\n minWidth: \"unset\",\n maxWidth: \"unset\",\n boxShadow:\n \"0 12px 20px -10px rgba(\" +\n hexToRgb(whiteColor) +\n \", 0.28), 0 4px 20px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 7px 8px -5px rgba(\" +\n hexToRgb(whiteColor) +\n \", 0.2)\",\n },\n top20: {\n top: \"20px\",\n },\n top40: {\n top: \"40px\",\n },\n info: {\n backgroundColor: infoColor[3],\n color: whiteColor,\n ...infoBoxShadow,\n },\n success: {\n backgroundColor: successColor[3],\n color: whiteColor,\n ...successBoxShadow,\n },\n warning: {\n backgroundColor: warningColor[3],\n color: whiteColor,\n ...warningBoxShadow,\n },\n danger: {\n backgroundColor: dangerColor[3],\n color: whiteColor,\n ...dangerBoxShadow,\n },\n primary: {\n backgroundColor: primaryColor[3],\n color: whiteColor,\n ...primaryBoxShadow,\n },\n rose: {\n backgroundColor: roseColor[3],\n color: whiteColor,\n ...roseBoxShadow,\n },\n message: {\n padding: \"0\",\n display: \"block\",\n maxWidth: \"89%\",\n },\n close: {\n width: \"11px\",\n height: \"11px\",\n },\n iconButton: {\n width: \"24px\",\n height: \"24px\",\n padding: \"0px\",\n },\n icon: {\n display: \"block\",\n left: \"15px\",\n position: \"absolute\",\n top: \"50%\",\n marginTop: \"-15px\",\n width: \"30px\",\n height: \"30px\",\n },\n infoIcon: {\n color: infoColor[3],\n },\n successIcon: {\n color: successColor[3],\n },\n warningIcon: {\n color: warningColor[3],\n },\n dangerIcon: {\n color: dangerColor[3],\n },\n primaryIcon: {\n color: primaryColor[3],\n },\n roseIcon: {\n color: roseColor[3],\n },\n iconMessage: {\n paddingLeft: \"50px\",\n display: \"block\",\n },\n actionRTL: {\n marginLeft: \"-8px\",\n marginRight: \"auto\",\n },\n};\n\nexport default snackbarContentStyle;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Snack from \"@material-ui/core/Snackbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\n// @material-ui/icons\nimport Close from \"@material-ui/icons/Close\";\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/snackbarContentStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Snackbar(props) {\n const classes = useStyles();\n const { message, color, close, icon, place, open, rtlActive } = props;\n var action = [];\n const messageClasses = classNames({\n [classes.iconMessage]: icon !== undefined,\n });\n if (close !== undefined) {\n action = [\n props.closeNotification()}\n >\n \n ,\n ];\n }\n return (\n \n {icon !== undefined ? : null}\n {message}\n \n }\n action={action}\n ContentProps={{\n classes: {\n root: classes.root + \" \" + classes[color],\n message: classes.message,\n action: classNames({ [classes.actionRTL]: rtlActive }),\n },\n }}\n />\n );\n}\n\nSnackbar.propTypes = {\n message: PropTypes.node.isRequired,\n color: PropTypes.oneOf([\"info\", \"success\", \"warning\", \"danger\", \"primary\"]),\n close: PropTypes.bool,\n icon: PropTypes.object,\n place: PropTypes.oneOf([\"tl\", \"tr\", \"tc\", \"br\", \"bl\", \"bc\"]),\n open: PropTypes.bool,\n rtlActive: PropTypes.bool,\n closeNotification: PropTypes.func,\n};\n","export default __webpack_public_path__ + \"static/media/background_login.f7499aaa.png\";","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n otCardHeader,\n whiteColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardHeaderStyle = {\n cardHeader: {\n padding: \"0.75rem 1.25rem\",\n marginBottom: \"0\",\n borderBottom: \"none\",\n background: \"transparent\",\n height: \"20px\",\n zIndex: \"3 !important\",\n \"&$cardHeaderPlain,&$cardHeaderIcon,&$cardHeaderStats,&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n margin: \"0 15px\",\n padding: \"0\",\n position: \"relative\",\n color: whiteColor,\n },\n \"&:first-child\": {\n borderRadius: \"calc(.25rem - 1px) calc(.25rem - 1px) 0 0\",\n },\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n \"&:not($cardHeaderIcon)\": {\n borderRadius: \"3px\",\n marginTop: \"-20px\",\n padding: \"15px\",\n },\n },\n \"&$cardHeaderStats svg\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n textAlign: \"center\",\n width: \"36px\",\n height: \"36px\",\n margin: \"10px 10px 4px\",\n },\n \"&$cardHeaderStats i,&$cardHeaderStats .material-icons\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n width: \"56px\",\n height: \"56px\",\n textAlign: \"center\",\n overflow: \"unset\",\n marginBottom: \"1px\",\n },\n \"&$cardHeaderStats$cardHeaderIcon\": {\n textAlign: \"left\",\n },\n },\n cardHeaderPlain: {\n marginLeft: \"0px !important\",\n marginRight: \"0px !important\",\n },\n cardHeaderStats: {\n \"& $cardHeaderIcon\": {\n textAlign: \"right\",\n },\n \"& h1,& h2,& h3,& h4,& h5,& h6\": {\n margin: \"0 !important\",\n },\n },\n cardHeaderIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n background: \"transparent\",\n boxShadow: \"none\",\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\",\n },\n },\n cardHeaderIconot: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader,&$otCardHeader\": {\n background: \"#170cc4\",\n boxShadow: \"none\",\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\",\n },\n },\n warningCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...warningCardHeader,\n },\n },\n successCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...successCardHeader,\n },\n },\n dangerCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...dangerCardHeader,\n },\n },\n infoCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...infoCardHeader,\n },\n },\n primaryCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...primaryCardHeader,\n },\n },\n roseCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIconot)\": {\n ...roseCardHeader,\n },\n },\n otCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIconot)\": {\n ...otCardHeader,\n },\n },\n};\n\nexport default cardHeaderStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardHeaderStyletab.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardHeader(props) {\n const classes = useStyles();\n const { className, children, color, plain, stats, icon, ...rest } = props;\n const cardHeaderClasses = classNames({\n [classes.cardHeader]: true,\n [classes[color + \"CardHeader\"]]: color,\n [classes.cardHeaderPlain]: plain,\n [classes.cardHeaderStats]: stats,\n [classes.cardHeaderIcon]: icon,\n [className]: className !== undefined,\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardHeader.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\",\n \"ot\",\n ]),\n plain: PropTypes.bool,\n stats: PropTypes.bool,\n icon: PropTypes.bool,\n children: PropTypes.node,\n};\n","import {\n primaryColor,\n whiteColor,\n primaryBoxShadow,\n defaultFont,\n blackColor,\n grayColor,\n hexToRgb,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst dropdownStyle = (theme) => ({\n buttonLink: {\n [theme.breakpoints.down(\"md\")]: {\n display: \"flex\",\n marginLeft: \"30px\",\n width: \"auto\",\n },\n },\n links: {\n width: \"20px\",\n height: \"20px\",\n zIndex: \"4\",\n [theme.breakpoints.down(\"md\")]: {\n display: \"block\",\n width: \"30px\",\n height: \"30px\",\n color: grayColor[9],\n marginRight: \"15px\",\n },\n },\n linkText: {\n zIndex: \"4\",\n ...defaultFont,\n fontSize: \"14px\",\n },\n popperClose: {\n pointerEvents: \"none\",\n },\n popperResponsive: {\n [theme.breakpoints.down(\"md\")]: {\n zIndex: \"1640\",\n position: \"static\",\n float: \"none\",\n width: \"auto\",\n marginTop: \"0\",\n backgroundColor: \"transparent\",\n border: \"0\",\n WebkitBoxShadow: \"none\",\n boxShadow: \"none\",\n color: \"black\",\n },\n },\n popperNav: {\n [theme.breakpoints.down(\"sm\")]: {\n position: \"static !important\",\n left: \"unset !important\",\n top: \"unset !important\",\n transform: \"none !important\",\n willChange: \"unset !important\",\n \"& > div\": {\n boxShadow: \"none !important\",\n marginLeft: \"0rem\",\n marginRight: \"0rem\",\n transition: \"none !important\",\n marginTop: \"0px !important\",\n marginBottom: \"0px !important\",\n padding: \"0px !important\",\n backgroundColor: \"transparent !important\",\n \"& ul li\": {\n color: whiteColor + \" !important\",\n margin: \"10px 15px 0!important\",\n padding: \"10px 15px !important\",\n \"&:hover\": {\n backgroundColor: \"hsla(0,0%,78%,.2)\",\n boxShadow: \"none\",\n },\n },\n },\n },\n },\n dropdown: {\n borderRadius: \"3px\",\n border: \"0\",\n boxShadow: \"0 2px 5px 0 rgba(\" + hexToRgb(blackColor) + \", 0.26)\",\n top: \"100%\",\n zIndex: \"1000\",\n minWidth: \"160px\",\n padding: \"5px 0\",\n margin: \"2px 0 0\",\n fontSize: \"14px\",\n textAlign: \"left\",\n listStyle: \"none\",\n backgroundColor: whiteColor,\n WebkitBackgroundClip: \"padding-box\",\n backgroundClip: \"padding-box\",\n },\n dropdownItem: {\n ...defaultFont,\n fontSize: \"13px\",\n padding: \"10px 20px\",\n margin: \"0 5px\",\n borderRadius: \"2px\",\n WebkitTransition: \"all 150ms linear\",\n MozTransition: \"all 150ms linear\",\n OTransition: \"all 150ms linear\",\n MsTransition: \"all 150ms linear\",\n transition: \"all 150ms linear\",\n display: \"block\",\n clear: \"both\",\n fontWeight: \"400\",\n lineHeight: \"1.42857143\",\n color: grayColor[8],\n whiteSpace: \"nowrap\",\n height: \"unset\",\n minHeight: \"unset\",\n \"&:hover\": {\n backgroundColor: primaryColor[0],\n color: whiteColor,\n ...primaryBoxShadow,\n },\n },\n});\n\nexport default dropdownStyle;\n","import {\n defaultFont,\n dangerColor,\n whiteColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport dropdownStyle from \"assets/jss/material-dashboard-react/dropdownStyle.js\";\n\nconst headerLinksStyle = (theme) => ({\n ...dropdownStyle(theme),\n search: {\n \"& > div\": {\n marginTop: \"0\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: \"10px 15px !important\",\n float: \"none !important\",\n paddingTop: \"1px\",\n paddingBottom: \"1px\",\n padding: \"0!important\",\n width: \"60%\",\n marginTop: \"40px\",\n \"& input\": {\n color: whiteColor,\n },\n },\n },\n linkText: {\n zIndex: \"4\",\n ...defaultFont,\n fontSize: \"14px\",\n margin: \"0px\",\n },\n buttonLink: {\n [theme.breakpoints.down(\"sm\")]: {\n display: \"flex\",\n margin: \"10px 15px 0\",\n width: \"-webkit-fill-available\",\n \"& svg\": {\n width: \"24px\",\n height: \"30px\",\n marginRight: \"15px\",\n marginLeft: \"-15px\",\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"24px\",\n lineHeight: \"30px\",\n width: \"24px\",\n height: \"30px\",\n marginRight: \"15px\",\n marginLeft: \"-15px\",\n },\n \"& > span\": {\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n },\n },\n searchButton: {\n [theme.breakpoints.down(\"sm\")]: {\n top: \"-50px !important\",\n marginRight: \"22px\",\n float: \"right\",\n },\n },\n margin: {\n zIndex: \"4\",\n margin: \"0\",\n },\n searchIcon: {\n width: \"17px\",\n zIndex: \"4\",\n },\n notifications: {\n zIndex: \"4\",\n [theme.breakpoints.up(\"md\")]: {\n position: \"absolute\",\n top: \"2px\",\n border: \"1px solid \" + whiteColor,\n right: \"4px\",\n fontSize: \"9px\",\n background: dangerColor[0],\n color: whiteColor,\n minWidth: \"16px\",\n height: \"16px\",\n borderRadius: \"10px\",\n textAlign: \"center\",\n lineHeight: \"16px\",\n verticalAlign: \"middle\",\n display: \"block\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n ...defaultFont,\n fontSize: \"14px\",\n marginRight: \"8px\",\n },\n },\n manager: {\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n display: \"inline-block\",\n //marginRight: \"50px\",\n },\n searchWrapper: {\n [theme.breakpoints.down(\"sm\")]: {\n width: \"-webkit-fill-available\",\n margin: \"10px 15px 0\",\n },\n display: \"inline-block\",\n },\n btn_icon: {\n width: \"calc(40px + 2vw)\",\n float: \"left\",\n position: \"relative\",\n cursor: \"pointer\",\n height: \"40px\",\n },\n img_danger: {\n width: \"90%\",\n height: \"90%\",\n marginTop: \"12px\",\n marginLeft: \"5px\",\n fontSize: \"20px\",\n },\n name: {\n marginTop: \"5px\",\n fontSize: \"12px\",\n fontWeight: \"500\",\n color: \"#d900d2\",\n },\n icons: {\n marginTop: \"12px\",\n fontSize: \"20px\",\n fontWeight: \"800\",\n },\n});\n\nexport default headerLinksStyle;\n","import React from \"react\";\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport {\n DataGrid,\n GridToolbarQuickFilter,\n GridLinkOperator,\n gridClasses,\n} from \"@mui/x-data-grid\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport Poppers from \"@material-ui/core/Popper\";\nimport Divider from \"@material-ui/core/Divider\";\nimport Button from \"components/CustomButtons/Button.js\";\nimport Modal from \"@mui/material/Modal\";\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\nimport GridItem from \"components/Grid/GridItem.js\";\nimport GridContainer from \"components/Grid/GridContainer.js\";\nimport PasswordInput from \"components/CustomInput/PasswordInput.js\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Card from \"components/Card/Card.js\";\nimport CardHeader from \"components/Card/CardHeadertab.js\";\nimport CardBody from \"components/Card/CardBody.js\";\nimport CardFooter from \"components/Card/CardFooter.js\";\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\nimport AddAlert from \"@material-ui/icons/AddAlert\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Box from \"@mui/material/Box\";\nimport Config from \"conFig.js\";\nimport ArrowDropDownIcon from \"@mui/icons-material/ArrowDropDown\";\nimport Notifications from \"@material-ui/icons/Notifications\";\nimport CheckCircleIcon from \"@mui/icons-material/CheckCircle\";\nimport Typography from \"@mui/material/Typography\";\nconst datagridSx = {\n [`& .${gridClasses.cell}`]: {\n py: 1,\n },\n [`& .center`]: {\n justifyContent: \"center !important\",\n },\n borderRadius: 2,\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\n \"& .MuiDataGrid-row\": {\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\n },\n },\n \"& .MuiDataGrid-columnHeaders\": {\n backgroundColor: \"rgba(0,0,255,0.6)\",\n color: \"rgb(255 255 255)\",\n fontSize: 16,\n },\n \"& .MuiInputBase-root\": {\n height: \"25px\",\n },\n};\nconst newline = (text) => {\n if (text) {\n let newText = text\n .split(\"\\\\n\")\n .map((str, i) => (\n \n {str\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")}\n \n ));\n return newText;\n }\n};\nconst canhbaocolumns = [\n {\n field: \"stt\",\n headerName: \"STT\",\n width: 90,\n headerAlign: \"center\",\n cellClassName: \"center\",\n },\n {\n field: \"maduan\",\n headerName: \"Mã dự án\",\n width: 170,\n headerAlign: \"center\",\n cellClassName: \"center\",\n },\n {\n field: \"tenduan\",\n headerName: \"Tên dự án\",\n width: 250,\n headerAlign: \"center\",\n },\n {\n field: \"chudautu\",\n headerName: \"Chủ đầu tư\",\n width: 250,\n headerAlign: \"center\",\n renderCell: (params) => {\n if (params.value) {\n return
{newline(params.value)}
;\n }\n },\n },\n {\n field: \"tinhtrangtiendo\",\n headerName: \"Tình trạng\",\n width: 200,\n headerAlign: \"center\",\n },\n];\nimport styles from \"assets/jss/material-dashboard-react/components/headerLinksStyle.js\";\n\nconst useStyles = makeStyles(styles);\nexport default function AdminNavbarLinks() {\n const classes = useStyles();\n const token = localStorage.getItem(\"token\");\n const name = localStorage.getItem(\"name\");\n const [thongbao, setThongbao] = React.useState(0);\n const [thongbaolist, setThongbaolist] = React.useState([]);\n const [openProfile, setOpenProfile] = React.useState(null);\n const [open, setOpen] = React.useState(false);\n const [opencanhbao, setOpencanhbao] = React.useState(false);\n const [oldpassword, setOldpassword] = React.useState(null);\n const [newpassword, setNewpassword] = React.useState(null);\n const [newpasswordagain, setNewpasswordagain] = React.useState(null);\n const [isStrongPass, setIsStrongPass] = React.useState(false);\n const [alert, setAlert] = React.useState(false);\n const [alert2, setAlert2] = React.useState(false);\n const [alert3, setAlert3] = React.useState(false);\n const [alert4, setAlert4] = React.useState(false);\n const [alert5, setAlert5] = React.useState(false);\n const handleClose = () => setOpen(false);\n const handleClosecanhbao = () => setOpencanhbao(false);\n const handleClickProfile = (event) => {\n if (openProfile && openProfile.contains(event.target)) {\n setOpenProfile(null);\n } else {\n setOpenProfile(event.currentTarget);\n }\n };\n const handleCloseProfile = () => {\n setOpenProfile(null);\n };\n const change_password = () => {\n setOpen(true);\n };\n const setoldpass = (value) => {\n setOldpassword(value);\n };\n const setnewpass = (value) => {\n setNewpassword(value);\n };\n const setnewpassagain = (value) => {\n setNewpasswordagain(value);\n };\n const quickSearchToolbar = () => {\n return (\n \n \n searchInput\n .split(\",\")\n .map((value) => value.trim())\n .filter((value) => value !== \"\")\n }\n placeholder=\"Tìm kiếm\"\n />\n \n );\n };\n var username = localStorage.getItem(\"username\");\n var obj = {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + token,\n },\n };\n const getcanhbao = () => {\n var url =\n Config.backend +\n \"/api/Tiendoduan/canhbaotiendouserquanly?username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n setThongbao(data.length);\n setThongbaolist(data);\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const kiemTraDoManhMatKhau = () => {\n var strength = 0;\n strength += /[A-Z]+/.test(newpassword) ? 1 : 0;\n strength += /[a-z]+/.test(newpassword) ? 1 : 0;\n strength += /[0-9]+/.test(newpassword) ? 1 : 0;\n strength += /[\\W]+/.test(newpassword) ? 1 : 0;\n if (strength == 4) {\n setIsStrongPass(true);\n } else {\n setIsStrongPass(false);\n }\n };\n const kiemTraXacNhanMatKhauMoi = () => {\n if (newpassword === newpasswordagain) return true;\n return false;\n };\n const capnhat = () => {\n if (oldpassword && newpassword && newpasswordagain) {\n if (isStrongPass) {\n if (kiemTraXacNhanMatKhauMoi()) {\n var url = Config.backend + \"/api/Users/changepassword\";\n fetch(url, {\n method: \"PUT\",\n headers: {\n Accept: \"application/json, text/plain\",\n \"Content-Type\": \"application/json;charset=UTF-8\",\n Authorization: \"Bearer \" + token,\n },\n body: JSON.stringify({\n oldPassword: oldpassword,\n newPassword: newpassword,\n }),\n })\n .then((res) => res.json())\n .then((data) => {\n if (data == \"0\") showNotification2();\n else {\n showNotification3();\n logout();\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n } else {\n showNotification5();\n }\n } else {\n showNotification4();\n }\n } else {\n showNotification();\n }\n };\n const showNotification = () => {\n setAlert(true);\n setTimeout(function () {\n setAlert(false);\n }, 6000);\n };\n const showNotification2 = () => {\n setAlert2(true);\n setTimeout(function () {\n setAlert2(false);\n }, 6000);\n };\n const showNotification3 = () => {\n setAlert3(true);\n setTimeout(function () {\n setAlert3(false);\n }, 6000);\n };\n const showNotification4 = () => {\n setAlert4(true);\n setTimeout(function () {\n setAlert4(false);\n }, 6000);\n };\n const showNotification5 = () => {\n setAlert5(true);\n setTimeout(function () {\n setAlert5(false);\n }, 6000);\n };\n const opencanhbaoMD = () => {\n setOpencanhbao(true);\n };\n const logout = () => {\n localStorage.removeItem(\"token\");\n localStorage.removeItem(\"role\");\n localStorage.removeItem(\"name\");\n location.href = \"/admin/login\";\n };\n const reviewfile = () => {\n window.open(\"https://docs.google.com/viewer?url=\" + Config.linkdownload);\n };\n React.useEffect(() => {\n getcanhbao();\n }, []);\n React.useEffect(() => {\n kiemTraDoManhMatKhau();\n }, [newpassword]);\n return (\n
\n
\n \n \n {thongbao === 0 ? (\n \n ) : (\n \n )}\n \n \n \n {thongbao}\n \n \n 959 ? \"transparent\" : \"white\"}\n //justIcon={window.innerWidth > 959}\n simple={!(window.innerWidth > 959)}\n aria-owns={openProfile ? \"profile-menu-list-grow\" : null}\n aria-haspopup=\"true\"\n onClick={handleClickProfile}\n className={classes.buttonLink}\n >\n {name}\n \n \n \n {({ TransitionProps, placement }) => (\n \n \n \n \n \n Đổi mật khẩu\n \n \n \n Đăng xuất\n \n \n Hướng dẫn sử dụng\n \n \n \n \n \n )}\n \n \n \n
\n \n \n \n \n \n \n \n \n \n Đổi mật khẩu\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Mật khẩu phải có độ dài tối thiểu 8 ký tự bao gồm ký\n tự đặc biệt, chữ in hoa, chữ in thường và số\n \n \n \n \n \n \n \n \n \n \n \n setAlert(false)}\n close\n />\n \n \n \n \n setAlert2(false)}\n close\n />\n \n \n \n \n setAlert3(false)}\n close\n />\n \n \n \n \n setAlert3(false)}\n close\n />\n \n \n \n \n setAlert5(false)}\n close\n />\n \n \n \n \n \n \n \n \n \n
\n \n \n
\n \n \n \n \n \n \n \n \n row.stt}\n rows={thongbaolist}\n columns={canhbaocolumns}\n rowsPerPageOptions={[]}\n getRowHeight={() => \"auto\"}\n checkboxSelection={false}\n headerHeight={35}\n sx={datagridSx}\n initialState={{\n filter: {\n filterModel: {\n items: [],\n quickFilterLogicOperator: GridLinkOperator.Or,\n },\n },\n }}\n components={{ Toolbar: quickSearchToolbar }}\n />\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n \n );\n}\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport Input from \"@material-ui/core/Input\";\n// @material-ui/icons\nimport Clear from \"@material-ui/icons/Clear\";\nimport Check from \"@material-ui/icons/Check\";\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/customInputStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustomInput(props) {\n const classes = useStyles();\n const {\n formControlProps,\n labelText,\n id,\n labelProps,\n inputProps,\n error,\n success,\n rtlActive,\n } = props;\n\n const labelClasses = classNames({\n [\" \" + classes.labelRootError]: error,\n [\" \" + classes.labelRootSuccess]: success && !error,\n [\" \" + classes.labelRTL]: rtlActive,\n });\n const underlineClasses = classNames({\n [classes.underlineError]: error,\n [classes.underlineSuccess]: success && !error,\n [classes.underline]: true,\n });\n const marginTop = classNames({\n [classes.marginTop]: labelText === undefined,\n });\n let newInputProps = {\n maxLength:\n inputProps && inputProps.maxLength ? inputProps.maxLength : undefined,\n minLength:\n inputProps && inputProps.minLength ? inputProps.minLength : undefined,\n step: inputProps && inputProps.step ? inputProps.step : undefined,\n };\n return (\n \n {labelText !== undefined ? (\n \n {labelText}\n \n ) : null}\n \n {error ? (\n \n ) : success ? (\n \n ) : null}\n \n );\n}\n\nCustomInput.propTypes = {\n labelText: PropTypes.node,\n labelProps: PropTypes.object,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n formControlProps: PropTypes.object,\n error: PropTypes.bool,\n success: PropTypes.bool,\n rtlActive: PropTypes.bool,\n};\n","import {\n defaultFont,\n dangerColor,\n whiteColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport dropdownStyle from \"assets/jss/material-dashboard-react/dropdownStyle.js\";\n\nconst headerLinksStyle = (theme) => ({\n ...dropdownStyle(theme),\n search: {\n \"& > div\": {\n marginTop: \"0\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: \"10px 15px !important\",\n float: \"none !important\",\n paddingTop: \"1px\",\n paddingBottom: \"1px\",\n padding: \"0!important\",\n width: \"60%\",\n marginTop: \"40px\",\n \"& input\": {\n color: whiteColor,\n },\n },\n },\n linkText: {\n zIndex: \"4\",\n ...defaultFont,\n fontSize: \"14px\",\n margin: \"0px\",\n },\n buttonLink: {\n [theme.breakpoints.down(\"sm\")]: {\n display: \"flex\",\n margin: \"10px 15px 0\",\n width: \"-webkit-fill-available\",\n \"& svg\": {\n width: \"24px\",\n height: \"30px\",\n marginRight: \"15px\",\n marginLeft: \"-15px\",\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"24px\",\n lineHeight: \"30px\",\n width: \"24px\",\n height: \"30px\",\n marginRight: \"15px\",\n marginLeft: \"-15px\",\n },\n \"& > span\": {\n justifyContent: \"flex-start\",\n width: \"100%\",\n },\n },\n },\n searchButton: {\n [theme.breakpoints.down(\"sm\")]: {\n top: \"-50px !important\",\n marginRight: \"22px\",\n float: \"right\",\n },\n },\n margin: {\n zIndex: \"4\",\n margin: \"0\",\n },\n searchIcon: {\n width: \"17px\",\n zIndex: \"4\",\n },\n notifications: {\n zIndex: \"4\",\n [theme.breakpoints.up(\"md\")]: {\n position: \"absolute\",\n top: \"2px\",\n border: \"1px solid \" + whiteColor,\n right: \"4px\",\n fontSize: \"9px\",\n background: dangerColor[0],\n color: whiteColor,\n minWidth: \"16px\",\n height: \"16px\",\n borderRadius: \"10px\",\n textAlign: \"center\",\n lineHeight: \"16px\",\n verticalAlign: \"middle\",\n display: \"block\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n ...defaultFont,\n fontSize: \"14px\",\n marginRight: \"8px\",\n },\n },\n manager: {\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n display: \"inline-block\",\n },\n searchWrapper: {\n [theme.breakpoints.down(\"sm\")]: {\n width: \"-webkit-fill-available\",\n margin: \"10px 15px 0\",\n },\n display: \"inline-block\",\n },\n});\n\nexport default headerLinksStyle;\n","import React from \"react\";\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport MenuList from \"@material-ui/core/MenuList\";\nimport Grow from \"@material-ui/core/Grow\";\nimport Paper from \"@material-ui/core/Paper\";\nimport ClickAwayListener from \"@material-ui/core/ClickAwayListener\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Poppers from \"@material-ui/core/Popper\";\n// @material-ui/icons\nimport Person from \"@material-ui/icons/Person\";\nimport Notifications from \"@material-ui/icons/Notifications\";\nimport Dashboard from \"@material-ui/icons/Dashboard\";\nimport Search from \"@material-ui/icons/Search\";\n// core components\nimport CustomInput from \"components/CustomInput/CustomInput.js\";\nimport Button from \"components/CustomButtons/Button.js\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/rtlHeaderLinksStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function RTLNavbarLinks() {\n const classes = useStyles();\n const [open, setOpen] = React.useState(null);\n const handleToggle = (event) => {\n if (open && open.contains(event.target)) {\n setOpen(null);\n } else {\n setOpen(event.currentTarget);\n }\n };\n\n const handleClose = () => {\n setOpen(null);\n };\n\n return (\n
\n
\n \n \n
\n 959 ? \"transparent\" : \"white\"}\n justIcon={window.innerWidth > 959}\n simple={!(window.innerWidth > 959)}\n aria-label=\"Dashboard\"\n className={classes.buttonLink}\n >\n \n \n

آمارها

\n
\n \n
\n 959 ? \"transparent\" : \"white\"}\n justIcon={window.innerWidth > 959}\n simple={!(window.innerWidth > 959)}\n aria-owns={open ? \"menu-list-grow\" : null}\n aria-haspopup=\"true\"\n onClick={handleToggle}\n className={classes.buttonLink}\n >\n \n ۵\n \n

\n اعلان‌ها\n

\n
\n \n \n {({ TransitionProps, placement }) => (\n \n \n \n \n \n محمدرضا به ایمیل شما پاسخ داد\n \n \n شما ۵ وظیفه جدید دارید\n \n \n از حالا شما با علیرضا دوست هستید\n \n \n اعلان دیگر\n \n \n اعلان دیگر\n \n \n \n \n \n )}\n \n
\n 959 ? \"transparent\" : \"white\"}\n justIcon={window.innerWidth > 959}\n simple={!(window.innerWidth > 959)}\n aria-label=\"Person\"\n className={classes.buttonLink}\n >\n \n \n

حساب کاربری

\n
\n \n
\n );\n}\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n grayColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardIconStyle = {\n cardIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n borderRadius: \"3px\",\n backgroundColor: grayColor[0],\n padding: \"15px\",\n marginTop: \"-20px\",\n marginRight: \"15px\",\n float: \"left\",\n },\n },\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n};\n\nexport default cardIconStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/material-dashboard-react/components/cardIconStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardIcon(props) {\n const classes = useStyles();\n const { className, children, color, ...rest } = props;\n const cardIconClasses = classNames({\n [classes.cardIcon]: true,\n [classes[color + \"CardHeader\"]]: color,\n [className]: className !== undefined,\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardIcon.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\",\n ]),\n children: PropTypes.node,\n};\n","import React from \"react\";\nimport { Chart } from \"react-google-charts\";\nimport PropTypes from \"prop-types\";\nimport Config from \"conFig.js\";\nconst Kkt_kcn_ccn = React.memo(function Kkt_kcn_ccn(props) {\n const { tungay, denngay } = props;\n const [duanccn, setDuanccn] = React.useState(0);\n const [vonccn, seVonccn] = React.useState(0);\n const [duankkt, setDuankkt] = React.useState(0);\n const [vonkkt, seVonkkt] = React.useState(0);\n const [duanngoaikkt, setDuanngoaikkt] = React.useState(0);\n const [vonngoaikkt, seVonngoaikkt] = React.useState(0);\n var username = localStorage.getItem(\"username\");\n const token = localStorage.getItem(\"token\");\n var obj = {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + token,\n },\n };\n const getccn = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/DuanChuDauTu/gettongduanthangkhuvucdautu?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=2\" +\n \"&khuvucdautu_id=\" +\n 3 +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n if (data) {\n setDuanccn(data[0].soduan);\n seVonccn(data[0].tongvon.toLocaleString(\"de-DE\"));\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const getkkt = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/DuanChuDauTu/gettongduanthangkhuvucdautu?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=2\" +\n \"&khuvucdautu_id=\" +\n 5 +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n if (data) {\n setDuankkt(data[0].soduan);\n seVonkkt(data[0].tongvon.toLocaleString(\"de-DE\"));\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const getngoaikkt = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/DuanChuDauTu/gettongduanthangkhuvucdautu?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=2\" +\n \"&khuvucdautu_id=\" +\n 4 +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n if (data) {\n setDuanngoaikkt(data[0].soduan);\n seVonngoaikkt(data[0].tongvon.toLocaleString(\"de-DE\"));\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const data = [\n [\"Task\", \"Tỷ lệ\"],\n [\"Trong KKT, KCN (\" + duankkt + \" dự án/ \" + vonkkt + \" VNĐ)\", duankkt],\n [\"Trong CCN (\" + duanccn + \" dự án/ \" + vonccn + \" VNĐ)\", duanccn],\n [\n \"Ngoài KKT, KCN, CCN (\" +\n duanngoaikkt +\n \" dự án/ \" +\n vonngoaikkt +\n \" VNĐ)\",\n duanngoaikkt,\n ],\n ];\n React.useEffect(() => {\n getccn();\n getkkt();\n getngoaikkt();\n }, [tungay, denngay]);\n return (\n Loading}\n data={data}\n height=\"99%\"\n options={{\n chartArea: {\n //marginTop: \"-30px\",\n width: \"97%\",\n height: \"90%\",\n },\n animation: {\n startup: true,\n easing: \"linear\",\n duration: 800,\n },\n backgroundColor: \"transparent\",\n hAxis: {\n textStyle: {\n color: \"#ffffff\",\n },\n },\n vAxis: {\n textStyle: {\n color: \"#ffffff\",\n },\n },\n legend: {\n textStyle: {\n color: \"#ffffff\",\n },\n position: \"left\",\n },\n titleTextStyle: {\n color: \"#ffffff\",\n },\n }}\n />\n );\n});\n\nKkt_kcn_ccn.propTypes = {\n tungay: PropTypes.object,\n denngay: PropTypes.object,\n};\nexport default Kkt_kcn_ccn;\n","import React from \"react\";\nimport { Chart } from \"react-google-charts\";\nimport PropTypes from \"prop-types\";\nimport Config from \"conFig.js\";\nconst Trongnuoc_fdi = React.memo(function Trongnuoc_fdi(props) {\n const { tungay, denngay } = props;\n const [duantrongnuoc, setDuantrongnuoc] = React.useState(0);\n const [vontrongnuoc, setVontrongnuoc] = React.useState(0);\n const [duanfdi, setDuanfdi] = React.useState(0);\n const [vonfdi, setVonfdi] = React.useState(0);\n var username = localStorage.getItem(\"username\");\n const token = localStorage.getItem(\"token\");\n var obj = {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + token,\n },\n };\n const gettrongnuoc = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/DuanChuDauTu/gettongduanthangnguonvon?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=2\" +\n \"&nguonvondautu_id=\" +\n 1 +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n if (data) {\n setDuantrongnuoc(data[0].soduan);\n setVontrongnuoc(data[0].tongvon.toLocaleString(\"de-DE\"));\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const getfdi = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/DuanChuDauTu/gettongduanthangnguonvon?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=2\" +\n \"&nguonvondautu_id=\" +\n 2 +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n if (data) {\n setDuanfdi(data[0].soduan);\n setVonfdi(data[0].tongvon.toLocaleString(\"de-DE\"));\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const data = [\n [\"Task\", \"Tỷ lệ\"],\n [\n \"Trong nước (\" + duantrongnuoc + \" dự án/ \" + vontrongnuoc + \" VNĐ)\",\n duantrongnuoc,\n ],\n [\"FDI (\" + duanfdi + \" dự án/ \" + vonfdi + \" VNĐ)\", duanfdi],\n ];\n React.useEffect(() => {\n gettrongnuoc();\n getfdi();\n }, [tungay, denngay]);\n return (\n Loading}\n data={data}\n height=\"99%\"\n options={{\n chartArea: {\n //marginTop: \"-30px\",\n width: \"97%\",\n height: \"90%\",\n },\n animation: {\n startup: true,\n easing: \"linear\",\n duration: 800,\n },\n backgroundColor: \"transparent\",\n hAxis: {\n textStyle: {\n color: \"#ffffff\",\n },\n },\n vAxis: {\n textStyle: {\n color: \"#ffffff\",\n },\n },\n legend: {\n textStyle: {\n color: \"#ffffff\",\n },\n position: \"left\",\n },\n titleTextStyle: {\n color: \"#ffffff\",\n },\n }}\n />\n );\n});\n\nTrongnuoc_fdi.propTypes = {\n tungay: PropTypes.object,\n denngay: PropTypes.object,\n};\nexport default Trongnuoc_fdi;\n","const chiTieu = () => ({\r\n chitieu_4_total: {\r\n width: \"100%\",\r\n height: \"32vh\",\r\n fontSize: \"14px\",\r\n color: \"#00ffff\",\r\n },\r\n chitieu_4_child: {\r\n width: \"100%\",\r\n height: \"250px\",\r\n fontSize: \"14px\",\r\n marginTop: \"20px\",\r\n color: \"#00ffff\",\r\n },\r\n chitieu_4_child_ptm_top: {\r\n width: \"100%\",\r\n height: \"250px\",\r\n fontSize: \"14px\",\r\n color: \"#00ffff\",\r\n },\r\n chitieu_4_child_ptm: {\r\n width: \"100%\",\r\n height: \"250px\",\r\n fontSize: \"14px\",\r\n marginTop: \"-40px\",\r\n color: \"#00ffff\",\r\n },\r\n});\r\n\r\nexport default chiTieu;\r\n","import React from \"react\";\nimport styles from \"assets/jss/material-dashboard-react/components/bieudo.js\";\nconst useStyles = makeStyles(styles);\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport PropTypes from \"prop-types\";\nimport { Chart } from \"react-chartjs-2\";\nimport {\n Chart as ChartJS,\n ArcElement,\n Tooltip,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n LineController,\n BarElement,\n BarController,\n Legend,\n} from \"chart.js\";\nChartJS.register(\n ArcElement,\n Tooltip,\n CategoryScale,\n LinearScale,\n PointElement,\n LineElement,\n LineController,\n BarElement,\n BarController,\n Legend\n);\nimport Config from \"conFig.js\";\nlet options_thoigiantldv = {\n maintainAspectRatio: false,\n color: \"#fff\",\n responsive: true,\n\n tooltips: { mode: \"index\", intersect: false },\n hover: { mode: \"nearest\", intersect: true },\n scales: {\n yAxes: {\n type: \"linear\",\n position: \"right\",\n ticks: {\n color: \"#ffffff\",\n },\n },\n xAxes: {\n ticks: {\n color: \"#ffffff\",\n },\n },\n },\n plugins: {\n legend: {\n position: \"bottom\",\n display: true,\n },\n },\n};\nconst Thongkediabancot = React.memo(function Thongkediabancot(props) {\n const { tungay, denngay } = props;\n const classes = useStyles();\n const [soluong, setSoluong] = React.useState(null);\n const [sl_trongcnn, setSl_trongcnn] = React.useState(null);\n const [sl_ngoaicnn, setSl_ngoaicnn] = React.useState(null);\n const [vondangky, setVondangky] = React.useState(null);\n const [vondangky_trongcnn, setVondangky_trongcnn] = React.useState(null);\n const [vondangky_ngoaicnn, setVondangky_ngoaicnn] = React.useState(null);\n const [column, setColumn] = React.useState(null);\n const token = localStorage.getItem(\"token\");\n var username = localStorage.getItem(\"username\");\n var obj = {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + token,\n },\n };\n const getdata = () => {\n var soluongtemp = [];\n var sl_trongcnntemp = [];\n var sl_ngoaicnntemp = [];\n var vondangkytemp = [];\n var vondangky_trongcnntemp = [];\n var vondangky_ngoaicnntemp = [];\n var columntemp = [];\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/BaoCao/getbcththeodiabannam?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n data.map((prop) => {\n soluongtemp.push(prop.sl);\n sl_trongcnntemp.push(prop.sl_trongcnn);\n sl_ngoaicnntemp.push(prop.sl_ngoaicnn);\n vondangkytemp.push(prop.vondangky);\n vondangky_trongcnntemp.push(prop.vondangky_trongcnn);\n vondangky_ngoaicnntemp.push(prop.vondangky_ngoaicnn);\n columntemp.push(prop.diaban);\n });\n setSoluong(soluongtemp);\n setSl_trongcnn(sl_trongcnntemp);\n setSl_ngoaicnn(sl_ngoaicnntemp);\n setVondangky(vondangkytemp);\n setVondangky_trongcnn(vondangky_trongcnntemp);\n setVondangky_ngoaicnn(vondangky_ngoaicnntemp);\n setColumn(columntemp);\n soluongtemp = [];\n sl_trongcnntemp = [];\n sl_ngoaicnntemp = [];\n vondangkytemp = [];\n vondangky_trongcnntemp = [];\n vondangky_ngoaicnntemp = [];\n columntemp = [];\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const data_solieu = {\n labels: column,\n datasets: [\n {\n type: \"line\",\n label: \"Tổng vốn đăng ký\",\n fill: true,\n backgroundColor: \"rgb(255, 99, 132)\",\n borderColor: \"#00ec00\",\n data: vondangky,\n yAxisID: \"left-axis\",\n },\n {\n type: \"line\",\n label: \"Vốn đăng ký trong CCN\",\n fill: true,\n backgroundColor: \"rgb(200, 99, 132)\",\n borderColor: \"#c30202\",\n data: vondangky_trongcnn,\n yAxisID: \"left-axis\",\n },\n {\n type: \"line\",\n label: \"Vốn đăng ký ngoài CCN\",\n fill: true,\n backgroundColor: \"rgb(177, 99, 120)\",\n borderColor: \"#bbac02\",\n data: vondangky_ngoaicnn,\n yAxisID: \"left-axis\",\n },\n {\n label: \"Tổng số dự án\",\n fill: true,\n backgroundColor: \"#a0522d\",\n borderColor: \"#a0522d\",\n data: soluong,\n },\n {\n label: \"Trong CCN\",\n fill: true,\n backgroundColor: \"#ffffff\",\n borderColor: \"#ffffff\",\n data: sl_trongcnn,\n },\n {\n label: \"Ngoài CCN\",\n fill: true,\n backgroundColor: \"#2103c5\",\n borderColor: \"#2103c5\",\n data: sl_ngoaicnn,\n },\n ],\n };\n React.useEffect(() => {\n getdata();\n }, [tungay, denngay]);\n return (\n
\n \n
\n );\n});\nThongkediabancot.propTypes = {\n tungay: PropTypes.object,\n denngay: PropTypes.object,\n};\nexport default Thongkediabancot;\n","const ChucnangStyle = () => ({\n card_body_slst: {\n width: \"95%\",\n height: \"450px\",\n \"@global\": {\n \"*::-webkit-scrollbar\": {\n width: \"0.7em\",\n height: \"0.8em\",\n },\n \"*::-webkit-scrollbar-track\": {\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\n },\n \"*::-webkit-scrollbar-thumb\": {\n backgroundColor: \"rgba(0,0,0,.2)\",\n outline: \"1px solid slategrey\",\n },\n },\n },\n table: {\n width: \"100%\",\n height: \"96%\",\n fontSize: \"0.85vw\",\n overflowY: \"auto\",\n overflowX: \"hidden\",\n },\n tabledb: {\n textAlign: \"center\",\n width: \"98%\",\n marginLeft: \"5px\",\n marginRight: \"5px\",\n fontSize: \"0.85vw\",\n borderSpacing: \"0\",\n borderCollapse: \"collapse\",\n marginTop: \"5px\",\n },\n tabledb_th: {\n border: \"1px solid #4f7edb\",\n color: \"#fff\",\n },\n tabledb_ct_th: {\n border: \"1px solid #006457\",\n },\n tabledb_td: {\n border: \"1px solid #4f7edb\",\n color: \"#00ec00\",\n fontWeight: \"700\",\n textAlign: \"left\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"blue\",\n },\n },\n tabledb_td_ptgt: {\n border: \"1px solid #4f7edb\",\n color: \"#ccca00\",\n fontWeight: \"700\",\n textAlign: \"left\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"blue\",\n },\n paddingLeft: 7,\n },\n tabledb_ct_td: {\n border: \"1px solid #003f88\",\n color: \"#006457\",\n fontWeight: \"700\",\n textAlign: \"left\",\n },\n tabledb_td_number: {\n border: \"1px solid #4f7edb\",\n color: \"#00ec00\",\n fontWeight: \"700\",\n textAlign: \"right\",\n },\n tabledb_td_number_ptgt: {\n border: \"1px solid #4f7edb\",\n color: \"#ccca00\",\n fontWeight: \"700\",\n textAlign: \"right\",\n },\n chuaht_td_number: {\n border: \"1px solid #4f7edb\",\n color: \"red\",\n fontWeight: \"700\",\n textAlign: \"center\",\n },\n tablechuaht_td_number: {\n border: \"1px solid #4f7edb\",\n color: \"#ec0007\",\n fontWeight: \"700\",\n textAlign: \"center\",\n },\n tabledb_ct_td_number: {\n border: \"1px solid #003f88\",\n color: \"#006457\",\n fontWeight: \"700\",\n textAlign: \"right\",\n },\n tabledb_ct_td_click: {\n border: \"1px solid #003f88\",\n color: \"#00ec00\",\n fontWeight: \"700\",\n textAlign: \"right\",\n cursor: \"pointer\",\n \"&:hover\": {\n backgroundColor: \"blue\",\n },\n },\n tabledb_td_cap: {\n border: \"1px solid #4f7edb\",\n color: \"#ff9e00\",\n fontWeight: \"700\",\n textAlign: \"left\",\n },\n tabledb_td_cap_number: {\n border: \"1px solid #4f7edb\",\n color: \"#ff9e00\",\n fontWeight: \"700\",\n textAlign: \"right\",\n },\n tooltip: {\n fontWeight: \"400\",\n textAlign: \"center\",\n fontSize: \"1vw\",\n color: \"#000000\",\n },\n});\n\nexport default ChucnangStyle;\n","import React from \"react\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/chucnangStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport Config from \"conFig.js\";\r\nconst Thongkelinhvuc = React.memo(function Thongkelinhvuc(props) {\r\n const classes = useStyles();\r\n const { tungay, denngay } = props;\r\n const [data, setData] = React.useState([]);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getbaocao = () => {\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettongduanthanglinhvuc?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=0\" +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getbaocao();\r\n }, [tungay, denngay]);\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n Lĩnh vực\r\n Số dự án\r\n Tổng vốn đầu tư\r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n {data.map((row, i) => {\r\n return (\r\n \r\n {row[\"linhvuc\"]}\r\n {row[\"soduan\"]}\r\n \r\n {row[\"tongvon\"].toLocaleString(\"de-DE\")}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = data.length > 0 ? renderTableBody() : null;\r\n return (\r\n
\r\n \r\n {tHead}\r\n {tBody}\r\n
\r\n
\r\n );\r\n});\r\n\r\nThongkelinhvuc.propTypes = {\r\n tungay: PropTypes.object,\r\n denngay: PropTypes.object,\r\n};\r\nexport default Thongkelinhvuc;\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaotiendoduanexcel = function Baocaotiendoduanexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO TIẾN ĐỘ DỰ ÁN\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"stt\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"phantramtiendogiaingan\") {\r\n headerValues.push(\"Tỉ lệ vốn đã giải ngân(%)\");\r\n } else if (element == \"tiendothuchien\") {\r\n headerValues.push(\"Tiến độ dự án\");\r\n } else if (element == \"tinhtrangtiendo\") {\r\n headerValues.push(\"Tiến độ thực tế\");\r\n } else if (element == \"vondangky_vnd\") {\r\n headerValues.push(\"Vốn đăng ký (VNĐ)\");\r\n } else if (element == \"vonthuchien_vnd_lk\") {\r\n headerValues.push(\"Vốn đã giải ngân (VNĐ)\");\r\n } else if (element == \"khuvucdautu\") {\r\n headerValues.push(\"Khu vực đầu tư\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"stt\")) {\r\n const colStt = sheet.getColumn(\"stt\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tiendothuchien\")) {\r\n const colTiendothuchien = sheet.getColumn(\"tiendothuchien\");\r\n colTiendothuchien.width = 100;\r\n colTiendothuchien.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tiendothuchien\r\n ? data[rowNumber - 3].tiendothuchien.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"vondangky_vnd\")) {\r\n const colVondangky_vnd = sheet.getColumn(\"vondangky_vnd\");\r\n colVondangky_vnd.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"vonthuchien_vnd_lk\")) {\r\n const colVondangky_vnd = sheet.getColumn(\"vonthuchien_vnd_lk\");\r\n colVondangky_vnd.width = 30;\r\n colVondangky_vnd.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"phantramtiendogiaingan\")) {\r\n const colPhantramtiendogiaingan = sheet.getColumn(\r\n \"phantramtiendogiaingan\"\r\n );\r\n colPhantramtiendogiaingan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n }\r\n });\r\n }\r\n\r\n // Design Background Color\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n if (cell.value == \"Trễ tiến độ giai đoạn\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FA8072\" },\r\n };\r\n }\r\n if (cell.value == \"Sắp trễ tiến độ giai đoạn\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FFFACD\" },\r\n };\r\n }\r\n if (cell.value == \"Trễ tiến độ toàn dự án\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FFFF0000\" },\r\n };\r\n }\r\n if (cell.value == \"Sắp trễ tiến độ toàn dự án\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FFFF00\" },\r\n };\r\n }\r\n });\r\n });\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaotiendoduan.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaotiendoduanexcel;\r\n","import {\r\n successColor,\r\n whiteColor,\r\n grayColor,\r\n hexToRgb,\r\n} from \"assets/jss/material-dashboard-react.js\";\r\nconst dashBoardth = () => ({\r\n root: {\r\n \"& .MuiInputBase-root\": {\r\n color: \"#fff\",\r\n },\r\n },\r\n dashboard_th: {\r\n fontFamily: \"Open Sans,Arial\",\r\n fontSize: \"1.3vw\",\r\n lineHeight: \"1.23\",\r\n color: \"#fff\",\r\n height: \"100vh\",\r\n background: \"#2b2a39\",\r\n overflow: \"auto\",\r\n padding: \"0\",\r\n },\r\n dashboard_header: {\r\n padding: \"7px\",\r\n background: \"#1f2445\",\r\n position: \"fixed\",\r\n top: \"0\",\r\n left: \"0\",\r\n right: \"0\",\r\n zIndex: \"100\",\r\n borderBottom: \"1px solid hsla(0,0%,100%,.05)\",\r\n height: \"4vh\",\r\n },\r\n header_title: {\r\n width: \"20vw\",\r\n float: \"left\",\r\n color: \"#f5c20a\",\r\n textShadow: \"2px 2px #052ab1\",\r\n fontWeight: \"700\",\r\n },\r\n header_title_right: {\r\n width: \"10%\",\r\n float: \"left\",\r\n backgroundColor: \"#464E79\",\r\n padding: \"0 5px\",\r\n },\r\n header_title_left: {\r\n width: \"10vw\",\r\n float: \"left\",\r\n backgroundColor: \"#464E79\",\r\n height: \"100%\",\r\n },\r\n header_home_button: {\r\n width: \"10vw\",\r\n float: \"right\",\r\n height: \"15vh\",\r\n marginTop: \"2px\",\r\n },\r\n header_home_button_reload: {\r\n width: \"10vw\",\r\n float: \"right\",\r\n height: \"15vh\",\r\n marginTop: \"2px\",\r\n },\r\n header_span: {\r\n display: \"inline-block\",\r\n fontSize: \"18px\",\r\n verticalAlign: \"middle\",\r\n textTransform: \"uppercase\",\r\n color: \"#007aff\",\r\n fontWeight: \"700\",\r\n },\r\n dashboard_main: {\r\n padding: \"1px 5px\",\r\n marginTop: \"25px\",\r\n },\r\n row: {\r\n //marginLeft: \"-19px\",\r\n marginRight: \"5px\",\r\n },\r\n card: {\r\n marginBottom: \"10px\",\r\n borderRadius: \"5px\",\r\n background: \"#1f2445\",\r\n border: \"none\",\r\n position: \"relative\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n wordWrap: \"break-word\",\r\n fontSize: \"0.9vw\",\r\n },\r\n card_header_map: {\r\n //fontSize: \"15px\",\r\n padding: \"0 5px\",\r\n //fontWeight: \"600\",\r\n height: \"5.5vh\",\r\n lineHeight: \"37px\",\r\n width: \"30%\",\r\n },\r\n card_header_tltc: {\r\n width: \"50%\",\r\n display: \"inline-table\",\r\n fontSize: \"1vw\",\r\n },\r\n card_header_left: {\r\n background: \"#2d345f\",\r\n fontSize: \"1vw\",\r\n padding: \"0 5px\",\r\n borderTopLeftRadius: \"5px\",\r\n borderTopRightRadius: \"5px\",\r\n fontWeight: \"600\",\r\n height: \"5vh\",\r\n lineHeight: \"37px\",\r\n display: \"flex\",\r\n },\r\n card_body_map: {\r\n width: \"100%\",\r\n height: \"27vh\",\r\n },\r\n card_content_camera: {\r\n width: \"33%\",\r\n height: \"95%\",\r\n float: \"left\",\r\n },\r\n card_icon_camera: {\r\n width: \"50%\",\r\n height: \"70%\",\r\n marginLeft: \"30px\",\r\n },\r\n card_content_camera_title: {\r\n width: \"90%\",\r\n height: \"30%\",\r\n float: \"right\",\r\n },\r\n map_content: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n display: \"grid\",\r\n },\r\n backgound: {\r\n width: \"100%\",\r\n height: \"100%\",\r\n },\r\n card_body_bdst: {\r\n width: \"100%\",\r\n height: \"32vh\",\r\n },\r\n card_header_center: {\r\n background: \"#2d345f\",\r\n fontSize: \"15px\",\r\n padding: \"0 5px\",\r\n borderTopLeftRadius: \"5px\",\r\n borderTopRightRadius: \"5px\",\r\n fontWeight: \"600\",\r\n height: \"5vh\",\r\n lineHeight: \"37px\",\r\n },\r\n card_body_slst: {\r\n width: \"100%\",\r\n height: \"20.5vh\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_diaban: {\r\n width: \"100%\",\r\n height: \"32.5vh\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_tiendo: {\r\n width: \"100%\",\r\n height: \"42.5vh\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_top: {\r\n width: \"100%\",\r\n height: \"25vh\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_vantai: {\r\n width: \"50%\",\r\n height: \"17.5vh\",\r\n display: \"inline-block\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_vantai_right: {\r\n width: \"49%\",\r\n height: \"17.5vh\",\r\n display: \"inline-block\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n borderRight: \"1px solid #62ff1c\",\r\n },\r\n card_body_nvth: {\r\n width: \"100%\",\r\n height: \"455px\",\r\n },\r\n card_header_right: {\r\n background: \"#2d345f\",\r\n fontSize: \"15px\",\r\n padding: \"0 5px\",\r\n borderTopLeftRadius: \"5px\",\r\n borderTopRightRadius: \"5px\",\r\n fontWeight: \"600\",\r\n height: \"5vh\",\r\n lineHeight: \"37px\",\r\n display: \"flex\",\r\n },\r\n card_body_cpt: {\r\n width: \"100%\",\r\n height: \"85px\",\r\n },\r\n card_body_cdt: {\r\n width: \"100%\",\r\n height: \"85px\",\r\n },\r\n card_body_tlc: {\r\n width: \"100%\",\r\n height: \"65px\",\r\n },\r\n card_body_xhc: {\r\n width: \"100%\",\r\n height: \"212px\",\r\n textAlign: \"center\",\r\n },\r\n card_header_bottom: {\r\n background: \"#2d345f\",\r\n fontSize: \"15px\",\r\n padding: \"0 5px\",\r\n borderTopLeftRadius: \"5px\",\r\n borderTopRightRadius: \"5px\",\r\n fontWeight: \"600\",\r\n height: \"37px\",\r\n lineHeight: \"37px\",\r\n },\r\n card_body_bottom: {\r\n width: \"100%\",\r\n height: \"38vh\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_nhiemvu: {\r\n width: \"100%\",\r\n height: \"46.5vh\",\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.7em\",\r\n height: \"0.8em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.2)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n },\r\n card_body_tauca: {\r\n width: \"100%\",\r\n height: \"12.5vh\",\r\n },\r\n title_cuoc: {\r\n marginTop: \"10px\",\r\n fontSize: \"14px\",\r\n },\r\n content_cuoc: {\r\n marginTop: \"8px\",\r\n textAlign: \"left\",\r\n fontSize: \"25px\",\r\n },\r\n bottom_cuoc: {\r\n marginTop: \"8px\",\r\n fontSize: \"14px\",\r\n },\r\n tinhhuyen_header: {\r\n \"@global\": {\r\n \"*::-webkit-scrollbar\": {\r\n width: \"0.4em\",\r\n height: \"0.6em\",\r\n },\r\n \"*::-webkit-scrollbar-track\": {\r\n \"-webkit-box-shadow\": \"inset 0 0 6px rgba(0,0,0,0.00)\",\r\n },\r\n \"*::-webkit-scrollbar-thumb\": {\r\n backgroundColor: \"rgba(0,0,0,.1)\",\r\n outline: \"1px solid slategrey\",\r\n },\r\n },\r\n width: \"10vw\",\r\n zIndex: \"100\",\r\n marginLeft: \"1vw\",\r\n float: \"left\",\r\n height: \"100%\",\r\n },\r\n tltc_header: {\r\n width: \"45%\",\r\n marginLeft: \"10px\",\r\n backgroundColor: \"#464E79\",\r\n },\r\n vantai_header: {\r\n width: \"90%\",\r\n display: \"inline-table\",\r\n fontSize: \"1vw\",\r\n color: \"#fff\",\r\n },\r\n hothuyloi_header: {\r\n width: \"70%\",\r\n display: \"inline-table\",\r\n fontSize: \"0.9vw\",\r\n },\r\n xhdoanhthu_header: {\r\n width: \"57%\",\r\n display: \"inline-table\",\r\n float: \"left\",\r\n },\r\n header_right: {\r\n width: \"41%\",\r\n display: \"inline-table\",\r\n float: \"left\",\r\n fontSize: \"1vw\",\r\n marginTop: 6,\r\n },\r\n chitieu_header: {\r\n width: \"40%\",\r\n display: \"inline-table\",\r\n },\r\n lttp_header: {\r\n width: \"45%\",\r\n display: \"inline-table\",\r\n fontSize: \"1vw\",\r\n },\r\n doanhthu_header: {\r\n width: \"45%\",\r\n display: \"inline-table\",\r\n },\r\n thiethai_header: {\r\n width: \"40%\",\r\n display: \"inline-table\",\r\n fontSize: \"1vw\",\r\n },\r\n card_body_thiethai: {\r\n width: \"100%\",\r\n height: \"17.5vh\",\r\n },\r\n card_body_congtrinh: {\r\n width: \"100%\",\r\n height: \"17.5vh\",\r\n },\r\n chitieu_content: {\r\n width: \"96%\",\r\n height: \"80%\",\r\n marginTop: \"8%\",\r\n marginLeft: \"3%\",\r\n overflow: \"auto\",\r\n },\r\n dichvu: {\r\n backgroundColor: \"#464E79\",\r\n color: \"#fff\",\r\n borderColor: \"#464E79\",\r\n borderRadius: \"5px\",\r\n height: \"30px\",\r\n fontSize: \"14px\",\r\n marginLeft: \"130px\",\r\n fontWeight: \"bold\",\r\n },\r\n dichvu_xhdt: {\r\n backgroundColor: \"#464E79\",\r\n color: \"#fff\",\r\n borderColor: \"#464E79\",\r\n borderRadius: \"5px\",\r\n height: \"30px\",\r\n fontSize: \"14px\",\r\n //marginLeft: \"130px\",\r\n fontWeight: \"bold\",\r\n },\r\n capchihuy: {\r\n backgroundColor: \"#464E79\",\r\n color: \"#fff\",\r\n borderColor: \"#464E79\",\r\n borderRadius: \"5px\",\r\n height: \"30px\",\r\n fontSize: \"14px\",\r\n //marginLeft: \"130px\",\r\n fontWeight: \"bold\",\r\n },\r\n doanhthu: {\r\n backgroundColor: \"#464E79\",\r\n color: \"#fff\",\r\n borderColor: \"#464E79\",\r\n borderRadius: \"5px\",\r\n height: \"30px\",\r\n fontSize: \"14px\",\r\n marginLeft: \"70px\",\r\n fontWeight: \"bold\",\r\n },\r\n xhkythuat_select: {\r\n backgroundColor: \"#464E79\",\r\n color: \"#fff\",\r\n borderColor: \"#464E79\",\r\n borderRadius: \"5px\",\r\n height: \"30px\",\r\n fontSize: \"14px\",\r\n fontWeight: \"bold\",\r\n width: \"320px\",\r\n },\r\n ruiro_select: {\r\n color: \"#fff\",\r\n border: \"1px solid #00acc1\",\r\n width: \"10vw\",\r\n height: \"100%\",\r\n },\r\n thongtin_header: {\r\n textAlign: \"center\",\r\n fontSize: \"1vw\",\r\n },\r\n img: {\r\n width: \"40%\",\r\n height: \"40%\",\r\n marginTop: \"-10px\",\r\n },\r\n img_reload: {\r\n width: \"40%\",\r\n height: \"40%\",\r\n marginTop: \"-10px\",\r\n },\r\n tooltip: {\r\n fontWeight: \"400\",\r\n textAlign: \"center\",\r\n fontSize: \"1vw\",\r\n color: \"#000000\",\r\n },\r\n successText: {\r\n color: successColor[0],\r\n },\r\n upArrowCardCategory: {\r\n width: \"16px\",\r\n height: \"16px\",\r\n },\r\n stats: {\r\n color: \"#fff\",\r\n display: \"inline-flex\",\r\n fontSize: \"12px\",\r\n lineHeight: \"22px\",\r\n \"& svg\": {\r\n top: \"4px\",\r\n width: \"16px\",\r\n height: \"16px\",\r\n position: \"relative\",\r\n marginRight: \"3px\",\r\n marginLeft: \"3px\",\r\n },\r\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\r\n top: \"4px\",\r\n fontSize: \"16px\",\r\n position: \"relative\",\r\n marginRight: \"3px\",\r\n marginLeft: \"3px\",\r\n },\r\n },\r\n cardCategory: {\r\n color: \"#fff\",\r\n margin: \"0\",\r\n fontSize: \"14px\",\r\n marginTop: \"0\",\r\n paddingTop: \"10px\",\r\n marginBottom: \"0\",\r\n },\r\n cardCategoryWhite: {\r\n color: \"rgba(\" + hexToRgb(whiteColor) + \",.62)\",\r\n margin: \"0\",\r\n fontSize: \"14px\",\r\n marginTop: \"0\",\r\n marginBottom: \"0\",\r\n },\r\n cardTitle: {\r\n color: \"#fff\",\r\n marginTop: \"0px\",\r\n minHeight: \"auto\",\r\n fontWeight: \"300\",\r\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\r\n marginBottom: \"3px\",\r\n textDecoration: \"none\",\r\n \"& small\": {\r\n color: grayColor[1],\r\n fontWeight: \"400\",\r\n lineHeight: \"1\",\r\n },\r\n },\r\n cardTitleWhite: {\r\n color: whiteColor,\r\n marginTop: \"0px\",\r\n minHeight: \"auto\",\r\n fontWeight: \"300\",\r\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\r\n marginBottom: \"3px\",\r\n textDecoration: \"none\",\r\n \"& small\": {\r\n color: grayColor[1],\r\n fontWeight: \"400\",\r\n lineHeight: \"1\",\r\n },\r\n },\r\n});\r\n\r\nexport default dashBoardth;\r\n","import React from \"react\";\n// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\n// @material-ui/icons\nimport Store from \"@material-ui/icons/Store\";\nimport DateRange from \"@material-ui/icons/DateRange\";\n// core components\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Modal from \"@mui/material/Modal\";\nimport GridItem from \"components/Grid/GridItem.js\";\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\nimport GridContainer from \"components/Grid/GridContainer.js\";\nimport Card from \"components/Card/Card.js\";\nimport CardHeader from \"components/Card/CardHeader.js\";\nimport CardIcon from \"components/Card/CardIcon.js\";\nimport CardFooter from \"components/Card/CardFooter.js\";\nimport Kkt_kcn_ccn from \"components/Dashboard/Kkt_kcn_ccn.js\";\nimport Trongnuoc_fdi from \"components/Dashboard/Trongnuoc_fdi.js\";\nimport Thongkediabancot from \"components/Dashboard/Thongkediabancot.js\";\nimport Thongkelinhvuc from \"components/Dashboard/Thongkelinhvuc.js\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Baocaotiendoduanexcel from \"components/Xuatexcel/Baocaotiendoduanexcel.js\";\nimport Box from \"@mui/material/Box\";\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\nimport AddAlert from \"@material-ui/icons/AddAlert\";\nimport { whiteColor } from \"assets/jss/material-dashboard-react.js\";\nimport { red, yellow } from \"@mui/material/colors\";\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\nimport dayjs from \"dayjs\";\nimport Config from \"conFig.js\";\nimport styles from \"assets/jss/material-dashboard-react/components/dashBoardth.js\";\nimport {\n DataGrid,\n gridClasses,\n GridToolbarQuickFilter,\n GridLinkOperator,\n GridToolbarColumnsButton,\n GridToolbarExportContainer,\n} from \"@mui/x-data-grid\";\n\nconst useStyles = makeStyles(styles);\n\nconst datagridSx = {\n [`& .${gridClasses.cell}`]: {\n py: 1,\n },\n [`& .center`]: {\n justifyContent: \"center !important\",\n },\n borderRadius: 2,\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\n // \"& .MuiDataGrid-row\": {\n // \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\n // },\n \"& .super-app-theme--waring_gd\": {\n backgroundColor: yellow[200],\n },\n \"& .super-app-theme--waring_tda\": {\n backgroundColor: yellow[600],\n },\n \"& .super-app-theme--dangerous_gd\": {\n backgroundColor: red[200],\n },\n \"& .super-app-theme--dangerous_tda\": {\n backgroundColor: red[600],\n },\n \"& .super-app-theme--normal\": {\n backgroundColor: whiteColor,\n },\n },\n \"& .MuiDataGrid-columnHeaders\": {\n backgroundColor: \"rgba(0,0,255,0.6)\",\n color: \"rgb(255 255 255)\",\n fontSize: 16,\n },\n};\n\nconst newline = (text) => {\n if (text) {\n let newText = text\n .split(\"\\\\n\")\n .map((str, i) => (\n \n {str\n .replace(/&/g, \"&\")\n .replace(/</g, \"<\")\n .replace(/>/g, \">\")}\n \n ));\n return newText;\n }\n};\n\nconst dacolumn = [\n {\n field: \"maduan\",\n headerName: \"Mã dự án\",\n width: 170,\n headerAlign: \"center\",\n },\n {\n field: \"tenduan\",\n headerName: \"Tên dự án\",\n width: 250,\n headerAlign: \"center\",\n },\n {\n field: \"chudautu\",\n headerName: \"Chủ đầu tư\",\n width: 250,\n headerAlign: \"center\",\n renderCell: (params) => {\n if (params.value) {\n return
{newline(params.value)}
;\n }\n },\n },\n {\n field: \"tinhtrangtiendo\",\n headerName: \"Tiến độ thực tế\",\n width: 200,\n headerAlign: \"center\",\n },\n {\n field: \"vondangky_vnd\",\n headerName: \"Vốn đăng ký (VNĐ)\",\n type: \"number\",\n width: 200,\n headerAlign: \"right\",\n },\n {\n field: \"vonthuchien_vnd_lk\",\n headerName: \"Vốn đã giải ngân (VNĐ)\",\n type: \"number\",\n width: 200,\n headerAlign: \"right\",\n },\n {\n field: \"khuvucdautu\",\n headerName: \"Khu vực đầu tư\",\n width: 200,\n headerAlign: \"center\",\n },\n];\n\nexport default function Dashboard() {\n const classes = useStyles();\n const [openShowProjectInfo, setOpenShowProjectInfo] = React.useState(false);\n const [pageSize, setPageSize] = React.useState(50);\n const [duan, setDuan] = React.useState([]);\n const [duantrongtheotg, setDuantrongtheotg] = React.useState(0);\n const [tongvontrongtheotg, setTongvontrongtheotg] = React.useState(0);\n const [tungay, setTungay] = React.useState(\n dayjs(new Date().getFullYear() + \"-01-01\")\n );\n const [denngay, setDenngay] = React.useState(dayjs());\n const [alert, setAlert] = React.useState(false);\n const quickSearchToolbar = () => {\n return (\n \n \n searchInput\n .split(\",\")\n .map((value) => value.trim())\n .filter((value) => value !== \"\")\n }\n placeholder=\"Tìm kiếm\"\n />\n \n \n \n \n \n );\n };\n var username = localStorage.getItem(\"username\");\n const token = localStorage.getItem(\"token\");\n var obj = {\n method: \"GET\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n Authorization: \"Bearer \" + token,\n },\n };\n const gettongtheothoigian = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/DuanChuDauTu/gettongduanthang?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=0\" +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n if (data.length > 0) {\n setDuantrongtheotg(data[0].soduan);\n setTongvontrongtheotg(data[0].tongvon);\n }\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const showNotificationCanhBaoNgay = () => {\n setAlert(true);\n setTimeout(function () {\n setAlert(false);\n }, 3000);\n };\n\n const handleShowProjectInfo = () => {\n setOpenShowProjectInfo(true);\n };\n\n const handleCloseShowProjectInfo = () => {\n setOpenShowProjectInfo(false);\n };\n\n const getduan = () => {\n var tu =\n tungay.$y +\n \"-\" +\n String(tungay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n tungay.$D;\n var den =\n denngay.$y +\n \"-\" +\n String(denngay.$M + 1).padStart(2, \"0\") +\n \"-\" +\n denngay.$D;\n var url =\n Config.backend +\n \"/api/Tiendoduan/dsduankhoangtg?tungay=\" +\n tu +\n \"&denngay=\" +\n den +\n \"&tinhtrangduan_id=0\" +\n \"&username=\" +\n username;\n fetch(url, obj)\n .then((res) => res.json())\n .then((data) => {\n var phanTramVonGiaiNgan;\n for (const element of data) {\n phanTramVonGiaiNgan = Math.round(\n (element.vonthuchien_vnd_lk * 100) / element.vondangky_vnd\n );\n element.phantramtiendogiaingan = phanTramVonGiaiNgan;\n if (element.tinhtrangtiendo == \"Sắp trễ tiến độ giai đoạn\") {\n element.status = \"waring_gd\";\n } else if (element.tinhtrangtiendo == \"Sắp trễ tiến độ toàn dự án\") {\n element.status = \"waring_tda\";\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ giai đoạn\") {\n element.status = \"dangerous_gd\";\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ toàn dự án\") {\n element.status = \"dangerous_tda\";\n } else {\n element.status = \"normal\";\n }\n }\n setDuan(data);\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n\n React.useEffect(() => {\n gettongtheothoigian();\n getduan();\n }, [tungay, denngay]);\n React.useEffect(() => {\n gettongtheothoigian();\n getduan();\n }, []);\n return (\n
\n \n \n \n \n {\n setTungay(newValue);\n }}\n format=\"DD/MM/YYYY\"\n slotProps={{\n textField: {\n size: \"small\",\n onBlur: () => {\n if (dayjs(tungay).isAfter(dayjs(denngay))) {\n showNotificationCanhBaoNgay();\n }\n },\n },\n }}\n views={[\"day\", \"month\", \"year\"]}\n sx={{\n \"& .MuiInputBase-root\": {\n height: 33,\n \"& fieldset\": {\n borderColor: \"#d900d2\",\n },\n \"&:hover fieldset\": {\n borderColor: \"red\",\n },\n \"&.Mui-focused fieldset\": {\n borderColor: \"green\",\n },\n },\n svg: { color: \"#d900d2\" },\n input: { color: \"#d900d2\" },\n label: { color: \"#d900d2\" },\n }}\n />\n \n \n \n \n {\n setDenngay(newValue);\n //gettrongthang(newValue);\n }}\n format=\"DD/MM/YYYY\"\n slotProps={{\n textField: {\n size: \"small\",\n onBlur: () => {\n if (dayjs(tungay).isAfter(dayjs(denngay))) {\n showNotificationCanhBaoNgay();\n }\n },\n },\n }}\n views={[\"day\", \"month\", \"year\"]}\n sx={{\n \"& .MuiInputBase-root\": {\n height: 33,\n \"& fieldset\": {\n borderColor: \"#d900d2\",\n },\n \"&:hover fieldset\": {\n borderColor: \"red\",\n },\n \"&.Mui-focused fieldset\": {\n borderColor: \"green\",\n },\n },\n svg: { color: \"#d900d2\" },\n input: { color: \"#d900d2\" },\n label: { color: \"#d900d2\" },\n }}\n />\n \n \n \n \n \n \n \n \n \n

Số dự án/ Tổng vốn đầu tư

\n \n

\n {tongvontrongtheotg.toLocaleString()} VNĐ\n

\n
\n \n
\n \n Tổng số dự án\n
\n
\n
\n
\n \n
\n
\n \n \n
\n
\n
\n
\n DỰ ÁN TRONG NƯỚC/FDI\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n DỰ ÁN THEO KHU VỰC\n
\n
\n
\n \n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n DỰ ÁN THEO LĨNH VỰC\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n
\n \n
\n
\n THỐNG KÊ THEO ĐỊA BÀN\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n \n \n \n \n \n \n \n \n \n Thông tin các dự án\n \n \n \n \n \n \n \n \n \n \n \n \n \n row.stt}\n rows={duan}\n getRowClassName={(params) =>\n `super-app-theme--${params.row.status}`\n }\n columns={dacolumn}\n checkboxSelection={false}\n getRowHeight={() => \"auto\"}\n headerHeight={35}\n sx={datagridSx}\n pageSize={pageSize}\n onPageSizeChange={(newPageSize) =>\n setPageSize(newPageSize)\n }\n rowsPerPageOptions={[20, 50, 100]}\n pagination\n initialState={{\n filter: {\n filterModel: {\n items: [],\n quickFilterLogicOperator: GridLinkOperator.Or,\n },\n },\n }}\n components={{ Toolbar: quickSearchToolbar }}\n />\n
\n
\n \n \n \n \n \n \n \n \n \n \n setAlert(false)}\n close\n />\n \n \n \n );\n}\n","import { whiteColor } from \"assets/jss/material-dashboard-react.js\";\n\nimport dropdownStyle from \"assets/jss/material-dashboard-react/dropdownStyle.js\";\n\nconst tableviewStyle = (theme) => ({\n ...dropdownStyle(theme),\n search: {\n \"& > div\": {\n marginTop: \"0\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: \"10px 15px !important\",\n float: \"none !important\",\n paddingTop: \"1px\",\n paddingBottom: \"1px\",\n padding: \"0!important\",\n width: \"60%\",\n marginTop: \"40px\",\n \"& input\": {\n color: whiteColor,\n },\n },\n },\n table: {\n width: \"100%\",\n height: \"100%\",\n fontSize: \"0.85vw\",\n overflow: \"auto\",\n borderSpacing: \"0\",\n },\n tableview_th: {\n border: \"0.1px solid #4f7edb\",\n textAlign: \"center\",\n },\n tableview_td: {\n border: \"0.1px solid #4f7edb\",\n textAlign: \"center\",\n },\n});\n\nexport default tableviewStyle;\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport PropTypes from \"prop-types\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\n// Bộ lọc có tính toán tỉ lệ phần trăm giải ngân vốn - dành cho menu Tiến Độ Dự Án\r\nexport default function Boloc1(props) {\r\n const {\r\n opentimkiem,\r\n handleClosetimkiem,\r\n handleOpenCloseBackdrop,\r\n handleSetResult,\r\n } = props;\r\n const classes = useStyles();\r\n // const [data, setData] = React.useState([]);\r\n const [tungay, setTungay] = React.useState(dayjs(\"2015-01-01\"));\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [tinhtrangduan, setTinhtrangduan] = React.useState([]);\r\n const [tinhtrangduanVL, setTinhtrangduanVL] = React.useState(null);\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState(null);\r\n const [tinhtrangkyquy, setTinhtrangkyquy] = React.useState([]);\r\n const [tinhtrangkyquyVL, setTinhtrangkyquyVL] = React.useState(null);\r\n const [loaivipham, setLoaivipham] = React.useState([]);\r\n const [loaiviphamVL, setLoaiviphamVL] = React.useState(null);\r\n const [tiendoduan, setTiendoduan] = React.useState([]);\r\n const [tiendoduanVL, setTiendoduanVL] = React.useState(null);\r\n const [chutruong, setChutruong] = React.useState([]);\r\n const [chutruongVL, setChutruongVL] = React.useState(null);\r\n const [quyetdinhdieuchinh, setQuyetdinhdieuchinh] = React.useState([]);\r\n const [quyetdinhdieuchinhVL, setQuyetdinhdieuchinhVL] = React.useState(null);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangduan = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangduan?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangduan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangkyquy = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangkyquy?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangkyquy(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getloaivipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmloaivipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLoaivipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettiendoduan = () => {\r\n var dmtiendoduans = [];\r\n dmtiendoduans.push({ id: 1, ten: \"Đúng hạn\" });\r\n dmtiendoduans.push({ id: 2, ten: \"Sắp trễ hạn giai đoạn\" });\r\n dmtiendoduans.push({ id: 3, ten: \"Trễ hạn giai đoạn\" });\r\n dmtiendoduans.push({ id: 4, ten: \"Sắp trễ hạn toàn dự án\" });\r\n dmtiendoduans.push({ id: 5, ten: \"Trễ hạn toàn dự án\" });\r\n setTiendoduan(dmtiendoduans);\r\n };\r\n const getchutruong = () => {\r\n var dmchutruongs = [];\r\n dmchutruongs.push({ id: 1, ten: \"Số QĐ phê duyệt\" });\r\n dmchutruongs.push({ id: 2, ten: \"Giấy chứng nhận ĐKĐT\" });\r\n setChutruong(dmchutruongs);\r\n };\r\n const getquyetdinhdieuchinh = () => {\r\n var dmquyetdinhdieuchinhs = [];\r\n dmquyetdinhdieuchinhs.push({ id: 1, ten: \"Có quyết định điều chỉnh\" });\r\n dmquyetdinhdieuchinhs.push({\r\n id: 2,\r\n ten: \"Không có quyết định điều chỉnh\",\r\n });\r\n setQuyetdinhdieuchinh(dmquyetdinhdieuchinhs);\r\n };\r\n const timkiem = () => {\r\n handleOpenCloseBackdrop(true);\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n let diaban = [];\r\n if (diadiemVL) {\r\n diadiemVL.map((row) => {\r\n diaban.push({ id: row.id });\r\n });\r\n } else {\r\n diaban.push({ id: 0 });\r\n }\r\n let linhvuc = [];\r\n if (linhvucVL) {\r\n linhvucVL.map((row) => {\r\n linhvuc.push({ id: row.id });\r\n });\r\n } else {\r\n linhvuc.push({ id: 0 });\r\n }\r\n let khuvucdautu = [];\r\n if (khuvucVL) {\r\n khuvucVL.map((row) => {\r\n khuvucdautu.push({ id: row.id });\r\n });\r\n } else {\r\n khuvucdautu.push({ id: 0 });\r\n }\r\n let nguonvon = [];\r\n if (nguonvonVL) {\r\n nguonvonVL.map((row) => {\r\n nguonvon.push({ id: row.id });\r\n });\r\n } else {\r\n nguonvon.push({ id: 0 });\r\n }\r\n let tinhtrang = [];\r\n if (tinhtrangduanVL) {\r\n tinhtrangduanVL.map((row) => {\r\n tinhtrang.push({ id: row.id });\r\n });\r\n } else {\r\n tinhtrang.push({ id: 0 });\r\n }\r\n var chudautu = [];\r\n if (chudautuVL) {\r\n chudautuVL.map((row) => {\r\n chudautu.push({ id: row.id });\r\n });\r\n } else {\r\n chudautu.push({ id: 0 });\r\n }\r\n var tinhtrangkq = [];\r\n if (tinhtrangkyquyVL) {\r\n tinhtrangkyquyVL.map((row) => {\r\n tinhtrangkq.push({ id: row.id });\r\n });\r\n } else {\r\n tinhtrangkq.push({ id: 0 });\r\n }\r\n var vipham = [];\r\n if (loaiviphamVL) {\r\n loaiviphamVL.map((row) => {\r\n vipham.push({ id: row.id });\r\n });\r\n } else {\r\n vipham.push({ id: 0 });\r\n }\r\n var tiendo = [];\r\n if (tiendoduanVL) {\r\n tiendoduanVL.map((row) => {\r\n tiendo.push({ id: row.id });\r\n });\r\n } else {\r\n tiendo.push({ id: 0 });\r\n }\r\n var chutr = [];\r\n if (chutruongVL) {\r\n chutruongVL.map((row) => {\r\n chutr.push({ id: row.id });\r\n });\r\n } else {\r\n chutr.push({ id: 0 });\r\n }\r\n var qddieuchinh = [];\r\n if (quyetdinhdieuchinhVL) {\r\n quyetdinhdieuchinhVL.map((row) => {\r\n qddieuchinh.push({ id: row.id });\r\n });\r\n } else {\r\n qddieuchinh.push({ id: 0 });\r\n }\r\n\r\n var url = Config.backend + \"/api/DuanChuDauTu/tracuuduanboloc1\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n tungay: tu,\r\n denngay: den,\r\n diaban_id: diaban.length > 0 ? diaban : [{ id: 0 }],\r\n linhvuc_id: linhvuc.length > 0 ? linhvuc : [{ id: 0 }],\r\n khuvucdautu_id: khuvucdautu.length > 0 ? khuvucdautu : [{ id: 0 }],\r\n nguonvondautu_id: nguonvon.length > 0 ? nguonvon : [{ id: 0 }],\r\n tinhtrangduan_id: tinhtrang.length > 0 ? tinhtrang : [{ id: 0 }],\r\n chudautu_id: chudautu.length > 0 ? chudautu : [{ id: 0 }],\r\n tinhtrangkyquy_id: tinhtrangkq.length > 0 ? tinhtrangkq : [{ id: 0 }],\r\n loaivipham_id: vipham.length > 0 ? vipham : [{ id: 0 }],\r\n trangthaitiendothuchienduan: tiendo.length > 0 ? tiendo : [{ id: 0 }],\r\n chutruong: chutr.length > 0 ? chutr : [{ id: 0 }],\r\n quyetdinhdieuchinh: qddieuchinh.length > 0 ? qddieuchinh : [{ id: 0 }],\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n var phanTramVonGiaiNgan;\r\n for (const element of data) {\r\n phanTramVonGiaiNgan = Math.round(\r\n (element.vonthuchien_vnd_lk * 100) / element.vondangky_vnd\r\n );\r\n element.phantramtiendogiaingan = phanTramVonGiaiNgan;\r\n if (element.tinhtrangtiendo == \"Sắp trễ tiến độ giai đoạn\") {\r\n element.status = \"waring_gd\";\r\n } else if (element.tinhtrangtiendo == \"Sắp trễ tiến độ toàn dự án\") {\r\n element.status = \"waring_tda\";\r\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ giai đoạn\") {\r\n element.status = \"dangerous_gd\";\r\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ toàn dự án\") {\r\n element.status = \"dangerous_tda\";\r\n } else {\r\n element.status = \"normal\";\r\n }\r\n }\r\n // setData(data);\r\n handleSetResult(data);\r\n setDiadiemVL(null);\r\n setLinhvucVL(null);\r\n setKhuvucVL(null);\r\n setNguonvonVL(null);\r\n setTinhtrangduanVL(null);\r\n setChudautuVL(null);\r\n setTinhtrangkyquyVL(null);\r\n setLoaiviphamVL(null);\r\n setTiendoduanVL(null);\r\n setChutruongVL(null);\r\n setQuyetdinhdieuchinhVL(null);\r\n handleOpenCloseBackdrop(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n handleOpenCloseBackdrop(false);\r\n });\r\n handleClosetimkiem();\r\n };\r\n React.useEffect(() => {\r\n getdiadiem();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getnguonvon();\r\n gettinhtrangduan();\r\n getchudautu();\r\n gettinhtrangkyquy();\r\n getloaivipham();\r\n gettiendoduan();\r\n getchutruong();\r\n getquyetdinhdieuchinh();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tìm kiếm theo nhiều tiêu chí\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 37,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 37,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangduanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChutruongVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLoaiviphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTiendoduanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangkyquyVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setQuyetdinhdieuchinhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\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\nBoloc1.propTypes = {\r\n opentimkiem: PropTypes.bool,\r\n handleClosetimkiem: PropTypes.func,\r\n handleOpenCloseBackdrop: PropTypes.func,\r\n handleSetResult: PropTypes.func,\r\n};\r\n","import * as React from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport Box from \"@mui/material/Box\";\nimport PropTypes from \"prop-types\";\nimport Typography from \"@mui/material/Typography\";\nimport LinearProgress, {\n linearProgressClasses,\n} from \"@mui/material/LinearProgress\";\n\nconst BorderLinearProgress = styled(LinearProgress)(({ theme }) => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor:\n theme.palette.grey[theme.palette.mode === \"light\" ? 200 : 800],\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n backgroundColor: theme.palette.mode === \"light\" ? \"#1a90ff\" : \"#308fe8\",\n },\n}));\n\nCustomizedProgressBars.propTypes = {\n per: PropTypes.number,\n};\n\nexport default function CustomizedProgressBars(props) {\n const { per } = props;\n return (\n \n \n {`${Math.round(\n per\n )}%`}\n \n );\n}\n","import React from \"react\";\nimport { Chart } from \"react-google-charts\";\nimport { red, yellow, green } from \"@mui/material/colors\";\nimport PropTypes from \"prop-types\";\nconst Charttiendoduan = React.memo(function Charttiendoduan(props) {\n const { duan } = props;\n var soDuAnDungTienDo = 0;\n var soDuAnSapTreTienDoGD = 0;\n var soDuAnTreTienDoGD = 0;\n var soDuAnSapTreTienDoToanDA = 0;\n var soDuAnTreTienDoToanDA = 0;\n for (const element of duan) {\n if (element.tinhtrangtiendo == \"Sắp trễ tiến độ giai đoạn\") {\n soDuAnSapTreTienDoGD++;\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ giai đoạn\") {\n soDuAnTreTienDoGD++;\n } else if (element.tinhtrangtiendo == \"Sắp trễ tiến độ toàn dự án\") {\n soDuAnSapTreTienDoToanDA++;\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ toàn dự án\") {\n soDuAnTreTienDoToanDA++;\n } else if (element.tinhtrangtiendo == \"Đúng tiến độ\") {\n soDuAnDungTienDo++;\n }\n }\n const data = [\n [\"Task\", \"Tỷ lệ\", { role: \"style\" }],\n [\"Đúng tiến độ\", soDuAnDungTienDo, green[600]],\n [\"Trễ tiến độ giai đoạn\", soDuAnTreTienDoGD, red[200]],\n [\"Sắp trễ tiến độ giai đoạn\", soDuAnSapTreTienDoGD, yellow[200]],\n [\"Trễ tiến độ toàn dự án\", soDuAnTreTienDoToanDA, red[600]],\n [\"Sắp trễ tiến độ toàn dự án\", soDuAnSapTreTienDoToanDA, yellow[600]],\n ];\n return (\n Loading}\n data={data}\n height=\"99%\"\n options={{\n chartArea: {\n //marginTop: \"-30px\",\n width: \"110%\",\n height: \"90%\",\n },\n animation: {\n startup: true,\n easing: \"linear\",\n duration: 800,\n },\n //colors: [green[600], red[200], yellow[200], yellow[600]],\n }}\n />\n );\n});\nCharttiendoduan.propTypes = {\n duan: PropTypes.array,\n};\nexport default Charttiendoduan;\n","import React from \"react\";\nimport { Chart } from \"react-google-charts\";\nimport PropTypes from \"prop-types\";\nconst Charttiendogiaingan = React.memo(function Charttiendogiaingan(props) {\n const { duan } = props;\n var tongVonDuAnDungTienDo = 0;\n var tongVonDaGiaiNganDuAnDungTienDo = 0;\n\n var tongVonDuAnSapTreTienDoGD = 0;\n var tongVonDuAnTreTienDoGD = 0;\n var tongVonDaGiaiNganDuAnSapTreTienDoGD = 0;\n var tongVonDaGiaiNganDuAnTreTienDoGD = 0;\n\n var tongVonDuAnSapTreTienDoTda = 0;\n var tongVonDuAnTreTienDoTda = 0;\n var tongVonDaGiaiNganDuAnSapTreTienDoTda = 0;\n var tongVonDaGiaiNganDuAnTreTienDoTda = 0;\n for (const element of duan) {\n if (element.tinhtrangtiendo == \"Sắp trễ tiến độ giai đoạn\") {\n tongVonDuAnSapTreTienDoGD += element.vondangky_vnd;\n tongVonDaGiaiNganDuAnSapTreTienDoGD += element.vonthuchien_vnd_lk;\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ giai đoạn\") {\n tongVonDuAnTreTienDoGD += element.vondangky_vnd;\n tongVonDaGiaiNganDuAnTreTienDoGD += element.vonthuchien_vnd_lk;\n } else if (element.tinhtrangtiendo == \"Sắp trễ tiến độ toàn dự án\") {\n tongVonDuAnSapTreTienDoTda += element.vondangky_vnd;\n tongVonDaGiaiNganDuAnSapTreTienDoTda += element.vonthuchien_vnd_lk;\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ toàn dự án\") {\n tongVonDuAnTreTienDoTda += element.vondangky_vnd;\n tongVonDaGiaiNganDuAnTreTienDoTda += element.vonthuchien_vnd_lk;\n } else {\n tongVonDuAnDungTienDo += element.vondangky_vnd;\n tongVonDaGiaiNganDuAnDungTienDo += element.vonthuchien_vnd_lk;\n }\n }\n const data = [\n [\"Element\", \"Tổng vốn\", \"Vốn đã giải ngân\"],\n [\n \"Dự án đúng tiến độ\",\n tongVonDuAnDungTienDo,\n tongVonDaGiaiNganDuAnDungTienDo,\n ],\n [\n \"Dự án sắp trễ tiến độ giai đoạn\",\n tongVonDuAnSapTreTienDoGD,\n tongVonDaGiaiNganDuAnSapTreTienDoGD,\n ],\n [\n \"Dự án trễ tiến độ giai đoạn\",\n tongVonDuAnTreTienDoGD,\n tongVonDaGiaiNganDuAnTreTienDoGD,\n ],\n [\n \"Dự án sắp trễ tiến độ toàn dự án\",\n tongVonDuAnSapTreTienDoTda,\n tongVonDaGiaiNganDuAnSapTreTienDoTda,\n ],\n [\n \"Dự án trễ tiến độ toàn dự án\",\n tongVonDuAnTreTienDoTda,\n tongVonDaGiaiNganDuAnTreTienDoTda,\n ],\n ];\n return (\n Loading}\n height=\"99%\"\n data={data}\n options={{\n chartArea: {\n width: \"50%\",\n height: \"80%\",\n },\n }}\n />\n );\n});\nCharttiendogiaingan.propTypes = {\n duan: PropTypes.array,\n};\nexport default Charttiendogiaingan;\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n};\r\n\r\nconst Thongtinchitietduan = React.memo(function Thongtinchitietduan(props) {\r\n const { duan_id } = props;\r\n const vongopcolumn: GridColDef[] = [\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Tên nhà đầu tư\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongop_vnd\",\r\n headerName: \"Số vốn góp (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vongop_usd\",\r\n headerName: \"Số vốn góp (USD)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tyle\",\r\n headerName: \"Tỷ lệ (%)\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tiendo\",\r\n headerName: \"Tiến độ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const vonvaycolumn: GridColDef[] = [\r\n {\r\n field: \"vonvay_vnd\",\r\n headerName: \"Vốn vay (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vonvay_usd\",\r\n headerName: \"Vốn vay (USB)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"giaidoan\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const classes = useStyles();\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [thoidiemcapduan, setThoidiemcapduan] = React.useState(dayjs());\r\n const [ngaycapquyetdinh, setNgaycapquyetdinh] = React.useState(dayjs());\r\n const [duandenngay, setDuandenngay] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [giaychungnhandkdt, setGiaychungnhandkdt] = React.useState(\"\");\r\n const [vondangky_vnd, setVondangky_vnd] = React.useState(0);\r\n const [vondangky_usd, setVondangky_usd] = React.useState(0);\r\n const [diadiemthuchien, setDiadiemthuchien] = React.useState(\"\");\r\n const [diaban, setDiaban] = React.useState(\"\");\r\n const [dientich, setDientich] = React.useState(0);\r\n const [muctieu, setMuctieu] = React.useState(\"\");\r\n const [quymo, setQuymo] = React.useState(\"\");\r\n const [linhvuc, setLinhvuc] = React.useState(\"\");\r\n const [khuvuc, setKhuvuc] = React.useState(\"\");\r\n const [quocgia, setQuocgia] = React.useState(\"\");\r\n const [nguonvon, setNguonvon] = React.useState(\"\");\r\n const [uudaihotro, setUudaihotro] = React.useState(\"\");\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [ccnkktkcn, setCcnkktkcn] = React.useState(\"\");\r\n const [laodong_vn_dangky, setLaodong_vn_dangky] = React.useState(0);\r\n const [laodong_nn_dangky, setLaodong_nn_dangky] = React.useState(0);\r\n const [diachitruso, setDiachitruso] = React.useState(\"\");\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState(\"\");\r\n const [gopvon, setGopvon] = React.useState([]);\r\n const [vonvay, setVonvay] = React.useState([]);\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const [linkluutru, setLinkluutru] = React.useState(\"\");\r\n const [opentiendo, setOpentiendo] = React.useState(false);\r\n const handleClosetiendo = () => {\r\n setOpentiendo(false);\r\n };\r\n\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduaniddieuchinh?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMaduan(data[0].maduan);\r\n setTenduan(data[0].tenduan);\r\n if (data[0].diadiemthuchien)\r\n setDiadiemthuchien(data[0].diadiemthuchien);\r\n if (data[0].diachitruso) setDiachitruso(data[0].diachitruso);\r\n setUudaihotro(data[0].uudaihotro);\r\n let [year, month, day] = data[0].thoidiemcapduan.split(\"-\");\r\n setThoidiemcapduan(dayjs(year + \"-\" + month + \"-\" + day));\r\n let [year1, month1, day1] = data[0].ngaycapquyetdinh.split(\"-\");\r\n setNgaycapquyetdinh(dayjs(year1 + \"-\" + month1 + \"-\" + day1));\r\n if (data[0].soquyetdinhpheduyet) setSoqdpd(data[0].soquyetdinhpheduyet);\r\n if (data[0].giaychungnhandkdt)\r\n setGiaychungnhandkdt(data[0].giaychungnhandkdt);\r\n setDientich(data[0].dientich);\r\n setVondangky_vnd(data[0].vondangky_vnd);\r\n setVondangky_usd(data[0].vondangky_usd);\r\n setMuctieu(data[0].muctieu);\r\n setQuymo(data[0].quymo);\r\n if (data[0].linkluutru) setLinkluutru(data[0].linkluutru);\r\n setLaodong_vn_dangky(data[0].laodong_vn_dangky);\r\n setLaodong_nn_dangky(data[0].laodong_nn_dangky);\r\n let [year2, month2, day2] = data[0].thoidiemhethan.split(\"-\");\r\n setDuandenngay(dayjs(year2 + \"-\" + month2 + \"-\" + day2));\r\n setLinhvuc(data[0].linhvuc);\r\n setKhuvuc(data[0].khuvucdautu);\r\n setDiaban(data[0].diaban);\r\n setQuocgia(data[0].quocgia);\r\n setNguonvon(data[0].nguonvondautu);\r\n if (data[0].coquanbanhanh_id > 0) {\r\n setCoquanbanhanh(data[0].coquanbanhanh);\r\n }\r\n if (data[0].ccnkktkcn_id > 0) {\r\n setCcnkktkcn(data[0].cnnkktkcn);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getchudaututheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautuduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n var defaultcdt = [];\r\n data.map((row) => {\r\n defaultcdt.push({\r\n id: row.chudautu_id,\r\n ten: row.chudautu,\r\n });\r\n });\r\n setChudautu(defaultcdt);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getvongop = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/baocao/gettiendothvongoptheoduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGopvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getvonvay = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/baocao/gettiendothvonvaytheoduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setVonvay(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const gettiendo = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/baocao/gettiendoththeoduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiendo(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n React.useEffect(() => {\r\n getduantheoid();\r\n getchudaututheoid();\r\n getvongop();\r\n getvonvay();\r\n gettiendo();\r\n }, []);\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n getOptionLabel={(option) => option.ten}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpentiendo(true)}\r\n style={{ height: \"35px\" }}\r\n >\r\n Tiến độ thực hiện\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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ến độ thực hiện 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 \r\n \r\n \r\n a) Tiến độ góp vốn và huy động vốn\r\n \r\n \r\n \r\n - Vốn góp:\r\n \r\n \r\n \r\n row.id}\r\n rows={gopvon}\r\n columns={vongopcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n - Vốn vay:\r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={vonvay}\r\n columns={vonvaycolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n b) Tiến độ thực hiện dự án:\r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\nThongtinchitietduan.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Thongtinchitietduan;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport Boloc1 from \"components/Util/Boloc1\";\r\nimport CustomizedProgressBars from \"components/Processbars/Processbar.js\";\r\nimport Charttiendoduan from \"components/Dashboard/Quanlytiendo/Charttiendoduan.js\";\r\nimport Charttiendogiaingan from \"components/Dashboard/Quanlytiendo/Charttiendogiaingan.js\";\r\nimport Thongtinchitietduan from \"components/Dashboard/Quanlytiendo/Thongtinchitietduan.js\";\r\nimport Baocaotiendoduanexcel from \"components/Xuatexcel/Baocaotiendoduanexcel.js\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport Button from \"@mui/material/Button\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Chip from \"@mui/material/Chip\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { whiteColor } from \"assets/jss/material-dashboard-react.js\";\r\nimport { red, yellow } from \"@mui/material/colors\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n // \"& .MuiDataGrid-row\": {\r\n // \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n // },\r\n \"& .super-app-theme--waring_gd\": {\r\n backgroundColor: yellow[200],\r\n },\r\n \"& .super-app-theme--waring_tda\": {\r\n backgroundColor: yellow[600],\r\n },\r\n \"& .super-app-theme--dangerous_gd\": {\r\n backgroundColor: red[200],\r\n },\r\n \"& .super-app-theme--dangerous_tda\": {\r\n backgroundColor: red[600],\r\n },\r\n \"& .super-app-theme--normal\": {\r\n backgroundColor: whiteColor,\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n};\r\n\r\nconst renderProcess = (params) => {\r\n return ;\r\n};\r\n\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\n\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 170,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 250,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 250,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"phantramtiendogiaingan\",\r\n headerName: \"Tỉ lệ vốn đã giải ngân(%)\",\r\n renderCell: renderProcess,\r\n type: \"number\",\r\n width: 200,\r\n },\r\n {\r\n field: \"tiendothuchien\",\r\n headerName: \"Tiến độ dự án\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"tinhtrangtiendo\",\r\n headerName: \"Tiến độ thực tế\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vondangky_vnd\",\r\n headerName: \"Vốn đăng ký (VNĐ)\",\r\n type: \"number\",\r\n width: 200,\r\n headerAlign: \"right\",\r\n },\r\n {\r\n field: \"vonthuchien_vnd_lk\",\r\n headerName: \"Vốn đã giải ngân (VNĐ)\",\r\n type: \"number\",\r\n width: 200,\r\n headerAlign: \"right\",\r\n },\r\n];\r\n\r\nexport default function Quanlytiendoduan() {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [openthongtinchitietduan, setOpenthongtinchitietduan] = React.useState(\r\n false\r\n );\r\n const [opentimkiem, setOpentimkiem] = React.useState(false);\r\n const handleClosetimkiem = () => {\r\n setOpentimkiem(false);\r\n };\r\n const handleOpenCloseBackdrop = (val) => {\r\n setOpen(val);\r\n };\r\n const handleSetResult = (val) => {\r\n setDuan(val);\r\n };\r\n const handleClosethongtinchitietduan = () => {\r\n setOpenthongtinchitietduan(false);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n const getduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantheonamallfield?nam=\" +\r\n new Date().getFullYear() +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n var phanTramVonGiaiNgan;\r\n for (const element of data) {\r\n phanTramVonGiaiNgan = Math.round(\r\n (element.vonthuchien_vnd_lk * 100) / element.vondangky_vnd\r\n );\r\n element.phantramtiendogiaingan = phanTramVonGiaiNgan;\r\n if (element.tinhtrangtiendo == \"Sắp trễ tiến độ giai đoạn\") {\r\n element.status = \"waring_gd\";\r\n } else if (element.tinhtrangtiendo == \"Sắp trễ tiến độ toàn dự án\") {\r\n element.status = \"waring_tda\";\r\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ giai đoạn\") {\r\n element.status = \"dangerous_gd\";\r\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ toàn dự án\") {\r\n element.status = \"dangerous_tda\";\r\n } else {\r\n element.status = \"normal\";\r\n }\r\n }\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getduan();\r\n }, []);\r\n return (\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n TIẾN ĐỘ 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
\r\n
\r\n
\r\n \r\n TIẾN ĐỘ GIẢI NGÂN VỐN\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n setOpentimkiem(true)}\r\n style={{ height: 30 }}\r\n >\r\n Bộ lọc\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duan}\r\n getRowClassName={(params) =>\r\n `super-app-theme--${params.row.status}`\r\n }\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(event) => {\r\n if (!event.ctrlKey) {\r\n setOpenthongtinchitietduan(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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 tin 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
\r\n );\r\n}\r\n","import { hexToRgb, whiteColor } from \"assets/jss/material-dashboard-react.js\";\n\nconst customTabsStyle = {\n cardTitle: {\n float: \"left\",\n padding: \"10px 10px 10px 0px\",\n lineHeight: \"24px\",\n },\n cardTitleRTL: {\n float: \"right\",\n padding: \"10px 0px 10px 10px !important\",\n },\n displayNone: {\n display: \"none !important\",\n },\n tabsRoot: {\n minHeight: \"unset !important\",\n overflowX: \"visible\",\n \"& $tabRootButton\": {\n fontSize: \"0.875rem\",\n },\n height: \"35px\",\n marginTop: \"-12px\",\n },\n tabRootButton: {\n minHeight: \"unset !important\",\n minWidth: \"unset !important\",\n width: \"unset !important\",\n height: \"unset !important\",\n maxWidth: \"unset !important\",\n maxHeight: \"unset !important\",\n padding: \"10px 15px\",\n borderRadius: \"3px\",\n lineHeight: \"24px\",\n border: \"0 !important\",\n color: whiteColor + \" !important\",\n marginLeft: \"4px\",\n \"&:last-child\": {\n marginLeft: \"0px\",\n },\n marginTop: \"-5px\",\n },\n tabSelected: {\n backgroundColor: \"rgba(\" + hexToRgb(whiteColor) + \", 0.2)\",\n transition: \"0.2s background-color 0.1s\",\n },\n tabWrapper: {\n display: \"inline-block\",\n minHeight: \"unset !important\",\n minWidth: \"unset !important\",\n width: \"unset !important\",\n height: \"unset !important\",\n maxWidth: \"unset !important\",\n maxHeight: \"unset !important\",\n fontWeight: \"500\",\n fontSize: \"12px\",\n marginTop: \"1px\",\n \"& > svg,& > .material-icons\": {\n verticalAlign: \"middle\",\n margin: \"-1px 5px 0 0 !important\",\n },\n },\n};\n\nexport default customTabsStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// material-ui components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Tabs from \"@material-ui/core/Tabs\";\nimport Tab from \"@material-ui/core/Tab\";\n// core components\nimport Card from \"components/Card/Card.js\";\nimport CardBody from \"components/Card/CardBody.js\";\nimport CardHeader from \"components/Card/CardHeader.js\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/customTabsStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustomTabsGrid(props) {\n const [value, setValue] = React.useState(0);\n const handleChange = (event, value) => {\n setValue(value);\n };\n const classes = useStyles();\n const { headerColor, plainTabs, tabs, title, rtlActive } = props;\n const cardTitle = classNames({\n [classes.cardTitle]: true,\n [classes.cardTitleRTL]: rtlActive,\n });\n return (\n \n \n {title !== undefined ?
{title}
: null}\n \n {tabs.map((prop, key) => {\n var icon = {};\n if (prop.tabIcon) {\n icon = {\n icon: ,\n };\n }\n return (\n \n );\n })}\n \n
\n \n {tabs.map((prop, key) => {\n if (key === value) {\n return
{prop.tabContent}
;\n }\n return null;\n })}\n
\n
\n );\n}\n\nCustomTabsGrid.propTypes = {\n headerColor: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\",\n ]),\n title: PropTypes.string,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n tabName: PropTypes.string.isRequired,\n tabIcon: PropTypes.object,\n tabContent: PropTypes.node.isRequired,\n })\n ),\n rtlActive: PropTypes.bool,\n plainTabs: PropTypes.bool,\n};\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport DeleteForever from \"@mui/icons-material/DeleteForever\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst isSameOrAfter = require(\"dayjs/plugin/isSameOrAfter\");\r\ndayjs.extend(isSameOrAfter);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst ERROR_MESSAGE_2 = \"Lỗi dữ liệu nhập vào có giá trị Null\";\r\nconst ERROR_MESSAGE_3 = \"Lỗi ràng buộc dữ liệu\";\r\nconst ERROR_MESSAGE_4 = \"Lỗi Người dùng không tồn tại trên hệ thống\";\r\nconst ERROR_MESSAGE_6 = \"Lỗi trùng số quyết định\";\r\nconst ERROR_MESSAGE_7 = \"Lỗi trùng mã dự án\";\r\n\r\nconst Themduan = React.memo(function Themduan(props) {\r\n const { handleClose } = props;\r\n const classes = useStyles();\r\n const vongopcolumn: GridColDef[] = [\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên nhà đầu tư\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongop_vnd\",\r\n headerName: \"Số vốn góp (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n console.log(params.value);\r\n params.value.toLocaleString();\r\n },\r\n },\r\n {\r\n field: \"vongop_usd\",\r\n headerName: \"Số vốn góp (USD)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tyle\",\r\n headerName: \"Tỷ lệ (%)\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Tiến độ\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (gopvon.length <= 1) {\r\n setGopvon([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n gopvon.map((row, i) => {\r\n if (params.row.id !== i + 1) {\r\n tiendoth.push({\r\n id: j,\r\n chudautu_id: row.chudautu_id,\r\n ten: row.ten,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setGopvon(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const vonvaycolumn: GridColDef[] = [\r\n {\r\n field: \"vonvay_vnd\",\r\n headerName: \"Vốn vay (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vonvay_usd\",\r\n headerName: \"Vốn vay (USB)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick1 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (vonvay.length <= 1) {\r\n setVonvay([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n vonvay.map((row, i) => {\r\n if (params.row.id !== i + 1) {\r\n tiendoth.push({\r\n id: j,\r\n vonvay_usd: row.vonvay_usd,\r\n vonvay_vnd: row.vonvay_vnd,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setVonvay(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"giaidoan\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (tiendo.length <= 1) {\r\n setTiendo([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n tiendo.map((row, i) => {\r\n if (params.row.id !== i + 1) {\r\n tiendoth.push({\r\n id: j,\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan: row.giaidoan,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setTiendo(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [ngaycapquyetdinh, setNgaycapquyetdinh] = React.useState(dayjs());\r\n const [thoidiemcapduan, setThoidiemcapduan] = React.useState(dayjs());\r\n const [ngaycapchungnhan, setNgaycapchungnhan] = React.useState(null);\r\n const [duandenngay, setDuandenngay] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState([]);\r\n const [coquanbanhanhVL, setCoquanbanhanhVL] = React.useState(null);\r\n const [giaychungnhandkdt, setGiaychungnhandkdt] = React.useState(\"\");\r\n const [vondangky_vnd, setVondangky_vnd] = React.useState(0);\r\n const [vondangky_usd, setVondangky_usd] = React.useState(0);\r\n const [diachi, setDiachi] = React.useState(\"\");\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [dientich, setDientich] = React.useState(\"1000\");\r\n const [muctieu, setMuctieu] = React.useState(\"\");\r\n const [quymo, setQuymo] = React.useState(\"\");\r\n const [thoigianhoatdong, setThoigianhoatdong] = React.useState(1);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [quocgia, setQuocgia] = React.useState([]);\r\n const [quocgiaVL, setQuocgiaVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [uudaihotro, setUudaihotro] = React.useState(\r\n \"Thực hiện theo quy định của pháp luật\"\r\n );\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautu1, setChudautu1] = React.useState([]);\r\n const [chudautuID, setChudautuID] = React.useState(null);\r\n const [chudautuVL, setChudautuVL] = React.useState(0);\r\n const [ccnkktkcn, setCcnkktkcn] = React.useState([]);\r\n const [ccnkktkcnID, setCcnkktkcnID] = React.useState(0);\r\n const [vongop_vnd, setVongop_vnd] = React.useState(0);\r\n const [vongop_usd, setVongop_usd] = React.useState(0);\r\n const [tyle, setTyle] = React.useState(0);\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [vonvay_vnd, setVonvay_vnd] = React.useState(0);\r\n const [vonvay_usd, setVonvay_usd] = React.useState(0);\r\n const [noidungvay, setNoidungvay] = React.useState(\"\");\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [noidungtiendo, setNoidungtiendo] = React.useState(\"\");\r\n const [giaidoan, setGiaidoan] = React.useState([]);\r\n const [giaidoanVL, setGiaidoanVL] = React.useState(null);\r\n const [opentiendo, setOpentiendo] = React.useState(false);\r\n const [openthemcdt, setOpenthemcdt] = React.useState(false);\r\n const [laodong_vn_dangky, setLaodong_vn_dangky] = React.useState(0);\r\n const [laodong_nn_dangky, setLaodong_nn_dangky] = React.useState(0);\r\n const [diachitruso, setDiachitruso] = React.useState(\"\");\r\n const [linkluutru, setLinkluutru] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [alert3, setAlert3] = React.useState(false);\r\n const [alert4, setAlert4] = React.useState(false);\r\n const [alert5, setAlert5] = React.useState(false);\r\n const [alert6, setAlert6] = React.useState(false);\r\n const [alertError, setAlertError] = React.useState(false);\r\n const [messageError, setMessageError] = React.useState(\"\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [disableBT2, setDisableBT2] = React.useState(true);\r\n const [disableBT3, setDisableBT3] = React.useState(true);\r\n const [disableUSD, setDisableUSD] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosetiendo = () => {\r\n setOpentiendo(false);\r\n };\r\n const handleClosecdt = () => {\r\n setOpenthemcdt(false);\r\n getchudautu();\r\n };\r\n const [gopvon, setGopvon] = React.useState([]);\r\n const [vonvay, setVonvay] = React.useState([]);\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const [tenchudautu, setTenchudautu] = React.useState(\"\");\r\n const [giaycndkdn, setGiaycndkdn] = React.useState(\"\");\r\n const [giaycndkdnVL, setGiaycndkdnVL] = React.useState(\"\");\r\n const [diachicdt, setDiachicdt] = React.useState(\"\");\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanbanhanh(data);\r\n setCoquanbanhanhVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n setLinhvucVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n setKhuvucVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n getcumcongnghiep(data[0].id);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n setDiadiemVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getquocgia = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmquocgia?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuocgia(data);\r\n setQuocgiaVL({\r\n id: 241,\r\n ten: \"Viet Nam\",\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n setNguonvonVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getgiaidoan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmgiaidoantiendoduan?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGiaidoan(data);\r\n setGiaidoanVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcumcongnghiep = (id) => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmcckktkcn?phanloai=\" +\r\n id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCcnkktkcn(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themgopvon = () => {\r\n setGopvon((oldArray) => [\r\n ...oldArray,\r\n {\r\n id: gopvon.length + 1,\r\n chudautu_id: chudautuVL.id,\r\n ten: chudautuVL.ten,\r\n vongop_vnd: vongop_vnd,\r\n vongop_usd: vongop_usd,\r\n tyle: tyle,\r\n noidung: noidung,\r\n },\r\n ]);\r\n };\r\n const themvonvay = () => {\r\n setVonvay((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n id: vonvay.length + 1,\r\n vonvay_usd: vonvay_usd,\r\n vonvay_vnd: vonvay_vnd,\r\n noidung: noidungvay,\r\n },\r\n ]);\r\n };\r\n const themtiendo = () => {\r\n let check = tiendo.filter((value) => {\r\n return value.giaidoan_id === giaidoanVL.id;\r\n });\r\n if (check.length === 0) {\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n setTiendo((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n id: tiendo.length + 1,\r\n tungay: tu,\r\n denngay: den,\r\n giaidoan: giaidoanVL.ten,\r\n giaidoan_id: giaidoanVL.id,\r\n noidungthuchien: noidungtiendo,\r\n },\r\n ]);\r\n }\r\n };\r\n const insertduan = () => {\r\n let chudt = [];\r\n chudautuID.map((row) => {\r\n chudt.push({ id: row.id });\r\n });\r\n let tiendothuchien = [];\r\n if (tiendo.length > 0) {\r\n tiendo.map((row) => {\r\n tiendothuchien.push({\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n });\r\n } else {\r\n tiendothuchien = [];\r\n }\r\n let tiendothvonvay = [];\r\n if (vonvay.length > 0) {\r\n vonvay.map((row) => {\r\n tiendothvonvay.push({\r\n vonvay_vnd: row.vonvay_vnd,\r\n vonvay_usd: row.vonvay_usd,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvonvay = [];\r\n }\r\n let tiendothvongop = [];\r\n if (gopvon.length > 0) {\r\n gopvon.map((row) => {\r\n tiendothvongop.push({\r\n chudautu_id: row.chudautu_id,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvongop = [];\r\n }\r\n var ngayduan =\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n String(thoidiemcapduan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n thoidiemcapduan.$D;\r\n var ngayquyetdinh =\r\n ngaycapquyetdinh.$y +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n var ngaychungnhan = null;\r\n if (ngaychungnhan) {\r\n ngaychungnhan =\r\n ngaycapchungnhan.$y +\r\n \"-\" +\r\n String(ngaycapchungnhan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapchungnhan.$D;\r\n }\r\n var hethan =\r\n duandenngay.$y +\r\n \"-\" +\r\n String(duandenngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n duandenngay.$D;\r\n var url = Config.backend + \"/api/DanhMuc/themduan\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n chudautu: chudt,\r\n tenduan: tenduan,\r\n maduan: maduan,\r\n coquanbanhanh_id: coquanbanhanhVL.id,\r\n thoidiemcapduan: ngayduan,\r\n soquyetdinhpheduyet: soqdpd,\r\n ngaycapquyetdinh: ngayquyetdinh,\r\n giaychungnhandkdt: giaychungnhandkdt,\r\n ngaycapgiaycndkdt: ngaychungnhan,\r\n diadiemthuchien: diachi,\r\n diaban_id: diadiemVL.id,\r\n dientich: dientich,\r\n vondangky_vnd: vondangky_vnd,\r\n vondangky_usd: vondangky_usd,\r\n muctieu: muctieu,\r\n quymo: quymo,\r\n linhvuc_id: linhvucVL.id,\r\n khuvucdautu_id: khuvucVL.id,\r\n quocgia_id: quocgiaVL.id,\r\n nguonvondautu_id: nguonvonVL.id,\r\n uudaihotro: uudaihotro,\r\n linkluutru: linkluutru,\r\n thoidiemhethan: hethan,\r\n tiendothuchien: tiendothuchien,\r\n tiendothvonvay: tiendothvonvay,\r\n tiendothvongop: tiendothvongop,\r\n laodong_vn_dangky: laodong_vn_dangky,\r\n laodong_nn_dangky: laodong_nn_dangky,\r\n diachitruso: diachitruso,\r\n ccnkktkcn_id: ccnkktkcnID > 0 ? ccnkktkcnID : null,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setTimeout(function () {\r\n handleClose();\r\n }, 2000);\r\n } else {\r\n showError(data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const insertchudautu = () => {\r\n var url = Config.backend + \"/api/DanhMuc/themchudautu\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: tenchudautu,\r\n diachi: diachicdt,\r\n sodienthoai: \"\",\r\n email: \"\",\r\n ghichu: \"\",\r\n nguoidaidien: \"\",\r\n giaycndkdn: giaycndkdn,\r\n donvicapgiaycn: \"\",\r\n ngaycapgiaycn: \"2023-01-01\",\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n handleClosecdt();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showError = (data) => {\r\n if (data === 2) {\r\n setMessageError(ERROR_MESSAGE_2);\r\n } else if (data === 3) {\r\n setMessageError(ERROR_MESSAGE_3);\r\n } else if (data === 4) {\r\n setMessageError(ERROR_MESSAGE_4);\r\n } else if (data === 6) {\r\n setMessageError(ERROR_MESSAGE_6);\r\n } else if (data === 7) {\r\n setMessageError(ERROR_MESSAGE_7);\r\n } else {\r\n setMessageError(\"ERROR\");\r\n }\r\n setAlertError(true);\r\n setTimeout(function () {\r\n setAlertError(false);\r\n setMessageError(\"\");\r\n }, 6000);\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 3000);\r\n };\r\n const showNotificationCanhBaoSoAm = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayBatDauNgayKetThuc = () => {\r\n setAlert3(true);\r\n setTimeout(function () {\r\n setAlert3(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh = () => {\r\n setAlert4(true);\r\n setTimeout(function () {\r\n setAlert4(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaogiaycndkdn = () => {\r\n setAlert5(true);\r\n setTimeout(function () {\r\n setAlert5(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaodinhdangSQD = () => {\r\n setAlert6(true);\r\n setTimeout(function () {\r\n setAlert6(false);\r\n }, 6000);\r\n };\r\n const disablebutton = () => {\r\n if (\r\n tenduan.trim().length > 0 &&\r\n maduan.trim().length > 0 &&\r\n (soqdpd.trim().length > 0 || giaychungnhandkdt.trim().length > 0) &&\r\n chudautuID !== null &&\r\n vondangky_vnd > 0 &&\r\n vondangky_usd >= 0 &&\r\n dientich >= 0 &&\r\n thoigianhoatdong >= 0 &&\r\n laodong_vn_dangky >= 0 &&\r\n laodong_nn_dangky >= 0 &&\r\n giaycndkdnVL.trim().length > 0 &&\r\n //soqdpd.includes(\"/\") &&\r\n dayjs(duandenngay).isSameOrAfter(dayjs(ngaycapquyetdinh)) &&\r\n dayjs(duandenngay).isSameOrAfter(dayjs(thoidiemcapduan)) &&\r\n dayjs(thoidiemcapduan).isSameOrAfter(dayjs(ngaycapquyetdinh))\r\n ) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [\r\n tenduan,\r\n maduan,\r\n soqdpd,\r\n chudautuID,\r\n vondangky_vnd,\r\n vondangky_usd,\r\n dientich,\r\n laodong_vn_dangky,\r\n laodong_nn_dangky,\r\n giaycndkdnVL,\r\n thoigianhoatdong,\r\n duandenngay,\r\n ngaycapquyetdinh,\r\n thoidiemcapduan,\r\n giaychungnhandkdt,\r\n ]);\r\n const disablebutton1 = () => {\r\n if (chudautuVL.id > 0 && vongop_vnd > 0 && vongop_usd >= 0) {\r\n setDisableBT1(false);\r\n } else {\r\n setDisableBT1(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton1();\r\n }, [chudautuVL, vongop_vnd, vongop_usd]);\r\n const disablebutton2 = () => {\r\n if (vonvay_vnd > 0 && vonvay_usd >= 0) {\r\n setDisableBT2(false);\r\n } else {\r\n setDisableBT2(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton2();\r\n }, [vonvay_vnd, vonvay_usd]);\r\n const disablebutton3 = () => {\r\n if (dayjs(denngay).isSameOrAfter(dayjs(tungay))) {\r\n setDisableBT3(false);\r\n } else {\r\n setDisableBT3(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton3();\r\n }, [tungay, denngay]);\r\n React.useEffect(() => {\r\n getcoquanbanhanh();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getdiadiem();\r\n getquocgia();\r\n getnguonvon();\r\n getchudautu();\r\n getgiaidoan();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={nguonvon}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n if (value.id === 1) {\r\n setDisableUSD(true);\r\n } else {\r\n setDisableUSD(false);\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={quocgia}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setQuocgiaVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenthemcdt(true)}\r\n style={{ height: \"35px\" }}\r\n >\r\n Thêm chủ đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautu1(value);\r\n if (value[0]) {\r\n setChudautuID(value);\r\n setDiachitruso(value[0].diachi);\r\n if (value[0].giaycndkdn.trim().length === 0) {\r\n showNotificationCanhBaogiaycndkdn();\r\n }\r\n setGiaycndkdnVL(value[0].giaycndkdn);\r\n setChudautuVL({\r\n id: value[0].id,\r\n ten: value[0].ten,\r\n });\r\n setMaduan(\r\n soqdpd.split(\"/\")[0] +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n value[0].giaycndkdn\r\n );\r\n } else {\r\n setChudautuID(null);\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTenduan(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n dayjs(thoidiemcapduan).isBefore(\r\n dayjs(ngaycapquyetdinh)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n if (\r\n dayjs(thoidiemcapduan).isAfter(dayjs(duandenngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanbanhanh}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanbanhanhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setSoqdpd(event.target.value);\r\n if (event.target.value.length > 0) {\r\n setMaduan(\r\n event.target.value.split(\"/\")[0] +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n } else {\r\n setMaduan(\r\n giaychungnhandkdt +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n onBlur={(event) => {\r\n if (!event.target.value.includes(\"/\")) {\r\n showNotificationCanhBaodinhdangSQD();\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapquyetdinh(newValue);\r\n setThoidiemcapduan(newValue);\r\n if (soqdpd.length > 0) {\r\n setMaduan(\r\n soqdpd.split(\"/\")[0] +\r\n \"-\" +\r\n newValue.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n } else {\r\n setMaduan(\r\n giaychungnhandkdt +\r\n \"-\" +\r\n newValue.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n }\r\n setThoigianhoatdong(duandenngay.$y - newValue.$y);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(ngaycapquyetdinh).isAfter(\r\n dayjs(thoidiemcapduan)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setGiaychungnhandkdt(event.target.value);\r\n if (soqdpd.length === 0) {\r\n setMaduan(\r\n event.target.value +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapchungnhan(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachitruso(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={khuvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n getcumcongnghiep(value.id);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={diadiem}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMuctieu(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setQuymo(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDientich(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setThoigianhoatdong(event.target.value);\r\n var ngay =\r\n ngaycapquyetdinh.$y +\r\n Number(event.target.value) +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n setDuandenngay(dayjs(ngay));\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDuandenngay(newValue);\r\n setThoigianhoatdong(newValue.$y - ngaycapquyetdinh.$y);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(duandenngay).isBefore(dayjs(thoidiemcapduan))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={linhvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setCcnkktkcnID(value.id);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_vn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_nn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n setOpentiendo(true)}\r\n style={{ height: \"35px\" }}\r\n >\r\n Tiến độ thực hiện\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setUudaihotro(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLinkluutru(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \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ến độ thực hiện 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 \r\n \r\n \r\n a) Tiến độ góp vốn và huy động vốn\r\n \r\n \r\n \r\n - Vốn góp:\r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={chudautu1}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTyle(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={gopvon}\r\n columns={vongopcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n - Vốn vay:\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungvay(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={vonvay}\r\n columns={vonvaycolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n b) Tiến độ thực hiện dự án:\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(tungay).isAfter(dayjs(denngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(denngay).isBefore(dayjs(tungay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={giaidoan}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setGiaidoanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungtiendo(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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êm chủ đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTenchudautu(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setGiaycndkdn(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachicdt(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thê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 \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert4(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert5(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert6(false)}\r\n close\r\n />\r\n \r\n \r\n setAlertError(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n );\r\n});\r\nThemduan.propTypes = {\r\n handleClose: PropTypes.func,\r\n};\r\nexport default Themduan;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport DeleteForever from \"@mui/icons-material/DeleteForever\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst isSameOrAfter = require(\"dayjs/plugin/isSameOrAfter\");\r\ndayjs.extend(isSameOrAfter);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst ERROR_MESSAGE_2 = \"Lỗi dữ liệu nhập vào có giá trị Null\";\r\nconst ERROR_MESSAGE_3 = \"Lỗi ràng buộc dữ liệu\";\r\nconst ERROR_MESSAGE_4 = \"Lỗi Người dùng không tồn tại trên hệ thống\";\r\nconst ERROR_MESSAGE_6 = \"Lỗi trùng số quyết định\";\r\nconst ERROR_MESSAGE_7 = \"Lỗi trùng mã dự án\";\r\n\r\nconst Capnhatduan = React.memo(function Capnhatduan(props) {\r\n const { duan_id, logid, handleClosesua } = props;\r\n const vongopcolumn: GridColDef[] = [\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Tên nhà đầu tư\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongop_vnd\",\r\n headerName: \"Số vốn góp (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vongop_usd\",\r\n headerName: \"Số vốn góp (USD)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tyle\",\r\n headerName: \"Tỷ lệ (%)\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Tiến độ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick1 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (gopvon.length <= 1) {\r\n setGopvon([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n gopvon.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n chudautu_id: row.chudautu_id,\r\n chudautu: row.chudautu,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setGopvon(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const vonvaycolumn: GridColDef[] = [\r\n {\r\n field: \"vonvay_vnd\",\r\n headerName: \"Vốn vay (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vonvay_usd\",\r\n headerName: \"Vốn vay (USB)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (vonvay.length <= 1) {\r\n setVonvay([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n vonvay.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n vonvay_usd: row.vonvay_usd,\r\n vonvay_vnd: row.vonvay_vnd,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setVonvay(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"giaidoan\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (tiendo.length <= 1) {\r\n setTiendo([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n tiendo.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan: row.giaidoan,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setTiendo(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const classes = useStyles();\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [ngaycapquyetdinh, setNgaycapquyetdinh] = React.useState(dayjs());\r\n const [thoidiemcapduan, setThoidiemcapduan] = React.useState(dayjs());\r\n const [ngaycapchungnhan, setNgaycapchungnhan] = React.useState(null);\r\n const [duandenngay, setDuandenngay] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState([]);\r\n const [coquanbanhanhVL, setCoquanbanhanhVL] = React.useState(null);\r\n const [giaychungnhandkdt, setGiaychungnhandkdt] = React.useState(\"\");\r\n const [vondangky_vnd, setVondangky_vnd] = React.useState(0);\r\n const [vondangky_usd, setVondangky_usd] = React.useState(0);\r\n const [diachi, setDiachi] = React.useState(\"\");\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [dientich, setDientich] = React.useState(\"1000\");\r\n const [muctieu, setMuctieu] = React.useState(\"\");\r\n const [quymo, setQuymo] = React.useState(\"\");\r\n const [thoigianhoatdong, setThoigianhoatdong] = React.useState(1);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [quocgia, setQuocgia] = React.useState([]);\r\n const [quocgiaVL, setQuocgiaVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [uudaihotro, setUudaihotro] = React.useState(\"\");\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautu1, setChudautu1] = React.useState([]);\r\n const [chudautuID, setChudautuID] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState(0);\r\n const [ccnkktkcn, setCcnkktkcn] = React.useState([]);\r\n const [ccnkktkcnVL, setCcnkktkcnVL] = React.useState(null);\r\n const [vongop_vnd, setVongop_vnd] = React.useState(0);\r\n const [vongop_usd, setVongop_usd] = React.useState(0);\r\n const [tyle, setTyle] = React.useState(0);\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [vonvay_vnd, setVonvay_vnd] = React.useState(0);\r\n const [vonvay_usd, setVonvay_usd] = React.useState(0);\r\n const [noidungvay, setNoidungvay] = React.useState(\"\");\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [noidungtiendo, setNoidungtiendo] = React.useState(\"\");\r\n const [giaidoan, setGiaidoan] = React.useState([]);\r\n const [giaidoanVL, setGiaidoanVL] = React.useState(null);\r\n const [laodong_vn_dangky, setLaodong_vn_dangky] = React.useState(0);\r\n const [laodong_nn_dangky, setLaodong_nn_dangky] = React.useState(0);\r\n const [diachitruso, setDiachitruso] = React.useState(\"\");\r\n const [linkluutru, setLinkluutru] = React.useState(\"\");\r\n const [opentiendo, setOpentiendo] = React.useState(false);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [alert3, setAlert3] = React.useState(false);\r\n const [alert4, setAlert4] = React.useState(false);\r\n const [alert5, setAlert5] = React.useState(false);\r\n const [alert6, setAlert6] = React.useState(false);\r\n const [alertError, setAlertError] = React.useState(false);\r\n const [messageError, setMessageError] = React.useState(\"\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [disableBT2, setDisableBT2] = React.useState(true);\r\n const [disableBT3, setDisableBT3] = React.useState(true);\r\n const [disableUSD, setDisableUSD] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosetiendo = () => {\r\n setOpentiendo(false);\r\n };\r\n const [gopvon, setGopvon] = React.useState([]);\r\n const [vonvay, setVonvay] = React.useState([]);\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const [giaycndkdnVL, setGiaycndkdnVL] = React.useState(\"\");\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduanlogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMaduan(data[0].maduan);\r\n setTenduan(data[0].tenduan);\r\n if (data[0].diadiemthuchien) setDiachi(data[0].diadiemthuchien);\r\n if (data[0].diachitruso) setDiachitruso(data[0].diachitruso);\r\n setUudaihotro(data[0].uudaihotro);\r\n let [year, month, day] = data[0].thoidiemcapduan.split(\"-\");\r\n setThoidiemcapduan(dayjs(year + \"-\" + month + \"-\" + day));\r\n if (data[0].ngaycapquyetdinh) {\r\n let [year1, month1, day1] = data[0].ngaycapquyetdinh.split(\"-\");\r\n setNgaycapquyetdinh(dayjs(year1 + \"-\" + month1 + \"-\" + day1));\r\n }\r\n if (data[0].ngaycapgiaycndkdt) {\r\n let [year2, month2, day2] = data[0].ngaycapgiaycndkdt.split(\"-\");\r\n setNgaycapchungnhan(dayjs(year2 + \"-\" + month2 + \"-\" + day2));\r\n }\r\n if (data[0].soquyetdinhpheduyet) setSoqdpd(data[0].soquyetdinhpheduyet);\r\n if (data[0].giaychungnhandkdt)\r\n setGiaychungnhandkdt(data[0].giaychungnhandkdt);\r\n setDientich(data[0].dientich);\r\n setVondangky_vnd(data[0].vondangky_vnd);\r\n setVondangky_usd(data[0].vondangky_usd);\r\n setMuctieu(data[0].muctieu);\r\n setQuymo(data[0].quymo);\r\n if (data[0].linkluutru) setLinkluutru(data[0].linkluutru);\r\n setLaodong_vn_dangky(data[0].laodong_vn_dangky);\r\n setLaodong_nn_dangky(data[0].laodong_nn_dangky);\r\n if (data[0].thoidiemhethan !== null) {\r\n let [year3, month3, day3] = data[0].thoidiemhethan.split(\"-\");\r\n setDuandenngay(dayjs(year3 + \"-\" + month3 + \"-\" + day3));\r\n }\r\n if (data[0].ngaycapquyetdinh && data[0].thoidiemhethan !== null) {\r\n let [yearqd] = data[0].ngaycapquyetdinh.split(\"-\");\r\n let [yearhh] = data[0].thoidiemhethan.split(\"-\");\r\n setThoigianhoatdong(yearhh - yearqd);\r\n }\r\n setLinhvucVL({\r\n id: data[0].linhvuc_id,\r\n ten: data[0].linhvuc,\r\n });\r\n setKhuvucVL({\r\n id: data[0].khuvucdautu_id,\r\n ten: data[0].khuvucdautu,\r\n });\r\n getcumcongnghiep(data[0].khuvucdautu_id);\r\n setDiadiemVL({\r\n id: data[0].diaban_id,\r\n ten: data[0].diaban,\r\n });\r\n setQuocgiaVL({\r\n id: data[0].quocgia_id,\r\n ten: data[0].quocgia,\r\n });\r\n setNguonvonVL({\r\n id: data[0].nguonvondautu_id,\r\n ten: data[0].nguonvondautu,\r\n });\r\n if (data[0].nguonvondautu_id === 2) setDisableUSD(false);\r\n if (data[0].coquanbanhanh_id > 0) {\r\n setCoquanbanhanhVL({\r\n id: data[0].coquanbanhanh_id,\r\n ten: data[0].coquanbanhanh,\r\n });\r\n }\r\n if (data[0].ccnkktkcn_id > 0) {\r\n setCcnkktkcnVL({\r\n id: data[0].ccnkktkcn_id,\r\n ten: data[0].cnnkktkcn,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudaututheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautulogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n if (data[0]) setGiaycndkdnVL(data[0].giaycndkdn);\r\n var defaultcdt = [];\r\n data.map((row) => {\r\n defaultcdt.push({\r\n id: row.chudautu_id,\r\n ten: row.chudautu,\r\n });\r\n });\r\n setChudautuID(defaultcdt);\r\n setChudautu1(defaultcdt);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanbanhanh(data);\r\n setCoquanbanhanhVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getquocgia = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmquocgia?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuocgia(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getvongop = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettdthvongoplogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGopvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getvonvay = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettdthvonvaylogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setVonvay(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettiendo = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettdthuchienlogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiendo(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getgiaidoan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmgiaidoantiendoduan?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGiaidoan(data);\r\n setGiaidoanVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcumcongnghiep = (id) => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmcckktkcn?phanloai=\" +\r\n id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCcnkktkcn(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themgopvon = () => {\r\n setGopvon((oldArray) => [\r\n ...oldArray,\r\n {\r\n stt: gopvon.length + 1,\r\n chudautu_id: chudautuVL.id,\r\n chudautu: chudautuVL.ten,\r\n vongop_vnd: vongop_vnd,\r\n vongop_usd: vongop_usd,\r\n tyle: tyle,\r\n noidung: noidung,\r\n },\r\n ]);\r\n };\r\n const themvonvay = () => {\r\n setVonvay((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n stt: vonvay.length + 1,\r\n vonvay_usd: vonvay_usd,\r\n vonvay_vnd: vonvay_vnd,\r\n noidung: noidungvay,\r\n },\r\n ]);\r\n };\r\n const themtiendo = () => {\r\n let check = tiendo.filter((value) => {\r\n return value.giaidoan_id === giaidoanVL.id;\r\n });\r\n if (check.length === 0) {\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n setTiendo((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n stt: tiendo.length + 1,\r\n tungay: tu,\r\n denngay: den,\r\n giaidoan: giaidoanVL.ten,\r\n giaidoan_id: giaidoanVL.id,\r\n noidungthuchien: noidungtiendo,\r\n },\r\n ]);\r\n }\r\n };\r\n const capnhatduan = () => {\r\n let chudt = [];\r\n chudautuID.map((row) => {\r\n chudt.push({ id: row.id });\r\n });\r\n let tiendothuchien = [];\r\n if (tiendo.length > 0) {\r\n tiendo.map((row) => {\r\n tiendothuchien.push({\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n });\r\n } else {\r\n tiendothuchien = [];\r\n }\r\n let tiendothvonvay = [];\r\n if (vonvay.length > 0) {\r\n vonvay.map((row) => {\r\n tiendothvonvay.push({\r\n vonvay_vnd: row.vonvay_vnd,\r\n vonvay_usd: row.vonvay_usd,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvonvay = [];\r\n }\r\n let tiendothvongop = [];\r\n if (gopvon.length > 0) {\r\n gopvon.map((row) => {\r\n tiendothvongop.push({\r\n chudautu_id: row.chudautu_id,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvongop = [];\r\n }\r\n var ngayduan =\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n String(thoidiemcapduan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n thoidiemcapduan.$D;\r\n var ngayquyetdinh =\r\n ngaycapquyetdinh.$y +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n var ngaychungnhan = null;\r\n if (ngaycapchungnhan) {\r\n ngaychungnhan =\r\n ngaycapchungnhan.$y +\r\n \"-\" +\r\n String(ngaycapchungnhan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapchungnhan.$D;\r\n }\r\n var hethan =\r\n duandenngay.$y +\r\n \"-\" +\r\n String(duandenngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n duandenngay.$D;\r\n var url = Config.backend + \"/api/DanhMuc/capnhatduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n landieuchinh: 0,\r\n logid: logid,\r\n duan_id: duan_id,\r\n chudautu: chudt,\r\n maduan: maduan,\r\n tenduan: tenduan,\r\n coquanbanhanh_id: coquanbanhanhVL.id,\r\n thoidiemcapduan: ngayduan,\r\n soquyetdinhpheduyet: soqdpd,\r\n ngaycapquyetdinh: ngayquyetdinh,\r\n giaychungnhandkdt: giaychungnhandkdt,\r\n ngaycapgiaycndkdt: ngaychungnhan,\r\n diadiemthuchien: diachi,\r\n diaban_id: diadiemVL.id,\r\n dientich: dientich,\r\n vondangky_vnd: vondangky_vnd,\r\n vondangky_usd: vondangky_usd,\r\n muctieu: muctieu,\r\n quymo: quymo,\r\n linhvuc_id: linhvucVL.id,\r\n khuvucdautu_id: khuvucVL.id,\r\n quocgia_id: quocgiaVL.id,\r\n nguonvondautu_id: nguonvonVL.id,\r\n uudaihotro: uudaihotro,\r\n linkluutru: linkluutru,\r\n thoidiemhethan: hethan,\r\n tiendothuchien: tiendothuchien,\r\n tiendothvonvay: tiendothvonvay,\r\n tiendothvongop: tiendothvongop,\r\n laodong_vn_dangky: laodong_vn_dangky,\r\n laodong_nn_dangky: laodong_nn_dangky,\r\n diachitruso: diachitruso,\r\n ccnkktkcn_id: ccnkktkcnVL ? ccnkktkcnVL.id : null,\r\n ghichu: \"\",\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setTimeout(function () {\r\n handleClosesua();\r\n }, 2000);\r\n } else {\r\n showError(data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showError = (data) => {\r\n if (data === 2) {\r\n setMessageError(ERROR_MESSAGE_2);\r\n } else if (data === 3) {\r\n setMessageError(ERROR_MESSAGE_3);\r\n } else if (data === 4) {\r\n setMessageError(ERROR_MESSAGE_4);\r\n } else if (data === 6) {\r\n setMessageError(ERROR_MESSAGE_6);\r\n } else if (data === 7) {\r\n setMessageError(ERROR_MESSAGE_7);\r\n } else {\r\n setMessageError(\"ERROR\");\r\n }\r\n setAlertError(true);\r\n setTimeout(function () {\r\n setAlertError(false);\r\n setMessageError(\"\");\r\n }, 6000);\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 2000);\r\n };\r\n const showNotificationCanhBaoSoAm = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayBatDauNgayKetThuc = () => {\r\n setAlert3(true);\r\n setTimeout(function () {\r\n setAlert3(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh = () => {\r\n setAlert4(true);\r\n setTimeout(function () {\r\n setAlert4(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaogiaycndkdn = () => {\r\n setAlert5(true);\r\n setTimeout(function () {\r\n setAlert5(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaodinhdangSQD = () => {\r\n setAlert6(true);\r\n setTimeout(function () {\r\n setAlert6(false);\r\n }, 6000);\r\n };\r\n const disablebutton = () => {\r\n if (\r\n tenduan.trim().length > 0 &&\r\n maduan.trim().length > 0 &&\r\n (soqdpd.trim().length > 0 || giaychungnhandkdt.trim().length > 0) &&\r\n chudautuID.length > 0 &&\r\n vondangky_vnd > 0 &&\r\n vondangky_usd >= 0 &&\r\n dientich >= 0 &&\r\n thoigianhoatdong >= 0 &&\r\n laodong_vn_dangky >= 0 &&\r\n laodong_nn_dangky >= 0 &&\r\n giaycndkdnVL.trim().length > 0 &&\r\n dayjs(duandenngay).isSameOrAfter(dayjs(ngaycapquyetdinh)) &&\r\n dayjs(duandenngay).isSameOrAfter(dayjs(thoidiemcapduan)) &&\r\n dayjs(thoidiemcapduan).isSameOrAfter(dayjs(ngaycapquyetdinh))\r\n ) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [\r\n tenduan,\r\n maduan,\r\n soqdpd,\r\n chudautuID,\r\n vondangky_vnd,\r\n vondangky_usd,\r\n dientich,\r\n laodong_vn_dangky,\r\n laodong_nn_dangky,\r\n giaycndkdnVL,\r\n thoigianhoatdong,\r\n duandenngay,\r\n ngaycapquyetdinh,\r\n thoidiemcapduan,\r\n giaychungnhandkdt,\r\n ]);\r\n const disablebutton1 = () => {\r\n if (chudautuVL.id > 0 && vongop_vnd > 0 && vongop_usd >= 0) {\r\n setDisableBT1(false);\r\n } else {\r\n setDisableBT1(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton1();\r\n }, [chudautuVL, vongop_vnd, vongop_usd]);\r\n const disablebutton2 = () => {\r\n if (vonvay_vnd > 0 && vonvay_usd >= 0) {\r\n setDisableBT2(false);\r\n } else {\r\n setDisableBT2(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton2();\r\n }, [vonvay_vnd, vonvay_usd]);\r\n const disablebutton3 = () => {\r\n if (dayjs(denngay).isSameOrAfter(dayjs(tungay))) {\r\n setDisableBT3(false);\r\n } else {\r\n setDisableBT3(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton3();\r\n }, [tungay, denngay]);\r\n React.useEffect(() => {\r\n getduantheoid();\r\n getchudaututheoid();\r\n getcoquanbanhanh();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getdiadiem();\r\n getquocgia();\r\n getnguonvon();\r\n getchudautu();\r\n getvongop();\r\n getvonvay();\r\n gettiendo();\r\n getgiaidoan();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={nguonvon}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n if (value.id === 1) {\r\n setDisableUSD(true);\r\n } else {\r\n setDisableUSD(false);\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={quocgia}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setQuocgiaVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMaduan(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={chudautu}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setChudautu1(value);\r\n setChudautuID(value);\r\n if (value[0]) {\r\n if (value[0].giaycndkdn.trim().length === 0) {\r\n showNotificationCanhBaogiaycndkdn();\r\n }\r\n setGiaycndkdnVL(value[0].giaycndkdn);\r\n setMaduan(\r\n soqdpd.split(\"/\")[0] +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n value[0].giaycndkdn\r\n );\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTenduan(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n dayjs(thoidiemcapduan).isBefore(\r\n dayjs(ngaycapquyetdinh)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n if (\r\n dayjs(thoidiemcapduan).isAfter(dayjs(duandenngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanbanhanh}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanbanhanhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setSoqdpd(event.target.value);\r\n if (event.target.value.length > 0) {\r\n setMaduan(\r\n event.target.value.split(\"/\")[0] +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n } else {\r\n setMaduan(\r\n giaychungnhandkdt +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n onBlur={(event) => {\r\n if (!event.target.value.includes(\"/\")) {\r\n showNotificationCanhBaodinhdangSQD();\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapquyetdinh(newValue);\r\n setThoidiemcapduan(newValue);\r\n setThoigianhoatdong(duandenngay.$y - newValue.$y);\r\n if (soqdpd.length > 0) {\r\n setMaduan(\r\n soqdpd.split(\"/\")[0] +\r\n \"-\" +\r\n newValue.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n } else {\r\n setMaduan(\r\n giaychungnhandkdt +\r\n \"-\" +\r\n newValue.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n }\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(ngaycapquyetdinh).isAfter(\r\n dayjs(thoidiemcapduan)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setGiaychungnhandkdt(event.target.value);\r\n if (soqdpd.length === 0) {\r\n setMaduan(\r\n event.target.value +\r\n \"-\" +\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n giaycndkdnVL\r\n );\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapchungnhan(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachitruso(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={khuvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n getcumcongnghiep(value.id);\r\n setCcnkktkcnVL(null);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={diadiem}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMuctieu(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setQuymo(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDientich(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setThoigianhoatdong(event.target.value);\r\n var ngay =\r\n ngaycapquyetdinh.$y +\r\n Number(event.target.value) +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n setDuandenngay(dayjs(ngay));\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDuandenngay(newValue);\r\n setThoigianhoatdong(newValue.$y - ngaycapquyetdinh.$y);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(duandenngay).isBefore(dayjs(thoidiemcapduan))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={linhvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={ccnkktkcn}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCcnkktkcnVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_vn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_nn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n setOpentiendo(true)}\r\n style={{ height: \"35px\" }}\r\n >\r\n Tiến độ thực hiện\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setUudaihotro(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLinkluutru(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \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ến độ thực hiện 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 \r\n \r\n \r\n a) Tiến độ góp vốn và huy động vốn\r\n \r\n \r\n \r\n - Vốn góp:\r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTyle(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={gopvon}\r\n columns={vongopcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n - Vốn vay:\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungvay(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={vonvay}\r\n columns={vonvaycolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n b) Tiến độ thực hiện dự án:\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(tungay).isAfter(dayjs(denngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(denngay).isBefore(dayjs(tungay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={giaidoan}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setGiaidoanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungtiendo(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \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ập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert4(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert5(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert6(false)}\r\n close\r\n />\r\n \r\n \r\n setAlertError(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n );\r\n});\r\nCapnhatduan.propTypes = {\r\n duan_id: PropTypes.number,\r\n logid: PropTypes.number,\r\n handleClosesua: PropTypes.func,\r\n};\r\nexport default Capnhatduan;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themduan from \"components/Duan/Themduan.js\";\r\nimport Capnhatduan from \"components/Duan/Capnhatduan.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"vondangky_vnd\",\r\n headerName: \"Tổng vốn đầu tư (đồng)\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tiendothuchien\",\r\n headerName: \"Tiến độ dự án\",\r\n width: 380,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"khuvucdautu\",\r\n headerName: \"Khu vực\",\r\n width: 190,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"linhvuc\",\r\n headerName: \"Lĩnh vực\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diaban\",\r\n headerName: \"Huyện/TX/TP\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiemthuchien\",\r\n headerName: \"Địa điểm\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Themmoiduan() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [duan, setDuan] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [logid, setLogid] = React.useState(0);\r\n //const [maduan, setMaduan] = React.useState(\"\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getduantheonam();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonam();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = () => {\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoaduan = () => {\r\n var url = Config.backend + \"/api/DuanChuDauTu/xoaqdduan\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n logid: logid,\r\n duan_id: duan_id,\r\n landieuchinh: 0,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setDisableBT(true);\r\n getduantheonam();\r\n } else {\r\n showNotification1();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 3000);\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(new Date().getFullYear());\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n Xem dự án\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
\r\n row.da_id}\r\n rows={duan}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setDuan_id(Number(params.row.da_id));\r\n setLogid(Number(params.row.logid));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport PropTypes from \"prop-types\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\n// Bộ lọc chuẩn dùng cho đa số các menu\r\nexport default function Boloc(props) {\r\n const {\r\n opentimkiem,\r\n handleClosetimkiem,\r\n handleOpenCloseBackdrop,\r\n handleSetResult,\r\n } = props;\r\n const classes = useStyles();\r\n // const [data, setData] = React.useState([]);\r\n const [tungay, setTungay] = React.useState(dayjs(\"2015-01-01\"));\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [tinhtrangduan, setTinhtrangduan] = React.useState([]);\r\n const [tinhtrangduanVL, setTinhtrangduanVL] = React.useState(null);\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState(null);\r\n const [tinhtrangkyquy, setTinhtrangkyquy] = React.useState([]);\r\n const [tinhtrangkyquyVL, setTinhtrangkyquyVL] = React.useState(null);\r\n const [loaivipham, setLoaivipham] = React.useState([]);\r\n const [loaiviphamVL, setLoaiviphamVL] = React.useState(null);\r\n const [tiendoduan, setTiendoduan] = React.useState([]);\r\n const [tiendoduanVL, setTiendoduanVL] = React.useState(null);\r\n const [chutruong, setChutruong] = React.useState([]);\r\n const [chutruongVL, setChutruongVL] = React.useState(null);\r\n const [quyetdinhdieuchinh, setQuyetdinhdieuchinh] = React.useState([]);\r\n const [quyetdinhdieuchinhVL, setQuyetdinhdieuchinhVL] = React.useState(null);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangduan = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangduan?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangduan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangkyquy = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangkyquy?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangkyquy(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getloaivipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmloaivipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLoaivipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettiendoduan = () => {\r\n var dmtiendoduans = [];\r\n dmtiendoduans.push({ id: 1, ten: \"Đúng hạn\" });\r\n dmtiendoduans.push({ id: 2, ten: \"Sắp trễ hạn giai đoạn\" });\r\n dmtiendoduans.push({ id: 3, ten: \"Trễ hạn giai đoạn\" });\r\n dmtiendoduans.push({ id: 4, ten: \"Sắp trễ hạn toàn dự án\" });\r\n dmtiendoduans.push({ id: 5, ten: \"Trễ hạn toàn dự án\" });\r\n setTiendoduan(dmtiendoduans);\r\n };\r\n const getchutruong = () => {\r\n var dmchutruongs = [];\r\n dmchutruongs.push({ id: 1, ten: \"Số QĐ phê duyệt\" });\r\n dmchutruongs.push({ id: 2, ten: \"Giấy chứng nhận ĐKĐT\" });\r\n setChutruong(dmchutruongs);\r\n };\r\n const getquyetdinhdieuchinh = () => {\r\n var dmquyetdinhdieuchinhs = [];\r\n dmquyetdinhdieuchinhs.push({ id: 1, ten: \"Có quyết định điều chỉnh\" });\r\n dmquyetdinhdieuchinhs.push({\r\n id: 2,\r\n ten: \"Không có quyết định điều chỉnh\",\r\n });\r\n setQuyetdinhdieuchinh(dmquyetdinhdieuchinhs);\r\n };\r\n const timkiem = () => {\r\n handleOpenCloseBackdrop(true);\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n let diaban = [];\r\n if (diadiemVL) {\r\n diadiemVL.map((row) => {\r\n diaban.push({ id: row.id });\r\n });\r\n } else {\r\n diaban.push({ id: 0 });\r\n }\r\n let linhvuc = [];\r\n if (linhvucVL) {\r\n linhvucVL.map((row) => {\r\n linhvuc.push({ id: row.id });\r\n });\r\n } else {\r\n linhvuc.push({ id: 0 });\r\n }\r\n let khuvucdautu = [];\r\n if (khuvucVL) {\r\n khuvucVL.map((row) => {\r\n khuvucdautu.push({ id: row.id });\r\n });\r\n } else {\r\n khuvucdautu.push({ id: 0 });\r\n }\r\n let nguonvon = [];\r\n if (nguonvonVL) {\r\n nguonvonVL.map((row) => {\r\n nguonvon.push({ id: row.id });\r\n });\r\n } else {\r\n nguonvon.push({ id: 0 });\r\n }\r\n let tinhtrang = [];\r\n if (tinhtrangduanVL) {\r\n tinhtrangduanVL.map((row) => {\r\n tinhtrang.push({ id: row.id });\r\n });\r\n } else {\r\n tinhtrang.push({ id: 0 });\r\n }\r\n var chudautu = [];\r\n if (chudautuVL) {\r\n chudautuVL.map((row) => {\r\n chudautu.push({ id: row.id });\r\n });\r\n } else {\r\n chudautu.push({ id: 0 });\r\n }\r\n var tinhtrangkq = [];\r\n if (tinhtrangkyquyVL) {\r\n tinhtrangkyquyVL.map((row) => {\r\n tinhtrangkq.push({ id: row.id });\r\n });\r\n } else {\r\n tinhtrangkq.push({ id: 0 });\r\n }\r\n var vipham = [];\r\n if (loaiviphamVL) {\r\n loaiviphamVL.map((row) => {\r\n vipham.push({ id: row.id });\r\n });\r\n } else {\r\n vipham.push({ id: 0 });\r\n }\r\n var tiendo = [];\r\n if (tiendoduanVL) {\r\n tiendoduanVL.map((row) => {\r\n tiendo.push({ id: row.id });\r\n });\r\n } else {\r\n tiendo.push({ id: 0 });\r\n }\r\n var chutr = [];\r\n if (chutruongVL) {\r\n chutruongVL.map((row) => {\r\n chutr.push({ id: row.id });\r\n });\r\n } else {\r\n chutr.push({ id: 0 });\r\n }\r\n var qddieuchinh = [];\r\n if (quyetdinhdieuchinhVL) {\r\n quyetdinhdieuchinhVL.map((row) => {\r\n qddieuchinh.push({ id: row.id });\r\n });\r\n } else {\r\n qddieuchinh.push({ id: 0 });\r\n }\r\n\r\n var url = Config.backend + \"/api/DuanChuDauTu/tracuuduanboloc1\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n tungay: tu,\r\n denngay: den,\r\n diaban_id: diaban.length > 0 ? diaban : [{ id: 0 }],\r\n linhvuc_id: linhvuc.length > 0 ? linhvuc : [{ id: 0 }],\r\n khuvucdautu_id: khuvucdautu.length > 0 ? khuvucdautu : [{ id: 0 }],\r\n nguonvondautu_id: nguonvon.length > 0 ? nguonvon : [{ id: 0 }],\r\n tinhtrangduan_id: tinhtrang.length > 0 ? tinhtrang : [{ id: 0 }],\r\n chudautu_id: chudautu.length > 0 ? chudautu : [{ id: 0 }],\r\n tinhtrangkyquy_id: tinhtrangkq.length > 0 ? tinhtrangkq : [{ id: 0 }],\r\n loaivipham_id: vipham.length > 0 ? vipham : [{ id: 0 }],\r\n trangthaitiendothuchienduan: tiendo.length > 0 ? tiendo : [{ id: 0 }],\r\n chutruong: chutr.length > 0 ? chutr : [{ id: 0 }],\r\n quyetdinhdieuchinh: qddieuchinh.length > 0 ? qddieuchinh : [{ id: 0 }],\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n handleSetResult(data);\r\n setDiadiemVL(null);\r\n setLinhvucVL(null);\r\n setKhuvucVL(null);\r\n setNguonvonVL(null);\r\n setTinhtrangduanVL(null);\r\n setChudautuVL(null);\r\n setTinhtrangkyquyVL(null);\r\n setLoaiviphamVL(null);\r\n setTiendoduanVL(null);\r\n setChutruongVL(null);\r\n setQuyetdinhdieuchinhVL(null);\r\n handleOpenCloseBackdrop(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n handleOpenCloseBackdrop(false);\r\n });\r\n handleClosetimkiem();\r\n };\r\n React.useEffect(() => {\r\n getdiadiem();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getnguonvon();\r\n gettinhtrangduan();\r\n getchudautu();\r\n gettinhtrangkyquy();\r\n getloaivipham();\r\n gettiendoduan();\r\n getchutruong();\r\n getquyetdinhdieuchinh();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Tìm kiếm theo nhiều tiêu chí\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 37,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 37,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangduanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChutruongVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLoaiviphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTiendoduanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangkyquyVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setQuyetdinhdieuchinhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\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\nBoloc.propTypes = {\r\n opentimkiem: PropTypes.bool,\r\n handleClosetimkiem: PropTypes.func,\r\n handleOpenCloseBackdrop: PropTypes.func,\r\n handleSetResult: PropTypes.func,\r\n};\r\n","const tablebaocaoStyle = () => ({\r\n table: {\r\n width: \"100%\",\r\n height: \"500px\",\r\n fontSize: \"14px\",\r\n overflow: \"auto\",\r\n lineHeight: \"normal\",\r\n border: \"1px solid #aaa\",\r\n marginTop: \"5px\",\r\n whiteSpace: \"break-spaces\",\r\n },\r\n tablebc: {\r\n width: \"100%\",\r\n //height: \"500px\",\r\n fontSize: \"14px\",\r\n overflow: \"auto\",\r\n lineHeight: \"normal\",\r\n border: \"0.1px solid #aaa\",\r\n marginTop: \"5px\",\r\n whiteSpace: \"break-spaces\",\r\n borderCollapse: \"collapse\",\r\n },\r\n tableprint: { textAlign: \"-webkit-center\", paddingTop: \"20px\" },\r\n titleheader: { fontWeight: \"bold\" },\r\n tablebcsotandan: {\r\n textAlign: \"center\",\r\n width: \"100%\",\r\n fontSize: \"13px\",\r\n borderSpacing: \"0\",\r\n borderCollapse: \"collapse\",\r\n },\r\n tablebcsotandanclass: {\r\n textAlign: \"center\",\r\n width: \"90%\",\r\n fontSize: \"13px\",\r\n borderSpacing: \"0\",\r\n borderCollapse: \"collapse\",\r\n },\r\n tablebcsotandan_th: {\r\n border: \"1px solid #4f7edb\",\r\n textAlign: \"center\",\r\n borderColor: \"#aaaaaa\",\r\n borderStyle: \"solid\",\r\n backgroundImage: \"linear-gradient(to bottom, #dedede , #ffffff)\",\r\n },\r\n tablebc_th_dn: {\r\n border: \"0.1px solid #4f7edb\",\r\n textAlign: \"center\",\r\n borderColor: \"#aaaaaa\",\r\n borderStyle: \"solid\",\r\n backgroundImage: \"linear-gradient(to bottom, #3856eb, #1242f1)\",\r\n color: \"#fff\",\r\n },\r\n tablebcdiemsotan_th: {\r\n border: \"1px solid #4f7edb\",\r\n textAlign: \"center\",\r\n borderColor: \"#aaaaaa\",\r\n borderStyle: \"solid\",\r\n backgroundImage: \"linear-gradient(to bottom, #dedede , #ffffff)\",\r\n },\r\n tablebrutgon_th: {\r\n border: \"1px solid #4f7edb\",\r\n textAlign: \"center\",\r\n borderColor: \"#aaaaaa\",\r\n borderStyle: \"solid\",\r\n backgroundImage: \"linear-gradient(to bottom, #dedede , #ffffff)\",\r\n },\r\n tablebcsotandan_number_th: {\r\n border: \"1px solid #4f7edb\",\r\n textAlign: \"center\",\r\n borderColor: \"#aaaaaa\",\r\n borderStyle: \"solid\",\r\n backgroundImage: \"linear-gradient(to bottom, #dedede , #ffffff)\",\r\n color: \"#008c25\",\r\n },\r\n tablebcsotandan_td: {\r\n border: \"1px solid #4f7edb\",\r\n color: \"#00ec00\",\r\n fontWeight: \"700\",\r\n textAlign: \"left\",\r\n },\r\n tablebc_td_dn: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"left\",\r\n },\r\n tablebc_td_right: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"right\",\r\n },\r\n tablebc_td_center: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"center\",\r\n },\r\n tablebcsotandan_td_number: {\r\n border: \"1px solid #4f7edb\",\r\n color: \"#00ec00\",\r\n fontWeight: \"700\",\r\n textAlign: \"right\",\r\n },\r\n tablebcsotandan_td_cap: {\r\n border: \"1px solid #4f7edb\",\r\n color: \"#ff9e00\",\r\n fontWeight: \"700\",\r\n textAlign: \"left\",\r\n },\r\n tablebcsotandan_td_cap_number: {\r\n border: \"1px solid #4f7edb\",\r\n color: \"#ff9e00\",\r\n fontWeight: \"700\",\r\n textAlign: \"right\",\r\n },\r\n tablesotan_td: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"left\",\r\n },\r\n tablethiethai_td: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"left\",\r\n },\r\n tablethiethaibold_td: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#008c25\",\r\n fontWeight: \"700\",\r\n textAlign: \"left\",\r\n },\r\n tablesotanbold_td: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"bold\",\r\n textAlign: \"left\",\r\n },\r\n tablesotan_td_number: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"right\",\r\n },\r\n tablesotanbold_td_number: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"bold\",\r\n textAlign: \"right\",\r\n },\r\n tablebcdiemsotan: {\r\n textAlign: \"center\",\r\n width: \"100%\",\r\n fontSize: \"13px\",\r\n borderSpacing: \"0\",\r\n borderCollapse: \"collapse\",\r\n },\r\n tablediemsotan_td: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"left\",\r\n },\r\n tablediemsotan_td_number: {\r\n border: \"0.1px solid #4f7edb\",\r\n color: \"#161b26\",\r\n fontWeight: \"400\",\r\n textAlign: \"right\",\r\n },\r\n chooseFile: {\r\n display: \"flex\",\r\n justifyContent: \"flex-start\",\r\n alignItems: \"center\",\r\n flexDirection: \"row\",\r\n width: \"9vw\",\r\n //padding: 1,\r\n borderStyle: \"solid\",\r\n borderWidth: 1,\r\n borderColor: \"green\",\r\n borderRadius: 5,\r\n color: \"green\",\r\n height: 24,\r\n },\r\n});\r\n\r\nexport default tablebaocaoStyle;\r\n","import React from \"react\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\n//import dayjs from \"dayjs\";\r\nconst Chitietquytable = React.memo(function Chitietquytable(props) {\r\n const classes = useStyles();\r\n const { data } = props;\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n Năm\r\n Quý\r\n Vốn thực hiện\r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n {data.map((row, i) => {\r\n return (\r\n \r\n {row[\"nam\"]}\r\n {row[\"quy\"]}\r\n \r\n {row[\"vongiaingan_quy\"].toLocaleString(\"de-DE\")}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = renderTableBody();\r\n return (\r\n
\r\n \r\n THÔNG TIN VỀ DỮ LIỆU THỰC HIỆN THEO QUÝ\r\n \r\n \r\n {tHead}\r\n {tBody}\r\n
\r\n
\r\n );\r\n});\r\n\r\nChitietquytable.propTypes = {\r\n data: PropTypes.array,\r\n};\r\nexport default Chitietquytable;\r\n","import React from \"react\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Chitietquytable from \"components/Duan/Thongtin/Chitietquytable.js\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nconst Thongtinduantable = React.memo(function Thongtinduantable(props) {\r\n const classes = useStyles();\r\n const { data, duan_id } = props;\r\n const [quydata, setQuydata] = React.useState([]);\r\n const [openCtquy, setOpenCtquy] = React.useState(false);\r\n const handleClosequy = () => {\r\n setOpenCtquy(false);\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const chitietquy = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getvonthquyduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuydata(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const openlink = (link) => {\r\n window.open(link);\r\n };\r\n const newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n };\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n \r\n Thông tin\r\n \r\n Nội dung\r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n \r\n Mã dự án\r\n \r\n {data[0] ? data[0].maduan : null}\r\n \r\n \r\n \r\n Tên dự án\r\n \r\n {data[0] ? data[0].tenduan : null}\r\n \r\n \r\n \r\n \r\n Năm cấp (ngày ra quyết định phê duyệt)\r\n \r\n \r\n {data[0]\r\n ? dayjs(data[0].thoidiemcapduan).format(\"DD/MM/YYYY\")\r\n : null}\r\n \r\n \r\n \r\n Chủ đầu tư\r\n \r\n {data[0] ? newline(data[0].chudautu) : null}\r\n \r\n \r\n \r\n Địa điểm\r\n \r\n {data[0] ? data[0].diadiemthuchien : null}\r\n \r\n \r\n \r\n Diện tích (ha)\r\n \r\n {data[0] ? data[0].dientich.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n Vốn đăng ký (VNĐ)\r\n \r\n {data[0] ? data[0].vondangky_vnd.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n Vốn đăng ký (USD)\r\n \r\n {data[0] ? data[0].vondangky_usd.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n \r\n Hồ sơ dự án, tài liệu pháp lý (dùng để lưu trữ các tệp văn bản pháp\r\n lý, quy hoạch của dự án)\r\n \r\n \r\n {data[0] ? (\r\n openlink(data[0].linkluutru)}\r\n >\r\n {data[0].linkluutru}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n Vốn thực hiện (lũy kế - VNĐ)\r\n \r\n \r\n {data[0]\r\n ? data[0].vonthuchien_vnd_lk.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n Vốn thực hiện (lũy kế - USD)\r\n \r\n \r\n {data[0]\r\n ? data[0].vonthuchien_usd_lk.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n Vốn thực hiện (quý - VNĐ)\r\n \r\n {data[0]\r\n ? data[0].vonthuchien_vnd_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n {data[0] ? (\r\n setOpenCtquy(true)}\r\n >\r\n {\" \"}\r\n Chi tiết\r\n \r\n ) : null}\r\n \r\n \r\n \r\n Vốn thực hiện (quý - USD)\r\n \r\n {data[0]\r\n ? data[0].vonthuchien_usd_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n Vốn thực hiện dự kiến (quý - VNĐ)\r\n \r\n \r\n \r\n \r\n Vốn thực hiện dự kiến (năm)\r\n \r\n \r\n \r\n Mục tiêu\r\n \r\n {data[0] ? data[0].muctieu : null}\r\n \r\n \r\n \r\n Quy mô\r\n \r\n {data[0] ? data[0].quymo : null}\r\n \r\n \r\n \r\n Tiến độ thực hiện dự án\r\n \r\n {data[0] ? newline(data[0].tiendothuchien) : null}\r\n \r\n \r\n \r\n Tiến độ thực hiện vốn góp\r\n \r\n \r\n \r\n Tiến độ thực hiện vốn vay\r\n \r\n \r\n \r\n Thời hạn hoạt động\r\n \r\n {data[0]\r\n ? dayjs(data[0].thoidiemhethan).format(\"DD/MM/YYYY\")\r\n : null}\r\n \r\n \r\n \r\n Lĩnh vực\r\n \r\n {data[0] ? data[0].linhvuc : null}\r\n \r\n \r\n \r\n Số lao động VN đăng ký\r\n \r\n {data[0] ? data[0].laodong_vn_dangky.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n Số lao động NN đăng ký\r\n \r\n {data[0] ? data[0].laodong_nn_dangky.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n Số Quyết định phê duyệt\r\n \r\n {data[0] ? data[0].soquyetdinhpheduyet : null}\r\n \r\n \r\n \r\n \r\n Giấy chứng nhận đăng ký đầu tư\r\n \r\n \r\n {data[0] ? data[0].giaychungnhandkdt : null}\r\n \r\n \r\n \r\n \r\n Số Quyết định điều chỉnh (nếu có)\r\n \r\n \r\n \r\n \r\n \r\n Số quyết định thu hồi (nếu có)\r\n \r\n \r\n \r\n \r\n Khu vực đầu tư\r\n \r\n {data[0] ? data[0].khuvucdautu : null}\r\n \r\n \r\n \r\n \r\n Khu kinh tế/ khu công nghiệp/cụm công nghiệp\r\n \r\n \r\n {data[0] ? data[0].cnnkktkcn : null}\r\n \r\n \r\n \r\n Địa bàn\r\n \r\n {data[0] ? data[0].diaban : null}\r\n \r\n \r\n \r\n Quốc gia\r\n \r\n {data[0] ? data[0].quocgia : null}\r\n \r\n \r\n \r\n Nguồn vốn đầu tư\r\n \r\n {data[0] ? data[0].nguonvondautu : null}\r\n \r\n \r\n \r\n Địa chỉ trụ sở\r\n \r\n {data[0] ? data[0].diachitruso : null}\r\n \r\n \r\n \r\n Tình hình thực hiện\r\n \r\n {data[0] ? data[0].tinhinhthuchien_bcq : null}\r\n \r\n \r\n \r\n \r\n Tình hình Giải phóng mặt bằng\r\n \r\n \r\n \r\n \r\n \r\n Ký quỹ bảo đảm thực hiện dự án\r\n \r\n \r\n {data[0] ? data[0].kyquy.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n Tình trạng ký quỹ\r\n \r\n {data[0] ? data[0].tinhtrangkyquy : null}\r\n \r\n \r\n \r\n Nộp ngân sách nhà nước (m3)\r\n \r\n {data[0]\r\n ? data[0].nopngansachnhanuoc.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n Tình trạng nộp ngân sách nhà nước (m3)\r\n \r\n \r\n {data[0] ? data[0].tinhtrangnopns : null}\r\n \r\n \r\n \r\n Tình trạng dự án\r\n \r\n {data[0] ? data[0].tinhtrangduan : null}\r\n \r\n \r\n \r\n Kiểm tra đánh giá\r\n \r\n {data[0] ? data[0].tinhtrangkiemtra : null}\r\n \r\n \r\n \r\n Kết quả kiểm tra\r\n \r\n {data[0] ? data[0].ketquakiemtra : null}\r\n \r\n \r\n \r\n \r\n Vi phạm quy định về sử dụng đất\r\n \r\n \r\n {data[0] ? data[0].sudungdat_vipham : null}\r\n \r\n \r\n \r\n \r\n Vi phạm quy định về quản lý tài nguyên\r\n \r\n \r\n {data[0] ? data[0].sltainguyen_vipham : null}\r\n \r\n \r\n \r\n \r\n Lợi nhuận sau khi đưa vào vận hành\r\n \r\n \r\n {data[0] ? data[0].loinhuan_lk.toLocaleString(\"de-DE\") : null}\r\n \r\n \r\n \r\n Nộp ngân sách nhà nước\r\n \r\n {data[0]\r\n ? data[0].nopngansachnhanuoc_lk.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = renderTableBody();\r\n React.useEffect(() => {\r\n chitietquy();\r\n }, [duan_id]);\r\n return (\r\n
\r\n \r\n THÔNG TIN VỀ DỰ ÁN\r\n \r\n \r\n {tHead}\r\n {tBody}\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo chi tiết quý\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n});\r\n\r\nThongtinduantable.propTypes = {\r\n data: PropTypes.array,\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Thongtinduantable;\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport Boloc from \"components/Util/Boloc\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport Button from \"@mui/material/Button\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Thongtinduantable from \"components/Duan/Thongtin/Thongtinduantable.js\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 250,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"khuvucdautu\",\r\n headerName: \"Khu vực\",\r\n width: 190,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"linhvuc\",\r\n headerName: \"Lĩnh vực\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiem\",\r\n headerName: \"Địa điểm\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Thongtinduan() {\r\n const [open, setOpen] = React.useState(false);\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [data, setData] = React.useState([]);\r\n const [opentimkiem, setOpentimkiem] = React.useState(false);\r\n const handleClosetimkiem = () => {\r\n setOpentimkiem(false);\r\n };\r\n const handleOpenCloseBackdrop = (val) => {\r\n setOpen(val);\r\n };\r\n const handleSetResult = (val) => {\r\n setDuan(val);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getthongtinduan = (id) => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduanidallfield?id=\" +\r\n id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n return (\r\n \r\n \r\n \r\n setOpentimkiem(true)}\r\n style={{ height: 30 }}\r\n >\r\n Bộ lọc\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duan}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n getthongtinduan(Number(params.row.id));\r\n setDuan_id(Number(params.row.id));\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport DeleteForever from \"@mui/icons-material/DeleteForever\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst isSameOrAfter = require(\"dayjs/plugin/isSameOrAfter\");\r\ndayjs.extend(isSameOrAfter);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst ERROR_MESSAGE_2 = \"Lỗi dữ liệu nhập vào có giá trị Null\";\r\nconst ERROR_MESSAGE_3 = \"Lỗi ràng buộc dữ liệu\";\r\nconst ERROR_MESSAGE_4 = \"Lỗi Người dùng không tồn tại trên hệ thống\";\r\nconst ERROR_MESSAGE_6 = \"Lỗi trùng số quyết định\";\r\nconst ERROR_MESSAGE_7 = \"Lỗi trùng mã dự án\";\r\n\r\nconst Themmoidieuchinh = React.memo(function Themmoidieuchinh(props) {\r\n const { duan_id, handleClosethem } = props;\r\n const vongopcolumn: GridColDef[] = [\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Tên nhà đầu tư\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongop_vnd\",\r\n headerName: \"Số vốn góp (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vongop_usd\",\r\n headerName: \"Số vốn góp (USD)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tyle\",\r\n headerName: \"Tỷ lệ (%)\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Tiến độ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick1 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (gopvon.length <= 1) {\r\n setGopvon([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n gopvon.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n chudautu_id: row.chudautu_id,\r\n chudautu: row.chudautu,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setGopvon(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const vonvaycolumn: GridColDef[] = [\r\n {\r\n field: \"vonvay_vnd\",\r\n headerName: \"Vốn vay (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vonvay_usd\",\r\n headerName: \"Vốn vay (USB)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (vonvay.length <= 1) {\r\n setVonvay([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n vonvay.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n vonvay_usd: row.vonvay_usd,\r\n vonvay_vnd: row.vonvay_vnd,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setVonvay(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"giaidoan\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (tiendo.length <= 1) {\r\n setTiendo([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n tiendo.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan: row.giaidoan,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setTiendo(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const classes = useStyles();\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [ngaycapquyetdinh, setNgaycapquyetdinh] = React.useState(dayjs());\r\n const [thoidiemcapduan, setThoidiemcapduan] = React.useState(dayjs());\r\n const [ngaycapchungnhan, setNgaycapchungnhan] = React.useState(null);\r\n const [duandenngay, setDuandenngay] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState([]);\r\n const [coquanbanhanhVL, setCoquanbanhanhVL] = React.useState(null);\r\n const [giaychungnhandkdt, setGiaychungnhandkdt] = React.useState(\"\");\r\n const [vondangky_vnd, setVondangky_vnd] = React.useState(0);\r\n const [vondangky_usd, setVondangky_usd] = React.useState(0);\r\n const [diachi, setDiachi] = React.useState(\"\");\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [dientich, setDientich] = React.useState(\"1000\");\r\n const [muctieu, setMuctieu] = React.useState(\"\");\r\n const [quymo, setQuymo] = React.useState(\"\");\r\n const [thoigianhoatdong, setThoigianhoatdong] = React.useState(1);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [quocgia, setQuocgia] = React.useState([]);\r\n const [quocgiaVL, setQuocgiaVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [uudaihotro, setUudaihotro] = React.useState(\"\");\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautu1, setChudautu1] = React.useState([]);\r\n const [chudautuID, setChudautuID] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState(0);\r\n const [ccnkktkcn, setCcnkktkcn] = React.useState([]);\r\n const [ccnkktkcnVL, setCcnkktkcnVL] = React.useState(null);\r\n const [vongop_vnd, setVongop_vnd] = React.useState(0);\r\n const [vongop_usd, setVongop_usd] = React.useState(0);\r\n const [tyle, setTyle] = React.useState(0);\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [vonvay_vnd, setVonvay_vnd] = React.useState(0);\r\n const [vonvay_usd, setVonvay_usd] = React.useState(0);\r\n const [noidungvay, setNoidungvay] = React.useState(\"\");\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [noidungtiendo, setNoidungtiendo] = React.useState(\"\");\r\n const [giaidoan, setGiaidoan] = React.useState([]);\r\n const [giaidoanVL, setGiaidoanVL] = React.useState(null);\r\n const [laodong_vn_dangky, setLaodong_vn_dangky] = React.useState(0);\r\n const [laodong_nn_dangky, setLaodong_nn_dangky] = React.useState(0);\r\n const [diachitruso, setDiachitruso] = React.useState(\"\");\r\n const [linkluutru, setLinkluutru] = React.useState(\"\");\r\n const [opentiendo, setOpentiendo] = React.useState(false);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [alert3, setAlert3] = React.useState(false);\r\n const [alert4, setAlert4] = React.useState(false);\r\n const [alertError, setAlertError] = React.useState(false);\r\n const [messageError, setMessageError] = React.useState(\"\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [disableBT2, setDisableBT2] = React.useState(true);\r\n const [disableBT3, setDisableBT3] = React.useState(true);\r\n const [disableUSD, setDisableUSD] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosetiendo = () => {\r\n setOpentiendo(false);\r\n };\r\n const [gopvon, setGopvon] = React.useState([]);\r\n const [vonvay, setVonvay] = React.useState([]);\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduaniddieuchinh?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMaduan(data[0].maduan);\r\n setTenduan(data[0].tenduan);\r\n if (data[0].diadiemthuchien) setDiachi(data[0].diadiemthuchien);\r\n if (data[0].diachitruso) setDiachitruso(data[0].diachitruso);\r\n setUudaihotro(data[0].uudaihotro);\r\n let [year, month, day] = data[0].thoidiemcapduan.split(\"-\");\r\n setThoidiemcapduan(dayjs(year + \"-\" + month + \"-\" + day));\r\n if (data[0].ngaycapquyetdinh !== \"null\") {\r\n let [year1, month1, day1] = data[0].ngaycapquyetdinh.split(\"-\");\r\n setNgaycapquyetdinh(dayjs(year1 + \"-\" + month1 + \"-\" + day1));\r\n }\r\n if (data[0].ngaycapgiaycndkdt !== \"null\") {\r\n let [year2, month2, day2] = data[0].ngaycapgiaycndkdt.split(\"-\");\r\n setNgaycapchungnhan(dayjs(year2 + \"-\" + month2 + \"-\" + day2));\r\n }\r\n if (data[0].thoidiemcapduan && data[0].thoidiemhethan !== null) {\r\n let [yearqd] = data[0].thoidiemcapduan.split(\"-\");\r\n let [yearhh] = data[0].thoidiemhethan.split(\"-\");\r\n setThoigianhoatdong(yearhh - yearqd);\r\n }\r\n if (data[0].soquyetdinhpheduyet) setSoqdpd(data[0].soquyetdinhpheduyet);\r\n if (data[0].giaychungnhandkdt)\r\n setGiaychungnhandkdt(data[0].giaychungnhandkdt);\r\n setDientich(data[0].dientich);\r\n setVondangky_vnd(data[0].vondangky_vnd);\r\n setVondangky_usd(data[0].vondangky_usd);\r\n setMuctieu(data[0].muctieu);\r\n setQuymo(data[0].quymo);\r\n if (data[0].linkluutru) setLinkluutru(data[0].linkluutru);\r\n setLaodong_vn_dangky(data[0].laodong_vn_dangky);\r\n setLaodong_nn_dangky(data[0].laodong_nn_dangky);\r\n if (data[0].thoidiemhethan !== null) {\r\n let [year3, month3, day3] = data[0].thoidiemhethan.split(\"-\");\r\n setDuandenngay(dayjs(year3 + \"-\" + month3 + \"-\" + day3));\r\n }\r\n setLinhvucVL({\r\n id: data[0].linhvuc_id,\r\n ten: data[0].linhvuc,\r\n });\r\n setKhuvucVL({\r\n id: data[0].khuvucdautu_id,\r\n ten: data[0].khuvucdautu,\r\n });\r\n getcumcongnghiep(data[0].khuvucdautu_id);\r\n setDiadiemVL({\r\n id: data[0].diaban_id,\r\n ten: data[0].diaban,\r\n });\r\n setQuocgiaVL({\r\n id: data[0].quocgia_id,\r\n ten: data[0].quocgia,\r\n });\r\n setNguonvonVL({\r\n id: data[0].nguonvondautu_id,\r\n ten: data[0].nguonvondautu,\r\n });\r\n if (data[0].coquanbanhanh_id > 0) {\r\n setCoquanbanhanhVL({\r\n id: data[0].coquanbanhanh_id,\r\n ten: data[0].coquanbanhanh,\r\n });\r\n }\r\n if (data[0].ccnkktkcn_id > 0) {\r\n setCcnkktkcnVL({\r\n id: data[0].ccnkktkcn_id,\r\n ten: data[0].cnnkktkcn,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudaututheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautuduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n var defaultcdt = [];\r\n data.map((row) => {\r\n defaultcdt.push({\r\n id: row.chudautu_id,\r\n ten: row.chudautu,\r\n });\r\n });\r\n setChudautuID(defaultcdt);\r\n setChudautu1(defaultcdt);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanbanhanh(data);\r\n setCoquanbanhanhVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getquocgia = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmquocgia?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuocgia(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getvongop = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/gettiendothvongoptheoduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGopvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getvonvay = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/gettiendothvonvaytheoduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setVonvay(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettiendo = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/gettiendoththeoduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiendo(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getgiaidoan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmgiaidoantiendoduan?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGiaidoan(data);\r\n setGiaidoanVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcumcongnghiep = (id) => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmcckktkcn?phanloai=\" +\r\n id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCcnkktkcn(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themgopvon = () => {\r\n setGopvon((oldArray) => [\r\n ...oldArray,\r\n {\r\n stt: gopvon.length + 1,\r\n chudautu_id: chudautuVL.id,\r\n chudautu: chudautuVL.ten,\r\n vongop_vnd: vongop_vnd,\r\n vongop_usd: vongop_usd,\r\n tyle: tyle,\r\n noidung: noidung,\r\n },\r\n ]);\r\n };\r\n const themvonvay = () => {\r\n setVonvay((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n stt: vonvay.length + 1,\r\n vonvay_usd: vonvay_usd,\r\n vonvay_vnd: vonvay_vnd,\r\n noidung: noidungvay,\r\n },\r\n ]);\r\n };\r\n const themtiendo = () => {\r\n let check = tiendo.filter((value) => {\r\n return value.giaidoan_id === giaidoanVL.id;\r\n });\r\n if (check.length === 0) {\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n setTiendo((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n stt: tiendo.length + 1,\r\n tungay: tu,\r\n denngay: den,\r\n giaidoan: giaidoanVL.ten,\r\n giaidoan_id: giaidoanVL.id,\r\n noidungthuchien: noidungtiendo,\r\n },\r\n ]);\r\n }\r\n };\r\n const capnhatduan = () => {\r\n let chudt = [];\r\n chudautuID.map((row) => {\r\n chudt.push({ id: row.id });\r\n });\r\n let tiendothuchien = [];\r\n if (tiendo.length > 0) {\r\n tiendo.map((row) => {\r\n tiendothuchien.push({\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n });\r\n } else {\r\n tiendothuchien = [];\r\n }\r\n let tiendothvonvay = [];\r\n if (vonvay.length > 0) {\r\n vonvay.map((row) => {\r\n tiendothvonvay.push({\r\n vonvay_vnd: row.vonvay_vnd,\r\n vonvay_usd: row.vonvay_usd,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvonvay = [];\r\n }\r\n let tiendothvongop = [];\r\n if (gopvon.length > 0) {\r\n gopvon.map((row) => {\r\n tiendothvongop.push({\r\n chudautu_id: row.chudautu_id,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvongop = [];\r\n }\r\n var ngayduan =\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n String(thoidiemcapduan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n thoidiemcapduan.$D;\r\n var ngayquyetdinh =\r\n ngaycapquyetdinh.$y +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n var ngaychungnhan = null;\r\n if (ngaycapchungnhan) {\r\n ngaychungnhan =\r\n ngaycapchungnhan.$y +\r\n \"-\" +\r\n String(ngaycapchungnhan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapchungnhan.$D;\r\n }\r\n var hethan =\r\n duandenngay.$y +\r\n \"-\" +\r\n String(duandenngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n duandenngay.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/dieuchinhduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n chudautu: chudt,\r\n tenduan: tenduan,\r\n coquanbanhanh_id: coquanbanhanhVL.id,\r\n thoidiemcapduan: ngayduan,\r\n soquyetdinhpheduyet: soqdpd,\r\n ngaycapquyetdinh: ngayquyetdinh,\r\n giaychungnhandkdt: giaychungnhandkdt,\r\n ngaycapgiaycndkdt: ngaychungnhan,\r\n diadiemthuchien: diachi,\r\n diaban_id: diadiemVL.id,\r\n dientich: dientich,\r\n vondangky_vnd: vondangky_vnd,\r\n vondangky_usd: vondangky_usd,\r\n muctieu: muctieu,\r\n quymo: quymo,\r\n linhvuc_id: linhvucVL.id,\r\n khuvucdautu_id: khuvucVL.id,\r\n quocgia_id: quocgiaVL.id,\r\n nguonvondautu_id: nguonvonVL.id,\r\n uudaihotro: uudaihotro,\r\n linkluutru: linkluutru,\r\n thoidiemhethan: hethan,\r\n tiendothuchien: tiendothuchien,\r\n tiendothvonvay: tiendothvonvay,\r\n tiendothvongop: tiendothvongop,\r\n laodong_vn_dangky: laodong_vn_dangky,\r\n laodong_nn_dangky: laodong_nn_dangky,\r\n diachitruso: diachitruso,\r\n ccnkktkcn_id: ccnkktkcnVL ? ccnkktkcnVL.id : null,\r\n ghichu: \"\",\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setTimeout(function () {\r\n handleClosethem();\r\n }, 2000);\r\n } else {\r\n showError(data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showError = (data) => {\r\n if (data === 2) {\r\n setMessageError(ERROR_MESSAGE_2);\r\n } else if (data === 3) {\r\n setMessageError(ERROR_MESSAGE_3);\r\n } else if (data === 4) {\r\n setMessageError(ERROR_MESSAGE_4);\r\n } else if (data === 6) {\r\n setMessageError(ERROR_MESSAGE_6);\r\n } else if (data === 7) {\r\n setMessageError(ERROR_MESSAGE_7);\r\n } else {\r\n setMessageError(\"ERROR\");\r\n }\r\n setAlertError(true);\r\n setTimeout(function () {\r\n setAlertError(false);\r\n setMessageError(\"\");\r\n }, 6000);\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 2000);\r\n };\r\n const showNotificationCanhBaoSoAm = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayBatDauNgayKetThuc = () => {\r\n setAlert3(true);\r\n setTimeout(function () {\r\n setAlert3(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh = () => {\r\n setAlert4(true);\r\n setTimeout(function () {\r\n setAlert4(false);\r\n }, 6000);\r\n };\r\n const disablebutton = () => {\r\n if (\r\n tenduan.trim().length > 0 &&\r\n maduan.trim().length > 0 &&\r\n soqdpd.trim().length > 0 &&\r\n chudautuID.length > 0 &&\r\n vondangky_vnd > 0 &&\r\n vondangky_usd >= 0 &&\r\n dientich >= 0 &&\r\n thoigianhoatdong >= 0 &&\r\n laodong_vn_dangky >= 0 &&\r\n laodong_nn_dangky >= 0 &&\r\n dayjs(ngaycapquyetdinh).isSameOrAfter(dayjs(thoidiemcapduan)) &&\r\n dayjs(duandenngay).isSameOrAfter(dayjs(ngaycapquyetdinh))\r\n ) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [\r\n tenduan,\r\n maduan,\r\n soqdpd,\r\n chudautuID,\r\n vondangky_vnd,\r\n vondangky_usd,\r\n dientich,\r\n laodong_vn_dangky,\r\n laodong_nn_dangky,\r\n thoigianhoatdong,\r\n duandenngay,\r\n ngaycapquyetdinh,\r\n thoidiemcapduan,\r\n ]);\r\n const disablebutton1 = () => {\r\n if (chudautuVL.id > 0 && vongop_vnd > 0 && vongop_usd >= 0) {\r\n setDisableBT1(false);\r\n } else {\r\n setDisableBT1(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton1();\r\n }, [chudautuVL, vongop_vnd, vongop_usd]);\r\n const disablebutton2 = () => {\r\n if (vonvay_vnd > 0 && vonvay_usd >= 0) {\r\n setDisableBT2(false);\r\n } else {\r\n setDisableBT2(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton2();\r\n }, [vonvay_vnd, vonvay_usd]);\r\n const disablebutton3 = () => {\r\n if (dayjs(denngay).isSameOrAfter(dayjs(tungay))) {\r\n setDisableBT3(false);\r\n } else {\r\n setDisableBT3(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton3();\r\n }, [tungay, denngay]);\r\n React.useEffect(() => {\r\n getduantheoid();\r\n getchudaututheoid();\r\n getcoquanbanhanh();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getdiadiem();\r\n getquocgia();\r\n getnguonvon();\r\n getchudautu();\r\n getvongop();\r\n getvonvay();\r\n gettiendo();\r\n getgiaidoan();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={nguonvon}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n if (value.id === 1) {\r\n setDisableUSD(true);\r\n } else {\r\n setDisableUSD(false);\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={quocgia}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setQuocgiaVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={chudautu}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setChudautu1(value);\r\n setChudautuID(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTenduan(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n dayjs(ngaycapquyetdinh).isBefore(\r\n dayjs(thoidiemcapduan)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n if (\r\n dayjs(thoidiemcapduan).isAfter(dayjs(duandenngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanbanhanh}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanbanhanhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setSoqdpd(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapquyetdinh(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(thoidiemcapduan).isAfter(\r\n dayjs(ngaycapquyetdinh)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setGiaychungnhandkdt(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapchungnhan(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachitruso(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={khuvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n getcumcongnghiep(value.id);\r\n setCcnkktkcnVL(null);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={diadiem}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMuctieu(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setQuymo(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDientich(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setThoigianhoatdong(event.target.value);\r\n var ngay =\r\n ngaycapquyetdinh.$y +\r\n Number(event.target.value) +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n setDuandenngay(dayjs(ngay));\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDuandenngay(newValue);\r\n setThoigianhoatdong(newValue.$y - ngaycapquyetdinh.$y);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(duandenngay).isBefore(dayjs(thoidiemcapduan))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={linhvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={ccnkktkcn}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCcnkktkcnVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_vn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_nn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n setOpentiendo(true)}\r\n style={{ height: \"35px\" }}\r\n >\r\n Tiến độ thực hiện\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setUudaihotro(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLinkluutru(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \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ến độ thực hiện 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 \r\n \r\n \r\n a) Tiến độ góp vốn và huy động vốn\r\n \r\n \r\n \r\n - Vốn góp:\r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTyle(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={gopvon}\r\n columns={vongopcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n - Vốn vay:\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungvay(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={vonvay}\r\n columns={vonvaycolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n b) Tiến độ thực hiện dự án:\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(tungay).isAfter(dayjs(denngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(denngay).isBefore(dayjs(tungay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={giaidoan}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setGiaidoanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungtiendo(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \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êm mới\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert4(false)}\r\n close\r\n />\r\n \r\n \r\n setAlertError(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n );\r\n});\r\nThemmoidieuchinh.propTypes = {\r\n duan_id: PropTypes.number,\r\n handleClosethem: PropTypes.func,\r\n};\r\nexport default Themmoidieuchinh;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport DeleteForever from \"@mui/icons-material/DeleteForever\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst isSameOrAfter = require(\"dayjs/plugin/isSameOrAfter\");\r\ndayjs.extend(isSameOrAfter);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst ERROR_MESSAGE_2 = \"Lỗi dữ liệu nhập vào có giá trị Null\";\r\nconst ERROR_MESSAGE_3 = \"Lỗi ràng buộc dữ liệu\";\r\nconst ERROR_MESSAGE_4 = \"Lỗi Người dùng không tồn tại trên hệ thống\";\r\nconst ERROR_MESSAGE_6 = \"Lỗi trùng số quyết định\";\r\nconst ERROR_MESSAGE_7 = \"Lỗi trùng mã dự án\";\r\n\r\nconst Capnhatdieuchinh = React.memo(function Capnhatdieuchinh(props) {\r\n const { logid, duan_id, landieuchinh, handleClosesua } = props;\r\n const vongopcolumn: GridColDef[] = [\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Tên nhà đầu tư\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongop_vnd\",\r\n headerName: \"Số vốn góp (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vongop_usd\",\r\n headerName: \"Số vốn góp (USD)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tyle\",\r\n headerName: \"Tỷ lệ (%)\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Tiến độ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick1 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (gopvon.length <= 1) {\r\n setGopvon([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n gopvon.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n chudautu_id: row.chudautu_id,\r\n chudautu: row.chudautu,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setGopvon(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const vonvaycolumn: GridColDef[] = [\r\n {\r\n field: \"vonvay_vnd\",\r\n headerName: \"Vốn vay (VNĐ)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vonvay_usd\",\r\n headerName: \"Vốn vay (USB)\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"noidung\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (vonvay.length <= 1) {\r\n setVonvay([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n vonvay.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n vonvay_usd: row.vonvay_usd,\r\n vonvay_vnd: row.vonvay_vnd,\r\n noidung: row.noidung,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setVonvay(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"giaidoan\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xóa\",\r\n width: 70,\r\n sortable: false,\r\n renderCell: (params) => {\r\n const onClick2 = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n if (tiendo.length <= 1) {\r\n setTiendo([]);\r\n } else {\r\n let tiendoth = [];\r\n let j = 1;\r\n tiendo.map((row, i) => {\r\n if (params.row.stt !== i + 1) {\r\n tiendoth.push({\r\n stt: j,\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan: row.giaidoan,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n j = j + 1;\r\n }\r\n });\r\n setTiendo(tiendoth);\r\n }\r\n showNotification1();\r\n };\r\n return (\r\n \r\n \r\n \r\n );\r\n },\r\n },\r\n ];\r\n const classes = useStyles();\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [ngaycapquyetdinh, setNgaycapquyetdinh] = React.useState(dayjs());\r\n const [thoidiemcapduan, setThoidiemcapduan] = React.useState(dayjs());\r\n const [ngaycapchungnhan, setNgaycapchungnhan] = React.useState(null);\r\n const [duandenngay, setDuandenngay] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState([]);\r\n const [coquanbanhanhVL, setCoquanbanhanhVL] = React.useState(null);\r\n const [giaychungnhandkdt, setGiaychungnhandkdt] = React.useState(\"\");\r\n const [vondangky_vnd, setVondangky_vnd] = React.useState(0);\r\n const [vondangky_usd, setVondangky_usd] = React.useState(0);\r\n const [diachi, setDiachi] = React.useState(\"\");\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [dientich, setDientich] = React.useState(\"1000\");\r\n const [muctieu, setMuctieu] = React.useState(\"\");\r\n const [quymo, setQuymo] = React.useState(\"\");\r\n const [thoigianhoatdong, setThoigianhoatdong] = React.useState(1);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [quocgia, setQuocgia] = React.useState([]);\r\n const [quocgiaVL, setQuocgiaVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [uudaihotro, setUudaihotro] = React.useState(\"\");\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautu1, setChudautu1] = React.useState([]);\r\n const [chudautuID, setChudautuID] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState(0);\r\n const [ccnkktkcn, setCcnkktkcn] = React.useState([]);\r\n const [ccnkktkcnVL, setCcnkktkcnVL] = React.useState(null);\r\n const [vongop_vnd, setVongop_vnd] = React.useState(0);\r\n const [vongop_usd, setVongop_usd] = React.useState(0);\r\n const [tyle, setTyle] = React.useState(0);\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [vonvay_vnd, setVonvay_vnd] = React.useState(0);\r\n const [vonvay_usd, setVonvay_usd] = React.useState(0);\r\n const [noidungvay, setNoidungvay] = React.useState(\"\");\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [noidungtiendo, setNoidungtiendo] = React.useState(\"\");\r\n const [giaidoan, setGiaidoan] = React.useState([]);\r\n const [giaidoanVL, setGiaidoanVL] = React.useState(null);\r\n const [laodong_vn_dangky, setLaodong_vn_dangky] = React.useState(0);\r\n const [laodong_nn_dangky, setLaodong_nn_dangky] = React.useState(0);\r\n const [diachitruso, setDiachitruso] = React.useState(\"\");\r\n const [linkluutru, setLinkluutru] = React.useState(\"\");\r\n const [opentiendo, setOpentiendo] = React.useState(false);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [alert3, setAlert3] = React.useState(false);\r\n const [alert4, setAlert4] = React.useState(false);\r\n const [alertError, setAlertError] = React.useState(false);\r\n const [messageError, setMessageError] = React.useState(\"\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [disableBT2, setDisableBT2] = React.useState(true);\r\n const [disableBT3, setDisableBT3] = React.useState(true);\r\n const [disableUSD, setDisableUSD] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosetiendo = () => {\r\n setOpentiendo(false);\r\n };\r\n const [gopvon, setGopvon] = React.useState([]);\r\n const [vonvay, setVonvay] = React.useState([]);\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduanlogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMaduan(data[0].maduan);\r\n setTenduan(data[0].tenduan);\r\n if (data[0].diadiemthuchien) setDiachi(data[0].diadiemthuchien);\r\n if (data[0].diachitruso) setDiachitruso(data[0].diachitruso);\r\n setUudaihotro(data[0].uudaihotro);\r\n let [year, month, day] = data[0].thoidiemcapduan.split(\"-\");\r\n setThoidiemcapduan(dayjs(year + \"-\" + month + \"-\" + day));\r\n if (data[0].ngaycapquyetdinh) {\r\n let [year1, month1, day1] = data[0].ngaycapquyetdinh.split(\"-\");\r\n setNgaycapquyetdinh(dayjs(year1 + \"-\" + month1 + \"-\" + day1));\r\n }\r\n if (data[0].ngaycapgiaycndkdt) {\r\n let [year2, month2, day2] = data[0].ngaycapgiaycndkdt.split(\"-\");\r\n setNgaycapchungnhan(dayjs(year2 + \"-\" + month2 + \"-\" + day2));\r\n }\r\n if (data[0].soquyetdinhpheduyet) setSoqdpd(data[0].soquyetdinhpheduyet);\r\n if (data[0].giaychungnhandkdt)\r\n setGiaychungnhandkdt(data[0].giaychungnhandkdt);\r\n setDientich(data[0].dientich);\r\n setVondangky_vnd(data[0].vondangky_vnd);\r\n setVondangky_usd(data[0].vondangky_usd);\r\n setMuctieu(data[0].muctieu);\r\n setQuymo(data[0].quymo);\r\n if (data[0].linkluutru) setLinkluutru(data[0].linkluutru);\r\n setLaodong_vn_dangky(data[0].laodong_vn_dangky);\r\n setLaodong_nn_dangky(data[0].laodong_nn_dangky);\r\n if (data[0].thoidiemhethan !== null) {\r\n let [year3, month3, day3] = data[0].thoidiemhethan.split(\"-\");\r\n setDuandenngay(dayjs(year3 + \"-\" + month3 + \"-\" + day3));\r\n }\r\n if (data[0].thoidiemcapduan && data[0].thoidiemhethan !== null) {\r\n let [yearqd] = data[0].thoidiemcapduan.split(\"-\");\r\n let [yearhh] = data[0].thoidiemhethan.split(\"-\");\r\n setThoigianhoatdong(yearhh - yearqd);\r\n }\r\n setLinhvucVL({\r\n id: data[0].linhvuc_id,\r\n ten: data[0].linhvuc,\r\n });\r\n setKhuvucVL({\r\n id: data[0].khuvucdautu_id,\r\n ten: data[0].khuvucdautu,\r\n });\r\n getcumcongnghiep(data[0].khuvucdautu_id);\r\n setDiadiemVL({\r\n id: data[0].diaban_id,\r\n ten: data[0].diaban,\r\n });\r\n setQuocgiaVL({\r\n id: data[0].quocgia_id,\r\n ten: data[0].quocgia,\r\n });\r\n setNguonvonVL({\r\n id: data[0].nguonvondautu_id,\r\n ten: data[0].nguonvondautu,\r\n });\r\n if (data[0].nguonvondautu_id === 2) setDisableUSD(false);\r\n if (data[0].coquanbanhanh_id > 0) {\r\n setCoquanbanhanhVL({\r\n id: data[0].coquanbanhanh_id,\r\n ten: data[0].coquanbanhanh,\r\n });\r\n }\r\n if (data[0].ccnkktkcn_id > 0) {\r\n setCcnkktkcnVL({\r\n id: data[0].ccnkktkcn_id,\r\n ten: data[0].cnnkktkcn,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudaututheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautulogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n var defaultcdt = [];\r\n data.map((row) => {\r\n defaultcdt.push({\r\n id: row.chudautu_id,\r\n ten: row.chudautu,\r\n });\r\n });\r\n setChudautuID(defaultcdt);\r\n setChudautu1(defaultcdt);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanbanhanh(data);\r\n setCoquanbanhanhVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getquocgia = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmquocgia?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuocgia(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getvongop = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettdthvongoplogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGopvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getvonvay = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettdthvonvaylogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setVonvay(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettiendo = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettdthuchienlogid?logid=\" +\r\n logid +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiendo(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getgiaidoan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmgiaidoantiendoduan?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setGiaidoan(data);\r\n setGiaidoanVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getcumcongnghiep = (id) => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmcckktkcn?phanloai=\" +\r\n id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCcnkktkcn(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themgopvon = () => {\r\n setGopvon((oldArray) => [\r\n ...oldArray,\r\n {\r\n stt: gopvon.length + 1,\r\n chudautu_id: chudautuVL.id,\r\n chudautu: chudautuVL.ten,\r\n vongop_vnd: vongop_vnd,\r\n vongop_usd: vongop_usd,\r\n tyle: tyle,\r\n noidung: noidung,\r\n },\r\n ]);\r\n };\r\n const themvonvay = () => {\r\n setVonvay((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n stt: vonvay.length + 1,\r\n vonvay_usd: vonvay_usd,\r\n vonvay_vnd: vonvay_vnd,\r\n noidung: noidungvay,\r\n },\r\n ]);\r\n };\r\n const themtiendo = () => {\r\n let check = tiendo.filter((value) => {\r\n return value.giaidoan_id === giaidoanVL.id;\r\n });\r\n if (check.length === 0) {\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n setTiendo((oldArray1) => [\r\n ...oldArray1,\r\n {\r\n stt: tiendo.length + 1,\r\n tungay: tu,\r\n denngay: den,\r\n giaidoan: giaidoanVL.ten,\r\n giaidoan_id: giaidoanVL.id,\r\n noidungthuchien: noidungtiendo,\r\n },\r\n ]);\r\n }\r\n };\r\n const capnhatduan = () => {\r\n let chudt = [];\r\n chudautuID.map((row) => {\r\n chudt.push({ id: row.id });\r\n });\r\n let tiendothuchien = [];\r\n if (tiendo.length > 0) {\r\n tiendo.map((row) => {\r\n tiendothuchien.push({\r\n tungay: row.tungay,\r\n denngay: row.denngay,\r\n giaidoan_id: row.giaidoan_id,\r\n noidungthuchien: row.noidungthuchien,\r\n });\r\n });\r\n } else {\r\n tiendothuchien = [];\r\n }\r\n let tiendothvonvay = [];\r\n if (vonvay.length > 0) {\r\n vonvay.map((row) => {\r\n tiendothvonvay.push({\r\n vonvay_vnd: row.vonvay_vnd,\r\n vonvay_usd: row.vonvay_usd,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvonvay = [];\r\n }\r\n let tiendothvongop = [];\r\n if (gopvon.length > 0) {\r\n gopvon.map((row) => {\r\n tiendothvongop.push({\r\n chudautu_id: row.chudautu_id,\r\n vongop_usd: row.vongop_usd,\r\n vongop_vnd: row.vongop_vnd,\r\n tyle: row.tyle,\r\n noidung: row.noidung,\r\n });\r\n });\r\n } else {\r\n tiendothvongop = [];\r\n }\r\n var ngayduan =\r\n thoidiemcapduan.$y +\r\n \"-\" +\r\n String(thoidiemcapduan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n thoidiemcapduan.$D;\r\n var ngayquyetdinh =\r\n ngaycapquyetdinh.$y +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n var ngaychungnhan = null;\r\n if (ngaycapchungnhan) {\r\n ngaychungnhan =\r\n ngaycapchungnhan.$y +\r\n \"-\" +\r\n String(ngaycapchungnhan.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapchungnhan.$D;\r\n }\r\n var hethan =\r\n duandenngay.$y +\r\n \"-\" +\r\n String(duandenngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n duandenngay.$D;\r\n var url = Config.backend + \"/api/DanhMuc/capnhatduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n landieuchinh: landieuchinh,\r\n logid: logid,\r\n duan_id: duan_id,\r\n chudautu: chudt,\r\n maduan: maduan,\r\n tenduan: tenduan,\r\n coquanbanhanh_id: coquanbanhanhVL.id,\r\n thoidiemcapduan: ngayduan,\r\n soquyetdinhpheduyet: soqdpd,\r\n ngaycapquyetdinh: ngayquyetdinh,\r\n giaychungnhandkdt: giaychungnhandkdt,\r\n ngaycapgiaycndkdt: ngaychungnhan,\r\n diadiemthuchien: diachi,\r\n diaban_id: diadiemVL.id,\r\n dientich: dientich,\r\n vondangky_vnd: vondangky_vnd,\r\n vondangky_usd: vondangky_usd,\r\n muctieu: muctieu,\r\n quymo: quymo,\r\n linhvuc_id: linhvucVL.id,\r\n khuvucdautu_id: khuvucVL.id,\r\n quocgia_id: quocgiaVL.id,\r\n nguonvondautu_id: nguonvonVL.id,\r\n uudaihotro: uudaihotro,\r\n linkluutru: linkluutru,\r\n thoidiemhethan: hethan,\r\n tiendothuchien: tiendothuchien,\r\n tiendothvonvay: tiendothvonvay,\r\n tiendothvongop: tiendothvongop,\r\n laodong_vn_dangky: laodong_vn_dangky,\r\n laodong_nn_dangky: laodong_nn_dangky,\r\n diachitruso: diachitruso,\r\n ccnkktkcn_id: ccnkktkcnVL ? ccnkktkcnVL.id : null,\r\n ghichu: \"\",\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setTimeout(function () {\r\n handleClosesua();\r\n }, 2000);\r\n } else {\r\n showError(data);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showError = (data) => {\r\n if (data === 2) {\r\n setMessageError(ERROR_MESSAGE_2);\r\n } else if (data === 3) {\r\n setMessageError(ERROR_MESSAGE_3);\r\n } else if (data === 4) {\r\n setMessageError(ERROR_MESSAGE_4);\r\n } else if (data === 6) {\r\n setMessageError(ERROR_MESSAGE_6);\r\n } else if (data === 7) {\r\n setMessageError(ERROR_MESSAGE_7);\r\n } else {\r\n setMessageError(\"ERROR\");\r\n }\r\n setAlertError(true);\r\n setTimeout(function () {\r\n setAlertError(false);\r\n setMessageError(\"\");\r\n }, 6000);\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 2000);\r\n };\r\n const showNotificationCanhBaoSoAm = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayBatDauNgayKetThuc = () => {\r\n setAlert3(true);\r\n setTimeout(function () {\r\n setAlert3(false);\r\n }, 6000);\r\n };\r\n const showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh = () => {\r\n setAlert4(true);\r\n setTimeout(function () {\r\n setAlert4(false);\r\n }, 6000);\r\n };\r\n const disablebutton = () => {\r\n if (\r\n tenduan.trim().length > 0 &&\r\n maduan.trim().length > 0 &&\r\n soqdpd.trim().length > 0 &&\r\n chudautuID.length > 0 &&\r\n vondangky_vnd > 0 &&\r\n vondangky_usd >= 0 &&\r\n dientich >= 0 &&\r\n thoigianhoatdong >= 0 &&\r\n laodong_vn_dangky >= 0 &&\r\n laodong_nn_dangky >= 0 &&\r\n dayjs(ngaycapquyetdinh).isSameOrAfter(dayjs(thoidiemcapduan)) &&\r\n dayjs(duandenngay).isSameOrAfter(dayjs(ngaycapquyetdinh))\r\n ) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [\r\n tenduan,\r\n maduan,\r\n soqdpd,\r\n chudautuID,\r\n vondangky_vnd,\r\n vondangky_usd,\r\n dientich,\r\n laodong_vn_dangky,\r\n laodong_nn_dangky,\r\n thoigianhoatdong,\r\n duandenngay,\r\n ngaycapquyetdinh,\r\n ]);\r\n const disablebutton1 = () => {\r\n if (chudautuVL.id > 0 && vongop_vnd > 0 && vongop_usd >= 0) {\r\n setDisableBT1(false);\r\n } else {\r\n setDisableBT1(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton1();\r\n }, [chudautuVL, vongop_vnd, vongop_usd]);\r\n const disablebutton2 = () => {\r\n if (vonvay_vnd > 0 && vonvay_usd >= 0) {\r\n setDisableBT2(false);\r\n } else {\r\n setDisableBT2(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton2();\r\n }, [vonvay_vnd, vonvay_usd]);\r\n const disablebutton3 = () => {\r\n if (dayjs(denngay).isSameOrAfter(dayjs(tungay))) {\r\n setDisableBT3(false);\r\n } else {\r\n setDisableBT3(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton3();\r\n }, [tungay, denngay]);\r\n React.useEffect(() => {\r\n getduantheoid();\r\n getchudaututheoid();\r\n getcoquanbanhanh();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getdiadiem();\r\n getquocgia();\r\n getnguonvon();\r\n getchudautu();\r\n getvongop();\r\n getvonvay();\r\n gettiendo();\r\n getgiaidoan();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={nguonvon}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n if (value.id === 1) {\r\n setDisableUSD(true);\r\n } else {\r\n setDisableUSD(false);\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={quocgia}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setQuocgiaVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={chudautu}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setChudautu1(value);\r\n setChudautuID(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTenduan(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (\r\n dayjs(ngaycapquyetdinh).isBefore(\r\n dayjs(thoidiemcapduan)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n if (\r\n dayjs(thoidiemcapduan).isAfter(dayjs(duandenngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanbanhanh}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanbanhanhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setSoqdpd(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapquyetdinh(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(thoidiemcapduan).isAfter(\r\n dayjs(ngaycapquyetdinh)\r\n )\r\n ) {\r\n showNotificationCanhBaoNgayCapDuAnNgayRaQuyetDinh();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setGiaychungnhandkdt(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapchungnhan(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVondangky_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachitruso(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={khuvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n getcumcongnghiep(value.id);\r\n setCcnkktkcnVL(null);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={diadiem}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMuctieu(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setQuymo(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDientich(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setThoigianhoatdong(event.target.value);\r\n var ngay =\r\n ngaycapquyetdinh.$y +\r\n Number(event.target.value) +\r\n \"-\" +\r\n String(ngaycapquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapquyetdinh.$D;\r\n setDuandenngay(dayjs(ngay));\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDuandenngay(newValue);\r\n setThoigianhoatdong(newValue.$y - ngaycapquyetdinh.$y);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(duandenngay).isBefore(dayjs(thoidiemcapduan))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={linhvuc}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={ccnkktkcn}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCcnkktkcnVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_vn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLaodong_nn_dangky(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n setOpentiendo(true)}\r\n style={{ height: \"35px\" }}\r\n >\r\n Tiến độ thực hiện\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setUudaihotro(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setLinkluutru(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \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ến độ thực hiện 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 \r\n \r\n \r\n a) Tiến độ góp vốn và huy động vốn\r\n \r\n \r\n \r\n - Vốn góp:\r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVongop_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTyle(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={gopvon}\r\n columns={vongopcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n
\r\n \r\n \r\n - Vốn vay:\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_vnd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setVonvay_usd(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungvay(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={vonvay}\r\n columns={vonvaycolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n b) Tiến độ thực hiện dự án:\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(tungay).isAfter(dayjs(denngay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{\r\n textField: {\r\n size: \"small\",\r\n onBlur: () => {\r\n if (\r\n dayjs(denngay).isBefore(dayjs(tungay))\r\n ) {\r\n showNotificationCanhBaoNgayBatDauNgayKetThuc();\r\n }\r\n },\r\n },\r\n }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={giaidoan}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setGiaidoanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungtiendo(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator:\r\n GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \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ập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert4(false)}\r\n close\r\n />\r\n \r\n \r\n setAlertError(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n );\r\n});\r\nCapnhatdieuchinh.propTypes = {\r\n logid: PropTypes.number,\r\n duan_id: PropTypes.number,\r\n landieuchinh: PropTypes.number,\r\n handleClosesua: PropTypes.func,\r\n};\r\nexport default Capnhatdieuchinh;\r\n","import React from \"react\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport Config from \"conFig.js\";\r\nconst Noidungdieuchinh = React.memo(function Noidungdieuchinh(props) {\r\n const classes = useStyles();\r\n const { dieuchinh_id } = props;\r\n console.log(dieuchinh_id);\r\n const [data, setData] = React.useState([]);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getbaocao = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettongduannamlinhvuc?nam=\" +\r\n 2023 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getbaocao();\r\n }, [dieuchinh_id]);\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n STT\r\n Nội dung trước đây\r\n Nội dung điều chỉnh\r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n {data.map((row, i) => {\r\n return (\r\n \r\n {row[\"a\"]}\r\n {row[\"a\"]}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = data.length > 0 ? renderTableBody() : null;\r\n return (\r\n
\r\n \r\n {tHead}\r\n {tBody}\r\n
\r\n
\r\n );\r\n});\r\n\r\nNoidungdieuchinh.propTypes = {\r\n dieuchinh_id: PropTypes.number,\r\n};\r\nexport default Noidungdieuchinh;\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaodieuchinhexcel = function Baocaodieuchinhexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DANH SÁCH DỰ ÁN ĐIỀU CHỈNH\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"stt\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"landieuchinh\") {\r\n headerValues.push(\"Lần điều chỉnh\");\r\n } else if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"soquyetdinhpheduyet\") {\r\n headerValues.push(\"Số QĐPD\");\r\n } else if (element == \"ngaycapquyetdinh\") {\r\n headerValues.push(\"Ngày quyết định\");\r\n } else if (element == \"vondangky_vnd\") {\r\n headerValues.push(\"Tổng vốn đầu tư (đồng)\");\r\n } else if (element == \"tiendothuchien\") {\r\n headerValues.push(\"Tiến độ dự án\");\r\n } else if (element == \"khuvucdautu\") {\r\n headerValues.push(\"Khu vực\");\r\n } else if (element == \"linhvuc\") {\r\n headerValues.push(\"Lĩnh vực\");\r\n } else if (element == \"diaban\") {\r\n headerValues.push(\"Huyện/TX/TP\");\r\n } else if (element == \"diadiemthuchien\") {\r\n headerValues.push(\"Địa điểm\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"stt\")) {\r\n const colStt = sheet.getColumn(\"stt\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"landieuchinh\")) {\r\n const colLandieuchinh = sheet.getColumn(\"landieuchinh\");\r\n colLandieuchinh.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"vondangky_vnd\")) {\r\n const colVondangky_vnd = sheet.getColumn(\"vondangky_vnd\");\r\n colVondangky_vnd.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"ngaycapquyetdinh\")) {\r\n const colNgaycapquyetdinh = sheet.getColumn(\"ngaycapquyetdinh\");\r\n colNgaycapquyetdinh.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tiendothuchien\")) {\r\n const colTiendothuchien = sheet.getColumn(\"tiendothuchien\");\r\n colTiendothuchien.width = 100;\r\n colTiendothuchien.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tiendothuchien\r\n ? data[rowNumber - 3].tiendothuchien.replace(/;\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaodieuchinh.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaodieuchinhexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Themmoidieuchinh from \"components/Duan/Dieuchinh/Themmoidieuchinh.js\";\r\nimport Capnhatdieuchinh from \"components/Duan/Dieuchinh/Capnhatdieuchinh.js\";\r\nimport Noidungdieuchinh from \"components/Duan/Dieuchinh/NoidungdieuchinhTbl.js\";\r\nimport Baocaodieuchinhexcel from \"components/Xuatexcel/Baocaodieuchinhexcel.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"landieuchinh\",\r\n headerName: \"Lần điều chỉnh\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngaycapquyetdinh\",\r\n headerName: \"Ngày quyết định\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"vondangky_vnd\",\r\n headerName: \"Tổng vốn đầu tư (đồng)\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tiendothuchien\",\r\n headerName: \"Tiến độ dự án\",\r\n width: 450,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"khuvucdautu\",\r\n headerName: \"Khu vực\",\r\n width: 190,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"linhvuc\",\r\n headerName: \"Lĩnh vực\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diaban\",\r\n headerName: \"Huyện/TX/TP\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiemthuchien\",\r\n headerName: \"Địa điểm\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Duan() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [duandata, setDuandata] = React.useState([]);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [openTTdieuchinh, setOpenTTdieuchinh] = React.useState(false);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [logid, setLogid] = React.useState(0);\r\n const [landieuchinh, setLandieuchinh] = React.useState(0);\r\n const [dieuchinh_id, setDieuchinh_id] = React.useState(0);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [disableBTXoa, setDisableBTXoa] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonamRF(tungay, denngay);\r\n getdataRF(tuthangnam, denthangnam);\r\n };\r\n const handleClosethem = () => {\r\n setOpenthem(false);\r\n getduantheonamRF(tungay, denngay);\r\n getdataRF(tuthangnam, denthangnam);\r\n };\r\n const handleCloseTTdieuchinh = () => {\r\n setOpenTTdieuchinh(false);\r\n //getduan();\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduantheonamRF(tungay, denngay);\r\n getdataRF(tuthangnam, denthangnam);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamRF = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdata = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduandiechinhkhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandata(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdataRF = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduandiechinhkhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandata(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoadieuchinh = () => {\r\n var url = Config.backend + \"/api/DuanChuDauTu/xoaqdduan\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n logid: logid,\r\n duan_id: duan_id,\r\n landieuchinh: landieuchinh,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setDisableBTXoa(true);\r\n getdataRF(tuthangnam, denthangnam);\r\n } else {\r\n showNotification1();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 3000);\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getdata(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getdata(newValue, denthangnam);\r\n setDuandata([]);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getdata(tuthangnam, newValue);\r\n setDuandata([]);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
\r\n row.stt}\r\n rows={duandata}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDieuchinh_id(Number(params.row.logid));\r\n setDisableBT1(false);\r\n setDisableBTXoa(false);\r\n setDuan_id(Number(params.row.da_id));\r\n setLogid(Number(params.row.logid));\r\n setLandieuchinh(Number(params.row.landieuchinh));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.da_id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpenthem(true);\r\n console.log(disableBT1);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Thêm QĐ điều chỉnh\r\n \r\n \r\n {/* \r\n {\r\n setOpenTTdieuchinh(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Nội dung điều chỉ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 Thêm quyết định điều chỉnh 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật điều chỉnh 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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 tin đã điều chỉnh của 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Capnhathoatdong = React.memo(function Capnhathoatdong(props) {\r\n const { duan_id } = props;\r\n const [ngayhoatdong, setNgayhoatdong] = React.useState(dayjs());\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n //const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const capnhat = () => {\r\n var ngay =\r\n ngayhoatdong.$y +\r\n \"-\" +\r\n String(ngayhoatdong.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngayhoatdong.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/hoatdongduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n ngaydivaohoatdong: ngay,\r\n noidung: noidung,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgayhoatdong(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n});\r\nCapnhathoatdong.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Capnhathoatdong;\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaoduandivaohoatdongexcel = function Baocaoduandivaohoatdongexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DỰ ÁN ĐI VÀO HOẠT ĐỘNG\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"stt\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Năm cấp\");\r\n } else if (element == \"soquyetdinhpheduyet\") {\r\n headerValues.push(\"Số QĐPD\");\r\n } else if (element == \"tinhtrangduan\") {\r\n headerValues.push(\"Tình trạng dự án\");\r\n } else if (element == \"ngayhoatdong\") {\r\n headerValues.push(\"Ngày đi vào hoạt động\");\r\n } else if (element == \"noidung_hoatdong\") {\r\n headerValues.push(\"Nội dung\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"stt\")) {\r\n const colStt = sheet.getColumn(\"stt\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"ngayhoatdong\")) {\r\n const colNgayhoatdong = sheet.getColumn(\"ngayhoatdong\");\r\n colNgayhoatdong.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaoduandivaohoatdong.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaoduandivaohoatdongexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Capnhathoatdong from \"components/Duan/Hoatdongketthucthuhoi/Capnhathoatdong.js\";\r\nimport Baocaoduandivaohoatdongexcel from \"components/Xuatexcel/Baocaoduandivaohoatdongexcel.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangduan\",\r\n headerName: \"Tình trạng dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngayhoatdong\",\r\n headerName: \"Ngày đi vào hoạt động\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"noidung_hoatdong\",\r\n headerName: \"Nội dung\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Hoatdong() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [duandahoatdong, setDuandahoatdong] = React.useState([]);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonamRF(tungay, denngay);\r\n getduandahoatdongtheonamRF(tuthangnam, denthangnam);\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduantheonamRF(tungay, denngay);\r\n getduandahoatdongtheonamRF(tuthangnam, denthangnam);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayhoatdong) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayhoatdong.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 2 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamRF = (ngaybatdau, ngayhoatdong) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayhoatdong.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 2 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandahoatdongtheonam = (ngaybatdau, ngayhoatdong) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayhoatdong.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 4 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandahoatdong(data);\r\n setDisableBT1(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandahoatdongtheonamRF = (ngaybatdau, ngayhoatdong) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayhoatdong.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 4 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandahoatdong(data);\r\n setDisableBT1(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const huyhoatdong = () => {\r\n var url = Config.backend + \"/api/DuanChuDauTu/huyhoatdongduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getduandahoatdongtheonamRF(tuthangnam, denthangnam);\r\n getduantheonamRF(tungay, denngay);\r\n setDisableBT1(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getduandahoatdongtheonam(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getduandahoatdongtheonam(newValue, denthangnam);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getduandahoatdongtheonam(tuthangnam, newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 31 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n {\r\n huyhoatdong();\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Hủy hoạt động\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duandahoatdong}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n setDisableBT(false);\r\n setDisableBT1(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpensua(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Đi vào hoạt độ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 Cập nhật dự án đi vào hoạt độ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 setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Capnhatketthuc = React.memo(function Capnhatketthuc(props) {\r\n const { duan_id } = props;\r\n const [ngayketthuc, setNgayketthuc] = React.useState(dayjs());\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n //const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const capnhat = () => {\r\n var ngay =\r\n ngayketthuc.$y +\r\n \"-\" +\r\n String(ngayketthuc.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngayketthuc.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/ketthucduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n ngayketthuc: ngay,\r\n noidung: noidung,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgayketthuc(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n});\r\nCapnhatketthuc.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Capnhatketthuc;\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaoduanketthucexcel = function Baocaoduanketthucexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DỰ ÁN KẾT THÚC\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"stt\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Năm cấp\");\r\n } else if (element == \"soquyetdinhpheduyet\") {\r\n headerValues.push(\"Số QĐPD\");\r\n } else if (element == \"tinhtrangduan\") {\r\n headerValues.push(\"Tình trạng dự án\");\r\n } else if (element == \"ngay_ketthuc\") {\r\n headerValues.push(\"Ngày kết thúc\");\r\n } else if (element == \"noidung_ketthuc\") {\r\n headerValues.push(\"Nội dung kết thúc\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"stt\")) {\r\n const colStt = sheet.getColumn(\"stt\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"ngay_ketthuc\")) {\r\n const colNgay_ketthuc = sheet.getColumn(\"ngay_ketthuc\");\r\n colNgay_ketthuc.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaoduanketthuc.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaoduanketthucexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Capnhatketthuc from \"components/Duan/Hoatdongketthucthuhoi/Capnhatketthuc.js\";\r\nimport Baocaoduanketthucexcel from \"components/Xuatexcel/Baocaoduanketthucexcel.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangduan\",\r\n headerName: \"Tình trạng dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngay_ketthuc\",\r\n headerName: \"Ngày kết thúc\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"noidung_ketthuc\",\r\n headerName: \"Nội dung\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Ketthuc() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [duandaketthuc, setDuandaketthuc] = React.useState([]);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonamRF(tungay, denngay);\r\n getduandaketthuctheonamRF(tuthangnam, denthangnam);\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduantheonamRF(tungay, denngay);\r\n getduandaketthuctheonamRF(tuthangnam, denthangnam);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 4 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamRF = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 4 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandaketthuctheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 1 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandaketthuc(data);\r\n setDisableBT1(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandaketthuctheonamRF = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 1 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandaketthuc(data);\r\n setDisableBT1(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const huyketthuc = () => {\r\n var url = Config.backend + \"/api/DuanChuDauTu/huyketthucduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getduandaketthuctheonamRF(tuthangnam, denthangnam);\r\n getduantheonamRF(tungay, denngay);\r\n setDisableBT1(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getduandaketthuctheonam(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getduandaketthuctheonam(newValue, denthangnam);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getduandaketthuctheonam(tuthangnam, newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 31 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n {\r\n huyketthuc();\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Hủy kết thúc\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duandaketthuc}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n setDisableBT1(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpensua(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Kết thúc\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật kết thúc 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Capnhatthuhoi = React.memo(function Capnhatthuhoi(props) {\r\n const { data } = props;\r\n const [ngaythuhoi, setNgaythuhoi] = React.useState(dayjs(data.ngaythuhoi));\r\n const [ngayquyetdinh, setNgayquyetdinh] = React.useState(\r\n dayjs(data.ngayquyetdinh_thuhoi)\r\n );\r\n const [soquyetdinh, setSoquyetdinh] = React.useState(\r\n data.soquyetdinh_thuhoi ? data.soquyetdinh_thuhoi : \"\"\r\n );\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState([]);\r\n const [coquanbanhanhVL, setCoquanbanhanhVL] = React.useState({\r\n id: data.coquanbanhanhqdthuhoi_id,\r\n ten: data.coquanbanhanhqdthuhoi,\r\n });\r\n const [noidung, setNoidung] = React.useState(\r\n data.noidung ? data.noidung : \"\"\r\n );\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"success\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanbanhanh(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhat = () => {\r\n var ngayqd =\r\n ngayquyetdinh.$y +\r\n \"-\" +\r\n String(ngayquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngayquyetdinh.$D;\r\n var ngayth =\r\n ngaythuhoi.$y +\r\n \"-\" +\r\n String(ngaythuhoi.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaythuhoi.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/capnhatthuhoiduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: data.id,\r\n coquanbanhanh_id: coquanbanhanhVL.id,\r\n soquyetdinh: soquyetdinh,\r\n ngayquyetdinh: ngayqd,\r\n ngaythuhoi: ngayth,\r\n noidung: noidung,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n showNotification(data, DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const disablebutton = () => {\r\n if (soquyetdinh.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [soquyetdinh]);\r\n React.useEffect(() => {\r\n getcoquanbanhanh();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {\r\n setSoquyetdinh(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanbanhanh}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanbanhanhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgayquyetdinh(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaythuhoi(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n});\r\nCapnhatthuhoi.propTypes = {\r\n data: PropTypes.object,\r\n};\r\nexport default Capnhatthuhoi;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Themthuhoi = React.memo(function Themthuhoi(props) {\r\n const { duan_id } = props;\r\n const [ngaythuhoi, setNgaythuhoi] = React.useState(dayjs());\r\n const [ngayquyetdinh, setNgayquyetdinh] = React.useState(dayjs());\r\n const [soquyetdinh, setSoquyetdinh] = React.useState(\"\");\r\n const [coquanbanhanh, setCoquanbanhanh] = React.useState([]);\r\n const [coquanbanhanhVL, setCoquanbanhanhVL] = React.useState(null);\r\n const [noidung, setNoidung] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"success\");\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanbanhanh(data);\r\n setCoquanbanhanhVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themthuhoi = () => {\r\n var ngayqd =\r\n ngayquyetdinh.$y +\r\n \"-\" +\r\n String(ngayquyetdinh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngayquyetdinh.$D;\r\n var ngayth =\r\n ngaythuhoi.$y +\r\n \"-\" +\r\n String(ngaythuhoi.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaythuhoi.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/thuhoiduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n coquanbanhanh_id: coquanbanhanhVL.id,\r\n soquyetdinh: soquyetdinh,\r\n ngayquyetdinh: ngayqd,\r\n ngaythuhoi: ngayth,\r\n noidung: noidung,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n showNotification(data, DoneIcon, \"warning\");\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const disablebutton = () => {\r\n if (soquyetdinh.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [soquyetdinh]);\r\n React.useEffect(() => {\r\n getcoquanbanhanh();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {\r\n setSoquyetdinh(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanbanhanh}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanbanhanhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgayquyetdinh(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaythuhoi(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNoidung(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n});\r\nThemthuhoi.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Themthuhoi;\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaoduanthuhoiexcel = function Baocaoduanthuhoiexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DỰ ÁN THU HỒI\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"stt\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Năm cấp\");\r\n } else if (element == \"soquyetdinhpheduyet\") {\r\n headerValues.push(\"Số QĐPD\");\r\n } else if (element == \"tinhtrangduan\") {\r\n headerValues.push(\"Tình trạng dự án\");\r\n } else if (element == \"ngaythuhoi\") {\r\n headerValues.push(\"Ngày thu hồi\");\r\n } else if (element == \"soquyetdinh_thuhoi\") {\r\n headerValues.push(\"Số QĐ thu hồi\");\r\n } else if (element == \"coquanbanhanhqdthuhoi\") {\r\n headerValues.push(\"Cơ quan ban hành\");\r\n } else if (element == \"noidung_thuhoi\") {\r\n headerValues.push(\"Nội dung thu hồi\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"stt\")) {\r\n const colStt = sheet.getColumn(\"stt\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"ngaythuhoi\")) {\r\n const colNgaythuhoi = sheet.getColumn(\"ngaythuhoi\");\r\n colNgaythuhoi.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaoduanthuhoi.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaoduanthuhoiexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Capnhatthuhoi from \"components/Duan/Hoatdongketthucthuhoi/Capnhatthuhoi.js\";\r\nimport Themthuhoi from \"components/Duan/Hoatdongketthucthuhoi/Themthuhoi.js\";\r\nimport Baocaoduanthuhoiexcel from \"components/Xuatexcel/Baocaoduanthuhoiexcel.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
{newline(params.value)}
;\r\n }\r\n },\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangduan\",\r\n headerName: \"Tình trạng dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngaythuhoi\",\r\n headerName: \"Ngày thu hồi\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinh_thuhoi\",\r\n headerName: \"Số QĐPD Thu hồi\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"coquanbanhanhqdthuhoi\",\r\n headerName: \"Cơ quan ban hành\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"noidung_thuhoi\",\r\n headerName: \"Nội dung\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Thuhoi() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [data, setData] = React.useState(null);\r\n const [duandathuhoi, setDuandathuhoi] = React.useState([]);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduanthuhoitheonamRF(tuthangnam, denthangnam);\r\n getduantheonamRF(tungay, denngay);\r\n };\r\n const handleClosethem = () => {\r\n setOpenthem(false);\r\n getduanthuhoitheonamRF(tuthangnam, denthangnam);\r\n getduantheonamRF(tungay, denngay);\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduanthuhoitheonamRF(tuthangnam, denthangnam);\r\n getduantheonamRF(tungay, denngay);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url = Config.backend + \"/api/Tiendoduan/getduanlistttduankhoangtg\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n tungay: tu,\r\n denngay: den,\r\n tinhtrangduan_id: [{ id: 2 }, { id: 4 }],\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamRF = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url = Config.backend + \"/api/Tiendoduan/getduanlistttduankhoangtg\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n tungay: tu,\r\n denngay: den,\r\n tinhtrangduan_id: [{ id: 2 }, { id: 4 }],\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduanthuhoitheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 3 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandathuhoi(data);\r\n setDisableBT1(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduanthuhoitheonamRF = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantinhtrangduankhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangduan_id=\" +\r\n 3 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandathuhoi(data);\r\n setDisableBT1(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const huythuhoi = () => {\r\n var url = Config.backend + \"/api/DuanChuDauTu/huythuhoiduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getduanthuhoitheonamRF(tuthangnam, denthangnam);\r\n getduantheonamRF(tungay, denngay);\r\n setDisableBT1(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getduanthuhoitheonam(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getduanthuhoitheonam(newValue, denthangnam);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getduanthuhoitheonam(tuthangnam, newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 31 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n {\r\n huythuhoi();\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Hủy thu hồi\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duandathuhoi}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n setData(params.row);\r\n setDisableBT(false);\r\n setDisableBT1(false);\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpenthem(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Thu 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 Thêm thu hồi 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật thu hồi 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 \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst Capnhatkyquy = React.memo(function Capnhatkyquy(props) {\r\n const classes = useStyles();\r\n const { duan_id } = props;\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [openthemkyquy, setOpenthemkyquy] = React.useState(false);\r\n const [hinhthuckyquy, setHinhthuckyquy] = React.useState([]);\r\n const [hinhthuckyquyVL, setHinhthuckyquyVL] = React.useState(null);\r\n const [danhsachkyquy, setDanhsachkyquy] = React.useState(0);\r\n const [kyquy, setKyquy] = React.useState(0);\r\n const [thoidiemkyquy, setThoidiemkyquy] = React.useState(dayjs());\r\n const [tinhtrangkyquy, setTinhtrangkyquy] = React.useState([]);\r\n const [tinhtrangkyquyVL, setTinhtrangkyquyVL] = React.useState(null);\r\n const handleClosethemkyquy = () => {\r\n setOpenthemkyquy(false);\r\n };\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBTXoa, setDisableBTXoa] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const kyquycolumn: GridColDef[] = [\r\n {\r\n field: \"hinhthuckyquy\",\r\n headerName: \"Hình thức ký quỹ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangkyquy\",\r\n headerName: \"Tình trạng ký quỹ\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"sotienkyquy\",\r\n headerName: \"Số tiền ký quỹ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"Thời điểm ký quỹ\",\r\n headerName: \"Ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n ];\r\n const getdanhsach = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduanidallfield?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDanhsachkyquy(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduaniddieuchinh?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMaduan(data[0].maduan);\r\n setTenduan(data[0].tenduan);\r\n let [year, month, day] = data[0].thoidiemcapduan.split(\"-\");\r\n setThangnam(dayjs(year + \"-\" + month + \"-\" + day));\r\n if (data[0].soquyetdinhpheduyet) setSoqdpd(data[0].soquyetdinhpheduyet);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangkyquy = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangkyquy?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangkyquy(data);\r\n setTinhtrangkyquyVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gethinhthuckyquy = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmhinhthuckyquy?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setHinhthuckyquy(data);\r\n setHinhthuckyquyVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatkyquy = () => {\r\n var ngaykyquy =\r\n thoidiemkyquy.$y +\r\n \"-\" +\r\n String(thoidiemkyquy.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n thoidiemkyquy.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/Capnhatkyquyduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: duan_id,\r\n kyquy: kyquy,\r\n tinhtrangkyquy_id: tinhtrangkyquyVL.id,\r\n thoidiemkyquy: ngaykyquy,\r\n hinhthuckyquy_id: hinhthuckyquyVL.id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoakyquy = () => {\r\n console.log(\"XÓA ký quỹ\");\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotificationCanhBaoSoAm = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 6000);\r\n };\r\n React.useEffect(() => {\r\n getdanhsach();\r\n gethinhthuckyquy();\r\n gettinhtrangkyquy();\r\n getduantheoid();\r\n }, []);\r\n const disablebutton = () => {\r\n if (kyquy >= 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [kyquy]);\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 setThangnam(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenthemkyquy(true)}\r\n style={{ height: 35 }}\r\n >\r\n Thêm ký quỹ\r\n \r\n \r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={danhsachkyquy}\r\n columns={kyquycolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n onRowClick={(params) => {\r\n setDisableBTXoa(false);\r\n console.log(params);\r\n }}\r\n />\r\n
\r\n \r\n \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 ký quỹ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={hinhthuckyquy}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setHinhthuckyquyVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={tinhtrangkyquy}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangkyquyVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKyquy(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThoidiemkyquy(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thê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 setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n});\r\nCapnhatkyquy.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Capnhatkyquy;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Capnhatkyquy from \"components/Duan/Tinhtrangkyquy/Capnhatkyquy.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Kyquy() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [duandakyquy, setDuandakyquy] = React.useState([]);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonamFR(tungay, denngay);\r\n getduandakyquytheonamFR(tuthangnam, denthangnam);\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduantheonamFR(tungay, denngay);\r\n getduandakyquytheonamFR(tuthangnam, denthangnam);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamFR = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandakyquytheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduankyquykhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangkyquy_id=\" +\r\n 1 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandakyquy(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandakyquytheonamFR = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduankyquykhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangkyquy_id=\" +\r\n 1 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandakyquy(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getduandakyquytheonam(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getduandakyquytheonam(newValue, denthangnam);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getduandakyquytheonam(tuthangnam, newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 31 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duandakyquy}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.da_id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpenduan(false);\r\n setOpensua(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Ký quỹ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật tình trạng kỹ quỹ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatnopm3 = React.memo(function Capnhatnopm3(props) {\r\n const { duan_id } = props;\r\n const [nopngansachnhanuoc, setNopngansachnhanuoc] = React.useState(0);\r\n const [tinhtrangnopns, setTinhtrangnopns] = React.useState([]);\r\n const [tinhtrangnopnsVL, setTinhtrangnopnsVL] = React.useState(null);\r\n const [thoidiemnopm3, setThoidiemnopm3] = React.useState(dayjs());\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduanidallfield?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNopngansachnhanuoc(data[0].nopngansachnhanuoc);\r\n if (data[0].tinhtrangnopns_id > 0) {\r\n setTinhtrangnopnsVL({\r\n id: data[0].tinhtrangnopns_id,\r\n ten: data[0].tinhtrangnopns,\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangnopns = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangnopns?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangnopns(data);\r\n setTinhtrangnopnsVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatnopm3 = () => {\r\n var url = Config.backend + \"/api/DuanChuDauTu/Capnhatkyquyduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: duan_id,\r\n nopngansachnhanuoc: nopngansachnhanuoc,\r\n tinhtrangnopns_id: tinhtrangnopnsVL.id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotificationCanhBaoSoAm = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 6000);\r\n };\r\n React.useEffect(() => {\r\n gettinhtrangnopns();\r\n getduantheoid();\r\n }, []);\r\n const disablebutton = () => {\r\n if (nopngansachnhanuoc >= 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [nopngansachnhanuoc]);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={tinhtrangnopns}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangnopnsVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNopngansachnhanuoc(event.target.value);\r\n }}\r\n onBlur={(event) => {\r\n if (Number(event.target.value) < 0) {\r\n showNotificationCanhBaoSoAm();\r\n }\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThoidiemnopm3(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n});\r\nCapnhatnopm3.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Capnhatnopm3;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Capnhatnopm3 from \"components/Duan/Tinhtrangkyquy/Capnhatnopm3.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Nopm3() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [duandanopm3, setDuandanopm3] = React.useState([]);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonamFR(tungay, denngay);\r\n getduandanopm3theonamFR(tuthangnam, denthangnam);\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduantheonamFR(tungay, denngay);\r\n getduandanopm3theonamFR(tuthangnam, denthangnam);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamFR = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandanopm3theonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannopm3khoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangnopm3_id=\" +\r\n 1 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandanopm3(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandanopm3theonamFR = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannopm3khoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&tinhtrangnopm3_id=\" +\r\n 1 +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuandanopm3(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getduandanopm3theonam(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getduandanopm3theonam(newValue, denthangnam);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getduandanopm3theonam(tuthangnam, newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 31 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n \r\n
\r\n row.id}\r\n rows={duandanopm3}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.da_id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpenduan(false);\r\n setOpensua(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Nộp m3\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật tình trạng nộp m3\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Suakiemtravipham = React.memo(function Suakiemtravipham(props) {\r\n const { duan_id, kiemtra_id } = props;\r\n const [coquanraqd, setCoquanraqd] = React.useState([]);\r\n const [coquanraqdVL, setCoquanraqdVL] = React.useState(null);\r\n const [loaikiemtra, setLoaikiemtra] = React.useState([]);\r\n const [loaikiemtraVL, setLoaikiemtraVL] = React.useState([]);\r\n const [soqdktvipham, setSoqdktvipham] = React.useState(\"\");\r\n const [ngaycapqdktvipham, setNgaycapqdktvipham] = React.useState(dayjs());\r\n const [noidungqdkt, setNoidungqdkt] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disabledat, setDisabledat] = React.useState(true);\r\n const [disabletainguyen, setDisabletainguyen] = React.useState(true);\r\n const [ketluankiemtra, setKetluankiemtra] = React.useState(\"\");\r\n const [ketquakiemtradat, setKetquakiemtradat] = React.useState(\"\");\r\n const [ketquakttainguyen, setKetquakttainguyen] = React.useState(\"\");\r\n const [tinhtrangkiemtra, setTinhtrangkiemtra] = React.useState([]);\r\n const [tinhtrangkiemtraVL, setTinhtrangkiemtraVL] = React.useState(null);\r\n const [sudungdat_vipham, setSudungdat_vipham] = React.useState([]);\r\n const [sudungdat_viphamVL, setSudungdat_viphamVL] = React.useState(null);\r\n const [qltainguyen_vipham, setQltainguyen_vipham] = React.useState([]);\r\n const [qltainguyen_viphamVL, setQltainguyen_viphamVL] = React.useState(null);\r\n\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n const initData = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getktviphamduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n data.map((child) => {\r\n if (child.kiemtra_id == kiemtra_id) {\r\n setSoqdktvipham(child.soquyetdinhkiemtra);\r\n if (child.ngayquyetdinhkiemtra) {\r\n let [year, month, day] = child.ngayquyetdinhkiemtra.split(\"-\");\r\n setNgaycapqdktvipham(dayjs(year + \"-\" + month + \"-\" + day));\r\n }\r\n setCoquanraqdVL({\r\n id: child.donvi_id,\r\n ten: child.donviraquyetdinh,\r\n });\r\n setTinhtrangkiemtraVL({\r\n id: child.tinhtrangkiemtra_id,\r\n ten: child.tinhtrangkiemtra,\r\n });\r\n getchitietktvipham();\r\n setNoidungqdkt(child.noidungquyetdinhkiemtra);\r\n setKetluankiemtra(child.ketluankiemtra);\r\n }\r\n });\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanraqd(data);\r\n setCoquanraqdVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getloaikiemtra = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmloaivipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLoaikiemtra(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const gettinhtrangkiemtra = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmtinhtrangkiemtra?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangkiemtra(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getsudungdat_vipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangvipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setSudungdat_vipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getqltainguyen_vipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangvipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQltainguyen_vipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getchitietktvipham = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/ViPham/getchitietktviphamid?kiemtra_id=\" +\r\n kiemtra_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n var defaultloaikiemtra = [];\r\n data.map((row) => {\r\n defaultloaikiemtra.push({\r\n id: row.loaivipham_id,\r\n ten: row.loaivipham,\r\n });\r\n\r\n if (row.loaivipham_id == 1) {\r\n setSudungdat_viphamVL({\r\n id: row.tinhtrangvipham_id,\r\n ten: row.tinhtrangvipham,\r\n });\r\n setKetquakiemtradat(row.ketquakiemtra);\r\n setDisabledat(false);\r\n } else if (row.loaivipham_id == 2) {\r\n setQltainguyen_viphamVL({\r\n id: row.tinhtrangvipham_id,\r\n ten: row.tinhtrangvipham,\r\n });\r\n setKetquakttainguyen(row.ketquakiemtra);\r\n setDisabletainguyen(false);\r\n }\r\n });\r\n setLoaikiemtraVL(defaultloaikiemtra);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n // Gọi api để sửa thông tin một kiểm tra vi phạm cho dự án\r\n const suaktvp = () => {\r\n let chitietkt = [];\r\n if (loaikiemtraVL.length > 1) {\r\n chitietkt.push({\r\n loaivipham_id: 1,\r\n tinhtrangvipham_id: sudungdat_viphamVL.id,\r\n ketquakiemtra: ketquakiemtradat,\r\n });\r\n chitietkt.push({\r\n loaivipham_id: 2,\r\n tinhtrangvipham_id: qltainguyen_viphamVL.id,\r\n ketquakiemtra: ketquakttainguyen,\r\n });\r\n } else {\r\n if (loaikiemtraVL[0].id === 1) {\r\n chitietkt.push({\r\n loaivipham_id: 1,\r\n tinhtrangvipham_id: sudungdat_viphamVL.id,\r\n ketquakiemtra: ketquakiemtradat,\r\n });\r\n } else {\r\n chitietkt.push({\r\n loaivipham_id: 2,\r\n tinhtrangvipham_id: qltainguyen_viphamVL.id,\r\n ketquakiemtra: ketquakttainguyen,\r\n });\r\n }\r\n }\r\n var ngayqd =\r\n ngaycapqdktvipham.$y +\r\n \"-\" +\r\n String(ngaycapqdktvipham.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapqdktvipham.$D;\r\n var url = Config.backend + \"/api/ViPham/capnhatktvipham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n kiemtra_id: kiemtra_id,\r\n duan_id: duan_id,\r\n soquyetdinh: soqdktvipham,\r\n ngayquyetdinh: ngayqd,\r\n donvi_id: coquanraqdVL.id,\r\n noidungquyetdinh: noidungqdkt,\r\n tinhtrangkiemtra_id: tinhtrangkiemtraVL.id,\r\n ketluankiemtra: ketluankiemtra,\r\n chitiet: chitietkt,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n\r\n React.useEffect(() => {\r\n // init data from row selected\r\n initData();\r\n\r\n // Get danh mục\r\n getcoquanbanhanh();\r\n getloaikiemtra();\r\n gettinhtrangkiemtra();\r\n getsudungdat_vipham();\r\n getqltainguyen_vipham();\r\n }, []);\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {\r\n setSoqdktvipham(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapqdktvipham(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={coquanraqd}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanraqdVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={tinhtrangkiemtra}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangkiemtraVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={loaikiemtra}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setLoaikiemtraVL(value);\r\n if (value.length > 1) {\r\n setDisabledat(false);\r\n setDisabletainguyen(false);\r\n } else {\r\n if (value[0]) {\r\n if (value[0].id === 1) {\r\n setDisabledat(false);\r\n setDisabletainguyen(true);\r\n } else {\r\n setDisabletainguyen(false);\r\n setDisabledat(true);\r\n }\r\n }\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungqdkt(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKetluankiemtra(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={sudungdat_vipham}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setSudungdat_viphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKetquakiemtradat(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.id === value.id}\r\n options={qltainguyen_vipham}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setQltainguyen_viphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKetquakttainguyen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
\r\n );\r\n});\r\nSuakiemtravipham.propTypes = {\r\n duan_id: PropTypes.number,\r\n kiemtra_id: PropTypes.number,\r\n};\r\nexport default Suakiemtravipham;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nimport Suakiemtravipham from \"components/Duan/Vipham/Suakiemtravipham.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst Thongtinxulyvipham = React.memo(function Thongtinxulyvipham(props) {\r\n const classes = useStyles();\r\n const { duan_id } = props;\r\n const [maduan, setMaduan] = React.useState(\"\");\r\n const [coquanraqd, setCoquanraqd] = React.useState([]);\r\n const [coquanraqdVL, setCoquanraqdVL] = React.useState(null);\r\n const [tenduan, setTenduan] = React.useState(\"\");\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [soqdpd, setSoqdpd] = React.useState(\"\");\r\n const [loaikiemtra, setLoaikiemtra] = React.useState([]);\r\n const [loaikiemtraVL, setLoaikiemtraVL] = React.useState(null);\r\n const [kiemtravipham, setKiemtravipham] = React.useState([]);\r\n const [openthemkiemtravipham, setOpenthemkiemtravipham] = React.useState(\r\n false\r\n );\r\n const [opensuakiemtravipham, setOpensuakiemtravipham] = React.useState(false);\r\n const [soqdxulyvipham, setSoqdxulyvipham] = React.useState(\"\");\r\n const [ngaycapqdxulyvipham, setNgaycapqdxulyvipham] = React.useState(dayjs());\r\n const [noidungxulyvipham, setNoidungxulyvipham] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableThemBT, setDisableThemBT] = React.useState(true);\r\n const [disabledat, setDisabledat] = React.useState(true);\r\n const [disabletainguyen, setDisabletainguyen] = React.useState(true);\r\n const handleClosethemkiemtravipham = () => {\r\n setOpenthemkiemtravipham(false);\r\n getlistviphamtheoid();\r\n };\r\n const handleClosesuakiemtravipham = () => {\r\n setOpensuakiemtravipham(false);\r\n getlistviphamtheoid();\r\n };\r\n const disablebutton = () => {\r\n if (\r\n soqdxulyvipham.trim().length > 0 &&\r\n noidungxulyvipham.trim().length > 0\r\n ) {\r\n setDisableThemBT(false);\r\n } else {\r\n setDisableThemBT(true);\r\n }\r\n };\r\n const [ketluankiemtra, setKetluankiemtra] = React.useState(\"\");\r\n const [ketquakiemtradat, setKetquakiemtradat] = React.useState(\"\");\r\n const [ketquakttainguyen, setKetquakttainguyen] = React.useState(\"\");\r\n const [tinhtrangkiemtra, setTinhtrangkiemtra] = React.useState([]);\r\n const [tinhtrangkiemtraVL, setTinhtrangkiemtraVL] = React.useState(null);\r\n const [sudungdat_vipham, setSudungdat_vipham] = React.useState([]);\r\n const [sudungdat_viphamVL, setSudungdat_viphamVL] = React.useState(null);\r\n const [qltainguyen_vipham, setQltainguyen_vipham] = React.useState([]);\r\n const [qltainguyen_viphamVL, setQltainguyen_viphamVL] = React.useState(null);\r\n const [disableBTXoa, setDisableBTXoa] = React.useState(true);\r\n const [kiemtra_id, setKiemtra_id] = React.useState(0);\r\n\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const kiemtraviphamcolumn: GridColDef[] = [\r\n {\r\n field: \"soquyetdinhkiemtra\",\r\n headerName: \"Số QĐ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngayquyetdinhkiemtra\",\r\n headerName: \"Ngày\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"noidungquyetdinhkiemtra\",\r\n headerName: \"Nội dung\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangkiemtra\",\r\n headerName: \"Tình trạng\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ketluankiemtra\",\r\n headerName: \"Kết luận\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const getcoquanbanhanh = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmcqbanhanh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCoquanraqd(data);\r\n setCoquanraqdVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getloaikiemtra = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmloaivipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLoaikiemtra(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangkiemtra = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmtinhtrangkiemtra?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangkiemtra(data);\r\n setTinhtrangkiemtraVL({\r\n id: data[0].id,\r\n ten: data[0].ten,\r\n });\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getsudungdat_vipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangvipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setSudungdat_vipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getqltainguyen_vipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangvipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQltainguyen_vipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n // Gọi api để lưu thông tin thêm mới một kiểm tra vi phạm cho dự án\r\n const themktvp = () => {\r\n let chitietkt = [];\r\n if (loaikiemtraVL.length > 1) {\r\n chitietkt.push({\r\n loaivipham_id: 1,\r\n tinhtrangvipham_id: sudungdat_viphamVL.id,\r\n ketquakiemtra: ketquakiemtradat,\r\n });\r\n chitietkt.push({\r\n loaivipham_id: 2,\r\n tinhtrangvipham_id: qltainguyen_viphamVL.id,\r\n ketquakiemtra: ketquakttainguyen,\r\n });\r\n } else {\r\n if (loaikiemtraVL[0].id === 1) {\r\n chitietkt.push({\r\n loaivipham_id: 1,\r\n tinhtrangvipham_id: sudungdat_viphamVL.id,\r\n ketquakiemtra: ketquakiemtradat,\r\n });\r\n } else {\r\n chitietkt.push({\r\n loaivipham_id: 2,\r\n tinhtrangvipham_id: qltainguyen_viphamVL.id,\r\n ketquakiemtra: ketquakttainguyen,\r\n });\r\n }\r\n }\r\n var ngayqd =\r\n ngaycapqdxulyvipham.$y +\r\n \"-\" +\r\n String(ngaycapqdxulyvipham.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapqdxulyvipham.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/kiemtravipham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n soquyetdinh: soqdpd,\r\n ngayquyetdinh: ngayqd,\r\n donvi_id: coquanraqdVL.id,\r\n noidungquyetdinh: noidungxulyvipham,\r\n tinhtrangkiemtra_id: tinhtrangkiemtraVL.id,\r\n ketluankiemtra: ketluankiemtra,\r\n chitiet: chitietkt,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getduantheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduaniddieuchinh?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMaduan(data[0].maduan);\r\n setTenduan(data[0].tenduan);\r\n let [year, month, day] = data[0].thoidiemcapduan.split(\"-\");\r\n setThangnam(dayjs(year + \"-\" + month + \"-\" + day));\r\n if (data[0].soquyetdinhpheduyet) setSoqdpd(data[0].soquyetdinhpheduyet);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getlistviphamtheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getktviphamduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKiemtravipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const xoaktvp = () => {\r\n // var url = Config.backend + \"/api/DuanChuDauTu/xoaqdduan\";\r\n // fetch(url, {\r\n // method: \"DELETE\",\r\n // headers: {\r\n // Accept: \"application/json, text/plain\",\r\n // \"Content-Type\": \"application/json;charset=UTF-8\",\r\n // Authorization: \"Bearer \" + token,\r\n // },\r\n // body: JSON.stringify({\r\n // logid: logid,\r\n // duan_id: duan_id,\r\n // landieuchinh: landieuchinh,\r\n // username: username,\r\n // }),\r\n // })\r\n // .then((res) => res.json())\r\n // .then((data) => {\r\n // if (data === 1) {\r\n // showNotification();\r\n // setDisableBTXoa(true);\r\n // getdataRF(tuthangnam, denthangnam);\r\n // } else {\r\n // showNotification1();\r\n // }\r\n // })\r\n // .catch((error) => {\r\n // console.error(\"Error fetching data: \", error);\r\n // });\r\n console.log(\"XÓA KIỂM TRA VI PHAM\");\r\n };\r\n React.useEffect(() => {\r\n getcoquanbanhanh();\r\n getloaikiemtra();\r\n getduantheoid();\r\n gettinhtrangkiemtra();\r\n getsudungdat_vipham();\r\n getqltainguyen_vipham();\r\n getlistviphamtheoid();\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [soqdxulyvipham, ngaycapqdxulyvipham, noidungxulyvipham]);\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 setThangnam(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setOpenthemkiemtravipham(true)}\r\n style={{ height: 35 }}\r\n >\r\n Thêm kiểm tra vi phạm\r\n \r\n \r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n \r\n row.stt}\r\n rows={kiemtravipham}\r\n columns={kiemtraviphamcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n onRowClick={(params) => {\r\n setDisableBTXoa(false);\r\n setKiemtra_id(Number(params.row.kiemtra_id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensuakiemtravipham(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 Nội dung kiểm tra vi phạ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 \r\n {\r\n setSoqdxulyvipham(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapqdxulyvipham(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: \"37px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={coquanraqd}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setCoquanraqdVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={tinhtrangkiemtra}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangkiemtraVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLoaikiemtraVL(value);\r\n if (value.length > 1) {\r\n setDisabledat(false);\r\n setDisabletainguyen(false);\r\n } else {\r\n if (value[0]) {\r\n if (value[0].id === 1) {\r\n setDisabledat(false);\r\n setDisabletainguyen(true);\r\n } else {\r\n setDisabletainguyen(false);\r\n setDisabledat(true);\r\n }\r\n }\r\n }\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNoidungxulyvipham(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKetluankiemtra(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={sudungdat_vipham}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setSudungdat_viphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKetquakiemtradat(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.id === value.id\r\n }\r\n options={qltainguyen_vipham}\r\n getOptionLabel={(option) => option.ten}\r\n onChange={(event, value) => {\r\n setQltainguyen_viphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKetquakttainguyen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n Thê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 \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật nội dung kiểm tra vi phạ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 \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n );\r\n});\r\nThongtinxulyvipham.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Thongtinxulyvipham;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Capnhatvipham from \"components/Duan/Vipham/Capnhatvipham.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Button from \"@mui/material/Button\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Kyquy() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tuthangnam, setTuthangnam] = React.useState(dayjs());\r\n const [denthangnam, setDenthangnam] = React.useState(dayjs());\r\n const [duan, setDuan] = React.useState([]);\r\n const [tungay, setTungay] = React.useState(dayjs());\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [duanvipham, setDuanvipham] = React.useState([]);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [openduan, setOpenduan] = React.useState(false);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [trickUpdateDefaultValue, setTrickUpdateDefaultValue] = React.useState(\r\n 1\r\n );\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getduantheonamFR(tungay, denngay);\r\n getduandaxlvptheonamFR(tuthangnam, denthangnam);\r\n };\r\n const handleCloseduan = () => {\r\n setOpenduan(false);\r\n getduantheonamFR(tungay, denngay);\r\n getduandaxlvptheonamFR(tuthangnam, denthangnam);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduantheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduantheonamFR = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduannhapmoikhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandaxlvptheonam = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getktviphamkhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuanvipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduandaxlvptheonamFR = (ngaybatdau, ngayketthuc) => {\r\n var tu = ngaybatdau.$y + \"-\" + \"01\" + \"-\" + \"01\";\r\n var den = ngayketthuc.$y + \"-\" + \"12\" + \"-\" + \"31\";\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getktviphamkhoangtg?tungay=\" +\r\n tu +\r\n \"&denngay=\" +\r\n den +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuanvipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(tungay, denngay);\r\n getduandaxlvptheonam(tuthangnam, denthangnam);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setTuthangnam(newValue);\r\n getduandaxlvptheonam(newValue, denthangnam);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenthangnam(newValue);\r\n getduandaxlvptheonam(tuthangnam, newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 31,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setDisableBT(true);\r\n setOpenduan(true);\r\n }}\r\n style={{ height: 31 }}\r\n >\r\n Chọn dự án\r\n \r\n \r\n \r\n \r\n
\r\n row.stt}\r\n rows={duanvipham}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.da_id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Chọn 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 \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n getduantheonam(newValue, denngay);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n getduantheonam(tungay, newValue);\r\n setTrickUpdateDefaultValue(\r\n trickUpdateDefaultValue == 1 ? 2 : 1\r\n );\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan +\r\n \" * \" +\r\n option.maduan +\r\n \" * \" +\r\n option.chudautu.replace(/\\\\n/g, \"\")\r\n }\r\n onChange={(event, value) => {\r\n setDuan_id(value.da_id);\r\n setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n {\r\n setOpenduan(false);\r\n setOpensua(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Xử lý\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \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ập nhật thông tin kiểm tra - vi phạ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 \r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport VisibilityIcon from \"@mui/icons-material/Visibility\";\r\nimport Config from \"conFig.js\";\r\nimport \"suneditor/dist/css/suneditor.min.css\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nexport default function Listfileupload(props) {\r\n const { tenfile, xoafile, loai } = props;\r\n const classes = useStyles();\r\n const [openxoafile, setOpenxoafile] = React.useState(false);\r\n const handleClosexoa = () => {\r\n setOpenxoafile(false);\r\n };\r\n const reviewfile = (id) => {\r\n if (loai === 1) {\r\n window.open(\r\n \"https://docs.google.com/viewer?url=\" + Config.linkbcnam + id\r\n );\r\n } else {\r\n window.open(\r\n \"https://docs.google.com/viewer?url=\" + Config.linkbcquy + id\r\n );\r\n }\r\n };\r\n const xoa = () => {\r\n xoafile(tenfile.id);\r\n setOpenxoafile(false);\r\n };\r\n return (\r\n <>\r\n \r\n
  • \r\n {tenfile.fileName}\r\n {xoafile != null ? (\r\n \r\n {\r\n setOpenxoafile(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n {\r\n reviewfile(tenfile.fileid);\r\n }}\r\n />\r\n \r\n
  • \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Xác nhận xóa 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 \r\n Xóa file\r\n \r\n \r\n \r\n setOpenxoafile(false)}\r\n style={{ height: 25 }}\r\n >\r\n Hủ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\nListfileupload.propTypes = {\r\n tenfile: PropTypes.object,\r\n xoafile: PropTypes.func,\r\n loai: PropTypes.number,\r\n};\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Listfileupload from \"components/Uploadfile/Listfileupload.js\";\r\nimport Progress from \"react-progressbar\";\r\nimport axios from \"axios\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Themfile = React.memo(function Themfile(props) {\r\n const { dangvienid, thumucid } = props;\r\n const [selectedFiles, setSelectedFiles] = React.useState(undefined);\r\n const [progressInfos, setProgressInfos] = React.useState([]);\r\n const [tenfile, setTenfile] = React.useState([]);\r\n const [listfile, setListfile] = React.useState([]);\r\n let progresstemp = [];\r\n let bodyFormData = new FormData();\r\n const [message, setMessage] = React.useState([]);\r\n const [alert, setAlert] = React.useState(false);\r\n const selectFiles = (event) => {\r\n setProgressInfos([]);\r\n setSelectedFiles(event.target.files);\r\n };\r\n const upload = (idx, file) => {\r\n let _progressInfos = progresstemp;\r\n _progressInfos[idx].percentage = Math.round(\r\n (100 * event.loaded) / event.total\r\n );\r\n setProgressInfos(_progressInfos);\r\n setTenfile((oldArray) => [...oldArray, { filename: file.name }]);\r\n setListfile((oldArray1) => [...oldArray1, file]);\r\n };\r\n\r\n const uploadFiles = () => {\r\n const selectedFiless = selectedFiles;\r\n\r\n let _progressInfos = [];\r\n\r\n for (let i = 0; i < selectedFiless.length; i++) {\r\n _progressInfos.push({ percentage: 0, fileName: selectedFiless[i].name });\r\n }\r\n setProgressInfos(_progressInfos);\r\n progresstemp = _progressInfos;\r\n setMessage([]);\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n upload(i, selectedFiles[i]);\r\n }\r\n };\r\n const xoafile = (id, key) => {\r\n setTenfile((current) => current.filter((item, index) => index !== id));\r\n setListfile((current) => current.filter((item, index) => index !== id));\r\n bodyFormData.delete(key);\r\n };\r\n const insertvanban = () => {\r\n var url = Config.backend + \"/api/QlFileUpLoad/CreateFile\";\r\n bodyFormData.append(\"dangvienid\", dangvienid);\r\n bodyFormData.append(\"thumucid\", thumucid);\r\n listfile.map((item) => {\r\n bodyFormData.append(\"Files\", item);\r\n });\r\n axios.post(url, bodyFormData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n showNotification();\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {progressInfos &&\r\n progressInfos.map((progressInfo, index) => (\r\n
    \r\n {progressInfo.fileName}\r\n
    \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\r\n \r\n
    \r\n
    \r\n\r\n {message.length > 0 && (\r\n
    \r\n
      \r\n {message.map((item, i) => {\r\n return
    • {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 setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nThemfile.propTypes = {\r\n dangvienid: PropTypes.number,\r\n thumucid: PropTypes.number,\r\n};\r\nexport default Themfile;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n GridValueGetterParams,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themfile from \"components/Uploadfile/Themfile.js\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport FileOpenIcon from \"@mui/icons-material/FileOpen\";\r\nimport FolderIconclose from \"@mui/icons-material/Folder\";\r\nimport FolderOpenIcons from \"@mui/icons-material/FolderOpen\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport GoogleDocsViewer from \"react-google-docs-viewer\";\r\n//import FolderTree, { testData } from \"react-folder-tree\";\r\nimport FolderTree from \"react-folder-tree\";\r\nimport \"react-folder-tree/dist/style.css\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst FolderOpenIcon = () => {\r\n return ;\r\n};\r\nconst FolderIcon = () => {\r\n return ;\r\n};\r\nconst noiFile = (params: GridValueGetterParams) => {\r\n return `${params.row.name || \".\"} ${params.row.ext}`;\r\n};\r\nconst filecolumn = [\r\n {\r\n field: \"tenfile\",\r\n headerName: \"Danh sách file\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n valueGetter: noiFile,\r\n renderCell: (params) => {\r\n return (\r\n \r\n \r\n {\" \" + params.formattedValue}\r\n \r\n \r\n );\r\n },\r\n },\r\n];\r\nexport default function Quanlyfile() {\r\n const classes = useStyles();\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [duan, setDuan] = React.useState([]);\r\n const [duanid, setDuanid] = React.useState(0);\r\n const [file, setFile] = React.useState([]);\r\n const [fileid, setFileid] = React.useState(0);\r\n const [fileupload_id, setFileupload_id] = React.useState(0);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [openfile, setOpenfile] = React.useState(false);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const [nodes, setNodes] = React.useState([]);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getfileReload();\r\n };\r\n const handleClosefile = () => {\r\n setOpenfile(false);\r\n };\r\n const openthemfile = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const createParentNode = (array) => {\r\n var map = {};\r\n for (var i = 0; i < array.length; i++) {\r\n var obj = array[i];\r\n obj.children = [];\r\n\r\n map[obj.id] = obj;\r\n\r\n var parent = obj.thumuccha_id || \"-\";\r\n if (!map[parent]) {\r\n map[parent] = {\r\n children: [],\r\n };\r\n }\r\n map[parent].children.push(obj);\r\n }\r\n return map[\"-\"].children;\r\n };\r\n const getduantheonam = (namvl) => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduantheonam?nam=\" +\r\n namvl +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getthumuctheoduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/getthumuctheoduan?duan_id=768\" +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n const result = data.map((a) => {\r\n return { name: a.tenthumuc, id: a.id, thumuccha_id: a.thumuccha_id };\r\n });\r\n var r = createParentNode(result);\r\n // console.log(r);\r\n var root = [{ name: \"Tất cả thư mục của dự án\", id: 0, children: r }];\r\n setNodes(root[0]);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getfileReload = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/getthumuctheoduan?duan_id=768\" +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setFile(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoafile = () => {\r\n var url =\r\n Config.backend + \"/api/QlFileUpLoad/DeleteFileDangVien?id=\" + fileid;\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data) {\r\n showNotification();\r\n getfileReload();\r\n setDisableBT1(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const onTreeStateChange = (state, event) => {\r\n if (event.path) {\r\n var item = state;\r\n event.path.map((a) => {\r\n item = item.children[a];\r\n });\r\n console.log(item.id);\r\n }\r\n console.log(state, event);\r\n console.log(event);\r\n };\r\n const downloadfile = () => {\r\n window.location.href = Config.link + fileupload_id;\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getduantheonam(new Date().getFullYear());\r\n getfileReload();\r\n getthumuctheoduan();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getduantheonam(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 30,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n option.tenduan + \" * \" + option.maduan + \" * \" + option.chudautu\r\n }\r\n onChange={(event, value) => {\r\n setDuanid(value.id);\r\n getthumuctheoduan(value.id);\r\n //setDisableBT(false);\r\n }}\r\n renderInput={(params) => (\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 Xóa file\r\n \r\n \r\n \r\n \r\n Download\r\n \r\n \r\n \r\n setOpenfile(true)}\r\n style={{ height: 30 }}\r\n >\r\n Xem\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={file}\r\n columns={filecolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setFileid(Number(params.row.id));\r\n setDisableBT1(false);\r\n setFileupload_id(params.row.upload_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 \r\n \r\n Thêm 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 \r\n \r\n
    \r\n \r\n
    \r\n \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 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 \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Thembaocao = React.memo(function Thembaocao(props) {\r\n const { duan_id } = props;\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [vongiaingan_thang, setVongiaingan_thang] = React.useState(0);\r\n const [tinhhinhthuchien, setTinhhinhthuchien] = React.useState(\"\");\r\n const [khokhanvuongmac, setKhokhanvuongmac] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const thembaocao = () => {\r\n var url = Config.backend + \"/api/BaoCao/themslbcthang\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n thang: thangnam.$M + 1,\r\n nam: thangnam.$y,\r\n duan_id: duan_id,\r\n vongiaingan_thang: vongiaingan_thang,\r\n tinhhinhthuchien: tinhhinhthuchien,\r\n khokhanvuongmac: khokhanvuongmac,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n }}\r\n format=\"MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setVongiaingan_thang(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTinhhinhthuchien(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKhokhanvuongmac(event.target.value);\r\n }}\r\n multiline\r\n rows={2}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nThembaocao.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Thembaocao;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatbaocao = React.memo(function Capnhatbaocao(props) {\r\n const { baocao_id } = props;\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [duan_id, setDuan_id] = React.useState(1);\r\n const [vongiaingan_thang, setVongiaingan_thang] = React.useState(0);\r\n const [tinhhinhthuchien, setTinhhinhthuchien] = React.useState(\"\");\r\n const [khokhanvuongmac, setKhokhanvuongmac] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getbaocaothangtheoduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getslbcthangtheoid?slbcthang_id=\" +\r\n baocao_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n let thang = data[0].thang;\r\n let nam = data[0].nam;\r\n setThangnam(dayjs(nam + \"-\" + thang));\r\n setDuan_id(data[0].duan_id);\r\n setVongiaingan_thang(data[0].vongiaingan_thang);\r\n setTinhhinhthuchien(data[0].tinhhinhthuchien);\r\n setKhokhanvuongmac(data[0].khokhanvuongmac);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const capnhatbaocao = () => {\r\n var url = Config.backend + \"/api/BaoCao/themslbcthang\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n thang: thangnam.$M + 1,\r\n nam: thangnam.$y,\r\n duan_id: duan_id,\r\n vongiaingan_thang: vongiaingan_thang,\r\n tinhhinhthuchien: tinhhinhthuchien,\r\n khokhanvuongmac: khokhanvuongmac,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getbaocaothangtheoduan();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n }}\r\n format=\"MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setVongiaingan_thang(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n inputProps: { min: 0 },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setTinhhinhthuchien(event.target.value);\r\n }}\r\n multiline\r\n rows={3}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setKhokhanvuongmac(event.target.value);\r\n }}\r\n multiline\r\n rows={3}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatbaocao.propTypes = {\r\n baocao_id: PropTypes.number,\r\n};\r\nexport default Capnhatbaocao;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Thembaocao from \"components/Baocaoduan/Baocaothang/Thembaocao.js\";\r\nimport Capnhatbaocao from \"components/Baocaoduan/Baocaothang/Capnhatbaocao.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst dacolumn = [\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thang\",\r\n headerName: \"Tháng\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"nam\",\r\n headerName: \"Năm\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongiaingan_thang\",\r\n headerName: \"Vốn giải ngân\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tinhhinhthuchien\",\r\n headerName: \"Tình hình thực hiện\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"khokhanvuongmac\",\r\n headerName: \"Khó khăn, vướng mắt\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nconst Baocaothang = React.memo(function Baocaothang(props) {\r\n const classes = useStyles();\r\n const { duan_id } = props;\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [data, setData] = React.useState([]);\r\n const [thang, setThang] = React.useState(0);\r\n const [nam, setNam] = React.useState(0);\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT_xoa, setDisableBT_xoa] = React.useState(false);\r\n const [baocao_id, setBaocao_id] = React.useState(0);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opencapnhat, setOpencapnhat] = React.useState(false);\r\n const handleClosethem = () => {\r\n setOpenthem(false);\r\n getbaocaothang(thangnam.$y);\r\n };\r\n const handleClosecapnhat = () => {\r\n setOpencapnhat(false);\r\n getbaocaothang(thangnam.$y);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const xoabaocaothang = () => {\r\n var url = Config.backend + \"/api/BaoCao/xoaslbcthang\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n thang: thang,\r\n nam: nam,\r\n duan_id: duan_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === \"Đã xóa báo cáo thành công.\") {\r\n showNotification();\r\n getbaocaothang(thangnam.$y);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getbaocaothang = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getslbcthangtheoduannam?nam=\" +\r\n nam +\r\n \"&duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n //setDisableBT_xoa(true);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n React.useEffect(() => {\r\n getbaocaothang(new Date().getFullYear());\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getbaocaothang(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n {\r\n setOpenthem(true);\r\n }}\r\n style={{ height: 33 }}\r\n >\r\n Thêm báo cáo\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={data}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setBaocao_id(Number(params.row.id));\r\n setThang(params.row.thang);\r\n setNam(params.row.nam);\r\n setDisableBT_xoa(false);\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpencapnhat(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 Thêm báo cáo thá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 Cập nhật báo cáo thá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 setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n
    \r\n );\r\n});\r\nBaocaothang.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Baocaothang;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Button from \"@mui/material/Button\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport Select from \"@mui/material/Select\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst Thembaocao = React.memo(function Thembaocao(props) {\r\n const { nam, duan_id } = props;\r\n const classes = useStyles();\r\n const [quy, setQuy] = React.useState(1);\r\n const [vongiaingan_quy, setVongiaingan_quy] = React.useState(0);\r\n const [ketquahoatdong_quy, setKetquahoatdong_quy] = React.useState(0);\r\n const [laodong_vn, setLaodong_vn] = React.useState(0);\r\n const [laodong_nn, setLaodong_nn] = React.useState(0);\r\n const [nopngansach_quy, setNopngansach_quy] = React.useState(0);\r\n const [dientichdadung_quy, setDientichdadung_quy] = React.useState(0);\r\n const [tinhhinhtrienkhai, setTinhhinhtrienkhai] = React.useState(\"\");\r\n const [quyhoachchutruong, setQuyhoachchutruong] = React.useState(\"\");\r\n const [tiendothuchien, setTiendothuchien] = React.useState(\"\");\r\n const [baovemoitruong, setBaovemoitruong] = React.useState(\"\");\r\n const [congnghe, setCongnghe] = React.useState(\"\");\r\n const [datdaitainguyen, setDatdaitainguyen] = React.useState(\"\");\r\n const [kehoachtrienkhaisaptoi, setKehoachtrienkhaisaptoi] = React.useState(\r\n \"\"\r\n );\r\n const [khokhanvuongmac, setKhokhanvuongmac] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getslbcthangtoquy = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getslbcthangtoquy?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n quy +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data[0]) {\r\n setVongiaingan_quy(data[0].vongiaingan_quy);\r\n setTiendothuchien(data[0].tinhtrangtiendo);\r\n if (data[0].khokhanvuongmac)\r\n setKhokhanvuongmac(data[0].khokhanvuongmac);\r\n } else {\r\n setVongiaingan_quy(0);\r\n setTiendothuchien(\"\");\r\n setKhokhanvuongmac(\"\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getslbcthangtoquyid = (quyid) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getslbcthangtoquy?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n quyid +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data[0]) {\r\n setVongiaingan_quy(data[0].vongiaingan_quy);\r\n setTiendothuchien(data[0].tinhtrangtiendo);\r\n if (data[0].khokhanvuongmac)\r\n setKhokhanvuongmac(data[0].khokhanvuongmac);\r\n } else {\r\n setVongiaingan_quy(0);\r\n setTiendothuchien(\"\");\r\n setKhokhanvuongmac(\"\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const insertbaocao = () => {\r\n var url = Config.backend + \"/api/BaoCao/themmauA1\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n quy: quy,\r\n nam: nam,\r\n duan_id: duan_id,\r\n vongiaingan_quy: vongiaingan_quy,\r\n ketquahoatdong_quy: ketquahoatdong_quy,\r\n laodong_vn: laodong_vn,\r\n laodong_nn: laodong_nn,\r\n nopngansach_quy: nopngansach_quy,\r\n dientichdadung_quy: dientichdadung_quy,\r\n tinhhinhtrienkhai: tinhhinhtrienkhai,\r\n quyhoachchutruong: quyhoachchutruong,\r\n tiendothuchien: tiendothuchien,\r\n baovemoitruong: baovemoitruong,\r\n congnghe: congnghe,\r\n datdaitainguyen: datdaitainguyen,\r\n kehoachtrienkhaisaptoi: kehoachtrienkhaisaptoi,\r\n khokhanvuongmac: khokhanvuongmac,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n \r\n Tên chỉ tiêu\r\n \r\n \r\n Đơn vị tính\r\n \r\n \r\n Số liệu thực hiện Quý báo cáo\r\n \r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n \r\n \r\n I. Vốn đã giải ngân\r\n \r\n VNĐ\r\n \r\n \r\n {\r\n setVongiaingan_quy(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n II. Kết quả hoạt động đầu tư kinh doanh\r\n \r\n VNĐ\r\n \r\n \r\n {\r\n setKetquahoatdong_quy(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n III. Số lao động hiện có đến thời điểm báo cáo\r\n \r\n Người\r\n \r\n \r\n \r\n 1. Lao động Việt Nam \r\n Người\r\n \r\n \r\n {\r\n setLaodong_vn(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n 2. Lao động nước ngoài\r\n Người\r\n \r\n \r\n {\r\n setLaodong_nn(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n IV. Giá trị nộp ngân sách nhà nước\r\n \r\n VNĐ\r\n \r\n \r\n {\r\n setNopngansach_quy(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n V. Diện tích đất, mặt nước đã sử dụng (nếu có)\r\n \r\n m2\r\n \r\n \r\n {\r\n setDientichdadung_quy(value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VI. Tình hình triển khai (Nhà đầu tư có trách nhiệm báo cáo sự phù\r\n hợp của dự án với các nội dung theo quy định của pháp luật với các\r\n nội dung sau)\r\n \r\n \r\n \r\n {\r\n setTinhhinhtrienkhai(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"auto\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 1. Về sự phù hợp quy hoạch, chủ trương\r\n \r\n \r\n \r\n {\r\n setQuyhoachchutruong(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 2. Về việc đảm bảo tiến độ thực hiện\r\n \r\n \r\n \r\n {\r\n setTiendothuchien(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 3. Về việc thực hiện các yêu cầu về bảo vệ môi trường\r\n \r\n \r\n \r\n {\r\n setBaovemoitruong(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n 4. Về công nghệ\r\n \r\n \r\n {\r\n setCongnghe(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 5. Về việc sử dụng đất đai, tài nguyên\r\n \r\n \r\n \r\n {\r\n setDatdaitainguyen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VII. Kế hoạch triển khai sắp tới\r\n \r\n \r\n \r\n {\r\n setKehoachtrienkhaisaptoi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VIII. Khó khăn, vướng mắc\r\n \r\n \r\n \r\n {\r\n setKhokhanvuongmac(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = renderTableBody();\r\n React.useEffect(() => {\r\n getslbcthangtoquy();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n Quý\r\n {\r\n setQuy(event.target.value);\r\n getslbcthangtoquyid(event.target.value);\r\n }}\r\n >\r\n Quý I\r\n Quý II\r\n Quý III\r\n Quý IV\r\n \r\n \r\n \r\n
    \r\n \r\n {tHead}\r\n {tBody}\r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n
    \r\n );\r\n});\r\nThembaocao.propTypes = {\r\n nam: PropTypes.number,\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Thembaocao;\r\n","import Config from \"conFig.js\";\r\nimport PropTypes from \"prop-types\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as React from \"react\";\r\nimport Button from \"@mui/material/Button\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n//Convert data to map\r\nconst convertDataToMap = (data) => {\r\n return new Map(Object.entries(data));\r\n};\r\n\r\nconst Baocaoquyexcel = React.memo(function Baocaoquyexcel(props) {\r\n const { duan_id, nam, quy, disableBT_xuatExcel } = props;\r\n const [dataTmp, setdataTmp] = React.useState([]);\r\n\r\n // Get and create authentication object\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n // Call Api to get data\r\n const getDataTmp = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n quy +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((dataTmp) => {\r\n setdataTmp(dataTmp);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n React.useEffect(() => {\r\n getDataTmp();\r\n }, [disableBT_xuatExcel]);\r\n\r\n // Create excel Template\r\n const createExcelTemplate = (sheet) => {\r\n // Set width columns\r\n const aCol = sheet.getColumn(\"A\");\r\n const bCol = sheet.getColumn(\"B\");\r\n const cCol = sheet.getColumn(\"C\");\r\n const dCol = sheet.getColumn(\"D\");\r\n const eCol = sheet.getColumn(\"E\");\r\n aCol.width = 60;\r\n bCol.width = 10;\r\n cCol.width = 14;\r\n dCol.width = 20;\r\n eCol.width = 36;\r\n\r\n // Set template\r\n sheet.mergeCells(\"A1\", \"E1\");\r\n sheet.getCell(\"A1\").value =\r\n \"III. Biểu mẫu báo cáo định kỳ của tổ chức kinh tế thực hiện dự án đầu tư\";\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A3\", \"E3\");\r\n sheet.getCell(\"A3\").value = \"Mẫu A.III.1\";\r\n sheet.getCell(\"A3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A4\", \"E4\");\r\n sheet.getCell(\"A4\").value = \"BÁO CÁO TÌNH HÌNH THỰC HIỆN DỰ ÁN ĐẦU TƯ QÚY \";\r\n sheet.getCell(\"A4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A5\", \"E5\");\r\n sheet.getCell(\"A5\").value =\r\n \"(Quy định tại điểm a, khoản 2, Điều 72 Luật Đầu tư và khoản 1, khoản 2, Điều 102 Nghị định 31/2021/NĐ-CP)\";\r\n sheet.getCell(\"A5\").font = {\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A6\", \"E6\");\r\n sheet.getCell(\"A6\").value =\r\n \"(Chủ đầu tư có nhiều dự án thì mỗi dự án báo cáo 1 biểu riêng)\";\r\n sheet.getCell(\"A6\").font = {\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A7\", \"E7\");\r\n sheet.getCell(\"A7\").value =\r\n \"____________________________________________________________________________\";\r\n sheet.getCell(\"A7\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.getCell(\"A9\").value = \"TỔ CHỨC KINH TẾ THỰC HIỆN DỰ ÁN ĐẦU TƯ\";\r\n sheet.getCell(\"A9\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A9\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"D9\").value = \"Nơi nhận:\";\r\n sheet.getCell(\"D9\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D9\").alignment = { vertical: \"top\", horizontal: \"right\" };\r\n sheet.getCell(\"E9\").value = \"Sở Kế hoạch và Đầu tư Bình Định\";\r\n sheet.getCell(\"E9\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"E9\").alignment = { vertical: \"top\", horizontal: \"right\" };\r\n\r\n sheet.getRow(9).height = 50;\r\n\r\n sheet.mergeCells(\"A10\", \"E10\");\r\n\r\n sheet.mergeCells(\"A11\", \"E11\");\r\n sheet.getCell(\"A11\").value = \"Phần A: Thông tin chung về dự án đầu tư\";\r\n sheet.getCell(\"A11\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A11\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"A12\").value = \"Tên dự án\";\r\n sheet.getCell(\"A12\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A12\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A12\").border = {\r\n top: { style: \"double\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n sheet.mergeCells(\"B12\", \"E12\");\r\n sheet.getCell(\"B12\").value = \"tenduan\";\r\n sheet.getCell(\"B12\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B12\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B12\").border = {\r\n top: { style: \"double\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A13\").value = \"Chủ đầu tư\";\r\n sheet.getCell(\"A13\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A13\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A13\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n sheet.mergeCells(\"B13\", \"E13\");\r\n sheet.getCell(\"B13\").value = \"\";\r\n sheet.getCell(\"B13\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B13\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B13\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A14\").value = \"Số điện thoại người lập báo cáo\";\r\n sheet.getCell(\"A14\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A14\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A14\").border = {\r\n bottom: { style: \"double\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n sheet.mergeCells(\"B14\", \"E14\");\r\n sheet.getCell(\"B14\").value = \"\";\r\n sheet.getCell(\"B14\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B14\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B14\").border = {\r\n bottom: { style: \"double\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.mergeCells(\"A16\", \"E16\");\r\n sheet.getCell(\"A16\").value = \"Phần B: Tình hình thực hiện dự án đầu tư\";\r\n sheet.getCell(\"A16\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A16\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"A17\").value = \"Tên chỉ tiêu\";\r\n sheet.getCell(\"A17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"A17\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B17\").value = \"Đơn vị tính\";\r\n sheet.getCell(\"B17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B17\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C17\").value = \"Số liệu thực hiện Quý báo cáo\";\r\n sheet.getCell(\"C17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C17\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D17\").value =\r\n \"Số liệu cộng dồn từ đầu năm đến cuối Quý báo cáo\";\r\n sheet.getCell(\"D17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D17\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E17\").value =\r\n \"Số liệu cộng dồn từ khi được cấp GCNĐKĐT đến cuối Quý báo cáo\";\r\n sheet.getCell(\"E17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"E17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E17\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getRow(17).height = 60;\r\n\r\n sheet.getCell(\"A18\").value = \"I. Vốn đã giải ngân\";\r\n sheet.getCell(\"A18\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A18\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B18\").value = \"VNĐ\";\r\n sheet.getCell(\"B18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B18\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C18\").value = \"vongiaingan_quy\";\r\n sheet.getCell(\"C18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C18\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D18\").value = \"vongiaingan_lknam\";\r\n sheet.getCell(\"D18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D18\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E18\").value = \"vongiaingan_lkduan\";\r\n sheet.getCell(\"E18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"E18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"E18\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A19\").value = \"II. Kết quả hoạt động đầu tư kinh doanh\";\r\n sheet.getCell(\"A19\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A19\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B19\").value = \"VNĐ\";\r\n sheet.getCell(\"B19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B19\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C19\").value = \"ketquahoatdong_quy\";\r\n sheet.getCell(\"C19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C19\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D19\").value = \"ketquahoatdong_lknam\";\r\n sheet.getCell(\"D19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D19\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"E19\", \"E22\");\r\n sheet.getCell(\"E19\").value = \"X\";\r\n sheet.getCell(\"E19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"E19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"E19\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A20\").value =\r\n \"III. Số lao động hiện có đến thời điểm báo cáo\";\r\n sheet.getCell(\"A20\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A20\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B20\").value = \"Người\";\r\n sheet.getCell(\"B20\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B20\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C20\").value = \"laodong_tongso\";\r\n sheet.getCell(\"C20\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C20\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"D20\", \"D22\");\r\n sheet.getCell(\"D20\").value = \"X\";\r\n sheet.getCell(\"D20\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"D20\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A21\").value = \"1. Lao động Việt Nam\";\r\n sheet.getCell(\"A21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A21\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B21\").value = \"Người\";\r\n sheet.getCell(\"B21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B21\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C21\").value = \"laodong_vn\";\r\n sheet.getCell(\"C21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C21\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A22\").value = \"2. Lao động nước ngoài\";\r\n sheet.getCell(\"A22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A22\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B22\").value = \"Người\";\r\n sheet.getCell(\"B22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B22\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C22\").value = \"laodong_nn\";\r\n sheet.getCell(\"C22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C22\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A23\").value = \"IV. Giá trị nộp ngân sách nhà nước\";\r\n sheet.getCell(\"A23\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B23\").value = \"VNĐ\";\r\n sheet.getCell(\"B23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C23\").value = \"nopngansach_quy\";\r\n sheet.getCell(\"C23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D23\").value = \"nopngansach_lknam\";\r\n sheet.getCell(\"D23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E23\").value = \"nopngansach_lkduan\";\r\n sheet.getCell(\"E23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"E23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"E23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A24\").value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"V. Diện tích đất, mặt nước đã sử dụng\",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"(nếu có)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"A24\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B24\").value = \"m2\";\r\n sheet.getCell(\"B24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C24\").value = \"dientichdadung_quy\";\r\n sheet.getCell(\"C24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D24\").value = \"dientichdadung_lknam\";\r\n sheet.getCell(\"D24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E24\").value = \"dientichdadung_lkduan\";\r\n sheet.getCell(\"E24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"E24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"E24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A25\").value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"VI. Tình hình triển khai \",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text:\r\n \"(Nhà đầu tư có trách nhiệm báo cáo sự phù hợp của dự án với các nội dung theo quy định của pháp luật với các nội dung sau)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"A25\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A25\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B25\", \"E25\");\r\n sheet.getCell(\"B25\").value = \"tinhhinhtrienkhai\";\r\n sheet.getCell(\"B25\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B25\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B25\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getRow(25).height = 60;\r\n\r\n sheet.getCell(\"A26\").value = \"1. Về sự phù hợp quy hoạch, chủ trương\";\r\n sheet.getCell(\"A26\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A26\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A26\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B26\", \"E26\");\r\n sheet.getCell(\"B26\").value = \"quyhoachchutruong\";\r\n sheet.getCell(\"B26\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B26\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B26\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A27\").value = \"2. Về việc đảm bảo tiến độ thực hiện\";\r\n sheet.getCell(\"A27\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A27\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A27\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B27\", \"E27\");\r\n sheet.getCell(\"B27\").value = \"tiendothuchien\";\r\n sheet.getCell(\"B27\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B27\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B27\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A28\").value =\r\n \"3. Về việc thực hiện các yêu cầu về bảo vệ môi trường\";\r\n sheet.getCell(\"A28\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A28\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A28\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B28\", \"E28\");\r\n sheet.getCell(\"B28\").value = \"baovemoitruong\";\r\n sheet.getCell(\"B28\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B28\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B28\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A29\").value = \"4. Về công nghệ\";\r\n sheet.getCell(\"A29\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A29\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A29\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B29\", \"E29\");\r\n sheet.getCell(\"B29\").value = \"congnghe\";\r\n sheet.getCell(\"B29\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B29\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B29\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A30\").value = \"5. Về việc sử dụng đất đai, tài nguyên\";\r\n sheet.getCell(\"A30\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A30\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A30\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B30\", \"E30\");\r\n sheet.getCell(\"B30\").value = \"datdaitainguyen\";\r\n sheet.getCell(\"B30\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B30\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B30\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A31\").value = \"VII. Kế hoạch triển khai sắp tới\";\r\n sheet.getCell(\"A31\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A31\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A31\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B31\", \"E31\");\r\n sheet.getCell(\"B31\").value = \"kehoachtrienkhaisaptoi\";\r\n sheet.getCell(\"B31\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B31\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B31\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A32\").value = \"VIII. Khó khăn, vướng mắc\";\r\n sheet.getCell(\"A32\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A32\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A32\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B32\", \"E32\");\r\n sheet.getCell(\"B32\").value = \"khokhanvuongmac\";\r\n sheet.getCell(\"B32\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B32\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B32\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"A34\").value = \"Ghi chú: \";\r\n sheet.getCell(\"A34\").font = {\r\n bold: true,\r\n underline: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A34\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.mergeCells(\"A35\", \"E35\");\r\n sheet.getCell(\"A35\").value = '- Không báo cáo vào các ô đánh dấu \"X\"';\r\n sheet.getCell(\"A35\").font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A35\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.mergeCells(\"C37\", \"E37\");\r\n sheet.getCell(\"C37\").value = \"....., ngày ... tháng ... năm ...\";\r\n sheet.getCell(\"C37\").font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C37\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"C38\", \"E38\");\r\n sheet.getCell(\"C38\").value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"Tổ chức kinh tế thực hiện dự án \",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text:\r\n \"(người đại diện theo pháp luật của tổ chức kinh tế, ghi rõ họ tên, chức danh và đóng dấu nếu có)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"C38\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getRow(38).height = 60;\r\n };\r\n\r\n // Full fill Data for template\r\n const fullFillDataTemplate = (sheet, map) => {\r\n // Iterate over all rows that have values in a worksheet\r\n sheet.eachRow(function (row) {\r\n row.eachCell(function (cell) {\r\n if (cell.value === \"BÁO CÁO TÌNH HÌNH THỰC HIỆN DỰ ÁN ĐẦU TƯ QÚY \") {\r\n cell.value = cell.value + map.get(\"quy\");\r\n }\r\n\r\n if (map.get(cell.value)) {\r\n cell.value = map.get(cell.value).toLocaleString(\"de-DE\");\r\n } else if (map.get(cell.value) === \"\") {\r\n cell.value = map.get(cell.value);\r\n } else if (map.get(cell.value) === 0) {\r\n cell.value = 0;\r\n }\r\n });\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Create excel template\r\n createExcelTemplate(sheet);\r\n\r\n // Full fill data for template\r\n fullFillDataTemplate(sheet, convertDataToMap(dataTmp[0]));\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaoquy.xlsx\");\r\n };\r\n\r\n // Get all data\r\n React.useEffect(() => {\r\n getDataTmp();\r\n }, []);\r\n\r\n return (\r\n {\r\n handleExport();\r\n }}\r\n >\r\n Xuất Excel\r\n \r\n );\r\n});\r\nBaocaoquyexcel.propTypes = {\r\n duan_id: PropTypes.number,\r\n nam: PropTypes.number,\r\n quy: PropTypes.number,\r\n disableBT_xuatExcel: PropTypes.bool,\r\n};\r\nexport default Baocaoquyexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Button from \"@mui/material/Button\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport Select from \"@mui/material/Select\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Baocaoquyexcel from \"components/Xuatexcel/Baocaoquyexcel.js\";\r\nimport Listfileupload from \"components/Uploadfile/Listfileupload.js\";\r\nimport CloudUploadIcon from \"@mui/icons-material/CloudUpload\";\r\nimport Config from \"conFig.js\";\r\nimport axios from \"axios\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nconst VisuallyHiddenInput = styled(\"input\")({\r\n clip: \"rect(0 0 0 0)\",\r\n clipPath: \"inset(50%)\",\r\n height: 0.5,\r\n overflow: \"hidden\",\r\n position: \"absolute\",\r\n bottom: 0,\r\n left: 0,\r\n whiteSpace: \"nowrap\",\r\n width: 1,\r\n});\r\nconst Capnhatbaocao = React.memo(function Capnhatbaocao(props) {\r\n const { nam, duan_id } = props;\r\n const classes = useStyles();\r\n const [quy, setQuy] = React.useState(1);\r\n const [listfile, setListfile] = React.useState([]);\r\n const [vongiaingan_quy, setVongiaingan_quy] = React.useState(0);\r\n const [ketquahoatdong_quy, setKetquahoatdong_quy] = React.useState(0);\r\n const [laodong_vn, setLaodong_vn] = React.useState(0);\r\n const [laodong_nn, setLaodong_nn] = React.useState(0);\r\n const [nopngansach_quy, setNopngansach_quy] = React.useState(0);\r\n const [dientichdadung_quy, setDientichdadung_quy] = React.useState(0);\r\n const [tinhhinhtrienkhai, setTinhhinhtrienkhai] = React.useState(\"\");\r\n const [quyhoachchutruong, setQuyhoachchutruong] = React.useState(\"\");\r\n const [tiendothuchien, setTiendothuchien] = React.useState(\"\");\r\n const [baovemoitruong, setBaovemoitruong] = React.useState(\"\");\r\n const [congnghe, setCongnghe] = React.useState(\"\");\r\n const [datdaitainguyen, setDatdaitainguyen] = React.useState(\"\");\r\n const [kehoachtrienkhaisaptoi, setKehoachtrienkhaisaptoi] = React.useState(\r\n \"\"\r\n );\r\n const [khokhanvuongmac, setKhokhanvuongmac] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [alert3, setAlert3] = React.useState(false);\r\n const [alert4, setAlert4] = React.useState(false);\r\n const [alert5, setAlert5] = React.useState(false);\r\n const [disableBT_capnhat, setDisableBT_capnhat] = React.useState(false);\r\n const [disableBT_xoa, setDisableBT_xoa] = React.useState(false);\r\n const [disableBT_xuatExcel, setDisableBT_xuatExcel] = React.useState(false);\r\n const [disableBT_upload, setDisableBT_upload] = React.useState(false);\r\n //const [selectedFiles, setSelectedFiles] = React.useState(undefined);\r\n let bodyFormData = new FormData();\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n var objDelete = {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getfile = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcQuy?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam +\r\n \"&Quy=\" +\r\n quy;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoafile = (fileid) => {\r\n var url = Config.backend + \"/api/QlFileThuMuc/DeleteFileBcquy?id=\" + fileid;\r\n fetch(url, objDelete)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n showNotification4(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getsolieu = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n quy +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data[0]) {\r\n setVongiaingan_quy(data[0].vongiaingan_quy);\r\n setKetquahoatdong_quy(data[0].ketquahoatdong_quy);\r\n setLaodong_vn(data[0].laodong_vn);\r\n setLaodong_nn(data[0].laodong_nn);\r\n setNopngansach_quy(data[0].nopngansach_quy);\r\n setDientichdadung_quy(data[0].dientichdadung_quy);\r\n setTinhhinhtrienkhai(data[0].tinhhinhtrienkhai);\r\n setQuyhoachchutruong(data[0].quyhoachchutruong);\r\n setTiendothuchien(data[0].tiendothuchien);\r\n setBaovemoitruong(data[0].baovemoitruong);\r\n setCongnghe(data[0].congnghe);\r\n setDatdaitainguyen(data[0].datdaitainguyen);\r\n setKehoachtrienkhaisaptoi(data[0].kehoachtrienkhaisaptoi);\r\n setKhokhanvuongmac(data[0].khokhanvuongmac);\r\n setDisableBT_capnhat(false);\r\n setDisableBT_xoa(false);\r\n setDisableBT_xuatExcel(false);\r\n setDisableBT_upload(false);\r\n } else {\r\n setVongiaingan_quy(0);\r\n setKetquahoatdong_quy(0);\r\n setLaodong_vn(0);\r\n setLaodong_nn(0);\r\n setNopngansach_quy(0);\r\n setDientichdadung_quy(0);\r\n setTinhhinhtrienkhai(\"\");\r\n setQuyhoachchutruong(\"\");\r\n setTiendothuchien(\"\");\r\n setBaovemoitruong(\"\");\r\n setCongnghe(\"\");\r\n setDatdaitainguyen(\"\");\r\n setKehoachtrienkhaisaptoi(\"\");\r\n setKhokhanvuongmac(\"\");\r\n setDisableBT_capnhat(true);\r\n setDisableBT_xoa(true);\r\n setDisableBT_xuatExcel(true);\r\n setDisableBT_upload(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getsolieuid = (id) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data[0]) {\r\n setVongiaingan_quy(data[0].vongiaingan_quy);\r\n setKetquahoatdong_quy(data[0].ketquahoatdong_quy);\r\n setLaodong_vn(data[0].laodong_vn);\r\n setLaodong_nn(data[0].laodong_nn);\r\n setNopngansach_quy(data[0].nopngansach_quy);\r\n setDientichdadung_quy(data[0].dientichdadung_quy);\r\n setTinhhinhtrienkhai(data[0].tinhhinhtrienkhai);\r\n setQuyhoachchutruong(data[0].quyhoachchutruong);\r\n setTiendothuchien(data[0].tiendothuchien);\r\n setBaovemoitruong(data[0].baovemoitruong);\r\n setCongnghe(data[0].congnghe);\r\n setDatdaitainguyen(data[0].datdaitainguyen);\r\n setKehoachtrienkhaisaptoi(data[0].kehoachtrienkhaisaptoi);\r\n setKhokhanvuongmac(data[0].khokhanvuongmac);\r\n setDisableBT_capnhat(false);\r\n setDisableBT_xoa(false);\r\n setDisableBT_xuatExcel(false);\r\n setDisableBT_upload(false);\r\n } else {\r\n setVongiaingan_quy(0);\r\n setKetquahoatdong_quy(0);\r\n setLaodong_vn(0);\r\n setLaodong_nn(0);\r\n setNopngansach_quy(0);\r\n setDientichdadung_quy(0);\r\n setTinhhinhtrienkhai(\"\");\r\n setQuyhoachchutruong(\"\");\r\n setTiendothuchien(\"\");\r\n setBaovemoitruong(\"\");\r\n setCongnghe(\"\");\r\n setDatdaitainguyen(\"\");\r\n setKehoachtrienkhaisaptoi(\"\");\r\n setKhokhanvuongmac(\"\");\r\n setDisableBT_capnhat(true);\r\n setDisableBT_xoa(true);\r\n setDisableBT_xuatExcel(true);\r\n setDisableBT_upload(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const selectFiles = (event) => {\r\n if (listfile[0]) {\r\n showNotification2();\r\n } else {\r\n var url = Config.backend + \"/api/QlFileThuMuc/UploadBcQuy\";\r\n bodyFormData.append(\"duan_id\", duan_id);\r\n bodyFormData.append(\"quy\", quy);\r\n bodyFormData.append(\"nam\", nam);\r\n bodyFormData.append(\"file\", event.target.files[0]);\r\n axios.post(url, bodyFormData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n showNotification3();\r\n }\r\n };\r\n const xoabaocao = () => {\r\n if (listfile[0]) {\r\n showNotification5();\r\n } else {\r\n var url = Config.backend + \"/api/BaoCao/xoaslmauaiii1\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n quy: quy,\r\n nam: nam,\r\n duan_id: duan_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification1();\r\n getsolieu();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const insertbaocao = () => {\r\n var url = Config.backend + \"/api/BaoCao/themmauA1\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n quy: quy,\r\n nam: nam,\r\n duan_id: duan_id,\r\n vongiaingan_quy: vongiaingan_quy,\r\n ketquahoatdong_quy: ketquahoatdong_quy,\r\n laodong_vn: laodong_vn,\r\n laodong_nn: laodong_nn,\r\n nopngansach_quy: nopngansach_quy,\r\n dientichdadung_quy: dientichdadung_quy,\r\n tinhhinhtrienkhai: tinhhinhtrienkhai,\r\n quyhoachchutruong: quyhoachchutruong,\r\n tiendothuchien: tiendothuchien,\r\n baovemoitruong: baovemoitruong,\r\n congnghe: congnghe,\r\n datdaitainguyen: datdaitainguyen,\r\n kehoachtrienkhaisaptoi: kehoachtrienkhaisaptoi,\r\n khokhanvuongmac: khokhanvuongmac,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getsolieu();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 2000);\r\n };\r\n const showNotification2 = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n }, 3000);\r\n };\r\n const showNotification3 = () => {\r\n setAlert3(true);\r\n setTimeout(function () {\r\n setAlert3(false);\r\n getfile();\r\n }, 2000);\r\n };\r\n const showNotification4 = () => {\r\n setAlert4(true);\r\n setTimeout(function () {\r\n setAlert4(false);\r\n getfile();\r\n }, 2000);\r\n };\r\n const showNotification5 = () => {\r\n setAlert5(true);\r\n setTimeout(function () {\r\n setAlert5(false);\r\n }, 3000);\r\n };\r\n React.useEffect(() => {\r\n getfile();\r\n }, [quy]);\r\n React.useEffect(() => {\r\n getfile();\r\n }, []);\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n \r\n Tên chỉ tiêu\r\n \r\n \r\n Đơn vị tính\r\n \r\n \r\n Số liệu thực hiện Quý báo cáo\r\n \r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n \r\n \r\n I. Vốn đã giải ngân\r\n \r\n VNĐ\r\n \r\n \r\n {\r\n setVongiaingan_quy(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n II. Kết quả hoạt động đầu tư kinh doanh\r\n \r\n VNĐ\r\n \r\n \r\n {\r\n setKetquahoatdong_quy(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n III. Số lao động hiện có đến thời điểm báo cáo\r\n \r\n Người\r\n \r\n \r\n \r\n 1. Lao động Việt Nam \r\n Người\r\n \r\n \r\n {\r\n setLaodong_vn(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n 2. Lao động nước ngoài\r\n Người\r\n \r\n \r\n {\r\n setLaodong_nn(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n IV. Giá trị nộp ngân sách nhà nước\r\n \r\n VNĐ\r\n \r\n \r\n {\r\n setNopngansach_quy(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n V. Diện tích đất, mặt nước đã sử dụng (nếu có)\r\n \r\n m2\r\n \r\n \r\n {\r\n setDientichdadung_quy(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VI. Tình hình triển khai (Nhà đầu tư có trách nhiệm báo cáo sự phù\r\n hợp của dự án với các nội dung theo quy định của pháp luật với các\r\n nội dung sau)\r\n \r\n \r\n \r\n {\r\n setTinhhinhtrienkhai(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"auto\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 1. Về sự phù hợp quy hoạch, chủ trương\r\n \r\n \r\n \r\n {\r\n setQuyhoachchutruong(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 2. Về việc đảm bảo tiến độ thực hiện\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 3. Về việc thực hiện các yêu cầu về bảo vệ môi trường\r\n \r\n \r\n \r\n {\r\n setBaovemoitruong(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n 4. Về công nghệ\r\n \r\n \r\n {\r\n setCongnghe(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 5. Về việc sử dụng đất đai, tài nguyên\r\n \r\n \r\n \r\n {\r\n setDatdaitainguyen(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VII. Kế hoạch triển khai sắp tới\r\n \r\n \r\n \r\n {\r\n setKehoachtrienkhaisaptoi(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VIII. Khó khăn, vướng mắc\r\n \r\n \r\n \r\n {\r\n setKhokhanvuongmac(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = renderTableBody();\r\n React.useEffect(() => {\r\n getsolieu();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n Quý\r\n {\r\n setQuy(event.target.value);\r\n getsolieuid(event.target.value);\r\n }}\r\n >\r\n Quý I\r\n Quý II\r\n Quý III\r\n Quý IV\r\n \r\n \r\n \r\n \r\n Xóa\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 {listfile[0] ? (\r\n \r\n ) : null}\r\n \r\n
    \r\n \r\n {tHead}\r\n {tBody}\r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert4(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert5(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n
    \r\n );\r\n});\r\nCapnhatbaocao.propTypes = {\r\n nam: PropTypes.number,\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Capnhatbaocao;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst BaocaoquyTable = React.memo(function BaocaoquyTable(props) {\r\n const { quy1, quy2, quy3, quy4 } = props;\r\n const classes = useStyles();\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n \r\n Tên chỉ tiêu\r\n \r\n \r\n Đơn vị tính\r\n \r\n \r\n Quý I\r\n \r\n \r\n Quý II\r\n \r\n \r\n Quý III\r\n \r\n \r\n Quý IV\r\n \r\n \r\n \r\n \r\n Số liệu thực hiện quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ đầu năm đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ khi được cấp GCNĐKĐT đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu thực hiện quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ đầu năm đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ khi được cấp GCNĐKĐT đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu thực hiện quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ đầu năm đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ khi được cấp GCNĐKĐT đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu thực hiện quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ đầu năm đến cuối Quý báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ khi được cấp GCNĐKĐT đến cuối Quý báo cáo\r\n \r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n \r\n \r\n I. Vốn đã giải ngân\r\n \r\n VNĐ\r\n \r\n {quy1.length > 0\r\n ? quy1[0].vongiaingan_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].vongiaingan_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].vongiaingan_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].vongiaingan_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].vongiaingan_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].vongiaingan_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].vongiaingan_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].vongiaingan_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].vongiaingan_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].vongiaingan_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].vongiaingan_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].vongiaingan_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n II. Kết quả hoạt động đầu tư kinh doanh\r\n \r\n VNĐ\r\n \r\n {quy1.length > 0\r\n ? quy1[0].ketquahoatdong_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].ketquahoatdong_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].ketquahoatdong_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].ketquahoatdong_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].ketquahoatdong_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].ketquahoatdong_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].ketquahoatdong_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].ketquahoatdong_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n \r\n \r\n III. Số lao động hiện có đến thời điểm báo cáo\r\n \r\n Người\r\n \r\n {quy1.length > 0\r\n ? quy1[0].laodong_tongso.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].laodong_tongso.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].laodong_tongso.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].laodong_tongso.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n X\r\n \r\n \r\n \r\n 1. Lao động Việt Nam \r\n Người\r\n \r\n {quy1.length > 0\r\n ? quy1[0].laodong_vn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].laodong_vn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].laodong_vn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].laodong_vn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n 2. Lao động nước ngoài\r\n Người\r\n \r\n {quy1.length > 0\r\n ? quy1[0].laodong_nn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].laodong_nn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].laodong_nn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].laodong_nn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n IV. Giá trị nộp ngân sách nhà nước\r\n \r\n VNĐ\r\n \r\n {quy1.length > 0\r\n ? quy1[0].nopngansach_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].nopngansach_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].nopngansach_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].nopngansach_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].nopngansach_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].nopngansach_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].nopngansach_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].nopngansach_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].nopngansach_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].nopngansach_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].nopngansach_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].nopngansach_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n V. Diện tích đất, mặt nước đã sử dụng (nếu có)\r\n \r\n m2\r\n \r\n {quy1.length > 0\r\n ? quy1[0].dientichdadung_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].dientichdadung_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy1.length > 0\r\n ? quy1[0].dientichdadung_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].dientichdadung_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].dientichdadung_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy2.length > 0\r\n ? quy2[0].dientichdadung_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].dientichdadung_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].dientichdadung_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy3.length > 0\r\n ? quy3[0].dientichdadung_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].dientichdadung_quy.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].dientichdadung_lknam.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {quy4.length > 0\r\n ? quy4[0].dientichdadung_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n VI. Tình hình triển khai (Nhà đầu tư có trách nhiệm báo cáo sự phù\r\n hợp của dự án với các nội dung theo quy định của pháp luật với các\r\n nội dung sau)\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].tinhhinhtrienkhai : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].tinhhinhtrienkhai : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].tinhhinhtrienkhai : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].tinhhinhtrienkhai : null}\r\n \r\n \r\n \r\n \r\n 1. Về sự phù hợp quy hoạch, chủ trương\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].quyhoachchutruong : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].quyhoachchutruong : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].quyhoachchutruong : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].quyhoachchutruong : null}\r\n \r\n \r\n \r\n \r\n 2. Về việc đảm bảo tiến độ thực hiện\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].tiendothuchien : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].tiendothuchien : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].tiendothuchien : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].tiendothuchien : null}\r\n \r\n \r\n \r\n \r\n 3. Về việc thực hiện các yêu cầu về bảo vệ môi trường\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].baovemoitruong : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].baovemoitruong : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].baovemoitruong : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].baovemoitruong : null}\r\n \r\n \r\n \r\n 4. Về công nghệ\r\n \r\n {quy1.length > 0 ? quy1[0].congnghe : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].congnghe : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].congnghe : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].congnghe : null}\r\n \r\n \r\n \r\n \r\n 5. Về việc sử dụng đất đai, tài nguyên\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].datdaitainguyen : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].datdaitainguyen : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].datdaitainguyen : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].datdaitainguyen : null}\r\n \r\n \r\n \r\n \r\n VII. Kế hoạch triển khai sắp tới\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].kehoachtrienkhaisaptoi : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].kehoachtrienkhaisaptoi : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].kehoachtrienkhaisaptoi : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].kehoachtrienkhaisaptoi : null}\r\n \r\n \r\n \r\n \r\n VIII. Khó khăn, vướng mắc\r\n \r\n \r\n {quy1.length > 0 ? quy1[0].khokhanvuongmac : null}\r\n \r\n \r\n {quy2.length > 0 ? quy2[0].khokhanvuongmac : null}\r\n \r\n \r\n {quy3.length > 0 ? quy3[0].khokhanvuongmac : null}\r\n \r\n \r\n {quy4.length > 0 ? quy4[0].khokhanvuongmac : null}\r\n \r\n \r\n \r\n );\r\n };\r\n var tHead = renderTableHead();\r\n var tBody = renderTableBody();\r\n return (\r\n
    \r\n \r\n {tHead}\r\n {tBody}\r\n
    \r\n
    \r\n );\r\n});\r\nBaocaoquyTable.propTypes = {\r\n quy1: PropTypes.array,\r\n quy2: PropTypes.array,\r\n quy3: PropTypes.array,\r\n quy4: PropTypes.array,\r\n};\r\nexport default BaocaoquyTable;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Thembaocao from \"components/Baocaoduan/Baocaoquy/Thembaocao.js\";\r\nimport Capnhatbaocao from \"components/Baocaoduan/Baocaoquy/Capnhatbaocao.js\";\r\nimport BaocaoquyTable from \"components/Baocaoduan/Baocaoquy/BaocaoquyTable.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst Baocaoquy = React.memo(function Baocaoquy(props) {\r\n const classes = useStyles();\r\n const { duan_id } = props;\r\n const [quy1, setQuy1] = React.useState([]);\r\n const [quy2, setQuy2] = React.useState([]);\r\n const [quy3, setQuy3] = React.useState([]);\r\n const [quy4, setQuy4] = React.useState([]);\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opencapnhat, setOpencapnhat] = React.useState(false);\r\n const handleClosethem = () => {\r\n setOpenthem(false);\r\n getsolieu(thangnam.$y);\r\n };\r\n const handleClosecapnhat = () => {\r\n setOpencapnhat(false);\r\n getsolieu(thangnam.$y);\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getsolieuquy1 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 1 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy1(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieuquy2 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 2 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy2(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieuquy3 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 3 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy3(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieuquy4 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 4 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy4(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieu = (nam) => {\r\n getsolieuquy1(nam);\r\n getsolieuquy2(nam);\r\n getsolieuquy3(nam);\r\n getsolieuquy4(nam);\r\n };\r\n React.useEffect(() => {\r\n getsolieu(new Date().getFullYear());\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getsolieu(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 30,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n setOpenthem(true)}\r\n style={{ height: 30 }}\r\n >\r\n Thêm báo cáo\r\n \r\n \r\n \r\n setOpencapnhat(true)}\r\n style={{ height: 30 }}\r\n >\r\n Cập nhật số liệu\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm báo cáo quý\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật báo cáo quý\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n});\r\nBaocaoquy.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Baocaoquy;\r\n","import Config from \"conFig.js\";\r\nimport PropTypes from \"prop-types\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as React from \"react\";\r\nimport Button from \"@mui/material/Button\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\nconst Baocaonamexcel = React.memo(function Baocaonamexcel(props) {\r\n const { duan_id, nam, nguonvon, disableBT_xuatExcel } = props;\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState([]);\r\n const [sltheocdt, setSltheocdt] = React.useState([]);\r\n const [data, setData] = React.useState([]);\r\n const [thongtinduan, setThongtinduan] = React.useState([]);\r\n\r\n // Get and create authentication object\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n const getsolieu = () => {\r\n getchudautubyduan();\r\n getsolieutheocdt(nam);\r\n getbaocao(nam);\r\n getthongtinchitietduan();\r\n };\r\n\r\n const getchudautubyduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautuduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getsolieutheocdt = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmauaiii2vongoptheoduan?duan_id=\" +\r\n duan_id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setSltheocdt(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getbaocao = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmauaiii2theoduannam?duan_id=\" +\r\n duan_id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const getthongtinchitietduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getduaniddieuchinh?id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setThongtinduan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const renderChudautu = () => {\r\n var value = [];\r\n if (chudautu.length > 0) {\r\n chudautu.map((prop) => {\r\n if (sltheocdt.length > 0) {\r\n sltheocdt.map((item) => {\r\n if (item.chudautu_id === prop.chudautu_id) {\r\n value.push([\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: item.bangtien ? item.bangtien : 0,\r\n maymocthietbi: item.maymocthietbi ? item.maymocthietbi : 0,\r\n taisankhac: item.taisankhac ? item.taisankhac : 0,\r\n tongso_lkduan: item.tongso_lkduan ? item.tongso_lkduan : 0,\r\n bangtien_lkduan: item.bangtien_lkduan\r\n ? item.bangtien_lkduan\r\n : 0,\r\n maymocthietbi_lkduan: item.maymocthietbi_lkduan\r\n ? item.maymocthietbi_lkduan\r\n : 0,\r\n taisankhac_lkduan: item.taisankhac_lkduan\r\n ? item.taisankhac_lkduan\r\n : 0,\r\n },\r\n ]);\r\n setChudautuVL(value);\r\n }\r\n });\r\n } else {\r\n value.push([\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: 0,\r\n maymocthietbi: 0,\r\n taisankhac: 0,\r\n tongso_lkduan: 0,\r\n bangtien_lkduan: 0,\r\n maymocthietbi_lkduan: 0,\r\n taisankhac_lkduan: 0,\r\n },\r\n ]);\r\n setChudautuVL(value);\r\n }\r\n });\r\n }\r\n };\r\n\r\n // Create excel Template and full fill data\r\n const createExcelTemplateAndFullFillData = (sheet, data, tongtien) => {\r\n // Set width columns\r\n const aCol = sheet.getColumn(\"A\");\r\n const bCol = sheet.getColumn(\"B\");\r\n const cCol = sheet.getColumn(\"C\");\r\n const dCol = sheet.getColumn(\"D\");\r\n aCol.width = 60;\r\n bCol.width = 20;\r\n cCol.width = 35;\r\n dCol.width = 45;\r\n\r\n // Set template\r\n sheet.mergeCells(\"A1\", \"D1\");\r\n sheet.getCell(\"A1\").value = \"Mẫu A.III.2\";\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A2\", \"D2\");\r\n sheet.getCell(\"A2\").value = \"BÁO CÁO TÌNH HÌNH THỰC HIỆN DỰ ÁN ĐẦU TƯ NĂM \";\r\n sheet.getCell(\"A2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A3\", \"D3\");\r\n sheet.getCell(\"A3\").value =\r\n \"(Quy định tại điểm a, khoản 2, Điều 72 Luật Đầu tư và khoản 1, khoản 3, Điều 102 Nghị định 31/2021/NĐ-CP)\";\r\n sheet.getCell(\"A3\").font = {\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.mergeCells(\"A4\", \"D4\");\r\n sheet.getCell(\"A4\").value =\r\n \"(Tổ chức kinh tế có nhiều dự án thì mỗi dự án báo cáo 1 biểu riêng. Thời hạn báo cáo: trước ngày 31 tháng 3 năm sau năm báo cáo. Báo cáo chỉ thực hiện trên Hệ thống thông tin quốc gia về đầu tư)\";\r\n sheet.getCell(\"A4\").font = {\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getRow(4).height = 50;\r\n\r\n sheet.mergeCells(\"A5\", \"D5\");\r\n sheet.getCell(\"D5\").value =\r\n \"____________________________________________________________________________\";\r\n sheet.getCell(\"D5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n sheet.getCell(\"A7\").value = \"TỔ CHỨC KINH TẾ THỰC HIỆN DỰ ÁN ĐẦU TƯ\";\r\n sheet.getCell(\"A7\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A7\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"C7\").value = \"Nơi nhận:\";\r\n sheet.getCell(\"C7\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C7\").alignment = { vertical: \"top\", horizontal: \"right\" };\r\n\r\n sheet.getCell(\"D7\").value =\r\n \"Cơ quan đăng ký đầu tư;\\nCơ quan thống kê tại địa phương.\";\r\n sheet.getCell(\"D7\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D7\").alignment = {\r\n vertical: \"top\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n\r\n sheet.getRow(7).height = 50;\r\n\r\n sheet.mergeCells(\"A9\", \"D9\");\r\n sheet.getCell(\"A9\").value = \"Phần A: Thông tin chung về dự án đầu tư\";\r\n sheet.getCell(\"A9\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A9\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"A10\").value = \"Tên dự án / Tên Hợp đồng BCC:\";\r\n sheet.getCell(\"A10\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A10\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A10\").border = {\r\n top: { style: \"double\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B10\", \"D10\");\r\n sheet.getCell(\"B10\").value = data[0].tenduan;\r\n sheet.getCell(\"B10\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B10\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B10\").border = {\r\n top: { style: \"double\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A11\").value = \"Mã số dự án/ Số GCNĐT:\";\r\n sheet.getCell(\"A11\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A11\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A11\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B11\", \"C11\");\r\n sheet.getCell(\"B11\").value = thongtinduan[0].maduan;\r\n sheet.getCell(\"B11\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B11\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"D11\").value =\r\n \"Ngày cấp: \" +\r\n String(dayjs(thongtinduan[0].thoidiemcapduan).$D).padStart(2, \"0\") +\r\n \"/\" +\r\n String(dayjs(thongtinduan[0].thoidiemcapduan).$M + 1).padStart(2, \"0\") +\r\n \"/\" +\r\n String(dayjs(thongtinduan[0].thoidiemcapduan).$y);\r\n sheet.getCell(\"D11\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D11\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"D11\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A12\").value = \"Cơ quan cấp GCNĐKĐT:\";\r\n sheet.getCell(\"A12\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A12\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A12\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B12\", \"D12\");\r\n sheet.getCell(\"B12\").value = \"\";\r\n sheet.getCell(\"B12\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B12\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B12\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A13\").value = \"Địa điểm dự án:\";\r\n sheet.getCell(\"A13\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A13\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A13\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B13\", \"D13\");\r\n sheet.getCell(\"B13\").value = thongtinduan[0].diadiemthuchien;\r\n sheet.getCell(\"B13\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B13\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B13\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A14\").value = \"Tổng vốn đầu tư đăng ký:\";\r\n sheet.getCell(\"A14\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A14\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A14\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B14\", \"D14\");\r\n sheet.getCell(\"B14\").value =\r\n thongtinduan[0].vondangky_vnd.toLocaleString(\"de-DE\") + \" (VNĐ)\";\r\n sheet.getCell(\"B14\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B14\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B14\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A15\").value = \"Tên tổ chức kinh tế thực hiện dự án:\";\r\n sheet.getCell(\"A15\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A15\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A15\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B15\", \"D15\");\r\n sheet.getCell(\"B15\").value = \"\";\r\n sheet.getCell(\"B15\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B15\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B15\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A16\").value = \"Mã số doanh nghiệp / Mã số thuế:\";\r\n sheet.getCell(\"A16\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A16\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A16\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B16\", \"C16\");\r\n sheet.getCell(\"B16\").value = \"\";\r\n sheet.getCell(\"B16\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B16\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"D16\").value = \"Ngày cấp lần đầu:\";\r\n sheet.getCell(\"D16\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D16\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"D16\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A17\").value = \"Cơ quan cấp Đăng ký kinh doanh:\";\r\n sheet.getCell(\"A17\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A17\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A17\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B17\", \"D17\");\r\n sheet.getCell(\"B17\").value = \"\";\r\n sheet.getCell(\"B17\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B17\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B17\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A18\").value = \"Địa chi:\";\r\n sheet.getCell(\"A18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A18\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A18\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B18\", \"D18\");\r\n sheet.getCell(\"B18\").value = \"\";\r\n sheet.getCell(\"B18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B18\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B18\").border = {\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A19\").value = \"Số điện thoại:\";\r\n sheet.getCell(\"A19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A19\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A19\").border = {\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n bottom: { style: \"double\" },\r\n };\r\n\r\n sheet.mergeCells(\"B19\", \"C19\");\r\n sheet.getCell(\"B19\").value = \"\";\r\n sheet.getCell(\"B19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B19\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"B19\").border = {\r\n bottom: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"D19\").value = \"Email:\";\r\n sheet.getCell(\"D19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D19\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"D19\").border = {\r\n right: { style: \"double\" },\r\n bottom: { style: \"double\" },\r\n };\r\n\r\n sheet.mergeCells(\"A21\", \"D21\");\r\n sheet.getCell(\"A21\").value = \"Phần B: Tình hình thực hiện dự án đầu tư\";\r\n sheet.getCell(\"A21\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A21\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n\r\n sheet.getCell(\"A22\").value = \"Tên chỉ tiêu\";\r\n sheet.getCell(\"A22\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"A22\").border = {\r\n top: { style: \"double\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B22\").value = \"Đơn vị tính\";\r\n sheet.getCell(\"B22\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B22\").border = {\r\n top: { style: \"double\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C22\").value = \"Số liệu thực hiện năm báo cáo\";\r\n sheet.getCell(\"C22\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C22\").border = {\r\n top: { style: \"double\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D22\").value =\r\n \"Số liệu cộng dồn từ khi được cấp phép đến cuối năm báo cáo\";\r\n sheet.getCell(\"D22\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D22\").border = {\r\n top: { style: \"double\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getRow(22).height = 60;\r\n\r\n sheet.getCell(\"A23\").value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"I. Vốn đầu tư thực hiện\",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"(I = 1 + 2 + 3)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"A23\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B23\").value = nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"C23\"\r\n ).value = tongtien.tongvondaututhuchien_nam.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"C23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D23\"\r\n ).value = tongtien.tongvondaututhuchien_lk.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D23\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D23\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getCell(\"A24\").value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"1. Vốn góp\",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"(liệt kê theo từng nhà đầu tư)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"A24\").alignment = { vertical: \"middle\", horizontal: \"left\" };\r\n sheet.getCell(\"A24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B24\").value = nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"C24\"\r\n ).value = tongtien.tongvongoptheotungcdt_nam.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"C24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D24\"\r\n ).value = tongtien.tongvongoptheotungcdt_lk.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D24\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n var rowNum = 25;\r\n // Danh sach gop von theo tung chu dau tu\r\n chudautu.map((prop, i) => {\r\n sheet.getCell(\"A\" + rowNum).value = prop.chudautu;\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"- Bằng tiền\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = chudautuVL[i]\r\n ? chudautuVL[i][0].bangtien.toLocaleString(\"de-DE\")\r\n : 0;\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = chudautuVL[i]\r\n ? chudautuVL[i][0].bangtien_lkduan.toLocaleString(\"de-DE\")\r\n : 0;\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"- Máy móc, thiết bị\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = chudautuVL[i]\r\n ? chudautuVL[i][0].maymocthietbi.toLocaleString(\"de-DE\")\r\n : 0;\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = chudautuVL[i]\r\n ? chudautuVL[i][0].maymocthietbi_lkduan.toLocaleString(\"de-DE\")\r\n : 0;\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"- Tài sản khác\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = chudautuVL[i]\r\n ? chudautuVL[i][0].taisankhac.toLocaleString(\"de-DE\")\r\n : 0;\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = chudautuVL[i]\r\n ? chudautuVL[i][0].taisankhac_lkduan.toLocaleString(\"de-DE\")\r\n : 0;\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n });\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"2. Vốn vay\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = tongtien.tongvonvay_nam.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = tongtien.tongvonvay_lk.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \" Vay trong nước\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].vonvay_trongnuoc.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D\" + rowNum\r\n ).value = data[0].vonvay_trongnuoc_lkduan.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \" Vay từ công ty mẹ ở nước ngoài\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].vonvay_ctyme.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D\" + rowNum\r\n ).value = data[0].vonvay_ctyme_lkduan.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \" Vay nước ngoài khác\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].vonvay_nuocngoai.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D\" + rowNum\r\n ).value = data[0].vonvay_nuocngoai_lkduan.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"3. Lợi nhuận tái đầu tư\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].loinhuantaidautu.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D\" + rowNum\r\n ).value = data[0].loinhuantaidautu_lkduan.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"II. Doanh thu thuần\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].doanhthuthuan.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"D\" + rowNum, \"D\" + (rowNum + 8));\r\n sheet.getCell(\"D\" + rowNum).value = \"X\";\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"III. Giá trị hàng xuất khẩu\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].giatri_hangxk.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"IV. Giá trị hàng nhập khẩu\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].giatri_hangnk.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"V. Số lao động hiện có đến thời điểm báo cáo\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = \"Người\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].laodong_tongso.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \" 1. Lao động Việt Nam\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = \"Người\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].laodong_vn.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \" 2. Lao động nước ngoài\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = \"Người\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].laodong_nn.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"VI. Thu nhập bình quân của người lao động 1 tháng\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].thunhapbq_nld.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"VII. Thuế và các khoản nộp ngân sách Nhà nước\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].thue_nopnsnn.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"VIII. Lợi nhuận sau thuế\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].loinhuansauthue.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"IX. Chi phí đầu tư, nghiên cứu và phát triển\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].chiphi_dtncpt.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D\" + rowNum\r\n ).value = data[0].chiphi_dtncpt_lkduan.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"X. Chi phí đầu tư xử lý và bảo vệ môi trường\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value =\r\n nguonvon === \"Trong nước\" ? \"VNĐ\" : \"VNĐ/USD\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data[0].chiphi_dtxlbvmt.toLocaleString(\r\n \"de-DE\"\r\n );\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\r\n \"D\" + rowNum\r\n ).value = data[0].chiphi_dtxlbvmt_lkduan.toLocaleString(\"de-DE\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"XI. Nguồn gốc công nghệ sử dụng \",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"(quốc gia xuất sứ của máy móc, thiết bị chính được sử dụng)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"double\" },\r\n left: { style: \"double\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"B\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"B\" + rowNum).value = data[0].nguongoc_congnghe;\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"double\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getRow(rowNum).height = 40;\r\n\r\n rowNum += 1;\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"A\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"Phần C: Cập nhật khó khăn, vướng mắc trong quá trình thực hiện dự án (nếu có)\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"A\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = data[0].khokhanvuongmac;\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"double\" },\r\n bottom: { style: \"double\" },\r\n left: { style: \"double\" },\r\n right: { style: \"double\" },\r\n };\r\n\r\n sheet.getRow(rowNum).height = 40;\r\n\r\n rowNum += 1;\r\n\r\n sheet.getCell(\"A\" + rowNum).value = \"Ghi chú: \";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n underline: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"A\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"- Vốn vay = tổng vay trong kỳ trừ số trả nợ trong kỳ (bao gồm cả vay ngắn hạn, trung hạn và dài hạn)\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"A\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n '- Đối với các dự án của nhà đầu tư trong nước, dự án được cấp Giấy chứng nhận đăng ký đầu tư hoặc quyết định chủ trương đầu tư bằng Việt Nam đồng thì đơn vị báo cáo là \"Triệu VNĐ\"';\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getRow(rowNum).height = 40;\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"A\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n '- Không báo cáo vào các ô đánh dấu \"X\"';\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n\r\n rowNum += 1;\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"B\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"B\" + rowNum).value = \"....., ngày ... tháng ... năm ...\";\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n rowNum += 1;\r\n\r\n sheet.mergeCells(\"B\" + rowNum, \"D\" + rowNum);\r\n sheet.getCell(\"B\" + rowNum).value = {\r\n richText: [\r\n {\r\n font: {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text: \"Tổ chức kinh tế thực hiện dự án \",\r\n },\r\n {\r\n font: {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n },\r\n text:\r\n \"(người đại diện theo pháp luật của tổ chức kinh tế, ghi rõ họ tên, chức danh và đóng dấu nếu có)\",\r\n },\r\n ],\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getRow(rowNum).height = 60;\r\n };\r\n\r\n const tinhtongsotien = (data, chudautuVL) => {\r\n let tongtienobject = {\r\n tongvondaututhuchien_nam: 0,\r\n tongvondaututhuchien_lk: 0,\r\n tongvongoptheotungcdt_nam: 0,\r\n tongvongoptheotungcdt_lk: 0,\r\n tongvonvay_nam: 0,\r\n tongvonvay_lk: 0,\r\n };\r\n\r\n for (const item of chudautuVL) {\r\n tongtienobject.tongvongoptheotungcdt_nam =\r\n tongtienobject.tongvongoptheotungcdt_nam + item[0].bangtien;\r\n tongtienobject.tongvongoptheotungcdt_lk =\r\n tongtienobject.tongvongoptheotungcdt_lk + item[0].bangtien_lkduan;\r\n tongtienobject.tongvongoptheotungcdt_nam =\r\n tongtienobject.tongvongoptheotungcdt_nam + item[0].maymocthietbi;\r\n tongtienobject.tongvongoptheotungcdt_lk =\r\n tongtienobject.tongvongoptheotungcdt_lk + item[0].maymocthietbi_lkduan;\r\n tongtienobject.tongvongoptheotungcdt_nam =\r\n tongtienobject.tongvongoptheotungcdt_nam + item[0].taisankhac;\r\n tongtienobject.tongvongoptheotungcdt_lk =\r\n tongtienobject.tongvongoptheotungcdt_lk + item[0].taisankhac_lkduan;\r\n }\r\n\r\n tongtienobject.tongvonvay_nam =\r\n data[0].vonvay_trongnuoc +\r\n data[0].vonvay_ctyme +\r\n data[0].vonvay_nuocngoai;\r\n tongtienobject.tongvonvay_lk =\r\n data[0].vonvay_trongnuoc_lkduan +\r\n data[0].vonvay_ctyme_lkduan +\r\n data[0].vonvay_nuocngoai_lkduan;\r\n\r\n tongtienobject.tongvondaututhuchien_nam =\r\n tongtienobject.tongvongoptheotungcdt_nam +\r\n tongtienobject.tongvonvay_nam +\r\n data[0].loinhuantaidautu;\r\n tongtienobject.tongvondaututhuchien_lk =\r\n tongtienobject.tongvongoptheotungcdt_lk +\r\n tongtienobject.tongvonvay_lk +\r\n data[0].loinhuantaidautu_lkduan;\r\n\r\n return tongtienobject;\r\n };\r\n\r\n const handleExport = async () => {\r\n // Tinh tong tien\r\n let tongtien = tinhtongsotien(data, chudautuVL);\r\n\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Create excel template and full fill data\r\n createExcelTemplateAndFullFillData(sheet, data, tongtien);\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaonam.xlsx\");\r\n };\r\n\r\n React.useEffect(() => {\r\n getsolieu();\r\n }, [disableBT_xuatExcel]);\r\n\r\n React.useEffect(() => {\r\n renderChudautu();\r\n }, [chudautu, sltheocdt]);\r\n\r\n return (\r\n {\r\n handleExport();\r\n }}\r\n >\r\n Xuất Excel\r\n \r\n );\r\n});\r\nBaocaonamexcel.propTypes = {\r\n duan_id: PropTypes.number,\r\n nam: PropTypes.number,\r\n nguonvon: PropTypes.string,\r\n disableBT_xuatExcel: PropTypes.bool,\r\n};\r\nexport default Baocaonamexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { NumericFormat } from \"react-number-format\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Button from \"@mui/material/Button\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport CloudUploadIcon from \"@mui/icons-material/CloudUpload\";\r\nimport Listfileupload from \"components/Uploadfile/Listfileupload.js\";\r\nimport Config from \"conFig.js\";\r\nimport axios from \"axios\";\r\nimport Baocaonamexcel from \"components/Xuatexcel/Baocaonamexcel.js\";\r\nimport { styled } from \"@mui/material/styles\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nconst VisuallyHiddenInput = styled(\"input\")({\r\n clip: \"rect(0 0 0 0)\",\r\n clipPath: \"inset(50%)\",\r\n height: 0.5,\r\n overflow: \"hidden\",\r\n position: \"absolute\",\r\n bottom: 0,\r\n left: 0,\r\n whiteSpace: \"nowrap\",\r\n width: 1,\r\n});\r\n\r\nconst Capnhatbaocao = React.memo(function Capnhatbaocao(props) {\r\n const { nam, chudautuprop, nguonvon, duan_id, sltheocdt, data } = props;\r\n const classes = useStyles();\r\n const [listfile, setListfile] = React.useState([]);\r\n const [vonvay_trongnuoc, setVonvay_trongnuoc] = React.useState(\r\n data[0] ? data[0].vonvay_trongnuoc : 0\r\n );\r\n const [vonvay_ctyme, setVonvay_ctyme] = React.useState(\r\n data[0] ? data[0].vonvay_ctyme : 0\r\n );\r\n const [vonvay_nuocngoai, setVonvay_nuocngoai] = React.useState(\r\n data[0] ? data[0].vonvay_nuocngoai : 0\r\n );\r\n const [loinhuantaidautu, setLoinhuantaidautu] = React.useState(\r\n data[0] ? data[0].loinhuantaidautu : 0\r\n );\r\n const [doanhthuthuan, setDoanhthuthuan] = React.useState(\r\n data[0] ? data[0].doanhthuthuan : 0\r\n );\r\n const [giatri_hangxk, setGiatri_hangxk] = React.useState(\r\n data[0] ? data[0].giatri_hangxk : 0\r\n );\r\n const [giatri_hangnk, setGiatri_hangnk] = React.useState(\r\n data[0] ? data[0].giatri_hangnk : 0\r\n );\r\n const [laodong_vn, setLaodong_vn] = React.useState(\r\n data[0] ? data[0].laodong_vn : 0\r\n );\r\n const [laodong_nn, setLaodong_nn] = React.useState(\r\n data[0] ? data[0].laodong_nn : 0\r\n );\r\n const [thunhapbq_nld, setThunhapbq_nld] = React.useState(\r\n data[0] ? data[0].thunhapbq_nld : 0\r\n );\r\n const [thue_nopnsnn, setThue_nopnsnn] = React.useState(\r\n data[0] ? data[0].thue_nopnsnn : 0\r\n );\r\n const [loinhuansauthue, setLoinhuansauthue] = React.useState(\r\n data[0] ? data[0].loinhuansauthue : 0\r\n );\r\n const [chiphi_dtncpt, setChiphi_dtncpt] = React.useState(\r\n data[0] ? data[0].chiphi_dtncpt : 0\r\n );\r\n const [chiphi_dtxlbvmt, setChiphi_dtxlbvmt] = React.useState(\r\n data[0] ? data[0].chiphi_dtxlbvmt : 0\r\n );\r\n const [nguongoc_congnghe, setNguongoc_congnghe] = React.useState(\r\n data[0] ? data[0].nguongoc_congnghe : \"\"\r\n );\r\n const [khokhanvuongmac, setKhokhanvuongmac] = React.useState(\r\n data[0] ? data[0].khokhanvuongmac : \"\"\r\n );\r\n const [chudautuVL, setChudautuVL] = React.useState([]);\r\n const [disableBT_xuatExcel, setDisableBT_xuatExcel] = React.useState(\r\n data[0] ? false : true\r\n );\r\n //const [forcedTrick, setForcedTrick] = React.useState(1);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [alert3, setAlert3] = React.useState(false);\r\n const [alert4, setAlert4] = React.useState(false);\r\n const [alert5, setAlert5] = React.useState(false);\r\n const [disableBT_xoa, setDisableBT_xoa] = React.useState(\r\n data[0] ? false : true\r\n );\r\n const [disableBT_upload, setDisableBT_upload] = React.useState(\r\n data[0] ? false : true\r\n );\r\n const renderChudautu = () => {\r\n if (chudautuprop.length > 0) {\r\n chudautuprop.map((prop) => {\r\n if (sltheocdt.length > 0) {\r\n sltheocdt.map((item) => {\r\n if (item.chudautu_id === prop.chudautu_id) {\r\n setChudautuVL((oldArray) => [\r\n ...oldArray,\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: item.bangtien ? item.bangtien : 0,\r\n maymocthietbi: item.maymocthietbi ? item.maymocthietbi : 0,\r\n taisankhac: item.taisankhac ? item.taisankhac : 0,\r\n },\r\n ]);\r\n }\r\n });\r\n } else {\r\n setChudautuVL((oldArray) => [\r\n ...oldArray,\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: 0,\r\n maymocthietbi: 0,\r\n taisankhac: 0,\r\n },\r\n ]);\r\n }\r\n });\r\n }\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n var objDelete = {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n let bodyFormData = new FormData();\r\n const getfile = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcNam?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoafile = (fileid) => {\r\n var url = Config.backend + \"/api/QlFileThuMuc/DeleteFileBcnam?id=\" + fileid;\r\n fetch(url, objDelete)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n showNotification3(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const selectFiles = (event) => {\r\n if (listfile[0]) {\r\n showNotification4();\r\n } else {\r\n var url = Config.backend + \"/api/QlFileThuMuc/UploadBcNam\";\r\n bodyFormData.append(\"duan_id\", duan_id);\r\n bodyFormData.append(\"nam\", nam);\r\n bodyFormData.append(\"file\", event.target.files[0]);\r\n axios.post(url, bodyFormData, {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n });\r\n showNotification2();\r\n }\r\n };\r\n const xoabaocao = () => {\r\n if (listfile[0]) {\r\n showNotification5();\r\n } else {\r\n var url = Config.backend + \"/api/BaoCao/xoaslmauiii2\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n nam: nam,\r\n duan_id: duan_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === \"Đã xóa báo cáo thành công.\") {\r\n showNotification1();\r\n setDisableBT_xuatExcel(true);\r\n setDisableBT_upload(true);\r\n setDisableBT_xoa(true);\r\n var resetchudautuVL = [];\r\n chudautuVL.map((item) => {\r\n item.bangtien = 0;\r\n item.maymocthietbi = 0;\r\n item.taisankhac = 0;\r\n resetchudautuVL.push(item);\r\n });\r\n setChudautuVL(resetchudautuVL);\r\n setVonvay_trongnuoc(0);\r\n setVonvay_ctyme(0);\r\n setVonvay_nuocngoai(0);\r\n setLoinhuantaidautu(0);\r\n setDoanhthuthuan(0);\r\n setGiatri_hangxk(0);\r\n setGiatri_hangnk(0);\r\n setLaodong_vn(0);\r\n setLaodong_nn(0);\r\n setThunhapbq_nld(0);\r\n setThue_nopnsnn(0);\r\n setLoinhuansauthue(0);\r\n setChiphi_dtncpt(0);\r\n setChiphi_dtxlbvmt(0);\r\n setNguongoc_congnghe(\"\");\r\n setKhokhanvuongmac(\"\");\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const insertbaocao = () => {\r\n if (duan_id) {\r\n var url = Config.backend + \"/api/BaoCao/themmauA2\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n nam: nam,\r\n duan_id: duan_id,\r\n vonvay_trongnuoc: vonvay_trongnuoc,\r\n vonvay_ctyme: vonvay_ctyme,\r\n vonvay_nuocngoai: vonvay_nuocngoai,\r\n loinhuantaidautu: loinhuantaidautu,\r\n doanhthuthuan: doanhthuthuan,\r\n giatri_hangxk: giatri_hangxk,\r\n giatri_hangnk: giatri_hangnk,\r\n laodong_vn: laodong_vn,\r\n laodong_nn: laodong_nn,\r\n thunhapbq_nld: thunhapbq_nld,\r\n thue_nopnsnn: thue_nopnsnn,\r\n loinhuansauthue: loinhuansauthue,\r\n chiphi_dtncpt: chiphi_dtncpt,\r\n chiphi_dtxlbvmt: chiphi_dtxlbvmt,\r\n nguongoc_congnghe: nguongoc_congnghe,\r\n khokhanvuongmac: khokhanvuongmac,\r\n vongop_array: chudautuVL,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n setDisableBT_xuatExcel(false);\r\n setDisableBT_upload(false);\r\n setDisableBT_xoa(false);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 3000);\r\n };\r\n const showNotification2 = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n getfile();\r\n }, 2000);\r\n };\r\n const showNotification3 = () => {\r\n setAlert3(true);\r\n setTimeout(function () {\r\n setAlert3(false);\r\n getfile();\r\n }, 2000);\r\n };\r\n const showNotification4 = () => {\r\n setAlert4(true);\r\n setTimeout(function () {\r\n setAlert4(false);\r\n }, 3000);\r\n };\r\n const showNotification5 = () => {\r\n setAlert5(true);\r\n setTimeout(function () {\r\n setAlert5(false);\r\n }, 3000);\r\n };\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n \r\n Tên chỉ tiêu\r\n \r\n \r\n Đơn vị tính\r\n \r\n \r\n Số liệu thực hiện năm báo cáo\r\n \r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n \r\n \r\n I. Vốn đầu tư thực hiện (I = 1 + 2 + 3)\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n \r\n \r\n 1. Vốn góp (liệt kê theo từng nhà đầu tư)\r\n \r\n VNĐ\r\n \r\n \r\n {chudautuprop.length > 0\r\n ? chudautuprop.map((prop, i) => {\r\n return (\r\n \r\n \r\n \r\n {\"1.\" + Number(i + 1) + \". \" + prop.chudautu}\r\n \r\n \r\n \r\n \r\n - Bằng tiền\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setChudautuVL(() =>\r\n chudautuVL.map((item, index) => {\r\n if (index === i) {\r\n return {\r\n ...item,\r\n bangtien: value,\r\n };\r\n }\r\n return item;\r\n })\r\n );\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n - Máy móc, thiết bị\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setChudautuVL(() =>\r\n chudautuVL.map((item, index) => {\r\n if (index === i) {\r\n return {\r\n ...item,\r\n maymocthietbi: value,\r\n };\r\n }\r\n return item;\r\n })\r\n );\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n - Tài sản khác\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setChudautuVL(() =>\r\n chudautuVL.map((item, index) => {\r\n if (index === i) {\r\n return {\r\n ...item,\r\n taisankhac: value,\r\n };\r\n }\r\n return item;\r\n })\r\n );\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n 2. Vốn vay\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n \r\n Vay trong nước\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setVonvay_trongnuoc(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Vay từ công ty mẹ ở nước ngoài\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setVonvay_ctyme(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n Vay nước ngoài khác\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setVonvay_nuocngoai(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n 3. Lợi nhuận tái đầu tư\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setLoinhuantaidautu(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n II. Doanh thu thuần\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setDoanhthuthuan(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n III. Giá trị hàng xuất khẩu\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setGiatri_hangxk(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n IV. Giá trị hàng nhập khẩu\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setGiatri_hangnk(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n V. Số lao động hiện có đến thời điểm báo cáo\r\n \r\n Người\r\n \r\n \r\n \r\n 1. Lao động Việt Nam\r\n Người\r\n \r\n \r\n {\r\n setLaodong_vn(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n 2. Lao động nước ngoài\r\n Người\r\n \r\n \r\n {\r\n setLaodong_nn(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VI. Thu nhập bình quân của người lao động 1 tháng\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setThunhapbq_nld(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VII. Thuế và các khoản nộp ngân sách Nhà nước\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setThue_nopnsnn(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n VIII. Lợi nhuận sau thuế\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setLoinhuansauthue(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n IX. Chi phí đầu tư, nghiên cứu và phát triển\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setChiphi_dtncpt(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n X. Chi phí đầu tư xử lý và bảo vệ môi trường\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n {\r\n setChiphi_dtxlbvmt(value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n XI. Nguồn gốc công nghệ sử dụng (quốc gia xuất sứ của máy móc, thiết\r\n bị chính được sử\r\n \r\n \r\n \r\n {\r\n setNguongoc_congnghe(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Khó khăn, vướng mắc trong quá trình thực hiện dự án (nếu có)\r\n \r\n \r\n \r\n {\r\n setKhokhanvuongmac(event.target.value);\r\n setDisableBT_xuatExcel(true);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"25px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n React.useEffect(() => {\r\n getfile();\r\n }, [nam]);\r\n React.useEffect(() => {\r\n getfile();\r\n renderChudautu();\r\n }, []);\r\n return (\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 Xóa\r\n \r\n \r\n \r\n \r\n {listfile[0] ? (\r\n \r\n ) : null}\r\n \r\n
    \r\n \r\n {renderTableHead()}\r\n {renderTableBody()}\r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert3(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert4(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert5(false)}\r\n close\r\n />\r\n \r\n
    \r\n );\r\n});\r\nCapnhatbaocao.propTypes = {\r\n data: PropTypes.array,\r\n nam: PropTypes.number,\r\n chudautuprop: PropTypes.array,\r\n nguonvon: PropTypes.string,\r\n duan_id: PropTypes.number,\r\n sltheocdt: PropTypes.array,\r\n};\r\nexport default Capnhatbaocao;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst BaocaonamTBL = React.memo(function BaocaonamTBL(props) {\r\n const { data, chudautuprop, nguonvon, chudautuVL } = props;\r\n const classes = useStyles();\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n \r\n Tên chỉ tiêu\r\n \r\n \r\n Đơn vị tính\r\n \r\n \r\n Số liệu thực hiện năm báo cáo\r\n \r\n \r\n Số liệu cộng dồn từ khi được cấp phép đến cuối năm báo cáo\r\n \r\n \r\n \r\n );\r\n };\r\n const renderTableBody = () => {\r\n return (\r\n \r\n \r\n \r\n I. Vốn đầu tư thực hiện (I = 1 + 2 + 3)\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n 1. Vốn góp (liệt kê theo từng nhà đầu tư)\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n \r\n {chudautuprop.map((prop, i) => {\r\n return (\r\n \r\n \r\n \r\n {prop.chudautu}\r\n \r\n \r\n \r\n \r\n - Bằng tiền\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n {chudautuVL[i]\r\n ? chudautuVL[i][0].bangtien.toLocaleString(\"de-DE\")\r\n : 0}\r\n \r\n \r\n {chudautuVL[i]\r\n ? chudautuVL[i][0].bangtien_lkduan.toLocaleString(\"de-DE\")\r\n : 0}\r\n \r\n \r\n \r\n - Máy móc, thiết bị\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n {chudautuVL[i]\r\n ? chudautuVL[i][0].maymocthietbi.toLocaleString(\"de-DE\")\r\n : 0}\r\n \r\n \r\n {chudautuVL[i]\r\n ? chudautuVL[i][0].maymocthietbi_lkduan.toLocaleString(\r\n \"de-DE\"\r\n )\r\n : 0}\r\n \r\n \r\n \r\n - Tài sản khác\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n {chudautuVL[i]\r\n ? chudautuVL[i][0].taisankhac.toLocaleString(\"de-DE\")\r\n : 0}\r\n \r\n \r\n {chudautuVL[i]\r\n ? chudautuVL[i][0].taisankhac_lkduan.toLocaleString(\"de-DE\")\r\n : 0}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n 2. Vốn vay\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n \r\n \r\n \r\n Vay trong nước\r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n {data.length > 0\r\n ? data[0].vonvay_trongnuoc.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {data.length > 0\r\n ? data[0].vonvay_trongnuoc_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n Vay từ công ty mẹ ở nước ngoài\r\n \r\n {nguonvon === \"Trong nước\" ? (\r\n VNĐ\r\n ) : (\r\n VNĐ/USD\r\n )}\r\n \r\n {data.length > 0\r\n ? data[0].vonvay_ctyme.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {data.length > 0\r\n ? data[0].vonvay_ctyme_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n Vay nước ngoài khác\r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].vonvay_nuocngoai.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {data.length > 0\r\n ? data[0].vonvay_nuocngoai_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n 3. Lợi nhuận tái đầu tư\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].loinhuantaidautu.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {data.length > 0\r\n ? data[0].loinhuantaidautu_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n II. Doanh thu thuần\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].doanhthuthuan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n III. Giá trị hàng xuất khẩu\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].giatri_hangxk.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n IV. Giá trị hàng nhập khẩu\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].giatri_hangnk.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n V. Số lao động hiện có đến thời điểm báo cáo\r\n \r\n Người\r\n \r\n {data.length > 0\r\n ? data[0].laodong_tongso.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n 1. Lao động Việt Nam\r\n Người\r\n \r\n {data.length > 0\r\n ? data[0].laodong_vn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n 2. Lao động nước ngoài\r\n Người\r\n \r\n {data.length > 0\r\n ? data[0].laodong_nn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n VI. Thu nhập bình quân của người lao động 1 tháng\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].thunhapbq_nld.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n VII. Thuế và các khoản nộp ngân sách Nhà nước\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].thue_nopnsnn.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n VIII. Lợi nhuận sau thuế\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].loinhuansauthue.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n IX. Chi phí đầu tư, nghiên cứu và phát triển\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].chiphi_dtncpt.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {data.length > 0\r\n ? data[0].chiphi_dtncpt_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n X. Chi phí đầu tư xử lý và bảo vệ môi trường\r\n \r\n VNĐ\r\n \r\n {data.length > 0\r\n ? data[0].chiphi_dtxlbvmt.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n {data.length > 0\r\n ? data[0].chiphi_dtxlbvmt_lkduan.toLocaleString(\"de-DE\")\r\n : null}\r\n \r\n \r\n \r\n \r\n XI. Nguồn gốc công nghệ sử dụng (quốc gia xuất sứ của máy móc, thiết\r\n bị chính được sử dụng)\r\n \r\n \r\n {data.length > 0 ? data[0].nguongoc_congnghe : null}\r\n \r\n \r\n \r\n \r\n Phần C: Cập nhật khó khăn, vướng mắc trong quá trình thực hiện dự án\r\n (nếu có)\r\n \r\n \r\n {data.length > 0 ? data[0].khokhanvuongmac : null}\r\n \r\n \r\n \r\n );\r\n };\r\n React.useEffect(() => {\r\n renderTableHead();\r\n renderTableBody();\r\n }, []);\r\n React.useEffect(() => {\r\n renderTableBody();\r\n }, [data]);\r\n return (\r\n
    \r\n \r\n {renderTableHead()}\r\n {renderTableBody()}\r\n
    \r\n
    \r\n );\r\n});\r\nBaocaonamTBL.propTypes = {\r\n data: PropTypes.array,\r\n chudautuprop: PropTypes.array,\r\n chudautuVL: PropTypes.array,\r\n nguonvon: PropTypes.string,\r\n};\r\nexport default BaocaonamTBL;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Capnhatbaocao from \"components/Baocaoduan/Baocaonam/Capnhatbaocao.js\";\r\nimport BaocaonamTable from \"components/Baocaoduan/Baocaonam/BaocaonamTable.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Baocaonam = React.memo(function Baocaonam(props) {\r\n const classes = useStyles();\r\n const { duan_id, nguonvon } = props;\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [data, setData] = React.useState([]);\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState([]);\r\n const [sltheocdt, setSltheocdt] = React.useState([]);\r\n const [opencapnhat, setOpencapnhat] = React.useState(false);\r\n const handleClosecapnhat = () => {\r\n setOpencapnhat(false);\r\n getsolieutheocdt(thangnam.$y);\r\n getbaocao(thangnam.$y);\r\n renderChudautu();\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getchudautubyduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautuduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getbaocao = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmauaiii2theoduannam?duan_id=\" +\r\n duan_id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getsolieutheocdt = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmauaiii2vongoptheoduan?duan_id=\" +\r\n duan_id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setSltheocdt(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const renderChudautu = () => {\r\n var value = [];\r\n if (chudautu.length > 0) {\r\n chudautu.map((prop) => {\r\n if (sltheocdt.length > 0) {\r\n sltheocdt.map((item) => {\r\n if (item.chudautu_id === prop.chudautu_id) {\r\n value.push([\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: item.bangtien ? item.bangtien : 0,\r\n maymocthietbi: item.maymocthietbi ? item.maymocthietbi : 0,\r\n taisankhac: item.taisankhac ? item.taisankhac : 0,\r\n tongso_lkduan: item.tongso_lkduan ? item.tongso_lkduan : 0,\r\n bangtien_lkduan: item.bangtien_lkduan\r\n ? item.bangtien_lkduan\r\n : 0,\r\n maymocthietbi_lkduan: item.maymocthietbi_lkduan\r\n ? item.maymocthietbi_lkduan\r\n : 0,\r\n taisankhac_lkduan: item.taisankhac_lkduan\r\n ? item.taisankhac_lkduan\r\n : 0,\r\n },\r\n ]);\r\n setChudautuVL(value);\r\n }\r\n });\r\n } else {\r\n value.push([\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: 0,\r\n maymocthietbi: 0,\r\n taisankhac: 0,\r\n tongso_lkduan: 0,\r\n bangtien_lkduan: 0,\r\n maymocthietbi_lkduan: 0,\r\n taisankhac_lkduan: 0,\r\n },\r\n ]);\r\n setChudautuVL(value);\r\n }\r\n });\r\n }\r\n };\r\n React.useEffect(() => {\r\n getchudautubyduan();\r\n getsolieutheocdt(new Date().getFullYear());\r\n getbaocao(new Date().getFullYear());\r\n }, []);\r\n React.useEffect(() => {\r\n renderChudautu();\r\n }, [chudautu, sltheocdt]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getbaocao(newValue.$y);\r\n getsolieutheocdt(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 30,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n setOpencapnhat(true)}\r\n style={{ height: 30 }}\r\n >\r\n Cập nhật số liệu\r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật báo cáo nă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 \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n});\r\nBaocaonam.propTypes = {\r\n duan_id: PropTypes.number,\r\n nguonvon: PropTypes.string,\r\n};\r\nexport default Baocaonam;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n //gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst Baocaotiendo = React.memo(function Baocaotiendo(props) {\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n if (params.value !== \"null\")\r\n return dayjs(params.value).format(\"DD/MM/YYYY\");\r\n else return \"\";\r\n },\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n if (params.value !== \"null\")\r\n return dayjs(params.value).format(\"DD/MM/YYYY\");\r\n else return \"\";\r\n },\r\n },\r\n {\r\n field: \"action1\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.row.giaidoan === null) {\r\n return params.row.giaidoancon;\r\n } else {\r\n return params.row.giaidoan;\r\n }\r\n },\r\n },\r\n {\r\n field: \"trangthai\",\r\n headerName: \"Trạng thái\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngayhoanthanh\",\r\n headerName: \"Ngày hoàn thành\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n if (params.value !== \"null\")\r\n return dayjs(params.value).format(\"DD/MM/YYYY\");\r\n else return \"\";\r\n },\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xử lý\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n const onClick = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n setTiendo_id(params.row.id);\r\n setOpenhoanthanh(true);\r\n };\r\n if (params.row.giaidoancon_id === 0) {\r\n return params.row.trangthai_id === 1 ? (\r\n \r\n huyhoanthanh(params.row.id)}\r\n >\r\n Hủy\r\n \r\n \r\n ) : (\r\n \r\n \r\n Hoàn thành\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n hoanthanhcon(params.row.giaidoancon_id, event)\r\n }\r\n inputProps={{ \"aria-label\": \"controlled\" }}\r\n style={{ height: 22 }}\r\n />\r\n );\r\n }\r\n },\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 270,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const { duan_id } = props;\r\n const classes = useStyles();\r\n const [ngayhoanthanh, setNgayhoanthanh] = React.useState(dayjs());\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const [tiendo_id, setTiendo_id] = React.useState(0);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [openhoanthanh, setOpenhoanthanh] = React.useState(false);\r\n const handleClosehoanthanh = () => {\r\n setOpenhoanthanh(false);\r\n gettiendo();\r\n };\r\n //const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettiendo = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettiendothallgd?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiendo(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const hoanthanhcon = (giaidoancon_id, event) => {\r\n var url = \"\";\r\n if (event.target.checked)\r\n url = Config.backend + \"/api/Tiendoduan/hoanthanhtiendoduangdcon\";\r\n else url = Config.backend + \"/api/Tiendoduan/huyhoanthanhtiendoduangdcon\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n giaidoancon_id: giaidoancon_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettiendo();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhathoanthanh = () => {\r\n var ngay =\r\n ngayhoanthanh.$y +\r\n \"-\" +\r\n String(ngayhoanthanh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngayhoanthanh.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/hoanthanhtiendothuchienduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n tiendo_id: tiendo_id,\r\n ngayhoanthanh: ngay,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n setOpenhoanthanh(false);\r\n showNotification();\r\n gettiendo();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const huyhoanthanh = (id) => {\r\n var url = Config.backend + \"/api/Tiendoduan/huyhoanthanhtiendoduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n tiendo_id: id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification1();\r\n gettiendo();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettiendo();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Tiến độ thực hiện dự án\r\n \r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n //sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n sx={{\r\n \"& .rows-active\": {\r\n background: \"#33ff00 !important\",\r\n },\r\n }}\r\n getRowClassName={(params) => {\r\n if (\r\n dayjs(params.row.tungay).isBefore(new Date()) &&\r\n dayjs(params.row.denngay).isAfter(new Date())\r\n )\r\n return \"rows-active\";\r\n }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \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ập nhật hoàn thà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 setNgayhoanthanh(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhậ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 setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n
    \r\n \r\n );\r\n});\r\nBaocaotiendo.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Baocaotiendo;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Baocaothang from \"components/Baocaoduan/Baocaothang/Baocaothang.js\";\r\nimport Baocaoquy from \"components/Baocaoduan/Baocaoquy/Baocaoquy.js\";\r\nimport Baocaonam from \"components/Baocaoduan/Baocaonam/Baocaonam.js\";\r\nimport Baocaotiendo from \"components/Baocaoduan/Baocaotiendo/Baocaotiendo.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Ngày quyết định\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"vondangky_vnd\",\r\n headerName: \"Tổng vốn đầu tư (đồng)\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tiendothuchien\",\r\n headerName: \"Tiến độ dự án\",\r\n width: 500,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"khuvucdautu\",\r\n headerName: \"Khu vực\",\r\n width: 190,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"linhvuc\",\r\n headerName: \"Lĩnh vực\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiem\",\r\n headerName: \"Huyện/TX/TP\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiemthuchien\",\r\n headerName: \"Địa điểm\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Baocaoduan() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [duan, setDuan] = React.useState([]);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [openbcthang, setOpenbcthang] = React.useState(false);\r\n const [openbcquy, setOpenbcquy] = React.useState(false);\r\n const [openbcnam, setOpenbcnam] = React.useState(false);\r\n const [openbctiendo, setOpenbctiendo] = React.useState(false);\r\n const [nguonvon, setNguonvon] = React.useState(\"\");\r\n const [canhbaothang, setCanhbaothang] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [open, setOpen] = React.useState(false);\r\n const handleClosebcthang = () => {\r\n setOpenbcthang(false);\r\n };\r\n const handleClosebcquy = () => {\r\n setOpenbcquy(false);\r\n };\r\n const handleClosebcnam = () => {\r\n setOpenbcnam(false);\r\n };\r\n const handleClosebctiendo = () => {\r\n setOpenbctiendo(false);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getcanhbaothang = () => {\r\n var url =\r\n Config.backend + \"/api/BaoCao/canhbaobcthangcdt?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data.length > 0) {\r\n setCanhbaothang(\r\n \"Dự án chưa thực hiện báo cáo, vui lòng truy cập Tab Chưa thực hiện báo cáo để biết thêm thông tin. \"\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const canhbaofunction = () => {\r\n if (canhbaothang.length > 0) {\r\n showNotification();\r\n }\r\n };\r\n const getduantheouser = () => {\r\n setOpen(true);\r\n var url =\r\n Config.backend + \"/api/Users/getduanhdtheouser?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n setOpen(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n setOpen(false);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 5000);\r\n };\r\n React.useEffect(() => {\r\n getcanhbaothang();\r\n getduantheouser();\r\n }, []);\r\n React.useEffect(() => {\r\n canhbaofunction();\r\n }, [canhbaothang]);\r\n return (\r\n \r\n \r\n \r\n {\r\n setOpenbcthang(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo tháng\r\n \r\n \r\n \r\n {\r\n setOpenbcquy(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo quý\r\n \r\n \r\n \r\n {\r\n setOpenbcnam(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo năm\r\n \r\n \r\n \r\n {\r\n setOpenbctiendo(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo tiến độ\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={duan}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n setDisableBT(false);\r\n setNguonvon(params.row.nguonvon);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo thá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 Báo cáo quý\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo nă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 \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo tiến độ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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ảnh báo \r\n \r\n
    {canhbaothang}
    \r\n \r\n }\r\n open={alert}\r\n closeNotification={() => setAlert(false)}\r\n />\r\n
    \r\n
    \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaocanhbaoexcel = function Baocaocanhbaoexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DANH SÁCH CẢNH BÁO\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Thời điểm cấp dự án\");\r\n } else if (element == \"chuabaocao\") {\r\n headerValues.push(\"Nội dung cảnh báo\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tenduan\")) {\r\n const colTenduan = sheet.getColumn(\"tenduan\");\r\n colTenduan.width = 100;\r\n colTenduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tenduan\r\n ? data[rowNumber - 3].tenduan.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaocanhbao.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaocanhbaoexcel;\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport Baocaocanhbaoexcel from \"components/Xuatexcel/Baocaocanhbaoexcel.js\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst cbcolumn = [\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 280,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 280,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"chuabaocao\",\r\n headerName: \"Nội dung\",\r\n width: 380,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Duan() {\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [canhbao, setCanhbao] = React.useState([]);\r\n const [open, setOpen] = React.useState(false);\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getcanhbaothang = () => {\r\n setOpen(true);\r\n var url =\r\n Config.backend + \"/api/BaoCao/canhbaobcthangcdt?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCanhbao(data);\r\n setOpen(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n setOpen(false);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getcanhbaothang();\r\n }, []);\r\n return (\r\n \r\n \r\n
    \r\n row.chuabaocao + row.maduan}\r\n rows={canhbao}\r\n columns={cbcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst dacolumn = [\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thang\",\r\n headerName: \"Tháng\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"nam\",\r\n headerName: \"Năm\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vongiaingan_thang\",\r\n headerName: \"Vốn giải ngân\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhhinhthuchien\",\r\n headerName: \"Tình hình thực hiện\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"khokhanvuongmac\",\r\n headerName: \"Khó khăn, vướng mắt\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nconst Xembaocaothang = React.memo(function Xembaocaothang(props) {\r\n const { duan_id } = props;\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [data, setData] = React.useState([]);\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getbaocaothang = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getslbcthangtheoduannam?nam=\" +\r\n nam +\r\n \"&duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getbaocaothang(new Date().getFullYear());\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getbaocaothang(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={data}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n});\r\nXembaocaothang.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Xembaocaothang;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport BaocaoquyTable from \"components/Baocaoduan/Baocaoquy/BaocaoquyTable.js\";\r\nimport Listfileupload from \"components/Uploadfile/Listfileupload\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Xembaocaoquy = React.memo(function Xembaocaoquy(props) {\r\n const { duan_id } = props;\r\n const [quy1, setQuy1] = React.useState([]);\r\n const [quy2, setQuy2] = React.useState([]);\r\n const [quy3, setQuy3] = React.useState([]);\r\n const [quy4, setQuy4] = React.useState([]);\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [listfile1, setListfile1] = React.useState([]);\r\n const [listfile2, setListfile2] = React.useState([]);\r\n const [listfile3, setListfile3] = React.useState([]);\r\n const [listfile4, setListfile4] = React.useState([]);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getsolieuquy1 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 1 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy1(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieuquy2 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 2 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy2(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieuquy3 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 3 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy3(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieuquy4 = (nam) => {\r\n if (duan_id > 0) {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmau31theoduanquynam?duan_id=\" +\r\n duan_id +\r\n \"&quy=\" +\r\n 4 +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuy4(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const getsolieu = (nam) => {\r\n getsolieuquy1(nam);\r\n getsolieuquy2(nam);\r\n getsolieuquy3(nam);\r\n getsolieuquy4(nam);\r\n };\r\n const getfile1 = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcQuy?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam +\r\n \"&Quy=\" +\r\n 1;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile1(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getfile2 = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcQuy?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam +\r\n \"&Quy=\" +\r\n 2;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile2(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getfile3 = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcQuy?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam +\r\n \"&Quy=\" +\r\n 3;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile3(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getfile4 = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcQuy?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam +\r\n \"&Quy=\" +\r\n 4;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile4(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getsolieu(new Date().getFullYear());\r\n getfile1(new Date().getFullYear());\r\n getfile2(new Date().getFullYear());\r\n getfile3(new Date().getFullYear());\r\n getfile4(new Date().getFullYear());\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getsolieu(newValue.$y);\r\n getfile1(newValue.$y);\r\n getfile2(newValue.$y);\r\n getfile3(newValue.$y);\r\n getfile4(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 30,\r\n },\r\n }}\r\n />\r\n \r\n \r\n
    \r\n {listfile1[0] ? (\r\n \r\n ) : null}\r\n {listfile2[0] ? (\r\n \r\n ) : null}\r\n {listfile3[0] ? (\r\n \r\n ) : null}\r\n {listfile4[0] ? (\r\n \r\n ) : 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\nXembaocaoquy.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Xembaocaoquy;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport BaocaonamTable from \"components/Baocaoduan/Baocaonam/BaocaonamTable.js\";\r\nimport Listfileupload from \"components/Uploadfile/Listfileupload.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Xembaocaonam = React.memo(function Xembaocaonam(props) {\r\n const { duan_id, nguonvon } = props;\r\n const [listfile, setListfile] = React.useState([]);\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n const [data, setData] = React.useState([]);\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState([]);\r\n const [sltheocdt, setSltheocdt] = React.useState([]);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getchudautubyduan = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/getchudautuduan?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getbaocao = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmauaiii2theoduannam?duan_id=\" +\r\n duan_id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getsolieutheocdt = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getmauaiii2vongoptheoduan?duan_id=\" +\r\n duan_id +\r\n \"&nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setSltheocdt(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const renderChudautu = () => {\r\n var value = [];\r\n if (chudautu.length > 0) {\r\n chudautu.map((prop) => {\r\n if (sltheocdt.length > 0) {\r\n sltheocdt.map((item) => {\r\n if (item.chudautu_id === prop.chudautu_id) {\r\n value.push([\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: item.bangtien ? item.bangtien : 0,\r\n maymocthietbi: item.maymocthietbi ? item.maymocthietbi : 0,\r\n taisankhac: item.taisankhac ? item.taisankhac : 0,\r\n tongso_lkduan: item.tongso_lkduan ? item.tongso_lkduan : 0,\r\n bangtien_lkduan: item.bangtien_lkduan\r\n ? item.bangtien_lkduan\r\n : 0,\r\n maymocthietbi_lkduan: item.maymocthietbi_lkduan\r\n ? item.maymocthietbi_lkduan\r\n : 0,\r\n taisankhac_lkduan: item.taisankhac_lkduan\r\n ? item.taisankhac_lkduan\r\n : 0,\r\n },\r\n ]);\r\n setChudautuVL(value);\r\n }\r\n });\r\n } else {\r\n value.push([\r\n {\r\n chudautu_id: prop.chudautu_id,\r\n bangtien: 0,\r\n maymocthietbi: 0,\r\n taisankhac: 0,\r\n tongso_lkduan: 0,\r\n bangtien_lkduan: 0,\r\n maymocthietbi_lkduan: 0,\r\n taisankhac_lkduan: 0,\r\n },\r\n ]);\r\n setChudautuVL(value);\r\n }\r\n });\r\n }\r\n };\r\n const getsolieu = () => {\r\n getchudautubyduan();\r\n getsolieutheocdt(new Date().getFullYear());\r\n getbaocao(new Date().getFullYear());\r\n };\r\n const getfile = (nam) => {\r\n var url =\r\n Config.backend +\r\n \"/api/QlFileThuMuc/GetBcNam?DuAnId=\" +\r\n duan_id +\r\n \"&Nam=\" +\r\n nam;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListfile(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getsolieu();\r\n getfile(new Date().getFullYear());\r\n }, []);\r\n React.useEffect(() => {\r\n renderChudautu();\r\n }, [chudautu, sltheocdt]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setThangnam(newValue);\r\n getbaocao(newValue.$y);\r\n getsolieutheocdt(newValue.$y);\r\n getfile(newValue.$y);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n {listfile[0] ? (\r\n \r\n ) : null}\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n});\r\nXembaocaonam.propTypes = {\r\n duan_id: PropTypes.number,\r\n nguonvon: PropTypes.string,\r\n};\r\nexport default Xembaocaonam;\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridLinkOperator,\r\n GridColDef,\r\n //gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst Xembaocaotiendo = React.memo(function Xembaocaotiendo(props) {\r\n const tiendocolumn: GridColDef[] = [\r\n {\r\n field: \"tungay\",\r\n headerName: \"Từ ngày\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n if (params.value !== \"null\")\r\n return dayjs(params.value).format(\"DD/MM/YYYY\");\r\n else return \"\";\r\n },\r\n },\r\n {\r\n field: \"denngay\",\r\n headerName: \"Đến ngày\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n if (params.value !== \"null\")\r\n return dayjs(params.value).format(\"DD/MM/YYYY\");\r\n else return \"\";\r\n },\r\n },\r\n {\r\n field: \"action1\",\r\n headerName: \"Giai đoạn tiến độ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.row.giaidoan === null) {\r\n return params.row.giaidoancon;\r\n } else {\r\n return params.row.giaidoan;\r\n }\r\n },\r\n },\r\n {\r\n field: \"trangthai\",\r\n headerName: \"Trạng thái\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ngayhoanthanh\",\r\n headerName: \"Ngày hoàn thành\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => {\r\n if (params.value !== \"null\")\r\n return dayjs(params.value).format(\"DD/MM/YYYY\");\r\n else return \"\";\r\n },\r\n },\r\n {\r\n field: \"action\",\r\n headerName: \"Xử lý\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n const onClick = (e) => {\r\n e.stopPropagation(); // don't select this row after clicking\r\n setTiendo_id(params.row.id);\r\n setOpenhoanthanh(true);\r\n };\r\n if (params.row.giaidoancon_id === 0) {\r\n return params.row.trangthai_id === 1 ? (\r\n \r\n huyhoanthanh(params.row.id)}\r\n >\r\n Hủy\r\n \r\n \r\n ) : (\r\n \r\n \r\n Hoàn thành\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n hoanthanhcon(params.row.giaidoancon_id, event)\r\n }\r\n inputProps={{ \"aria-label\": \"controlled\" }}\r\n style={{ height: 22 }}\r\n />\r\n );\r\n }\r\n },\r\n },\r\n {\r\n field: \"noidungthuchien\",\r\n headerName: \"Nội dung\",\r\n width: 270,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const { duan_id } = props;\r\n const classes = useStyles();\r\n const [ngayhoanthanh, setNgayhoanthanh] = React.useState(dayjs());\r\n const [tiendo, setTiendo] = React.useState([]);\r\n const [tiendo_id, setTiendo_id] = React.useState(0);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [openhoanthanh, setOpenhoanthanh] = React.useState(false);\r\n const handleClosehoanthanh = () => {\r\n setOpenhoanthanh(false);\r\n gettiendo();\r\n };\r\n //const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettiendo = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DuanChuDauTu/gettiendothallgd?duan_id=\" +\r\n duan_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiendo(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const hoanthanhcon = (giaidoancon_id, event) => {\r\n var url = \"\";\r\n if (event.target.checked)\r\n url = Config.backend + \"/api/Tiendoduan/hoanthanhtiendoduangdcon\";\r\n else url = Config.backend + \"/api/Tiendoduan/huyhoanthanhtiendoduangdcon\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan_id: duan_id,\r\n giaidoancon_id: giaidoancon_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettiendo();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhathoanthanh = () => {\r\n var ngay =\r\n ngayhoanthanh.$y +\r\n \"-\" +\r\n String(ngayhoanthanh.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngayhoanthanh.$D;\r\n var url = Config.backend + \"/api/DuanChuDauTu/hoanthanhtiendothuchienduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n tiendo_id: tiendo_id,\r\n ngayhoanthanh: ngay,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n setOpenhoanthanh(false);\r\n showNotification();\r\n gettiendo();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const huyhoanthanh = (id) => {\r\n var url = Config.backend + \"/api/Tiendoduan/huyhoanthanhtiendoduan\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n tiendo_id: id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification1();\r\n gettiendo();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettiendo();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Tiến độ thực hiện dự án\r\n \r\n \r\n \r\n \r\n \r\n row.id}\r\n rows={tiendo}\r\n columns={tiendocolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n //sx={datagridSx}\r\n hideFooter\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n sx={{\r\n \"& .rows-active\": {\r\n background: \"#33ff00 !important\",\r\n },\r\n }}\r\n getRowClassName={(params) => {\r\n if (\r\n dayjs(params.row.tungay).isBefore(new Date()) &&\r\n dayjs(params.row.denngay).isAfter(new Date())\r\n )\r\n return \"rows-active\";\r\n }}\r\n />\r\n
    \r\n \r\n \r\n \r\n \r\n \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ập nhật hoàn thà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 setNgayhoanthanh(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 33,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhậ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 setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n
    \r\n \r\n );\r\n});\r\nXembaocaotiendo.propTypes = {\r\n duan_id: PropTypes.number,\r\n};\r\nexport default Xembaocaotiendo;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport Boloc from \"components/Util/Boloc\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Xembaocaothang from \"components/Baocaoduan/Baocaothang/Xembaocaothang.js\";\r\nimport Xembaocaoquy from \"components/Baocaoduan/Baocaoquy/Xembaocaoquy.js\";\r\nimport Xembaocaonam from \"components/Baocaoduan/Baocaonam/Xembaocaonam.js\";\r\nimport Xembaocaotiendo from \"components/Baocaoduan/Baocaotiendo/Xembaocaotiendo.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport dayjs from \"dayjs\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Ngày quyết định\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"vondangky_vnd\",\r\n headerName: \"Tổng vốn đầu tư (đồng)\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"tiendothuchien\",\r\n headerName: \"Tiến độ dự án\",\r\n width: 500,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"khuvucdautu\",\r\n headerName: \"Khu vực\",\r\n width: 190,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"linhvuc\",\r\n headerName: \"Lĩnh vực\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diaban\",\r\n headerName: \"Huyện/TX/TP\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiemthuchien\",\r\n headerName: \"Địa điểm\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Xembaocaoduan() {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [data, setData] = React.useState([]);\r\n const [duan_id, setDuan_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [openbcthang, setOpenbcthang] = React.useState(false);\r\n const [openbcquy, setOpenbcquy] = React.useState(false);\r\n const [openbcnam, setOpenbcnam] = React.useState(false);\r\n const [openbctiendo, setOpenbctiendo] = React.useState(false);\r\n const [opentimkiem, setOpentimkiem] = React.useState(false);\r\n const [nguonvonBC, setNguonvonBC] = React.useState(\"\");\r\n const handleClosebcthang = () => {\r\n setOpenbcthang(false);\r\n };\r\n const handleClosebcquy = () => {\r\n setOpenbcquy(false);\r\n };\r\n const handleClosebcnam = () => {\r\n setOpenbcnam(false);\r\n };\r\n const handleClosebctiendo = () => {\r\n setOpenbctiendo(false);\r\n };\r\n const handleClosetimkiem = () => {\r\n setOpentimkiem(false);\r\n };\r\n const handleOpenCloseBackdrop = (val) => {\r\n setOpen(val);\r\n };\r\n const handleSetResult = (val) => {\r\n setData(val);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n return (\r\n \r\n \r\n \r\n {\r\n setOpenbcthang(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo tháng\r\n \r\n \r\n \r\n {\r\n setOpenbcquy(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo quý\r\n \r\n \r\n \r\n {\r\n setOpenbcnam(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo năm\r\n \r\n \r\n \r\n {\r\n setOpenbctiendo(true);\r\n }}\r\n style={{ height: 25 }}\r\n >\r\n Báo cáo tiến độ\r\n \r\n \r\n \r\n \r\n \r\n setOpentimkiem(true)}\r\n style={{ height: 30 }}\r\n >\r\n Bộ lọc\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={data}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDuan_id(Number(params.row.id));\r\n setDisableBT(false);\r\n setNguonvonBC(params.row.nguonvondautu);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo thá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 Báo cáo quý\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo nă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 \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Báo cáo tiến độ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaothongkechuabaocaoexcel = function Baocaothongkechuabaocaoexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DANH SÁCH CẢNH BÁO\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Thời điểm cấp dự án\");\r\n } else if (element == \"baocaosaucung\") {\r\n headerValues.push(\"Kỳ báo cáo gần nhất\");\r\n } else if (element == \"chuabaocao\") {\r\n headerValues.push(\"Kỳ chưa báo cáo\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tenduan\")) {\r\n const colTenduan = sheet.getColumn(\"tenduan\");\r\n colTenduan.width = 100;\r\n colTenduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tenduan\r\n ? data[rowNumber - 3].tenduan.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n // cell.numFmt = \"dd.mm.yyyy\";\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].thoidiemcapduan\r\n ? dayjs(data[rowNumber - 3].thoidiemcapduan).format(\"DD/MM/YYYY\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaothongkechuabaocao.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaothongkechuabaocaoexcel;\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\n// import Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport Baocaothongkechuabaocaoexcel from \"components/Xuatexcel/Baocaothongkechuabaocaoexcel.js\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Radio from \"@mui/material/Radio\";\r\nimport RadioGroup from \"@mui/material/RadioGroup\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormLabel from \"@mui/material/FormLabel\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport Select from \"@mui/material/Select\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst cbcolumn = [\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 280,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 280,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 100,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"baocaosaucung\",\r\n headerName: \"Kỳ báo cáo gần nhất\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chuabaocao\",\r\n headerName: \"Kỳ chưa báo cáo\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Thongkecanhbao() {\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [canhbao, setCanhbao] = React.useState([]);\r\n const [nam, setNam] = React.useState(dayjs());\r\n const [quy, setQuy] = React.useState(0);\r\n const [thang, setThang] = React.useState(0);\r\n const [mauBC, setMauBC] = React.useState(1);\r\n const [controlDisableQuy, setControlDisableQuy] = React.useState(true);\r\n const [controlDisableThang, setControlDisableThang] = React.useState(true);\r\n const [open, setOpen] = React.useState(false);\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const controlDisableSelectBox = (value) => {\r\n // Chọn mẫu báo cáo năm\r\n if (value == 1) {\r\n // Clear select box Quy & Thang\r\n setQuy(0);\r\n setThang(0);\r\n // Disable select box Quy & Thang\r\n setControlDisableQuy(true);\r\n setControlDisableThang(true);\r\n // Chọn mẫu báo cáo quý\r\n } else if (value == 2) {\r\n // Clear select box Thang\r\n setThang(0);\r\n // Open select box Quy & Disable select box Thang\r\n setControlDisableQuy(false);\r\n setControlDisableThang(true);\r\n } else {\r\n // Open select box Quy & Thang\r\n setControlDisableQuy(false);\r\n setControlDisableThang(false);\r\n }\r\n };\r\n const getthongkecanhbao = (maubc, nam, quy, thang) => {\r\n setOpen(true);\r\n var url = \"\";\r\n if (maubc == 1) {\r\n url =\r\n Config.backend +\r\n \"/api/BaoCao/thongkecanhbaobaocao?nam=\" +\r\n nam.$y +\r\n \"&maubaocao=\" +\r\n maubc +\r\n \"&username=\" +\r\n username;\r\n } else if (maubc == 2) {\r\n url =\r\n Config.backend +\r\n \"/api/BaoCao/thongkecanhbaobaocao?nam=\" +\r\n nam.$y +\r\n \"&quy=\" +\r\n quy +\r\n \"&maubaocao=\" +\r\n maubc +\r\n \"&username=\" +\r\n username;\r\n } else {\r\n url =\r\n Config.backend +\r\n \"/api/BaoCao/thongkecanhbaobaocao?nam=\" +\r\n nam.$y +\r\n \"&quy=\" +\r\n quy +\r\n \"&thang=\" +\r\n thang +\r\n \"&maubaocao=\" +\r\n maubc +\r\n \"&username=\" +\r\n username;\r\n }\r\n\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCanhbao(data);\r\n setOpen(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n setOpen(false);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getthongkecanhbao(mauBC, nam, quy, thang);\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n Loại báo cáo\r\n {\r\n setMauBC(event.target.value);\r\n controlDisableSelectBox(event.target.value);\r\n getthongkecanhbao(event.target.value, nam, quy, thang);\r\n }}\r\n >\r\n }\r\n label=\"Năm\"\r\n />\r\n }\r\n label=\"Quý\"\r\n />\r\n }\r\n label=\"Tháng\"\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNam(newValue);\r\n getthongkecanhbao(mauBC, newValue, quy, thang);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 30,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n Quý\r\n {\r\n setQuy(event.target.value);\r\n getthongkecanhbao(mauBC, nam, event.target.value, thang);\r\n }}\r\n >\r\n Tất Cả\r\n Quý I\r\n Quý II\r\n Quý III\r\n Quý IV\r\n \r\n \r\n \r\n Tháng\r\n {\r\n setThang(event.target.value);\r\n getthongkecanhbao(mauBC, nam, quy, event.target.value);\r\n }}\r\n >\r\n Tất Cả\r\n Tháng 1\r\n Tháng 2\r\n Tháng 3\r\n Tháng 4\r\n Tháng 5\r\n Tháng 6\r\n Tháng 7\r\n Tháng 8\r\n Tháng 9\r\n Tháng 10\r\n Tháng 11\r\n Tháng 12\r\n \r\n \r\n {/* \r\n \r\n THỐNG KÊ\r\n \r\n */}\r\n \r\n \r\n
    \r\n row.chuabaocao + row.maduan}\r\n rows={canhbao}\r\n columns={cbcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaothongkechuabaocaolannaoexcel = function Baocaothongkechuabaocaolannaoexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value =\r\n \"BÁO CÁO DANH SÁCH CẢNH BÁO CHƯA BÁO CÁO LẦN NÀO\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Thời điểm cấp dự án\");\r\n } else if (element == \"tinhtrangduan\") {\r\n headerValues.push(\"Tình trạng dự án\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tenduan\")) {\r\n const colTenduan = sheet.getColumn(\"tenduan\");\r\n colTenduan.width = 100;\r\n colTenduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tenduan\r\n ? data[rowNumber - 3].tenduan.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n // cell.numFmt = \"dd.mm.yyyy\";\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].thoidiemcapduan\r\n ? dayjs(data[rowNumber - 3].thoidiemcapduan).format(\"DD/MM/YYYY\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaothongkechuabaocao.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaothongkechuabaocaolannaoexcel;\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport Baocaothongkechuabaocaolannaoexcel from \"components/Xuatexcel/Baocaothongkechuabaocaolannaoexcel.js\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst cbcolumn = [\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 280,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 330,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"tinhtrangduan\",\r\n headerName: \"Tình Trạng dự án\",\r\n width: 230,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Thongkechuabaocaolannao() {\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [canhbao, setCanhbao] = React.useState([]);\r\n const [open, setOpen] = React.useState(false);\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getCanhbaochuabaocaolannao = () => {\r\n setOpen(true);\r\n var url =\r\n Config.backend + \"/api/DuanChuDauTu/bcduanchuabc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setCanhbao(data);\r\n setOpen(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n setOpen(false);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getCanhbaochuabaocaolannao();\r\n }, []);\r\n return (\r\n \r\n \r\n
    \r\n row.maduan}\r\n rows={canhbao}\r\n columns={cbcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaophulucbolocexcel = function Baocaophulucbolocexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO PHỤ LỤC\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"stt\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"maduan\") {\r\n headerValues.push(\"Mã dự án\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Tên dự án\");\r\n } else if (element == \"chudautu\") {\r\n headerValues.push(\"Chủ đầu tư\");\r\n } else if (element == \"quocgia\") {\r\n headerValues.push(\"Quốc gia\");\r\n } else if (element == \"nguonvondautu\") {\r\n headerValues.push(\"Nguồn vốn\");\r\n } else if (element == \"vondangky_vnd\") {\r\n headerValues.push(\"Tổng vốn đầu tư (VNĐ)\");\r\n } else if (element == \"vondangky_usd\") {\r\n headerValues.push(\"Tổng vốn đầu tư (USD)\");\r\n } else if (element == \"thoidiemcapduan\") {\r\n headerValues.push(\"Năm cấp\");\r\n } else if (element == \"thoidiemhethan\") {\r\n headerValues.push(\"Năm hết hạn\");\r\n } else if (element == \"soquyetdinhpheduyet\") {\r\n headerValues.push(\"Số QĐPD\");\r\n } else if (element == \"giaychungnhandkdt\") {\r\n headerValues.push(\"Giấy chứng nhận ĐKĐT\");\r\n } else if (element == \"tiendothuchien\") {\r\n headerValues.push(\"Tiến độ dự án\");\r\n } else if (element == \"tinhhinhthuchien\") {\r\n headerValues.push(\"Tình hình thực hiện\");\r\n } else if (element == \"khokhanvuongmac\") {\r\n headerValues.push(\"Khó khăn vướng mắc\");\r\n } else if (element == \"khuvucdautu\") {\r\n headerValues.push(\"Khu vực\");\r\n } else if (element == \"linhvuc\") {\r\n headerValues.push(\"Lĩnh vực\");\r\n } else if (element == \"diadiemthuchien\") {\r\n headerValues.push(\"Địa điểm\");\r\n } else if (element == \"diaban\") {\r\n headerValues.push(\"Huyện/Thị Xã/TP\");\r\n } else if (element == \"dientich\") {\r\n headerValues.push(\"Diện tích (ha)\");\r\n } else if (element == \"muctieu\") {\r\n headerValues.push(\"Mục tiêu\");\r\n } else if (element == \"quymo\") {\r\n headerValues.push(\"Quy mô\");\r\n } else if (element == \"laodong_vn_dangky\") {\r\n headerValues.push(\"Số lao động VN\");\r\n } else if (element == \"laodong_nn_dangky\") {\r\n headerValues.push(\"Số lao động NN\");\r\n } else if (element == \"solaodongthucte\") {\r\n headerValues.push(\"Số lao động thực tế\");\r\n } else if (element == \"kyquy\") {\r\n headerValues.push(\"Ký quỹ\");\r\n } else if (element == \"nopngansachnhanuoc_lk\") {\r\n headerValues.push(\"Nộp ngân sách\");\r\n } else if (element == \"vonthuchien_vnd_lk\") {\r\n headerValues.push(\"Vốn thực hiện\");\r\n } else if (element == \"kiemtravipham\") {\r\n headerValues.push(\"Kiểm tra vi phạm\");\r\n } else if (element == \"tinhtrangkyquy\") {\r\n headerValues.push(\"Tình trạng ký quỹ\");\r\n } else if (element == \"tinhtrangnopns\") {\r\n headerValues.push(\"Tình trạng nộp ngân sách\");\r\n } else if (element == \"tinhtrangtiendo\") {\r\n headerValues.push(\"Tiến độ thực tế\");\r\n } else if (element == \"tinhtrangduan\") {\r\n headerValues.push(\"Tình trạng dự án\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"stt\")) {\r\n const colStt = sheet.getColumn(\"stt\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"vondangky_vnd\")) {\r\n const colVondangky_vnd = sheet.getColumn(\"vondangky_vnd\");\r\n colVondangky_vnd.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"vondangky_usd\")) {\r\n const colVondangky_usd = sheet.getColumn(\"vondangky_usd\");\r\n colVondangky_usd.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"thoidiemcapduan\")) {\r\n const colThoidiemcapduan = sheet.getColumn(\"thoidiemcapduan\");\r\n colThoidiemcapduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.numFmt = \"dd.mm.yyyy\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"chudautu\")) {\r\n const colChudautu = sheet.getColumn(\"chudautu\");\r\n colChudautu.width = 100;\r\n colChudautu.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].chudautu\r\n ? data[rowNumber - 3].chudautu.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tiendothuchien\")) {\r\n const colTiendothuchien = sheet.getColumn(\"tiendothuchien\");\r\n colTiendothuchien.width = 100;\r\n colTiendothuchien.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tiendothuchien\r\n ? data[rowNumber - 3].tiendothuchien.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"kiemtravipham\")) {\r\n const colKiemtravipham = sheet.getColumn(\"kiemtravipham\");\r\n colKiemtravipham.width = 100;\r\n colKiemtravipham.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].kiemtravipham\r\n ? data[rowNumber - 3].kiemtravipham.replace(/;\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tenduan\")) {\r\n const colTenduan = sheet.getColumn(\"tenduan\");\r\n colTenduan.width = 100;\r\n }\r\n if (Object.keys(data[0]).includes(\"tinhhinhthuchien\")) {\r\n const colTinhhinhthuchien = sheet.getColumn(\"tinhhinhthuchien\");\r\n colTinhhinhthuchien.width = 100;\r\n }\r\n if (Object.keys(data[0]).includes(\"khokhanvuongmac\")) {\r\n const colKhokhanvuongmac = sheet.getColumn(\"khokhanvuongmac\");\r\n colKhokhanvuongmac.width = 100;\r\n }\r\n if (Object.keys(data[0]).includes(\"diadiemthuchien\")) {\r\n const colDiadiemthuchien = sheet.getColumn(\"diadiemthuchien\");\r\n colDiadiemthuchien.width = 100;\r\n }\r\n if (Object.keys(data[0]).includes(\"muctieu\")) {\r\n const colMuctieu = sheet.getColumn(\"muctieu\");\r\n colMuctieu.width = 100;\r\n }\r\n if (Object.keys(data[0]).includes(\"quymo\")) {\r\n const colQuymo = sheet.getColumn(\"quymo\");\r\n colQuymo.width = 100;\r\n }\r\n if (Object.keys(data[0]).includes(\"kyquy\")) {\r\n const colKyquy = sheet.getColumn(\"kyquy\");\r\n colKyquy.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"nopngansachnhanuoc_lk\")) {\r\n const colNopngansachnhanuoc_lk = sheet.getColumn(\"nopngansachnhanuoc_lk\");\r\n colNopngansachnhanuoc_lk.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"vonthuchien_vnd_lk\")) {\r\n const colVonthuchien_vnd_lk = sheet.getColumn(\"vonthuchien_vnd_lk\");\r\n colVonthuchien_vnd_lk.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n cell.numFmt = \"#,##0\";\r\n }\r\n });\r\n }\r\n\r\n // Design Background Color\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n if (cell.value == \"Trễ tiến độ giai đoạn\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FA8072\" },\r\n };\r\n }\r\n if (cell.value == \"Sắp trễ tiến độ giai đoạn\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FFFACD\" },\r\n };\r\n }\r\n if (cell.value == \"Trễ tiến độ toàn dự án\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FFFF0000\" },\r\n };\r\n }\r\n if (cell.value == \"Sắp trễ tiến độ toàn dự án\") {\r\n row.fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"FFFF00\" },\r\n };\r\n }\r\n });\r\n });\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaoduan.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaophulucbolocexcel;\r\n","//import Config from \"conFig.js\";\r\nimport PropTypes from \"prop-types\";\r\nimport Button from \"@mui/material/Button\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as React from \"react\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Convert data to map list\r\nconst convertDataToMaps = (data) => {\r\n const maps = [];\r\n data.forEach((element) => maps.push(new Map(Object.entries(element))));\r\n return maps;\r\n};\r\n\r\n// format data for template\r\nconst formatDataTemplate = (data) => {\r\n const results = new Map();\r\n\r\n const lmapTrongNuocNgoaiKktKcnLinhvucCn = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n const lmapTrongNuocNgoaiKktKcnLinhvucTmDv = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Thương mại, dịch vụ, du lịch\r\n const lmapTrongNuocNgoaiKktKcnLinhvucXdHt = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng, hạ tầng\r\n const lmapTrongNuocNgoaiKktKcnLinhvucCbLg = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Cảng Biển và logistics\r\n const lmapTrongNuocNgoaiKktKcnLinhvucNn = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Nông nghiệp\r\n const lmapTrongNuocNgoaiKktKcnLinhvucBdsKtdt = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n const lmapTrongNuocNgoaiKktKcnLinhvucCntt = []; // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n\r\n const lmapTrongNuocTrongKktKcnLinhvucCn = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n const lmapTrongNuocTrongKktKcnLinhvucTmDv = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Thương mại, dịch vụ, du lịch\r\n const lmapTrongNuocTrongKktKcnLinhvucXdHt = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng, hạ tầng\r\n const lmapTrongNuocTrongKktKcnLinhvucCbLg = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Cảng Biển và logistics\r\n const lmapTrongNuocTrongKktKcnLinhvucNn = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Nông nghiệp\r\n const lmapTrongNuocTrongKktKcnLinhvucBdsKtdt = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n const lmapTrongNuocTrongKktKcnLinhvucCntt = []; // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n\r\n const lmapNuocNgoaiNgoaiKktKcn = []; // Dự án nước ngoài (FDI) - ngoài Khu kinh tế, Khu Công nghiệp\r\n const lmapNuocNgoaiTrongKktKcn = []; // Dự án nước ngoài (FDI) - trong Khu kinh tế, Khu Công nghiệp\r\n\r\n const mapTong = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapTrongNuoc = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapTrongNuocNgoaiKktKcn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapTrongNuocNgoaiKktKcnLinhvucCn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocNgoaiKktKcnLinhvucTmDv = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocNgoaiKktKcnLinhvucXdHt = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocNgoaiKktKcnLinhvucCbLg = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocNgoaiKktKcnLinhvucNn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocNgoaiKktKcnLinhvucCntt = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapTrongNuocTrongKktKcn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapTrongNuocTrongKktKcnLinhvucCn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocTrongKktKcnLinhvucTmDv = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocTrongKktKcnLinhvucXdHt = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocTrongKktKcnLinhvucCbLg = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocTrongKktKcnLinhvucNn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocTrongKktKcnLinhvucBdsKtdt = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapTrongNuocTrongKktKcnLinhvucCntt = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapNuocNgoai = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const mapNuocNgoaiNgoaiKktKcn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n const mapNuocNgoaiTrongKktKcn = new Map([\r\n [\"tongSoDuAn\", 0],\r\n [\"tongTienVND\", 0],\r\n [\"tongTienUSD\", 0],\r\n ]);\r\n\r\n const lmapData = convertDataToMaps(data);\r\n\r\n for (let mapData of lmapData) {\r\n // Dự án trong nước\r\n if (mapData.get(\"nguonvondautu\").trim() == \"Trong nước\") {\r\n mapTong.set(\"tongSoDuAn\", mapTong.get(\"tongSoDuAn\") + 1);\r\n mapTong.set(\r\n \"tongTienVND\",\r\n mapTong.get(\"tongTienVND\") + mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTong.set(\r\n \"tongTienUSD\",\r\n mapTong.get(\"tongTienUSD\") + mapData.get(\"vondangky_usd\")\r\n );\r\n mapTrongNuoc.set(\"tongSoDuAn\", mapTrongNuoc.get(\"tongSoDuAn\") + 1);\r\n mapTrongNuoc.set(\r\n \"tongTienVND\",\r\n mapTrongNuoc.get(\"tongTienVND\") + mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuoc.set(\r\n \"tongTienUSD\",\r\n mapTrongNuoc.get(\"tongTienUSD\") + mapData.get(\"vondangky_usd\")\r\n );\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp\r\n if (\r\n mapData.get(\"khuvucdautu\").trim() == \"CCN\" ||\r\n mapData.get(\"khuvucdautu\").trim() == \"KKT\" ||\r\n mapData.get(\"khuvucdautu\").trim() == \"KCN\"\r\n ) {\r\n mapTrongNuocTrongKktKcn.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcn.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcn.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n if (mapData.get(\"linhvuc\").trim() == \"Công nghiệp\") {\r\n mapTrongNuocTrongKktKcnLinhvucCn.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucCn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucCn.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucCn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucCn.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucCn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucCn.push(mapData);\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng, hạ tầng\r\n } else if (mapData.get(\"linhvuc\").trim() == \"Xây dựng, hạ tầng\") {\r\n mapTrongNuocTrongKktKcnLinhvucXdHt.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucXdHt.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucXdHt.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucXdHt.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucXdHt.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucXdHt.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucXdHt.push(mapData);\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Thương mại, dịch vụ, du lịch\r\n } else if (\r\n mapData.get(\"linhvuc\").trim() == \"Thương mại dịch vụ - Du lịch\"\r\n ) {\r\n mapTrongNuocTrongKktKcnLinhvucTmDv.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucTmDv.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucTmDv.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucTmDv.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucTmDv.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucTmDv.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucTmDv.push(mapData);\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Cảng Biển và logistics\r\n } else if (\r\n mapData.get(\"linhvuc\").trim() == \"Dịch vụ cảng và logistics\"\r\n ) {\r\n mapTrongNuocTrongKktKcnLinhvucCbLg.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucCbLg.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucCbLg.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucCbLg.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucCbLg.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucCbLg.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucCbLg.push(mapData);\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Nông nghiệp\r\n } else if (mapData.get(\"linhvuc\").trim() == \"Nông nghiệp\") {\r\n mapTrongNuocTrongKktKcnLinhvucNn.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucNn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucNn.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucNn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucNn.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucNn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucNn.push(mapData);\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n } else if (\r\n mapData.get(\"linhvuc\").trim() == \"Bất động sản, kinh tế đô thị\"\r\n ) {\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucBdsKtdt.push(mapData);\r\n // Dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n } else if (mapData.get(\"linhvuc\").trim() == \"Công nghệ thông tin\") {\r\n mapTrongNuocTrongKktKcnLinhvucCntt.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocTrongKktKcnLinhvucCntt.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucCntt.set(\r\n \"tongTienVND\",\r\n mapTrongNuocTrongKktKcnLinhvucCntt.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocTrongKktKcnLinhvucCntt.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocTrongKktKcnLinhvucCntt.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocTrongKktKcnLinhvucCntt.push(mapData);\r\n }\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp\r\n } else if (mapData.get(\"khuvucdautu\").trim() == \"Ngoài KKT, KCN, CCN\") {\r\n mapTrongNuocNgoaiKktKcn.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcn.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcn.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n if (mapData.get(\"linhvuc\").trim() == \"Công nghiệp\") {\r\n mapTrongNuocNgoaiKktKcnLinhvucCn.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucCn.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucCn.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucCn.push(mapData);\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng, hạ tầng\r\n } else if (mapData.get(\"linhvuc\").trim() == \"Xây dựng, hạ tầng\") {\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucXdHt.push(mapData);\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Thương mại, dịch vụ, du lịch\r\n } else if (\r\n mapData.get(\"linhvuc\").trim() == \"Thương mại dịch vụ - Du lịch\"\r\n ) {\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucTmDv.push(mapData);\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Cảng Biển và logistics\r\n } else if (\r\n mapData.get(\"linhvuc\").trim() == \"Dịch vụ cảng và logistics\"\r\n ) {\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucCbLg.push(mapData);\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Nông nghiệp\r\n } else if (mapData.get(\"linhvuc\").trim() == \"Nông nghiệp\") {\r\n mapTrongNuocNgoaiKktKcnLinhvucNn.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucNn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucNn.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucNn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucNn.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucNn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucNn.push(mapData);\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n } else if (\r\n mapData.get(\"linhvuc\").trim() == \"Bất động sản, kinh tế đô thị\"\r\n ) {\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucBdsKtdt.push(mapData);\r\n // Dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n } else if (mapData.get(\"linhvuc\").trim() == \"Công nghệ thông tin\") {\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt.set(\r\n \"tongSoDuAn\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt.get(\"tongSoDuAn\") + 1\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt.set(\r\n \"tongTienVND\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt.set(\r\n \"tongTienUSD\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapTrongNuocNgoaiKktKcnLinhvucCntt.push(mapData);\r\n }\r\n }\r\n // Dự án nước ngoài (FDI)\r\n } else if (mapData.get(\"nguonvondautu\").trim() == \"FDI\") {\r\n mapTong.set(\"tongSoDuAn\", mapTong.get(\"tongSoDuAn\") + 1);\r\n mapTong.set(\r\n \"tongTienVND\",\r\n mapTong.get(\"tongTienVND\") + mapData.get(\"vondangky_vnd\")\r\n );\r\n mapTong.set(\r\n \"tongTienUSD\",\r\n mapTong.get(\"tongTienUSD\") + mapData.get(\"vondangky_usd\")\r\n );\r\n mapNuocNgoai.set(\"tongSoDuAn\", mapNuocNgoai.get(\"tongSoDuAn\") + 1);\r\n mapNuocNgoai.set(\r\n \"tongTienVND\",\r\n mapNuocNgoai.get(\"tongTienVND\") + mapData.get(\"vondangky_vnd\")\r\n );\r\n mapNuocNgoai.set(\r\n \"tongTienUSD\",\r\n mapNuocNgoai.get(\"tongTienUSD\") + mapData.get(\"vondangky_usd\")\r\n );\r\n // Dự án nước ngoài (FDI) - trong Khu kinh tế, Khu Công nghiệp\r\n if (\r\n mapData.get(\"khuvucdautu\").trim() == \"CCN\" ||\r\n mapData.get(\"khuvucdautu\").trim() == \"KKT\" ||\r\n mapData.get(\"khuvucdautu\").trim() == \"KCN\"\r\n ) {\r\n mapNuocNgoaiTrongKktKcn.set(\r\n \"tongSoDuAn\",\r\n mapNuocNgoaiTrongKktKcn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapNuocNgoaiTrongKktKcn.set(\r\n \"tongTienVND\",\r\n mapNuocNgoaiTrongKktKcn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapNuocNgoaiTrongKktKcn.set(\r\n \"tongTienUSD\",\r\n mapNuocNgoaiTrongKktKcn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapNuocNgoaiTrongKktKcn.push(mapData);\r\n // Dự án nước ngoài (FDI) - ngoài Khu kinh tế, Khu Công nghiệp\r\n } else if (mapData.get(\"khuvucdautu\").trim() == \"Ngoài KKT, KCN, CCN\") {\r\n mapNuocNgoaiNgoaiKktKcn.set(\r\n \"tongSoDuAn\",\r\n mapNuocNgoaiNgoaiKktKcn.get(\"tongSoDuAn\") + 1\r\n );\r\n mapNuocNgoaiNgoaiKktKcn.set(\r\n \"tongTienVND\",\r\n mapNuocNgoaiNgoaiKktKcn.get(\"tongTienVND\") +\r\n mapData.get(\"vondangky_vnd\")\r\n );\r\n mapNuocNgoaiNgoaiKktKcn.set(\r\n \"tongTienUSD\",\r\n mapNuocNgoaiNgoaiKktKcn.get(\"tongTienUSD\") +\r\n mapData.get(\"vondangky_usd\")\r\n );\r\n lmapNuocNgoaiNgoaiKktKcn.push(mapData);\r\n }\r\n }\r\n }\r\n\r\n results.set(\"thong_tin_tong_du_an\", mapTong);\r\n results.set(\"thong_tin_tong_du_an_trong_nuoc\", mapTrongNuoc);\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn\",\r\n mapTrongNuocTrongKktKcn\r\n );\r\n\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\",\r\n mapTrongNuocTrongKktKcnLinhvucCn\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\",\r\n mapTrongNuocTrongKktKcnLinhvucTmDv\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\",\r\n mapTrongNuocTrongKktKcnLinhvucXdHt\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\",\r\n mapTrongNuocTrongKktKcnLinhvucCbLg\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\",\r\n mapTrongNuocTrongKktKcnLinhvucNn\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\",\r\n mapTrongNuocTrongKktKcnLinhvucBdsKtdt\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\",\r\n mapTrongNuocTrongKktKcnLinhvucCntt\r\n );\r\n\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn\",\r\n mapTrongNuocNgoaiKktKcn\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCn\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\",\r\n mapTrongNuocNgoaiKktKcnLinhvucTmDv\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\",\r\n mapTrongNuocNgoaiKktKcnLinhvucXdHt\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCbLg\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\",\r\n mapTrongNuocNgoaiKktKcnLinhvucNn\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\",\r\n mapTrongNuocNgoaiKktKcnLinhvucBdsKtdt\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\",\r\n mapTrongNuocNgoaiKktKcnLinhvucCntt\r\n );\r\n\r\n results.set(\"thong_tin_tong_du_an_nuoc_ngoai\", mapNuocNgoai);\r\n results.set(\r\n \"thong_tin_tong_du_an_nuoc_ngoai_ngoai_kkt_kcn\",\r\n mapNuocNgoaiNgoaiKktKcn\r\n );\r\n results.set(\r\n \"thong_tin_tong_du_an_nuoc_ngoai_trong_kkt_kcn\",\r\n mapNuocNgoaiTrongKktKcn\r\n );\r\n\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\",\r\n lmapTrongNuocTrongKktKcnLinhvucCn\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\",\r\n lmapTrongNuocTrongKktKcnLinhvucXdHt\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\",\r\n lmapTrongNuocTrongKktKcnLinhvucTmDv\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\",\r\n lmapTrongNuocTrongKktKcnLinhvucCbLg\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\",\r\n lmapTrongNuocTrongKktKcnLinhvucNn\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\",\r\n lmapTrongNuocTrongKktKcnLinhvucBdsKtdt\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\",\r\n lmapTrongNuocTrongKktKcnLinhvucCntt\r\n );\r\n\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucCn\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucXdHt\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucTmDv\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucCbLg\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucNn\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucBdsKtdt\r\n );\r\n results.set(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\",\r\n lmapTrongNuocNgoaiKktKcnLinhvucCntt\r\n );\r\n\r\n results.set(\r\n \"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\",\r\n lmapNuocNgoaiTrongKktKcn\r\n );\r\n results.set(\r\n \"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\",\r\n lmapNuocNgoaiNgoaiKktKcn\r\n );\r\n\r\n return results;\r\n};\r\n\r\nconst Baocaophulucexcel = React.memo(function Baocaophulucexcel(props) {\r\n const { data, tungay, denngay } = props;\r\n // Create excel Template\r\n const createExcelTemplateAndFullFillData = (sheet, data) => {\r\n // Init\r\n var rowNum = 0;\r\n var n = 0;\r\n\r\n // Set width columns\r\n const aCol = sheet.getColumn(\"A\");\r\n const bCol = sheet.getColumn(\"B\");\r\n const cCol = sheet.getColumn(\"C\");\r\n const dCol = sheet.getColumn(\"D\");\r\n const eCol = sheet.getColumn(\"E\");\r\n const fCol = sheet.getColumn(\"F\");\r\n const gCol = sheet.getColumn(\"G\");\r\n const hCol = sheet.getColumn(\"H\");\r\n const iCol = sheet.getColumn(\"I\");\r\n const jCol = sheet.getColumn(\"J\");\r\n const kCol = sheet.getColumn(\"K\");\r\n const lCol = sheet.getColumn(\"L\");\r\n aCol.width = 5;\r\n bCol.width = 10;\r\n cCol.width = 10;\r\n dCol.width = 20;\r\n eCol.width = 20;\r\n fCol.width = 12;\r\n gCol.width = 10;\r\n hCol.width = 12;\r\n iCol.width = 20;\r\n jCol.width = 10;\r\n kCol.width = 10;\r\n lCol.width = 15;\r\n\r\n // Title\r\n sheet.mergeCells(\"A1:L1\");\r\n sheet.getCell(\"A1\").value =\r\n \"PHỤ LỤC: DANH MỤC DỰ ÁN THU HÚT ĐẦU TƯ TỈNH TỪ \" +\r\n String(tungay.$D).padStart(2, \"0\") +\r\n \"/\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"/\" +\r\n tungay.$y +\r\n \" ĐẾN \" +\r\n String(denngay.$D).padStart(2, \"0\") +\r\n \"/\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"/\" +\r\n denngay.$y +\r\n \" THEO BỘ LỌC\";\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Header\r\n // Auto Filter header\r\n sheet.autoFilter = {\r\n from: \"A2\",\r\n to: \"L2\",\r\n };\r\n // Frozen header\r\n sheet.views = [\r\n {\r\n state: \"frozen\",\r\n xSplit: 12,\r\n ySplit: 2,\r\n activeCell: \"A1\",\r\n },\r\n ];\r\n\r\n sheet.getCell(\"A2\").value = \"STT\";\r\n sheet.getCell(\"A2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B2\").value = \"Tên dự án\";\r\n sheet.getCell(\"B2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C2\").value = \"Địa điểm\";\r\n sheet.getCell(\"C2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D2\").value = \"Địa điểm thực hiện\";\r\n sheet.getCell(\"D2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E2\").value = \"Tổng vốn đầu tư (đồng)\";\r\n sheet.getCell(\"E2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F2\").value = \"Nhà đầu tư\";\r\n sheet.getCell(\"F2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G2\").value = \"Tháng\";\r\n sheet.getCell(\"G2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H2\").value = \"Quyết định\";\r\n sheet.getCell(\"H2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I2\").value = \"Tiến độ dự án\";\r\n sheet.getCell(\"I2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J2\").value = \"Lĩnh vực\";\r\n sheet.getCell(\"J2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K2\").value = \"địa điểm\";\r\n sheet.getCell(\"K2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L2\").value = \"Loại dự án\";\r\n sheet.getCell(\"L2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L2\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"A3:D3\");\r\n sheet.getCell(\"A3\").value = \"TỔNG DỰ ÁN\";\r\n sheet.getCell(\"A3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A3\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E3\").value = data\r\n .get(\"thong_tin_tong_du_an\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E3\").numFmt = \"#,##0\";\r\n sheet.getCell(\"E3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E3\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"A4:D4\");\r\n sheet.getCell(\"A4\").value = \"Dự án nước ngoài (FDI)\";\r\n sheet.getCell(\"A4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A4\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E4\").value = data\r\n .get(\"thong_tin_tong_du_an_nuoc_ngoai\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E4\").numFmt = \"#,##0\";\r\n sheet.getCell(\"E4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E4\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"A5:D5\");\r\n sheet.getCell(\"A5\").value = \"Dự án trong nước\";\r\n sheet.getCell(\"A5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A5\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E5\").value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E5\").numFmt = \"#,##0\";\r\n sheet.getCell(\"E5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E5\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"A6:D6\");\r\n sheet.getCell(\"A6\").value = \"I. Dự án ngoài Khu kinh tế, Khu Công nghiệp\";\r\n sheet.getCell(\"A6\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A6\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E6\").value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E6\").numFmt = \"#,##0\";\r\n sheet.getCell(\"E6\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E6\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.mergeCells(\"A7:D7\");\r\n sheet.getCell(\"A7\").value = \"A. Lĩnh vực công nghiệp\";\r\n sheet.getCell(\"A7\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A7\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E7\").value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E7\").numFmt = \"#,##0\";\r\n sheet.getCell(\"E7\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E7\").border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Continue create tempalte and fullfill data will be start with row number is 8\r\n rowNum = 8;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực thương mại, dịch vụ, du lịch\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"B. Lĩnh vực Thương mại, dịch vụ, du lịch\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực thương mại, dịch vụ, du lịch\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng hạ tầng\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"C. Lĩnh vực xây dựng, hạ tầng\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng hạ tầng\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực nông nghiệp\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"D. Lĩnh vực Nông nghiệp\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực nông nghiệp\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực cảng biển logistic\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"E. Lĩnh vực Cảng Biển logistic\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực cảng biển logistic\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"F. Lĩnh vực Bất động sản, kinh tế đô thị\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n n = data.get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n .length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"G. Lĩnh vực Công nghệ thông tin\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - ngoài Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghe thông tin\r\n n = data.get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n .length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_ngoai_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"II. Dự án trong Khu Kinh tế, Khu Công nghiệp\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"A. Lĩnh vực công nghiệp\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực công nghiệp\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cong_nghiep\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực thương mại, dịch vụ, du lịch\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"B. Lĩnh vực Thương mại, dịch vụ, du lịch\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực thương mại, dịch vụ, du lịch\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_thuong_mai_dich_vu\"\r\n )\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng, hạ tầng\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"C. Lĩnh vực xây dựng, hạ tầng\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực xây dựng, hạ tầng\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_xay_dung_ha_tang\"\r\n )\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực nông nghiệp\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"D. Lĩnh vực Nông nghiệp\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực nông nghiệp\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_nong_nghiep\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực cảng biển logistic\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"E. Lĩnh vực Cảng biển Logistic\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực cảng biển logistic\r\n n = data.get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n ).length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\r\n \"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cang_bien_logistic\"\r\n )\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value =\r\n \"F. Lĩnh vực Bất động sản, kinh tế đô thị\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Bất động sản, kinh tế đô thị\r\n n = data.get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n .length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_bds_ktdt\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"G. Lĩnh vực Công nghệ thông tin\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án trong nước - trong Khu kinh tế, Khu Công nghiệp - Lĩnh vực Công nghệ thông tin\r\n n = data.get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n .length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_trong_nuoc_trong_kkt_kcn_linh_vuc_cntt\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // FDI\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"FDI\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_nuoc_ngoai\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Thông tin dự án nước ngoài - trong Khu kinh tế, Khu Công nghiệp\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"A. TRONG KKT, KCN\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án nước ngoài - trong Khu kinh tế, Khu Công nghiệp\r\n n = data.get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\").length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_trong_kkt_kcn\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n\r\n // Thông tin dự án nước ngoài - ngoài Khu kinh tế, Khu Công nghiệp\r\n sheet.mergeCells(\"A\" + rowNum + \":\" + \"D\" + rowNum);\r\n sheet.getCell(\"A\" + rowNum).value = \"B. NGOÀI KKT, KCN\";\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"thong_tin_tong_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n .get(\"tongTienVND\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n rowNum += 1;\r\n\r\n // Danh sách dự án nước ngoài - ngoài Khu kinh tế, Khu Công nghiệp\r\n n = data.get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\").length;\r\n for (let i = 0; i < n; i++) {\r\n sheet.getCell(\"A\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"stt\");\r\n sheet.getCell(\"A\" + rowNum).font = {\r\n bold: false,\r\n italic: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"A\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"A\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"B\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"tenduan\");\r\n sheet.getCell(\"B\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"B\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"B\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"C\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"diadiem\");\r\n sheet.getCell(\"C\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"C\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"C\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"D\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"diadiemthuchien\");\r\n sheet.getCell(\"D\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"D\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"D\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"E\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"vondangky_vnd\");\r\n sheet.getCell(\"E\" + rowNum).numFmt = \"#,##0\";\r\n sheet.getCell(\"E\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"E\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"E\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"F\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"chudautu\");\r\n sheet.getCell(\"F\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"F\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"F\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"G\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"thoidiemcapduan\");\r\n sheet.getCell(\"G\" + rowNum).numFmt = \"dd/mm/yyyy\";\r\n sheet.getCell(\"G\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"G\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"G\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"H\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"soquyetdinhpheduyet\");\r\n sheet.getCell(\"H\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"H\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"H\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"I\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"tiendothuchien\")\r\n ? data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"tiendothuchien\")\r\n .replace(/\\\\n/g, \"\\r\\n\")\r\n : \"\";\r\n sheet.getCell(\"I\" + rowNum).font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"I\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"I\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"J\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"linhvuc\");\r\n sheet.getCell(\"J\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"J\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"J\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"K\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"khuvucdautu\");\r\n sheet.getCell(\"K\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"K\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"K\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n sheet.getCell(\"L\" + rowNum).value = data\r\n .get(\"danh_sach_du_an_nuoc_ngoai_ngoai_kkt_kcn\")\r\n [i].get(\"nguonvon\");\r\n sheet.getCell(\"L\" + rowNum).font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 11,\r\n };\r\n sheet.getCell(\"L\" + rowNum).alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n wrapText: true,\r\n };\r\n sheet.getCell(\"L\" + rowNum).border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n\r\n // Set to next row\r\n rowNum += 1;\r\n }\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Create excel template and full fill data\r\n createExcelTemplateAndFullFillData(sheet, formatDataTemplate(data));\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"phulucthuhutdautu.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n handleExport();\r\n }}\r\n style={{ height: 30 }}\r\n >\r\n Phụ lục Excel\r\n \r\n );\r\n});\r\nBaocaophulucexcel.propTypes = {\r\n data: PropTypes.array,\r\n tungay: PropTypes.object,\r\n denngay: PropTypes.object,\r\n};\r\nexport default Baocaophulucexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport Backdrop from \"@mui/material/Backdrop\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport Chip from \"@mui/material/Chip\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Baocaophulucbolocexcel from \"components/Xuatexcel/Baocaophulucbolocexcel.js\";\r\nimport Baocaophulucexcel from \"components/Xuatexcel/Baocaophulucexcel.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport { whiteColor } from \"assets/jss/material-dashboard-react.js\";\r\nimport { red, yellow } from \"@mui/material/colors\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .super-app-theme--waring_gd\": {\r\n backgroundColor: yellow[200],\r\n },\r\n \"& .super-app-theme--waring_tda\": {\r\n backgroundColor: yellow[600],\r\n },\r\n \"& .super-app-theme--dangerous_gd\": {\r\n backgroundColor: red[200],\r\n },\r\n \"& .super-app-theme--dangerous_tda\": {\r\n backgroundColor: red[600],\r\n },\r\n \"& .super-app-theme--normal\": {\r\n backgroundColor: whiteColor,\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst dacolumn = [\r\n {\r\n field: \"stt\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"maduan\",\r\n headerName: \"Mã dự án\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"quocgia\",\r\n headerName: \"Quốc gia\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"nguonvondautu\",\r\n headerName: \"Nguồn vốn\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"vondangky_vnd\",\r\n headerName: \"Tổng vốn đầu tư (đồng)\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vondangky_usd\",\r\n headerName: \"Tổng vốn đầu tư (USD)\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm cấp\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"thoidiemhethan\",\r\n headerName: \"Thời điểm hết hạn\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"soquyetdinhpheduyet\",\r\n headerName: \"Số QĐPD\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"giaychungnhandkdt\",\r\n headerName: \"Giấy chứng nhận ĐKĐT\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tiendothuchien\",\r\n headerName: \"Tiến độ dự án\",\r\n width: 220,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"tinhhinhthuchien\",\r\n headerName: \"Tình hình thực hiện\",\r\n width: 230,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"khokhanvuongmac\",\r\n headerName: \"Khó khăn vướng mắc\",\r\n width: 230,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"khuvucdautu\",\r\n headerName: \"Khu vực\",\r\n width: 140,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"linhvuc\",\r\n headerName: \"Lĩnh vực\",\r\n width: 170,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diadiemthuchien\",\r\n headerName: \"Địa điểm\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"diaban\",\r\n headerName: \"Huyện/Thị Xã/TP\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"dientich\",\r\n headerName: \"Diện tích (ha)\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"muctieu\",\r\n headerName: \"Mục tiêu\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"quymo\",\r\n headerName: \"Quy mô\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"laodong_vn_dangky\",\r\n headerName: \"Số lao động VN\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"laodong_nn_dangky\",\r\n headerName: \"Số lao động NN\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"solaodongthucte\",\r\n headerName: \"Số lao động thực tế\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"kyquy\",\r\n headerName: \"Ký quỹ\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"nopngansachnhanuoc_lk\",\r\n headerName: \"Nộp ngân sách\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n //valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"vonthuchien_vnd_lk\",\r\n headerName: \"Vốn thực hiện\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n //valueFormatter: (params) => params.value.toLocaleString(\"de-DE\"),\r\n },\r\n {\r\n field: \"kiemtravipham\",\r\n headerName: \"Kiểm tra vi phạm\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"tinhtrangkyquy\",\r\n headerName: \"Tình trạng ký quỹ\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangnopns\",\r\n headerName: \"Tình trạng nộp ngân sách\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangtiendo\",\r\n headerName: \"Tiến độ thực tế\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tinhtrangduan\",\r\n headerName: \"Tình trạng dự án\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nexport default function Baocaophuluc() {\r\n const classes = useStyles();\r\n const [open, setOpen] = React.useState(false);\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [data, setData] = React.useState([]);\r\n const [tungay, setTungay] = React.useState(dayjs(\"2015-01-01\"));\r\n const [denngay, setDenngay] = React.useState(dayjs());\r\n const [diadiem, setDiadiem] = React.useState([]);\r\n const [diadiemVL, setDiadiemVL] = React.useState(null);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [linhvucVL, setLinhvucVL] = React.useState(null);\r\n const [khuvuc, setKhuvuc] = React.useState([]);\r\n const [khuvucVL, setKhuvucVL] = React.useState(null);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [nguonvonVL, setNguonvonVL] = React.useState(null);\r\n const [tinhtrangduan, setTinhtrangduan] = React.useState([]);\r\n const [tinhtrangduanVL, setTinhtrangduanVL] = React.useState(null);\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuVL, setChudautuVL] = React.useState(null);\r\n const [tinhtrangkyquy, setTinhtrangkyquy] = React.useState([]);\r\n const [tinhtrangkyquyVL, setTinhtrangkyquyVL] = React.useState(null);\r\n const [loaivipham, setLoaivipham] = React.useState([]);\r\n const [loaiviphamVL, setLoaiviphamVL] = React.useState(null);\r\n const [tiendoduan, setTiendoduan] = React.useState([]);\r\n const [tiendoduanVL, setTiendoduanVL] = React.useState(null);\r\n const [chutruong, setChutruong] = React.useState([]);\r\n const [chutruongVL, setChutruongVL] = React.useState(null);\r\n const [quyetdinhdieuchinh, setQuyetdinhdieuchinh] = React.useState([]);\r\n const [quyetdinhdieuchinhVL, setQuyetdinhdieuchinhVL] = React.useState(null);\r\n const [opentimkiem, setOpentimkiem] = React.useState(false);\r\n const handleClosetimkiem = () => {\r\n setOpentimkiem(false);\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getdiadiem = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadiem(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangduan = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangduan?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangduan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettinhtrangkyquy = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangkyquy?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrangkyquy(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getloaivipham = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmloaivipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLoaivipham(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const gettiendoduan = () => {\r\n var dmtiendoduans = [];\r\n dmtiendoduans.push({ id: 1, ten: \"Đúng hạn\" });\r\n dmtiendoduans.push({ id: 2, ten: \"Sắp trễ hạn giai đoạn\" });\r\n dmtiendoduans.push({ id: 3, ten: \"Trễ hạn giai đoạn\" });\r\n dmtiendoduans.push({ id: 4, ten: \"Sắp trễ hạn toàn dự án\" });\r\n dmtiendoduans.push({ id: 5, ten: \"Trễ hạn toàn dự án\" });\r\n setTiendoduan(dmtiendoduans);\r\n };\r\n const getchutruong = () => {\r\n var dmchutruongs = [];\r\n dmchutruongs.push({ id: 1, ten: \"Số QĐ phê duyệt\" });\r\n dmchutruongs.push({ id: 2, ten: \"Giấy chứng nhận ĐKĐT\" });\r\n setChutruong(dmchutruongs);\r\n };\r\n const getquyetdinhdieuchinh = () => {\r\n var dmquyetdinhdieuchinhs = [];\r\n dmquyetdinhdieuchinhs.push({ id: 1, ten: \"Có quyết định điều chỉnh\" });\r\n dmquyetdinhdieuchinhs.push({\r\n id: 2,\r\n ten: \"Không có quyết định điều chỉnh\",\r\n });\r\n setQuyetdinhdieuchinh(dmquyetdinhdieuchinhs);\r\n };\r\n const timkiem = () => {\r\n setOpen(true);\r\n var tu =\r\n tungay.$y +\r\n \"-\" +\r\n String(tungay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n tungay.$D;\r\n var den =\r\n denngay.$y +\r\n \"-\" +\r\n String(denngay.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n denngay.$D;\r\n let diaban = [];\r\n if (diadiemVL) {\r\n diadiemVL.map((row) => {\r\n diaban.push({ id: row.id });\r\n });\r\n } else {\r\n diaban.push({ id: 0 });\r\n }\r\n let linhvuc = [];\r\n if (linhvucVL) {\r\n linhvucVL.map((row) => {\r\n linhvuc.push({ id: row.id });\r\n });\r\n } else {\r\n linhvuc.push({ id: 0 });\r\n }\r\n let khuvucdautu = [];\r\n if (khuvucVL) {\r\n khuvucVL.map((row) => {\r\n khuvucdautu.push({ id: row.id });\r\n });\r\n } else {\r\n khuvucdautu.push({ id: 0 });\r\n }\r\n let nguonvon = [];\r\n if (nguonvonVL) {\r\n nguonvonVL.map((row) => {\r\n nguonvon.push({ id: row.id });\r\n });\r\n } else {\r\n nguonvon.push({ id: 0 });\r\n }\r\n let tinhtrang = [];\r\n if (tinhtrangduanVL) {\r\n tinhtrangduanVL.map((row) => {\r\n tinhtrang.push({ id: row.id });\r\n });\r\n } else {\r\n tinhtrang.push({ id: 0 });\r\n }\r\n var chudautu = [];\r\n if (chudautuVL) {\r\n chudautuVL.map((row) => {\r\n chudautu.push({ id: row.id });\r\n });\r\n } else {\r\n chudautu.push({ id: 0 });\r\n }\r\n var tinhtrangkq = [];\r\n if (tinhtrangkyquyVL) {\r\n tinhtrangkyquyVL.map((row) => {\r\n tinhtrangkq.push({ id: row.id });\r\n });\r\n } else {\r\n tinhtrangkq.push({ id: 0 });\r\n }\r\n var vipham = [];\r\n if (loaiviphamVL) {\r\n loaiviphamVL.map((row) => {\r\n vipham.push({ id: row.id });\r\n });\r\n } else {\r\n vipham.push({ id: 0 });\r\n }\r\n var tiendo = [];\r\n if (tiendoduanVL) {\r\n tiendoduanVL.map((row) => {\r\n tiendo.push({ id: row.id });\r\n });\r\n } else {\r\n tiendo.push({ id: 0 });\r\n }\r\n var chutr = [];\r\n if (chutruongVL) {\r\n chutruongVL.map((row) => {\r\n chutr.push({ id: row.id });\r\n });\r\n } else {\r\n chutr.push({ id: 0 });\r\n }\r\n var qddieuchinh = [];\r\n if (quyetdinhdieuchinhVL) {\r\n quyetdinhdieuchinhVL.map((row) => {\r\n qddieuchinh.push({ id: row.id });\r\n });\r\n } else {\r\n qddieuchinh.push({ id: 0 });\r\n }\r\n\r\n var url = Config.backend + \"/api/DuanChuDauTu/tracuuduanboloc1\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n tungay: tu,\r\n denngay: den,\r\n diaban_id: diaban.length > 0 ? diaban : [{ id: 0 }],\r\n linhvuc_id: linhvuc.length > 0 ? linhvuc : [{ id: 0 }],\r\n khuvucdautu_id: khuvucdautu.length > 0 ? khuvucdautu : [{ id: 0 }],\r\n nguonvondautu_id: nguonvon.length > 0 ? nguonvon : [{ id: 0 }],\r\n tinhtrangduan_id: tinhtrang.length > 0 ? tinhtrang : [{ id: 0 }],\r\n chudautu_id: chudautu.length > 0 ? chudautu : [{ id: 0 }],\r\n tinhtrangkyquy_id: tinhtrangkq.length > 0 ? tinhtrangkq : [{ id: 0 }],\r\n loaivipham_id: vipham.length > 0 ? vipham : [{ id: 0 }],\r\n trangthaitiendothuchienduan: tiendo.length > 0 ? tiendo : [{ id: 0 }],\r\n chutruong: chutr.length > 0 ? chutr : [{ id: 0 }],\r\n quyetdinhdieuchinh: qddieuchinh.length > 0 ? qddieuchinh : [{ id: 0 }],\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n for (const element of data) {\r\n if (element.tinhtrangtiendo == \"Sắp trễ tiến độ giai đoạn\") {\r\n element.status = \"waring_gd\";\r\n } else if (element.tinhtrangtiendo == \"Sắp trễ tiến độ toàn dự án\") {\r\n element.status = \"waring_tda\";\r\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ giai đoạn\") {\r\n element.status = \"dangerous_gd\";\r\n } else if (element.tinhtrangtiendo == \"Trễ tiến độ toàn dự án\") {\r\n element.status = \"dangerous_tda\";\r\n } else {\r\n element.status = \"normal\";\r\n }\r\n }\r\n setData(data);\r\n setDiadiemVL(null);\r\n setLinhvucVL(null);\r\n setKhuvucVL(null);\r\n setNguonvonVL(null);\r\n setTinhtrangduanVL(null);\r\n setChudautuVL(null);\r\n setTinhtrangkyquyVL(null);\r\n setLoaiviphamVL(null);\r\n setTiendoduanVL(null);\r\n setChutruongVL(null);\r\n setQuyetdinhdieuchinhVL(null);\r\n setOpen(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n setOpen(false);\r\n });\r\n handleClosetimkiem(true);\r\n };\r\n React.useEffect(() => {\r\n getdiadiem();\r\n getlinhvuc();\r\n getkhuvucdautu();\r\n getnguonvon();\r\n gettinhtrangduan();\r\n getchudautu();\r\n gettinhtrangkyquy();\r\n getloaivipham();\r\n gettiendoduan();\r\n getchutruong();\r\n getquyetdinhdieuchinh();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n setOpentimkiem(true)}\r\n style={{ height: 30 }}\r\n >\r\n Bộ lọc\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={data}\r\n columns={dacolumn}\r\n checkboxSelection={false}\r\n getRowClassName={(params) =>\r\n `super-app-theme--${params.row.status}`\r\n }\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \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 theo nhiều tiêu chí\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTungay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 37,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setDenngay(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 37,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setNguonvonVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setDiadiemVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLinhvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setKhuvucVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangduanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChutruongVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setLoaiviphamVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTiendoduanVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setTinhtrangkyquyVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setQuyetdinhdieuchinhVL(value);\r\n }}\r\n renderInput={(params) => (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n option.ten}\r\n onChange={(event, value) => {\r\n setChudautuVL(value);\r\n }}\r\n renderInput={(params) => (\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 ({ color: \"#fff\", zIndex: theme.zIndex.drawer + 1 })}\r\n open={open}\r\n >\r\n \r\n \r\n
    \r\n );\r\n}\r\n","//Bao-06122023-start\r\nimport React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport PropTypes from \"prop-types\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tablebaocaoStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nconst BaocaotonghopTbl = React.memo(function BaocaotonghopTbl(props) {\r\n // Init states\r\n const { data } = props;\r\n const classes = useStyles();\r\n\r\n // Render Header Table\r\n const renderTableHead = () => {\r\n return (\r\n \r\n \r\n STT\r\n Địa bàn\r\n Số dự án\r\n Tổng vốn (Đồng)\r\n \r\n \r\n );\r\n };\r\n\r\n // Render Body Table\r\n const renderTableBody = () => {\r\n return (\r\n \r\n {data.map((row, i) => {\r\n return (\r\n \r\n {row[\"stt\"].trim() != \"\" ||\r\n row[\"chitieu\"] == \"Tổng dự án\" ||\r\n row[\"chitieu\"] == \"Dự án trong nước\" ? (\r\n <>\r\n {/* STT */}\r\n \r\n {row[\"stt\"]}\r\n \r\n {/* Địa bàn */}\r\n {row[\"chitieu\"] == \"Tổng dự án\" ? (\r\n \r\n {row[\"chitieu\"].toUpperCase()}\r\n \r\n ) : (\r\n \r\n {row[\"chitieu\"]}\r\n \r\n )}\r\n {/* Số dự án */}\r\n \r\n {row[\"tongso\"]}\r\n \r\n {/* Tổng vốn(Đồng) */}\r\n \r\n {row[\"vondangky_vnd\"].toLocaleString(\"de-DE\")}\r\n \r\n \r\n ) : (\r\n <>\r\n {/* STT */}\r\n {row[\"stt\"]}\r\n {/* Địa bàn */}\r\n {row[\"chitieu\"]}\r\n {/* Số dự án */}\r\n {row[\"tongso\"]}\r\n {/* Tổng vốn(Đồng) */}\r\n \r\n {row[\"vondangky_vnd\"].toLocaleString(\"de-DE\")}\r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n // Render full table\r\n var tHead = renderTableHead();\r\n var tBody = renderTableBody();\r\n return (\r\n
    \r\n \r\n {tHead}\r\n {tBody}\r\n
    \r\n
    \r\n );\r\n});\r\nBaocaotonghopTbl.propTypes = {\r\n data: PropTypes.array,\r\n};\r\nexport default BaocaotonghopTbl;\r\n//Bao-06122023-start\r\n","import Config from \"conFig.js\";\r\nimport PropTypes from \"prop-types\";\r\nimport Button from \"@mui/material/Button\";\r\nimport { saveAs } from \"file-saver\";\r\nimport * as React from \"react\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Convert data to map list\r\nconst convertDataToMaps = (data) => {\r\n const maps = [];\r\n data.forEach((element) => maps.push(new Map(Object.entries(element))));\r\n return maps;\r\n};\r\n\r\nconst Baocaotonghopexcel = React.memo(function Baocaotonghopexcel(props) {\r\n const { nam } = props;\r\n const [dataTmp, setdataTmp] = React.useState([]);\r\n\r\n // Get and create authentication object\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n // Call Api to get data\r\n const getDataTmp = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getduanpltonghop?nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((dataTmp) => {\r\n setdataTmp(dataTmp);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n // Create excel Template\r\n const createExcelTemplate = (sheet) => {\r\n // Set width columns\r\n const aCol = sheet.getColumn(\"A\");\r\n const bCol = sheet.getColumn(\"B\");\r\n const cCol = sheet.getColumn(\"C\");\r\n const dCol = sheet.getColumn(\"D\");\r\n aCol.width = 10;\r\n bCol.width = 90;\r\n cCol.width = 20;\r\n dCol.width = 40;\r\n\r\n // Set template\r\n sheet.getCell(\"A1\").value = \"STT\";\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"A1\").fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"0000FF\" },\r\n bgColor: { argb: \"0000FF\" },\r\n };\r\n\r\n sheet.getCell(\"B1\").value = \"Địa bàn\";\r\n sheet.getCell(\"B1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B1\").fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"0000FF\" },\r\n bgColor: { argb: \"0000FF\" },\r\n };\r\n\r\n sheet.getCell(\"C1\").value = \"Số dự án\";\r\n sheet.getCell(\"C1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"C1\").fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"0000FF\" },\r\n bgColor: { argb: \"0000FF\" },\r\n };\r\n\r\n sheet.getCell(\"D1\").value = \"Tổng vốn (Đồng)\";\r\n sheet.getCell(\"D1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"D1\").fill = {\r\n type: \"pattern\",\r\n pattern: \"solid\",\r\n fgColor: { argb: \"0000FF\" },\r\n bgColor: { argb: \"0000FF\" },\r\n };\r\n\r\n sheet.getCell(\"A2\").value = \"stt\";\r\n sheet.getCell(\"A2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B2\").value = \"chitieu\";\r\n sheet.getCell(\"B2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C2\").value = \"tongso\";\r\n sheet.getCell(\"C2\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D2\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D2\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D2\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D2\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A3\").value = \"stt\";\r\n sheet.getCell(\"A3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B3\").value = \"chitieu\";\r\n sheet.getCell(\"B3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C3\").value = \"tongso\";\r\n sheet.getCell(\"C3\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D3\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D3\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D3\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D3\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A4\").value = \"stt\";\r\n sheet.getCell(\"A4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B4\").value = \"chitieu\";\r\n sheet.getCell(\"B4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C4\").value = \"tongso\";\r\n sheet.getCell(\"C4\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D4\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D4\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D4\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D4\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A5\").value = \"stt\";\r\n sheet.getCell(\"A5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B5\").value = \"chitieu\";\r\n sheet.getCell(\"B5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C5\").value = \"tongso\";\r\n sheet.getCell(\"C5\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D5\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D5\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D5\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D5\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A6\").value = \"stt\";\r\n sheet.getCell(\"A6\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B6\").value = \"chitieu\";\r\n sheet.getCell(\"B6\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C6\").value = \"tongso\";\r\n sheet.getCell(\"C6\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C6\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D6\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D6\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D6\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D6\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A7\").value = \"stt\";\r\n sheet.getCell(\"A7\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B7\").value = \"chitieu\";\r\n sheet.getCell(\"B7\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C7\").value = \"tongso\";\r\n sheet.getCell(\"C7\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C7\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D7\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D7\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D7\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D7\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A8\").value = \"stt\";\r\n sheet.getCell(\"A8\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A8\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B8\").value = \"chitieu\";\r\n sheet.getCell(\"B8\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B8\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C8\").value = \"tongso\";\r\n sheet.getCell(\"C8\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C8\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C8\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D8\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D8\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D8\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D8\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A9\").value = \"stt\";\r\n sheet.getCell(\"A9\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A9\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B9\").value = \"chitieu\";\r\n sheet.getCell(\"B9\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B9\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C9\").value = \"tongso\";\r\n sheet.getCell(\"C9\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C9\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C9\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D9\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D9\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D9\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D9\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A10\").value = \"stt\";\r\n sheet.getCell(\"A10\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A10\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B10\").value = \"chitieu\";\r\n sheet.getCell(\"B10\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B10\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C10\").value = \"tongso\";\r\n sheet.getCell(\"C10\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C10\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C10\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D10\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D10\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D10\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D10\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A11\").value = \"stt\";\r\n sheet.getCell(\"A11\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A11\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B11\").value = \"chitieu\";\r\n sheet.getCell(\"B11\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B11\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C11\").value = \"tongso\";\r\n sheet.getCell(\"C11\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C11\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C11\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D11\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D11\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D11\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D11\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A12\").value = \"stt\";\r\n sheet.getCell(\"A12\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A12\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B12\").value = \"chitieu\";\r\n sheet.getCell(\"B12\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B12\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C12\").value = \"tongso\";\r\n sheet.getCell(\"C12\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C12\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C12\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D12\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D12\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D12\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D12\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A13\").value = \"stt\";\r\n sheet.getCell(\"A13\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A13\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B13\").value = \"chitieu\";\r\n sheet.getCell(\"B13\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B13\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C13\").value = \"tongso\";\r\n sheet.getCell(\"C13\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C13\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C13\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D13\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D13\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D13\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D13\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A14\").value = \"stt\";\r\n sheet.getCell(\"A14\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A14\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B14\").value = \"chitieu\";\r\n sheet.getCell(\"B14\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B14\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C14\").value = \"tongso\";\r\n sheet.getCell(\"C14\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C14\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C14\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D14\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D14\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D14\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D14\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A15\").value = \"stt\";\r\n sheet.getCell(\"A15\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A15\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B15\").value = \"chitieu\";\r\n sheet.getCell(\"B15\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B15\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C15\").value = \"tongso\";\r\n sheet.getCell(\"C15\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C15\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C15\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D15\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D15\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D15\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D15\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A16\").value = \"stt\";\r\n sheet.getCell(\"A16\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A16\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B16\").value = \"chitieu\";\r\n sheet.getCell(\"B16\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B16\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C16\").value = \"tongso\";\r\n sheet.getCell(\"C16\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C16\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C16\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D16\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D16\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D16\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D16\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A17\").value = \"stt\";\r\n sheet.getCell(\"A17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B17\").value = \"chitieu\";\r\n sheet.getCell(\"B17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C17\").value = \"tongso\";\r\n sheet.getCell(\"C17\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D17\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D17\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D17\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D17\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A18\").value = \"stt\";\r\n sheet.getCell(\"A18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B18\").value = \"chitieu\";\r\n sheet.getCell(\"B18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C18\").value = \"tongso\";\r\n sheet.getCell(\"C18\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D18\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D18\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D18\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D18\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A19\").value = \"stt\";\r\n sheet.getCell(\"A19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B19\").value = \"chitieu\";\r\n sheet.getCell(\"B19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C19\").value = \"tongso\";\r\n sheet.getCell(\"C19\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D19\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D19\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D19\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D19\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A20\").value = \"stt\";\r\n sheet.getCell(\"A20\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B20\").value = \"chitieu\";\r\n sheet.getCell(\"B20\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C20\").value = \"tongso\";\r\n sheet.getCell(\"C20\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C20\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D20\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D20\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D20\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D20\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A21\").value = \"stt\";\r\n sheet.getCell(\"A21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B21\").value = \"chitieu\";\r\n sheet.getCell(\"B21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C21\").value = \"tongso\";\r\n sheet.getCell(\"C21\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D21\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D21\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D21\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D21\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A22\").value = \"stt\";\r\n sheet.getCell(\"A22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B22\").value = \"chitieu\";\r\n sheet.getCell(\"B22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C22\").value = \"tongso\";\r\n sheet.getCell(\"C22\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D22\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D22\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D22\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D22\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A23\").value = \"stt\";\r\n sheet.getCell(\"A23\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B23\").value = \"chitieu\";\r\n sheet.getCell(\"B23\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C23\").value = \"tongso\";\r\n sheet.getCell(\"C23\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C23\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D23\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D23\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D23\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D23\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A24\").value = \"stt\";\r\n sheet.getCell(\"A24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B24\").value = \"chitieu\";\r\n sheet.getCell(\"B24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C24\").value = \"tongso\";\r\n sheet.getCell(\"C24\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D24\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D24\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D24\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D24\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A25\").value = \"stt\";\r\n sheet.getCell(\"A25\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A25\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B25\").value = \"chitieu\";\r\n sheet.getCell(\"B25\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B25\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C25\").value = \"tongso\";\r\n sheet.getCell(\"C25\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C25\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C25\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D25\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D25\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D25\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D25\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A26\").value = \"stt\";\r\n sheet.getCell(\"A26\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A26\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B26\").value = \"chitieu\";\r\n sheet.getCell(\"B26\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B26\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C26\").value = \"tongso\";\r\n sheet.getCell(\"C26\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C26\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C26\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D26\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D26\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D26\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D26\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A27\").value = \"stt\";\r\n sheet.getCell(\"A27\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A27\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B27\").value = \"chitieu\";\r\n sheet.getCell(\"B27\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B27\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C27\").value = \"tongso\";\r\n sheet.getCell(\"C27\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C27\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C27\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D27\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D27\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D27\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D27\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A28\").value = \"stt\";\r\n sheet.getCell(\"A28\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A28\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B28\").value = \"chitieu\";\r\n sheet.getCell(\"B28\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B28\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C28\").value = \"tongso\";\r\n sheet.getCell(\"C28\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C28\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C28\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D28\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D28\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D28\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D28\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A29\").value = \"stt\";\r\n sheet.getCell(\"A29\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A29\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B29\").value = \"chitieu\";\r\n sheet.getCell(\"B29\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B29\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C29\").value = \"tongso\";\r\n sheet.getCell(\"C29\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C29\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C29\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D29\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D29\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D29\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D29\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A30\").value = \"stt\";\r\n sheet.getCell(\"A30\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A30\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B30\").value = \"chitieu\";\r\n sheet.getCell(\"B30\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B30\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C30\").value = \"tongso\";\r\n sheet.getCell(\"C30\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C30\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C30\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D30\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D30\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D30\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D30\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A31\").value = \"stt\";\r\n sheet.getCell(\"A31\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A31\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B31\").value = \"chitieu\";\r\n sheet.getCell(\"B31\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B31\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C31\").value = \"tongso\";\r\n sheet.getCell(\"C31\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C31\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C31\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D31\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D31\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D31\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D31\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A32\").value = \"stt\";\r\n sheet.getCell(\"A32\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A32\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B32\").value = \"chitieu\";\r\n sheet.getCell(\"B32\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B32\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C32\").value = \"tongso\";\r\n sheet.getCell(\"C32\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C32\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C32\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D32\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D32\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D32\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D32\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A33\").value = \"stt\";\r\n sheet.getCell(\"A33\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A33\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B33\").value = \"chitieu\";\r\n sheet.getCell(\"B33\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B33\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C33\").value = \"tongso\";\r\n sheet.getCell(\"C33\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C33\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C33\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D33\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D33\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D33\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D33\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A34\").value = \"stt\";\r\n sheet.getCell(\"A34\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A34\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B34\").value = \"chitieu\";\r\n sheet.getCell(\"B34\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B34\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C34\").value = \"tongso\";\r\n sheet.getCell(\"C34\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C34\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C34\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D34\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D34\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D34\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D34\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A35\").value = \"stt\";\r\n sheet.getCell(\"A35\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A35\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B35\").value = \"chitieu\";\r\n sheet.getCell(\"B35\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B35\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C35\").value = \"tongso\";\r\n sheet.getCell(\"C35\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C35\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C35\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D35\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D35\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D35\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D35\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A36\").value = \"stt\";\r\n sheet.getCell(\"A36\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A36\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B36\").value = \"chitieu\";\r\n sheet.getCell(\"B36\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B36\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C36\").value = \"tongso\";\r\n sheet.getCell(\"C36\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C36\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C36\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D36\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D36\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D36\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D36\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A37\").value = \"stt\";\r\n sheet.getCell(\"A37\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A37\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B37\").value = \"chitieu\";\r\n sheet.getCell(\"B37\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B37\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C37\").value = \"tongso\";\r\n sheet.getCell(\"C37\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C37\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C37\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D37\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D37\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D37\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D37\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A38\").value = \"stt\";\r\n sheet.getCell(\"A38\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A38\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B38\").value = \"chitieu\";\r\n sheet.getCell(\"B38\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B38\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C38\").value = \"tongso\";\r\n sheet.getCell(\"C38\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C38\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C38\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D38\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D38\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D38\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D38\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A39\").value = \"stt\";\r\n sheet.getCell(\"A39\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A39\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B39\").value = \"chitieu\";\r\n sheet.getCell(\"B39\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B39\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C39\").value = \"tongso\";\r\n sheet.getCell(\"C39\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C39\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C39\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D39\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D39\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D39\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D39\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A40\").value = \"stt\";\r\n sheet.getCell(\"A40\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A40\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B40\").value = \"chitieu\";\r\n sheet.getCell(\"B40\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B40\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C40\").value = \"tongso\";\r\n sheet.getCell(\"C40\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C40\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C40\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D40\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D40\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D40\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D40\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A41\").value = \"stt\";\r\n sheet.getCell(\"A41\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A41\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B41\").value = \"chitieu\";\r\n sheet.getCell(\"B41\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B41\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C41\").value = \"tongso\";\r\n sheet.getCell(\"C41\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C41\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C41\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D41\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D41\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D41\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D41\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A42\").value = \"stt\";\r\n sheet.getCell(\"A42\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A42\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B42\").value = \"chitieu\";\r\n sheet.getCell(\"B42\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B42\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C42\").value = \"tongso\";\r\n sheet.getCell(\"C42\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C42\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C42\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D42\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D42\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D42\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D42\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A43\").value = \"stt\";\r\n sheet.getCell(\"A43\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A43\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B43\").value = \"chitieu\";\r\n sheet.getCell(\"B43\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B43\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C43\").value = \"tongso\";\r\n sheet.getCell(\"C43\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C43\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C43\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D43\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D43\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D43\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D43\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A44\").value = \"stt\";\r\n sheet.getCell(\"A44\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A44\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B44\").value = \"chitieu\";\r\n sheet.getCell(\"B44\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B44\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C44\").value = \"tongso\";\r\n sheet.getCell(\"C44\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C44\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C44\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D44\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D44\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D44\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D44\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A45\").value = \"stt\";\r\n sheet.getCell(\"A45\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A45\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B45\").value = \"chitieu\";\r\n sheet.getCell(\"B45\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B45\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C45\").value = \"tongso\";\r\n sheet.getCell(\"C45\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C45\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C45\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D45\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D45\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D45\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D45\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A46\").value = \"stt\";\r\n sheet.getCell(\"A46\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A46\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B46\").value = \"chitieu\";\r\n sheet.getCell(\"B46\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B46\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C46\").value = \"tongso\";\r\n sheet.getCell(\"C46\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C46\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C46\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D46\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D46\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D46\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D46\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A47\").value = \"stt\";\r\n sheet.getCell(\"A47\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A47\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B47\").value = \"chitieu\";\r\n sheet.getCell(\"B47\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B47\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C47\").value = \"tongso\";\r\n sheet.getCell(\"C47\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C47\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C47\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D47\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D47\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D47\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D47\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A48\").value = \"stt\";\r\n sheet.getCell(\"A48\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A48\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B48\").value = \"chitieu\";\r\n sheet.getCell(\"B48\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B48\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C48\").value = \"tongso\";\r\n sheet.getCell(\"C48\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C48\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C48\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D48\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D48\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D48\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D48\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A49\").value = \"stt\";\r\n sheet.getCell(\"A49\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A49\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B49\").value = \"chitieu\";\r\n sheet.getCell(\"B49\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B49\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C49\").value = \"tongso\";\r\n sheet.getCell(\"C49\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C49\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C49\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D49\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D49\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D49\").font = {\r\n bold: false,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D49\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A50\").value = \"stt\";\r\n sheet.getCell(\"A50\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A50\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B50\").value = \"chitieu\";\r\n sheet.getCell(\"B50\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B50\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C50\").value = \"tongso\";\r\n sheet.getCell(\"C50\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C50\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C50\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D50\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D50\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D50\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D50\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n\r\n sheet.getCell(\"A51\").value = \"stt\";\r\n sheet.getCell(\"A51\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A51\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n sheet.getCell(\"B51\").value = \"chitieu\";\r\n sheet.getCell(\"B51\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"B51\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n };\r\n sheet.getCell(\"C51\").value = \"tongso\";\r\n sheet.getCell(\"C51\").numFmt = \"#,##0\";\r\n sheet.getCell(\"C51\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"C51\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n sheet.getCell(\"D51\").value = \"vondangky_vnd\";\r\n sheet.getCell(\"D51\").numFmt = \"#,##0\";\r\n sheet.getCell(\"D51\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"D51\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"right\",\r\n };\r\n };\r\n\r\n // Full fill Data for template\r\n const fullFillDataTemplate = (sheet, maps) => {\r\n // Iterate over all rows that have values in a worksheet\r\n sheet.eachRow(function (row, rowNumber) {\r\n // Skip first row because it is a header row\r\n if (rowNumber > 1) {\r\n const map = maps[rowNumber - 2];\r\n row.eachCell(function (cell) {\r\n console.log(cell, cell.value, map.get(cell.value));\r\n if (map.get(cell.value)) {\r\n //console.log(cell.value , map.get(cell.value));\r\n cell.value = map.get(cell.value);\r\n } else if (map.get(cell.value) === \"\") {\r\n cell.value = map.get(cell.value);\r\n } else if (map.get(cell.value) == 0) {\r\n cell.value = map.get(cell.value);\r\n }\r\n });\r\n }\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Create excel template\r\n createExcelTemplate(sheet);\r\n\r\n // Full fill data for template\r\n fullFillDataTemplate(sheet, convertDataToMaps(dataTmp));\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaotonghop.xlsx\");\r\n };\r\n\r\n // Get all data\r\n React.useEffect(() => {\r\n getDataTmp();\r\n }, [nam]);\r\n\r\n return (\r\n {\r\n handleExport();\r\n }}\r\n style={{ height: 30 }}\r\n >\r\n Xuất Excel\r\n \r\n );\r\n});\r\n\r\nBaocaotonghopexcel.propTypes = {\r\n nam: PropTypes.number,\r\n};\r\nexport default Baocaotonghopexcel;\r\n","//Bao-06122023-start\r\nimport React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport BaocaotonghopTable from \"components/Baocaophuluc/BaocaotonghopTable.js\";\r\nimport Baocaotonghopexcel from \"components/Xuatexcel/Baocaotonghopexcel.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\nimport Config from \"conFig.js\";\r\nexport default function Baocaotonghop() {\r\n // Init states\r\n const [data, setData] = React.useState([]);\r\n const [nam, setNam] = React.useState(new Date().getFullYear());\r\n const [thangnam, setThangnam] = React.useState(dayjs());\r\n // Get and create authentication object\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n\r\n // Get summarization report data\r\n const getbaocaotonghop = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/BaoCao/getduanpltonghop?nam=\" +\r\n nam +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setData(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n React.useEffect(() => {\r\n getbaocaotonghop();\r\n }, []);\r\n // Get all data\r\n React.useEffect(() => {\r\n getbaocaotonghop();\r\n }, [nam]);\r\n\r\n // Render summarization report data on Grid\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n setNam(newValue.$y);\r\n setThangnam(newValue);\r\n }}\r\n format=\"YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 30,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n//Bao-06122023-end\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default function Themchudautu() {\r\n const [tenchudautu, setTenchudautu] = React.useState(\"\");\r\n const [diachi, setDiachi] = React.useState(\"\");\r\n const [sodienthoai, setSodienthoai] = React.useState(\"\");\r\n const [email, setEmail] = React.useState(\"\");\r\n const [ghichu, setGhichu] = React.useState(\"\");\r\n const [nguoidaidien, setNguoidaidien] = React.useState(\"\");\r\n const [giaycndkdn, setGiaycndkdn] = React.useState(\"\");\r\n const [donvicapgiaycn, setDonvicapgiaycn] = React.useState(\"\");\r\n const [ngaycapgiaycn, setNgaycapgiaycn] = React.useState(dayjs());\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"success\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertchudautu = () => {\r\n var ngay =\r\n ngaycapgiaycn.$y +\r\n \"-\" +\r\n String(ngaycapgiaycn.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapgiaycn.$D;\r\n var url = Config.backend + \"/api/DanhMuc/themchudautu\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: tenchudautu,\r\n diachi: diachi,\r\n sodienthoai: sodienthoai,\r\n email: email,\r\n ghichu: ghichu,\r\n nguoidaidien: nguoidaidien,\r\n giaycndkdn: giaycndkdn,\r\n donvicapgiaycn: donvicapgiaycn,\r\n ngaycapgiaycn: ngay,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n showNotification(data, DoneIcon, \"warning\");\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const disablebutton = () => {\r\n if (tenchudautu.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [tenchudautu]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTenchudautu(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setSodienthoai(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setEmail(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setGiaycndkdn(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDonvicapgiaycn(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapgiaycn(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 35,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setGhichu(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNguoidaidien(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\nimport { AdapterDayjs } from \"@mui/x-date-pickers/AdapterDayjs\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { DatePicker } from \"@mui/x-date-pickers/DatePicker\";\r\nimport dayjs from \"dayjs\";\r\n\r\nconst Capnhatchudautu = React.memo(function Capnhatchudautu(props) {\r\n const { chudautu_id } = props;\r\n const [tenchudautu, setTenchudautu] = React.useState(\"\");\r\n const [diachi, setDiachi] = React.useState(\"\");\r\n const [sodienthoai, setSodienthoai] = React.useState(\"\");\r\n const [email, setEmail] = React.useState(\"\");\r\n const [ghichu, setGhichu] = React.useState(\"\");\r\n const [nguoidaidien, setNguoidaidien] = React.useState(\"\");\r\n const [giaycndkdn, setGiaycndkdn] = React.useState(\"\");\r\n const [donvicapgiaycn, setDonvicapgiaycn] = React.useState(\"\");\r\n const [ngaycapgiaycn, setNgaycapgiaycn] = React.useState(dayjs());\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getchudaututheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/Danhmuc/getchudaututheoid?id=\" +\r\n chudautu_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTenchudautu(data[0].ten);\r\n if (data[0].diachi) setDiachi(data[0].diachi);\r\n if (data[0].sodienthoai) setSodienthoai(data[0].sodienthoai);\r\n if (data[0].email) setEmail(data[0].email);\r\n if (data[0].ghichu) setGhichu(data[0].ghichu);\r\n if (data[0].nguoidaidien) setNguoidaidien(data[0].nguoidaidien);\r\n if (data[0].giaycndkdn) setGiaycndkdn(data[0].giaycndkdn);\r\n if (data[0].donvicapgiaycn) setDonvicapgiaycn(data[0].donvicapgiaycn);\r\n //let [day1, month1, year] = data[0].ngaychinhthuc.split(\"-\");\r\n setNgaycapgiaycn(dayjs(data[0].ngaycapgiaycn));\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatchudautu = () => {\r\n var ngay =\r\n ngaycapgiaycn.$y +\r\n \"-\" +\r\n String(ngaycapgiaycn.$M + 1).padStart(2, \"0\") +\r\n \"-\" +\r\n ngaycapgiaycn.$D;\r\n var url = Config.backend + \"/api/DanhMuc/capnhatchudautu\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: chudautu_id,\r\n ten: tenchudautu,\r\n diachi: diachi,\r\n sodienthoai: sodienthoai,\r\n email: email,\r\n ghichu: ghichu,\r\n nguoidaidien: nguoidaidien,\r\n giaycndkdn: giaycndkdn,\r\n donvicapgiaycn: donvicapgiaycn,\r\n ngaycapgiaycn: ngay,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (tenchudautu.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [tenchudautu]);\r\n React.useEffect(() => {\r\n getchudaututheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTenchudautu(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDiachi(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setSodienthoai(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setEmail(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setGiaycndkdn(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setDonvicapgiaycn(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setNgaycapgiaycn(newValue);\r\n }}\r\n format=\"DD/MM/YYYY\"\r\n slotProps={{ textField: { size: \"small\" } }}\r\n views={[\"day\", \"month\", \"year\"]}\r\n sx={{\r\n \"& .MuiInputBase-root\": {\r\n height: 35,\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setGhichu(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setNguoidaidien(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatchudautu.propTypes = {\r\n chudautu_id: PropTypes.number,\r\n};\r\nexport default Capnhatchudautu;\r\n","import { MenuItem } from \"@mui/material\";\r\nimport { saveAs } from \"file-saver\";\r\nimport {\r\n gridFilteredSortedRowIdsSelector,\r\n gridVisibleColumnFieldsSelector,\r\n useGridApiContext,\r\n} from \"@mui/x-data-grid\";\r\nimport * as React from \"react\";\r\n//import dayjs from \"dayjs\";\r\n\r\nconst ExcelJS = require(\"exceljs\");\r\n\r\n// Get data on grid\r\nconst getExcelData = (apiRef) => {\r\n // Select rows and columns\r\n const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef);\r\n const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef);\r\n\r\n // Format the data. Here we only keep the value\r\n const data = filteredSortedRowIds.map((id) => {\r\n const row = {};\r\n visibleColumnsField.forEach((field) => {\r\n row[field] = apiRef.current.getCellParams(id, field).value;\r\n });\r\n return row;\r\n });\r\n\r\n return data;\r\n};\r\n\r\n//Init header columns\r\nconst initHeaderColumns = (headers) => {\r\n let headerColumns = [];\r\n headers.forEach((h) => {\r\n let headerColumn = { key: h, width: 10 };\r\n headerColumns.push(headerColumn);\r\n });\r\n return headerColumns;\r\n};\r\n\r\nconst Baocaochudautuexcel = function Baocaochudautuexcel() {\r\n const apiRef = useGridApiContext();\r\n const data = getExcelData(apiRef);\r\n // Auto Width\r\n const autoWidth = (worksheet, minimalWidth) => {\r\n worksheet.columns.forEach((column) => {\r\n let maxColumnLength = 0;\r\n column.eachCell({ includeEmpty: true }, (cell) => {\r\n maxColumnLength = Math.max(\r\n maxColumnLength,\r\n minimalWidth,\r\n cell.value ? cell.value.toString().length : 0\r\n );\r\n });\r\n column.width = maxColumnLength + 2;\r\n });\r\n };\r\n\r\n const handleExport = async () => {\r\n // Init workbook and worksheet\r\n const workbook = new ExcelJS.Workbook();\r\n const sheet = workbook.addWorksheet(\"My Sheet\");\r\n\r\n // Title\r\n sheet.mergeCells(1, 1, 1, Object.keys(data[0]).length);\r\n sheet.getCell(\"A1\").value = \"BÁO CÁO DANH SÁCH CHỦ ĐẦU TƯ\";\r\n\r\n // Init header columns at row 2 on excel file\r\n var headerValues = [];\r\n for (const element of Object.keys(data[0])) {\r\n if (element == \"id\") {\r\n headerValues.push(\"STT\");\r\n } else if (element == \"ten\") {\r\n headerValues.push(\"Tên chủ đầu tư\");\r\n } else if (element == \"sodienthoai\") {\r\n headerValues.push(\"Số điện thoại\");\r\n } else if (element == \"tenduan\") {\r\n headerValues.push(\"Dự án\");\r\n } else if (element == \"diachi\") {\r\n headerValues.push(\"Địa chỉ\");\r\n } else if (element == \"giaycndkdn\") {\r\n headerValues.push(\"Giấy CNĐKKD\");\r\n } else if (element == \"email\") {\r\n headerValues.push(\"Email\");\r\n } else if (element == \"ghichu\") {\r\n headerValues.push(\"Ghi chú\");\r\n } else if (element == \"nguoidaidien\") {\r\n headerValues.push(\"Người đại diện\");\r\n }\r\n }\r\n\r\n sheet.getRow(2).values = headerValues;\r\n sheet.columns = initHeaderColumns(Object.keys(data[0]));\r\n\r\n // Fullfill data for excel file\r\n sheet.addRows(data);\r\n\r\n // Design excel\r\n // Auto column width for excel file with default 10px\r\n autoWidth(sheet, 10);\r\n\r\n // Design Border and Common Alignment + Font\r\n sheet.eachRow(function (row) {\r\n row.eachCell({ includeEmpty: true }, function (cell) {\r\n cell.border = {\r\n top: { style: \"thin\" },\r\n bottom: { style: \"thin\" },\r\n left: { style: \"thin\" },\r\n right: { style: \"thin\" },\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"left\",\r\n wrapText: true,\r\n };\r\n cell.font = {\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n });\r\n });\r\n\r\n // Design Title\r\n sheet.getCell(\"A1\").font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n sheet.getCell(\"A1\").alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n\r\n // Design header\r\n const row2 = sheet.getRow(2);\r\n row2.eachCell(function (cell) {\r\n if (cell.value) {\r\n cell.font = {\r\n bold: true,\r\n name: \"Times New Roman\",\r\n size: 13,\r\n };\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n\r\n // Design special Columns\r\n if (Object.keys(data[0]).includes(\"id\")) {\r\n const colStt = sheet.getColumn(\"id\");\r\n colStt.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n cell.alignment = {\r\n vertical: \"middle\",\r\n horizontal: \"center\",\r\n };\r\n }\r\n });\r\n }\r\n if (Object.keys(data[0]).includes(\"tenduan\")) {\r\n const colTenduan = sheet.getColumn(\"tenduan\");\r\n colTenduan.width = 100;\r\n colTenduan.eachCell(function (cell, rowNumber) {\r\n if (rowNumber > 2) {\r\n if (data[rowNumber - 3]) {\r\n cell.value = data[rowNumber - 3].tenduan\r\n ? data[rowNumber - 3].tenduan.replace(/\\\\n/g, \"\\r\\n\")\r\n : null;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // Write excel file\r\n const buffer = await workbook.xlsx.writeBuffer();\r\n saveAs.saveAs(new Blob([buffer]), \"baocaochudautu.xlsx\");\r\n };\r\n\r\n return (\r\n {\r\n if (data[0]) {\r\n handleExport();\r\n }\r\n }}\r\n >\r\n Download Excel\r\n \r\n );\r\n};\r\n\r\nexport default Baocaochudautuexcel;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n GridToolbarColumnsButton,\r\n GridToolbarExportContainer,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themchudautu from \"components/Danhmuc/Chudautu/Themchudautu.js\";\r\nimport Capnhatchudautu from \"components/Danhmuc/Chudautu/Capnhatchudautu.js\";\r\nimport Baocaochudautuexcel from \"components/Xuatexcel/Baocaochudautuexcel.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst newline = (text) => {\r\n if (text) {\r\n let newText = text\r\n .split(\"\\\\n\")\r\n .map((str, i) => (\r\n \r\n {str\r\n .replace(/&/g, \"&\")\r\n .replace(/</g, \"<\")\r\n .replace(/>/g, \">\")}\r\n \r\n ));\r\n return newText;\r\n }\r\n};\r\nconst cdtcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 80,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên chủ đầu tư\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"sodienthoai\",\r\n headerName: \"Số điện thoại\",\r\n width: 160,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Dự án\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n renderCell: (params) => {\r\n if (params.value) {\r\n return
    {newline(params.value)}
    ;\r\n }\r\n },\r\n },\r\n {\r\n field: \"diachi\",\r\n headerName: \"Địa chỉ\",\r\n width: 250,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"giaycndkdn\",\r\n headerName: \"Giấy CNĐKKD\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"email\",\r\n headerName: \"Email\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ghichu\",\r\n headerName: \"Ghi chú\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"nguoidaidien\",\r\n headerName: \"Người đại diện\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Chudautu() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [chudautu_id, setChudautu_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getchudautu();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getchudautu();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoachudautu = () => {\r\n var url = Config.backend + \"/api/DanhMuc/xoachudautu\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: chudautu_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getchudautu();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getchudautu();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={chudautu}\r\n columns={cdtcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setChudautu_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm chủ đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật chủ đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themquocgia() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertquocgia = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatquocgia = React.memo(function Capnhatquocgia(props) {\r\n const { quocgia_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getquocgiatheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + quocgia_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatquocgia = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: quocgia_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n getquocgiatheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatquocgia.propTypes = {\r\n quocgia_id: PropTypes.number,\r\n};\r\nexport default Capnhatquocgia;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themquocgia from \"components/Danhmuc/Quocgia/Themquocgia.js\";\r\nimport Capnhatquocgia from \"components/Danhmuc/Quocgia/Capnhatquocgia.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst qgcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên quốc gia\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã quốc gia\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Quocgia() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [quocgia, setQuocgia] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [quocgia_id, setQuocgia_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getquocgia();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getquocgia();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getquocgia = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmquocgia?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setQuocgia(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoaquocgia = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: quocgia_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getquocgia();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getquocgia();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={quocgia}\r\n columns={qgcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setQuocgia_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm quốc gia\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật quốc gia\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themdiadanh() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertdiadanh = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatdiadanh = React.memo(function Capnhatdiadanh(props) {\r\n const { diadanh_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gethochamtheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + diadanh_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhathocham = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: diadanh_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gethochamtheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatdiadanh.propTypes = {\r\n diadanh_id: PropTypes.number,\r\n};\r\nexport default Capnhatdiadanh;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themdiadanh from \"components/Danhmuc/Diadanh/Themdiadanh.js\";\r\nimport Capnhatdiadanh from \"components/Danhmuc/Diadanh/Capnhatdiadanh.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ddcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Thành phố/ Huyện/ thị xã\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Danhmucdiadanh() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [diadanh, setDiadanh] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [diadanh_id, setDiadanh_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getdiadanh();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getdiadanh();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getdiadanh = () => {\r\n var url =\r\n Config.backend + \"/api/Diaphuong/gethuyentpbinhdinh?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDiadanh(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoadiadanh = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: diadanh_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getdiadanh();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getdiadanh();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={diadanh}\r\n columns={ddcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setDiadanh_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm địa danh\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật địa danh\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themtinhtrangduan() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const inserttinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhattinhtrang = React.memo(function Capnhattinhtrang(props) {\r\n const { tinhtrang_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrangtheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + tinhtrang_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhattinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gettinhtrangtheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhattinhtrang.propTypes = {\r\n tinhtrang_id: PropTypes.number,\r\n};\r\nexport default Capnhattinhtrang;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themtinhtrang from \"components/Danhmuc/Tinhtrangduan/Themtinhtrang.js\";\r\nimport Capnhattinhtrang from \"components/Danhmuc/Tinhtrangduan/Capnhattinhtrang.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ttcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tình trạng dự án\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"mã tình trạng dự án\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Tinhtrangduan() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tinhtrang, setTinhtrang] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [tinhtrang_id, setTinhtrang_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n gettinhtrang();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n gettinhtrang();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrang = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangduan?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrang(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoatinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettinhtrang();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettinhtrang();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={tinhtrang}\r\n columns={ttcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setTinhtrang_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm tình trạ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 \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật tình trạ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 \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themtinhtrang() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const inserttinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhattinhtrang = React.memo(function Capnhattinhtrang(props) {\r\n const { tinhtrang_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrangtheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + tinhtrang_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhattinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gettinhtrangtheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhattinhtrang.propTypes = {\r\n tinhtrang_id: PropTypes.number,\r\n};\r\nexport default Capnhattinhtrang;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themtinhtrang from \"components/Danhmuc/Tinhtrangkiemtra/Themtinhtrang.js\";\r\nimport Capnhattinhtrang from \"components/Danhmuc/Tinhtrangkiemtra/Capnhattinhtrang.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ttcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tình trạng kiểm tra\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã tình trạng kiểm tra\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Tinhtrangkiemtra() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tinhtrang, setTinhtrang] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [tinhtrang_id, setTinhtrang_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n gettinhtrang();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n gettinhtrang();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrang = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmtinhtrangkiemtra?username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrang(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoatinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettinhtrang();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettinhtrang();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={tinhtrang}\r\n columns={ttcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setTinhtrang_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm tình trạng kiểm tra\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật tình trạng kiểm tra\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themtinhtrang() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const inserttinhtrang = () => {\r\n var url = Config.backend + \"/api/DanhMuc/themdmtinhtrangkyquy\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhattinhtrang = React.memo(function Capnhattinhtrang(props) {\r\n const { tinhtrang_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrangtheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getdmtinhtrangkyquytheoid?id=\" +\r\n tinhtrang_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhattinhtrang = () => {\r\n var url = Config.backend + \"/api/DanhMuc/capnhatdmtinhtrangkyquy\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gettinhtrangtheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhattinhtrang.propTypes = {\r\n tinhtrang_id: PropTypes.number,\r\n};\r\nexport default Capnhattinhtrang;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themtinhtrang from \"components/Danhmuc/Tinhtrangkyquy/Themtinhtrang.js\";\r\nimport Capnhattinhtrang from \"components/Danhmuc/Tinhtrangkyquy/Capnhattinhtrang.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ttcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tình trạng ký quỹ\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã tình trạng ký quỹ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Tinhtrangkyquy() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tinhtrang, setTinhtrang] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [tinhtrang_id, setTinhtrang_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n gettinhtrang();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n gettinhtrang();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrang = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangkyquy?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrang(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoatinhtrang = () => {\r\n var url = Config.backend + \"/api/DanhMuc/xoadmtinhtrangkyquy\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettinhtrang();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettinhtrang();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={tinhtrang}\r\n columns={ttcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setTinhtrang_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm tình trạng ký quỹ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật tình trạng ký quỹ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themtinhtrang() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const inserttinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhattinhtrang = React.memo(function Capnhattinhtrang(props) {\r\n const { tinhtrang_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrangtheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + tinhtrang_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhattinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gettinhtrangtheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhattinhtrang.propTypes = {\r\n tinhtrang_id: PropTypes.number,\r\n};\r\nexport default Capnhattinhtrang;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themtinhtrang from \"components/Danhmuc/Tinhtrangnopngansach/Themtinhtrang.js\";\r\nimport Capnhattinhtrang from \"components/Danhmuc/Tinhtrangnopngansach/Capnhattinhtrang.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ttcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tình trạng nộp ngân sách\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã tình trạng nộp ngân sách\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Tinhtrangnopngansach() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tinhtrang, setTinhtrang] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [tinhtrang_id, setTinhtrang_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n gettinhtrang();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n gettinhtrang();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrang = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangnopns?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrang(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoatinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettinhtrang();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettinhtrang();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={tinhtrang}\r\n columns={ttcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setTinhtrang_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm tình trạng nộp ngân sách\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật tình trạng nộp ngân sách\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themtinhtrang() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const inserttinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhattinhtrang = React.memo(function Capnhattinhtrang(props) {\r\n const { tinhtrang_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrangtheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + tinhtrang_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhattinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gettinhtrangtheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhattinhtrang.propTypes = {\r\n tinhtrang_id: PropTypes.number,\r\n};\r\nexport default Capnhattinhtrang;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themtinhtrang from \"components/Danhmuc/Tinhtrangvipham/Themtinhtrang.js\";\r\nimport Capnhattinhtrang from \"components/Danhmuc/Tinhtrangvipham/Capnhattinhtrang.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ttcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tình trạng vi phạm\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã tình trạng vi phạm\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Tinhtrangvipham() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tinhtrang, setTinhtrang] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [tinhtrang_id, setTinhtrang_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n gettinhtrang();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n gettinhtrang();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettinhtrang = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmtinhtrangvipham?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTinhtrang(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoatinhtrang = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tinhtrang_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettinhtrang();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettinhtrang();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={tinhtrang}\r\n columns={ttcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setTinhtrang_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm tình trạng vi phạ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 \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật tình trạng vi phạ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 \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themdonvitiente() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const inserttiente = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatdonvitiente = React.memo(function Capnhatdonvitiente(props) {\r\n const { tiente_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettientetheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + tiente_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhattiente = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tiente_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n gettientetheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatdonvitiente.propTypes = {\r\n tiente_id: PropTypes.number,\r\n};\r\nexport default Capnhatdonvitiente;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themdonvitiente from \"components/Danhmuc/Donvitiente/Themdonvitiente.js\";\r\nimport Capnhatdonvitiente from \"components/Danhmuc/Donvitiente/Capnhatdonvitiente.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst ttcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên tiền tệ\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã tiền tệ\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Donvitiente() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [tiente, setTiente] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [tiente_id, setTiente_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n gettiente();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n gettiente();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const gettiente = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmdonvitiente?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTiente(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoatiente = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: tiente_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n gettiente();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n gettiente();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={tiente}\r\n columns={ttcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setTiente_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm đơn vị tiền tệ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật đơn vị tiền tệ\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themnguonvondautu() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertnguonvon = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatnguonvon = React.memo(function Capnhatnguonvon(props) {\r\n const { nguonvon_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getnguonvontheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + nguonvon_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatnguonvon = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: nguonvon_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n getnguonvontheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatnguonvon.propTypes = {\r\n nguonvon_id: PropTypes.number,\r\n};\r\nexport default Capnhatnguonvon;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themnguonvondautu from \"components/Danhmuc/Nguonvondautu/Themnguonvondautu.js\";\r\nimport Capnhatnguonvondautu from \"components/Danhmuc/Nguonvondautu/Capnhatnguonvondautu.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst nvcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Nguồn vốn\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã nguồn vốn\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Nguonvondautu() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [nguonvon, setNguonvon] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [nguonvon_id, setNguonvon_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getnguonvon();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getnguonvon();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getnguonvon = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmnguonvondautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setNguonvon(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoanguonvon = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: nguonvon_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getnguonvon();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getnguonvon();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={nguonvon}\r\n columns={nvcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setNguonvon_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm nguồn vốn đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật nguồn vốn đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themkhuvucdautu() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertkhuvucdautu = () => {\r\n var url = Config.backend + \"/api/DanhMuc/themdmkhuvucdautu\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatkhuvuc = React.memo(function Capnhatkhuvuc(props) {\r\n const { khuvucdautu_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getkhuvuctheoid = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/DanhMuc/getkhuvucdaututheoid?id=\" +\r\n khuvucdautu_id +\r\n \"&username=\" +\r\n username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatkhuvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/capnhatdmkhuvucdautu\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: khuvucdautu_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n getkhuvuctheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatkhuvuc.propTypes = {\r\n khuvucdautu_id: PropTypes.number,\r\n};\r\nexport default Capnhatkhuvuc;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themkhuvucdautu from \"components/Danhmuc/Khuvucdautu/Themkhuvucdautu.js\";\r\nimport Capnhatkhuvucdautu from \"components/Danhmuc/Khuvucdautu/Capnhatkhuvucdautu.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst kvcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên khu vực đầu tư\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã khu vực đầu tư\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Khuvucdautu() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [khuvucdautu, setKhuvucdautu] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [khuvucdautu_id, setKhuvucdautu_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getkhuvucdautu();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getkhuvucdautu();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getkhuvucdautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmkhuvucdautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setKhuvucdautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoakhuvucdautu = () => {\r\n var url = Config.backend + \"/api/DanhMuc/xoadmkhuvucdautu\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: khuvucdautu_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getkhuvucdautu();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getkhuvucdautu();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={khuvucdautu}\r\n columns={kvcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setKhuvucdautu_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm khu vực đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật khu vực đầu tư\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themlinhvuc() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertlinhvuc = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatlinhvuc = React.memo(function Capnhatlinhvuc(props) {\r\n const { linhvuc_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getlinhvuctheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + linhvuc_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatlinhvuc = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: linhvuc_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n getlinhvuctheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatlinhvuc.propTypes = {\r\n linhvuc_id: PropTypes.number,\r\n};\r\nexport default Capnhatlinhvuc;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themlinhvuc from \"components/Danhmuc/Linhvuc/Themlinhvuc.js\";\r\nimport Capnhatlinhvuc from \"components/Danhmuc/Linhvuc/Capnhatlinhvuc.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst lvcolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên lĩnh vực\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã lĩnh vực\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Linhvuc() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [linhvuc, setLinhvuc] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [linhvuc_id, setLinhvuc_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getlinhvuc();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getlinhvuc();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getlinhvuc = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getdmlinhvuc?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLinhvuc(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoalinhvuc = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: linhvuc_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getlinhvuc();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getlinhvuc();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={linhvuc}\r\n columns={lvcolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setLinhvuc_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm lĩnh vực\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật lĩnh vực\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nexport default function Themlinhvuc() {\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n const insertbaocao = () => {\r\n var url = Config.backend + \"/api/Donvi/themhocham\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport Config from \"conFig.js\";\r\n\r\nconst Capnhatloaibaocao = React.memo(function Capnhatloaibaocao(props) {\r\n const { loai_id } = props;\r\n const [ten, setTen] = React.useState(\"\");\r\n const [ma, setMa] = React.useState(\"\");\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getbaocaotheoid = () => {\r\n var url = Config.backend + \"/api/Donvi/gethochamid?id=\" + loai_id;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setTen(data[0].ten);\r\n if (data[0].ma) setMa(data[0].ma);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const capnhatbaocao = () => {\r\n var url = Config.backend + \"/api/Donvi/capnhathocham\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: loai_id,\r\n ten: ten,\r\n ma: ma,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n const disablebutton = () => {\r\n if (ten.trim().length > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [ten]);\r\n React.useEffect(() => {\r\n getbaocaotheoid();\r\n }, []);\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n {\r\n setTen(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n InputLabelProps={{\r\n sx: {\r\n color: \"red\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n setMa(event.target.value);\r\n }}\r\n InputProps={{\r\n style: {\r\n height: \"35px\",\r\n },\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n});\r\nCapnhatloaibaocao.propTypes = {\r\n loai_id: PropTypes.number,\r\n};\r\nexport default Capnhatloaibaocao;\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Themloaibaocao from \"components/Danhmuc/Loaibaocao/Themloaibaocao.js\";\r\nimport Capnhatloaibaocao from \"components/Danhmuc/Loaibaocao/Capnhatloaibaocao.js\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/tableviewStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\nimport Config from \"conFig.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst loaicolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"STT\",\r\n width: 120,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ten\",\r\n headerName: \"Tên loại báo cáo\",\r\n width: 400,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ma\",\r\n headerName: \"Mã loại báo cáo\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function Loaibaocao() {\r\n const classes = useStyles();\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [loaibaocao, setLoaibaocao] = React.useState([]);\r\n const [openthem, setOpenthem] = React.useState(false);\r\n const [opensua, setOpensua] = React.useState(false);\r\n const [loai_id, setLoai_id] = React.useState(0);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [alert, setAlert] = React.useState(false);\r\n const handleClose = () => {\r\n setOpenthem(false);\r\n getloaibaocao();\r\n };\r\n const handleClosesua = () => {\r\n setOpensua(false);\r\n getloaibaocao();\r\n };\r\n const openthembc = () => {\r\n setOpenthem(true);\r\n };\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getloaibaocao = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmloaibaocao?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setLoaibaocao(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const xoaloaibaocao = () => {\r\n var url = Config.backend + \"/api/Donvi/xoahocham\";\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n id: loai_id,\r\n username: username,\r\n }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data === 1) {\r\n showNotification();\r\n getloaibaocao();\r\n setDisableBT(true);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 2000);\r\n };\r\n React.useEffect(() => {\r\n getloaibaocao();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={loaibaocao}\r\n columns={loaicolumn}\r\n checkboxSelection={false}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n onRowClick={(params) => {\r\n setDisableBT(false);\r\n setLoai_id(Number(params.row.id));\r\n }}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setOpensua(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 Thêm loại báo cáo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \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ập nhật loại báo cáo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/headerLinksStyle.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Select from \"@mui/material/Select\";\r\nimport MenuItem from \"@material-ui/core/MenuItem\";\r\nimport InputLabel from \"@mui/material/InputLabel\";\r\nimport PropTypes from \"prop-types\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport Box from \"@mui/material/Box\";\r\n\r\nconst useStyles = makeStyles(styles);\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nexport default function User() {\r\n const classes = useStyles();\r\n const [roles, setroles] = React.useState([]);\r\n const [openthemuser, setOpenuser] = React.useState(false);\r\n const [openupdateuser, setOpenupdateuser] = React.useState(false);\r\n const [openwarning, setOpenWarning] = React.useState(false);\r\n const [warrningContent, setWarrningContent] = React.useState(\"\");\r\n const [updateLoaiUser, setUpdateLoaiUser] = React.useState(\"\");\r\n const [updateId, setUpdateId] = React.useState(\"\");\r\n const [pageSize, setPageSize] = React.useState(50);\r\n\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert1, setAlert1] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const [listUsers, setlistUsers] = React.useState([]);\r\n const [updateObj, setUpdateObj] = React.useState({});\r\n const [addObj, setAddObj] = React.useState({});\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n // Xử lú API\r\n const token = localStorage.getItem(\"token\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getListUsers = () => {\r\n var url = Config.backend + \"/api/users/getuser\";\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setlistUsers(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getroles = () => {\r\n var url = Config.backend + \"/api/roles/roles\";\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setroles(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const resetmatkhau = () => {\r\n var url = Config.backend + \"/api/Users/resetmk?id=\" + updateId;\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n })\r\n .then((data) => {\r\n if (data) showNotification1();\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themUser = () => {\r\n var url = Config.backend + \"/api/users/them\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n firstName: addObj.firstName,\r\n username: addObj.username,\r\n lastName: \"\",\r\n role: addObj.role,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleClose();\r\n getListUsers();\r\n showNotification(\"Thêm user thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Thêm user thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const suaUser = () => {\r\n var url = Config.backend + \"/api/users/capnhat?id=\" + updateObj.id;\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n firstName: updateObj.firstName,\r\n //username: updateObj.username,\r\n lastName: \"\",\r\n role: updateObj.role,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleupdateClose();\r\n getListUsers();\r\n showNotification(\"Cập nhật user thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleupdateClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật user thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n const changeStatus = () => {\r\n if (updateId === \"\") {\r\n setWarrningContent(\"Bạn chưa chọn user để đổi trạng thái !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n if (updateLoaiUser) {\r\n let url = Config.backend + \"/api/Users/deactiveUser?id=\" + updateId;\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n })\r\n .then(() => {\r\n setUpdateLoaiUser(\"\");\r\n setUpdateId(\"\");\r\n getListUsers();\r\n showNotification(\"Deactive user thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Deactive user thất bại\", DangerousIcon, \"danger\");\r\n });\r\n } else {\r\n let url = Config.backend + \"/api/Users/activeUser?id=\" + updateId;\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n })\r\n .then(() => {\r\n setUpdateLoaiUser(\"\");\r\n setUpdateId(\"\");\r\n getListUsers();\r\n showNotification(\"Active user thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Active user thất bại\", DangerousIcon, \"danger\");\r\n });\r\n }\r\n }\r\n };\r\n const showNotification1 = () => {\r\n setAlert1(true);\r\n setTimeout(function () {\r\n setAlert1(false);\r\n }, 3000);\r\n };\r\n const StatusRow = (props) => {\r\n const { params } = props;\r\n if (params.row.isActive) {\r\n return Đang hoạt động;\r\n } else {\r\n return Ngưng hoạt động;\r\n }\r\n };\r\n StatusRow.propTypes = {\r\n params: PropTypes.object,\r\n };\r\n\r\n const userscolumn = [\r\n {\r\n field: \"id\",\r\n headerName: \"id\",\r\n width: 50,\r\n headerAlign: \"center\",\r\n cellClassName: \"center\",\r\n },\r\n {\r\n field: \"firstName\",\r\n headerName: \"Tên\",\r\n width: 170,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"username\",\r\n headerName: \"Username\",\r\n width: 170,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"role\",\r\n headerName: \"Role\",\r\n width: 100,\r\n cellClassName: \"center\",\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"isActive\",\r\n headerName: \"Trạng thái\",\r\n headerAlign: \"center\",\r\n width: 250,\r\n cellClassName: \"center\",\r\n renderCell: (params) => ,\r\n },\r\n ];\r\n //xử lý modal\r\n const openThemLoaiUser = () => {\r\n setOpenuser(true);\r\n };\r\n\r\n const handleupdateClose = () => {\r\n setOpenupdateuser(false);\r\n setUpdateObj({});\r\n };\r\n const handleClose = () => setOpenuser(false);\r\n const handleCloseWarning = () => setOpenWarning(false);\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n\r\n React.useEffect(() => {\r\n getListUsers();\r\n getroles();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Đổi trạng thái\r\n \r\n \r\n \r\n \r\n Reset mật khẩu\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={listUsers}\r\n columns={userscolumn}\r\n // rowsPerPageOptions={[]}\r\n // hideFooter={true}\r\n checkboxSelection={false}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setUpdateObj(params.row);\r\n event.defaultMuiPrevented = true;\r\n setOpenupdateuser(true);\r\n }\r\n }}\r\n onRowClick={(params, event) => {\r\n setUpdateLoaiUser(params.row.isActive);\r\n setUpdateId(params.row.id);\r\n event.defaultMuiPrevented = true;\r\n setDisableBT(false);\r\n }}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n setAlert1(false)}\r\n close\r\n />\r\n \r\n
    \r\n \r\n (*) Mật khẩu mặc định: vnpt123456\r\n \r\n\r\n {/* S--Thêm user--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm user\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n firstName: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n username: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Chọn role\r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n role: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n size=\"small\"\r\n >\r\n {typeof roles === \"object\" &&\r\n roles.map((prop, i) => {\r\n return (\r\n \r\n {prop.rolE_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 Thêm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Thêm user--E */}\r\n {/* S--Sửa user--S */}\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ập nhật user\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n firstName: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Chọn role\r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n role: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n size=\"small\"\r\n >\r\n {typeof roles === \"object\" &&\r\n roles.map((prop, i) => {\r\n return (\r\n \r\n {prop.rolE_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 Cập nhật\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Sửa user--E */}\r\n\r\n {/* S--Warning modal--S */}\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 báo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {warrningContent}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Upload roles--E */}\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport NotificationsIcon from \"@mui/icons-material/Notifications\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Config from \"conFig.js\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst cdtcolumns = [\r\n {\r\n field: \"ten\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 550,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"giaycndkdn\",\r\n headerName: \"Giấy chứng nhận ĐKKD\",\r\n width: 200,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nconst usercolumn = [\r\n {\r\n field: \"username\",\r\n headerName: \"User\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"firstName\",\r\n headerName: \"Tên\",\r\n width: 320,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"role\",\r\n headerName: \"Role\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"isActive\",\r\n headerName: \"Trạng thái\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nexport default function Chudautuuser() {\r\n const [chudautu, setChudautu] = React.useState([]);\r\n const [chudautuSL, setChudautuSL] = React.useState([]);\r\n const [user, setUser] = React.useState([]);\r\n const [user_id, setUser_id] = React.useState(0);\r\n const [chudautu_id, setChudautu_id] = React.useState(0);\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [disableBT1, setDisableBT1] = React.useState(true);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getchudautu = () => {\r\n var url =\r\n Config.backend + \"/api/DanhMuc/getdmchudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setChudautu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getuser = () => {\r\n var url =\r\n Config.backend + \"/api/Users/getuserrolechudautu?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setUser(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getchudautubyusername = (showMs, account) => {\r\n var url =\r\n Config.backend +\r\n \"/api/Users/getchudautuuser?user=\" +\r\n account +\r\n \"&username=\" +\r\n username;\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n let cdt = [];\r\n if (data[0].chudautu_id > 0) {\r\n cdt.push(data[0].chudautu_id);\r\n setChudautuSL(cdt);\r\n } else {\r\n setChudautuSL([]);\r\n }\r\n if (showMs) {\r\n if (data[0].chudautu_id > 0) {\r\n showNotification(\r\n \"User đã được gán cho \" + data[0].chudautu,\r\n NotificationsIcon,\r\n \"success\"\r\n );\r\n } else {\r\n showNotification(\r\n \"User chưa được gán cho Chủ đầu tư\",\r\n NotificationsIcon,\r\n \"warning\"\r\n );\r\n }\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setColor(color);\r\n setIcon(icon);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const capnhat = () => {\r\n let url = Config.backend + \"/api/Users/ganuserchudautu\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n user_id: user_id,\r\n chudautu_id: chudautu_id,\r\n username: username,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n //getchudautubyuser(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật thất bại\", DangerousIcon, \"danger\");\r\n });\r\n showNotification(\"Cập nhật thành công\", DoneIcon, \"success\");\r\n };\r\n const huyganusser = () => {\r\n let url = Config.backend + \"/api/Users/huyganuserchudautu\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n user_id: user_id,\r\n username: username,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n //getchudautubyuser(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật thất bại\", DangerousIcon, \"danger\");\r\n });\r\n showNotification(\"Cập nhật thành công\", DoneIcon, \"success\");\r\n };\r\n const disablebutton = () => {\r\n if (chudautu_id > 0 && user_id > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [chudautu_id, user_id]);\r\n React.useEffect(() => {\r\n getchudautu();\r\n getuser();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n Hủy gán User\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={user}\r\n columns={usercolumn}\r\n rowsPerPageOptions={[]}\r\n //hideFooter={true}\r\n onRowClick={(params) => {\r\n getchudautubyusername(true, params.row.username);\r\n setUser_id(params.row.id);\r\n setDisableBT1(false);\r\n }}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n row.id}\r\n rows={chudautu}\r\n columns={cdtcolumns}\r\n selectionModel={chudautuSL}\r\n //hideFooter={true}\r\n checkboxSelection\r\n onSelectionModelChange={(selection) => {\r\n if (selection.length > 1) {\r\n const selectionSet = new Set(chudautuSL);\r\n const result = selection.filter((s) => !selectionSet.has(s));\r\n setChudautu_id(result[0]);\r\n setChudautuSL(result);\r\n } else {\r\n setChudautu_id(selection[0]);\r\n setChudautuSL(selection);\r\n }\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport NotificationsIcon from \"@mui/icons-material/Notifications\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Config from \"conFig.js\";\r\nimport dayjs from \"dayjs\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst duancolumns = [\r\n {\r\n field: \"tenduan\",\r\n headerName: \"Tên dự án\",\r\n width: 350,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"thoidiemcapduan\",\r\n headerName: \"Năm\",\r\n width: 130,\r\n headerAlign: \"center\",\r\n valueFormatter: (params) => dayjs(params.value).format(\"DD/MM/YYYY\"),\r\n },\r\n {\r\n field: \"chudautu\",\r\n headerName: \"Chủ đầu tư\",\r\n width: 350,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nconst usercolumn = [\r\n {\r\n field: \"username\",\r\n headerName: \"User\",\r\n width: 180,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"firstName\",\r\n headerName: \"Tên\",\r\n width: 320,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"role\",\r\n headerName: \"Role\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"isActive\",\r\n headerName: \"Trạng thái\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nexport default function Chudautuuser() {\r\n const [duan, setDuan] = React.useState([]);\r\n const [user, setUser] = React.useState([]);\r\n const [user_id, setUser_id] = React.useState(0);\r\n const [selectedduanRows, setSelectedduanRows] = React.useState([]);\r\n const init = [];\r\n const [initduan, setInitduan] = React.useState([]);\r\n const [alert, setAlert] = React.useState(false);\r\n const [disableBT, setDisableBT] = React.useState(true);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var username = localStorage.getItem(\"username\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getduan = () => {\r\n var url = Config.backend + \"/api/DanhMuc/getduanall?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setDuan(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getuser = () => {\r\n var url =\r\n Config.backend + \"/api/Users/getuserroleqlda?username=\" + username;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setUser(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getduanbyuser = (showMs, account) => {\r\n var url = Config.backend + \"/api/Users/getduanuserql?username=\" + account;\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data.length !== 0) {\r\n data.map((prop) => {\r\n init.push(prop.id);\r\n });\r\n setInitduan(init);\r\n } else {\r\n setInitduan([]);\r\n }\r\n if (showMs) {\r\n showNotification(\r\n \"User quản lý \" + data.length + \" dự án\",\r\n NotificationsIcon,\r\n \"success\"\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setColor(color);\r\n setIcon(icon);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const capnhat = () => {\r\n let duan = [];\r\n selectedduanRows.map((prop) => {\r\n duan.push({ id: prop.id });\r\n });\r\n let url = Config.backend + \"/api/Users/ganduanuserql\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n duan: duan,\r\n user_id: user_id,\r\n username: username,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n //getduanbyuser(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật thất bại\", DangerousIcon, \"danger\");\r\n });\r\n showNotification(\"Cập nhật thành công\", DoneIcon, \"success\");\r\n };\r\n const disablebutton = () => {\r\n if (selectedduanRows.length > 0 && user_id > 0) {\r\n setDisableBT(false);\r\n } else {\r\n setDisableBT(true);\r\n }\r\n };\r\n React.useEffect(() => {\r\n disablebutton();\r\n }, [selectedduanRows, user_id]);\r\n React.useEffect(() => {\r\n getduan();\r\n getuser();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={user}\r\n columns={usercolumn}\r\n rowsPerPageOptions={[]}\r\n hideFooter={true}\r\n onRowClick={(params) => {\r\n getduanbyuser(true, params.row.username);\r\n setUser_id(params.row.id);\r\n }}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n row.id}\r\n rows={duan}\r\n columns={duancolumns}\r\n rowsPerPageOptions={[]}\r\n selectionModel={initduan}\r\n checkboxSelection\r\n onSelectionModelChange={(ids) => {\r\n setInitduan(ids);\r\n const selectedIDs = new Set(ids);\r\n const selectedRows = duan.filter((row) =>\r\n selectedIDs.has(row.id)\r\n );\r\n setSelectedduanRows(selectedRows);\r\n }}\r\n getRowHeight={() => \"auto\"}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Config from \"conFig.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport Box from \"@mui/material/Box\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/headerLinksStyle.js\";\r\n\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst useStyles = makeStyles(styles);\r\n\r\nexport default function Role() {\r\n const classes = useStyles();\r\n const token = localStorage.getItem(\"token\");\r\n const [roles, setroles] = React.useState([]);\r\n const [openthemroles, setOpenroles] = React.useState(false);\r\n const [openwarning, setOpenWarning] = React.useState(false);\r\n const [openxoarole, setOpenxoarole] = React.useState(false);\r\n const [warrningContent, setWarrningContent] = React.useState(\"\");\r\n const [deleteId, setDeleteId] = React.useState(\"\");\r\n const [pageSize, setPageSize] = React.useState(50);\r\n\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const [addObj, setAddObj] = React.useState({});\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getroles = () => {\r\n var url = Config.backend + \"/api/Roles/roles\";\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setroles(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const themRole = () => {\r\n var url = Config.backend + \"/api/Roles/themRole\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n role_Id: addObj.role_Id,\r\n rolE_NAME: addObj.rolE_NAME,\r\n ghI_CHU: addObj.ghI_CHU,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleClose();\r\n getroles();\r\n showNotification(\"Thêm role thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Thêm role thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const deleteRole = () => {\r\n if (deleteId === \"\") {\r\n setWarrningContent(\"Bạn chưa chọn roles để xóa !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n let url = Config.backend + \"/Roles/\" + deleteId;\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handlexoaClose();\r\n getroles();\r\n showNotification(\"Xóa role thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handlexoaClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Xóa role thất bại\", DangerousIcon, \"danger\");\r\n });\r\n }\r\n };\r\n\r\n const rolescolumn = [\r\n {\r\n field: \"rolE_ID\",\r\n headerName: \"ROLE ID\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n cellClassName: \"center\",\r\n },\r\n {\r\n field: \"rolE_NAME\",\r\n headerName: \"ROLE NAME\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ghI_CHU\",\r\n headerName: \"Mô tả\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n ];\r\n const openThemLoaiRole = () => {\r\n setOpenroles(true);\r\n };\r\n const openXoaRole = () => {\r\n if (deleteId === \"\") {\r\n setWarrningContent(\"Bạn chưa chọn role cần xóa !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n setOpenxoarole(true);\r\n }\r\n };\r\n\r\n const handleClose = () => setOpenroles(false);\r\n const handleCloseWarning = () => setOpenWarning(false);\r\n\r\n const handlexoaClose = () => {\r\n setOpenxoarole(false);\r\n setDeleteId(\"\");\r\n };\r\n\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n\r\n React.useEffect(() => {\r\n getroles();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.rolE_ID}\r\n rows={roles}\r\n columns={rolescolumn}\r\n checkboxSelection={false}\r\n onRowClick={(params, event) => {\r\n setDeleteId(params.row.rolE_ID);\r\n event.defaultMuiPrevented = true;\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n\r\n {/* S--Thêm roles--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm roles\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n role_Id: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n rolE_NAME: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n ghI_CHU: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Thêm roles--E */}\r\n\r\n {/* S--Xóa role--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Xóa role\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Bạn có muốn xóa role {deleteId} ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Xóa role--E */}\r\n\r\n {/* S--Warning modal--S */}\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 báo\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {warrningContent}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Trở 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","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/headerLinksStyle.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport Box from \"@mui/material/Box\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst useStyles = makeStyles(styles);\r\nconst permissionscolumn = [\r\n {\r\n field: \"pmS_ID\",\r\n headerName: \"Permission ID\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n cellClassName: \"center\",\r\n },\r\n {\r\n field: \"pmS_NAME\",\r\n headerName: \"Tên\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"ctL_NAME\",\r\n headerName: \"Controller\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nexport default function Permission() {\r\n const classes = useStyles();\r\n const [listpermission, setListpermission] = React.useState([]);\r\n const [openthempermission, setOpenpermission] = React.useState(false);\r\n const [openupdatepermission, setOpenupdatepermission] = React.useState(false);\r\n const [openxoapermission, setOpenxoapermission] = React.useState(false);\r\n const [openwarning, setOpenWarning] = React.useState(false);\r\n const [openUpLoadFile, setOpenUpLoadFile] = React.useState(false);\r\n const [warrningContent, setWarrningContent] = React.useState(\"\");\r\n const [deleteLoaiPermission, setDeleteLoaiPermission] = React.useState(\"\");\r\n const [deleteId, setDeleteId] = React.useState(\"\");\r\n const [value, setValue] = React.useState([]);\r\n const [pageSize, setPageSize] = React.useState(50);\r\n\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n\r\n const [openUpLoadTable, setOpenUpLoadTable] = React.useState(false);\r\n const [updateObj, setUpdateObj] = React.useState({});\r\n const [addObj, setAddObj] = React.useState({});\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n // Xử lú API\r\n const getListPermission = () => {\r\n var url = Config.backend + \"/api/permissions/permissions\";\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListpermission(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const themPermission = () => {\r\n console.log(addObj);\r\n var url = Config.backend + \"/api/Permissions/thempermission\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n ctL_NAME: addObj.ctL_NAME,\r\n ghI_CHU: addObj.ghI_CHU,\r\n pmS_NAME: addObj.pmS_NAME,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleClose();\r\n getListPermission();\r\n showNotification(\"Thêm permission thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Thêm permission thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const suaPermission = () => {\r\n var url =\r\n Config.backend +\r\n \"/api/Permissions/capnhatpermission?pms_id=\" +\r\n updateObj.pmS_ID;\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({\r\n ctL_NAME: updateObj.ctL_NAME,\r\n ghI_CHU: updateObj.ghI_CHU,\r\n pmS_NAME: updateObj.pmS_NAME,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleupdateClose();\r\n getListPermission();\r\n showNotification(\"Cập nhật permission thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleupdateClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\r\n \"Cập nhật permission thất bại\",\r\n DangerousIcon,\r\n \"danger\"\r\n );\r\n });\r\n };\r\n\r\n const xoaLoaiPermission = () => {\r\n var url =\r\n Config.backend + \"/api/Permissions/xoapermission?pms_id=\" + deleteId;\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handlexoaClose();\r\n getListPermission();\r\n showNotification(\"Xóa permission thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handlexoaClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Xóa permission thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const uploadPermission = () => {\r\n if (value.length < 1) {\r\n setWarrningContent(\"Chưa upload file !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n console.log(JSON.stringify(value));\r\n }\r\n };\r\n\r\n const uploadData = () => {\r\n handleCloseUploadTable();\r\n };\r\n\r\n const openThemLoaiPermission = () => {\r\n setOpenpermission(true);\r\n };\r\n\r\n const openXoaLoaiPermission = () => {\r\n if (deleteId === \"\") {\r\n setWarrningContent(\"Bạn chưa chọn permission cần xóa !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n setOpenxoapermission(true);\r\n }\r\n };\r\n\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n\r\n const handleupdateClose = () => {\r\n setOpenupdatepermission(false);\r\n setUpdateObj({});\r\n };\r\n const handlexoaClose = () => {\r\n setOpenxoapermission(false);\r\n setDeleteLoaiPermission(\"\");\r\n setDeleteId(\"\");\r\n };\r\n const handleClose = () => setOpenpermission(false);\r\n const handleCloseWarning = () => setOpenWarning(false);\r\n const handleCloseUpload = () => {\r\n setOpenUpLoadFile(false);\r\n };\r\n const handleCloseUploadTable = () => {\r\n setOpenUpLoadTable(false);\r\n setValue([]);\r\n };\r\n\r\n React.useEffect(() => {\r\n getListPermission();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.pmS_ID}\r\n rows={listpermission}\r\n columns={permissionscolumn}\r\n checkboxSelection={false}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setUpdateObj(params.row);\r\n event.defaultMuiPrevented = true;\r\n setOpenupdatepermission(true);\r\n }\r\n }}\r\n onRowClick={(params, event) => {\r\n setDeleteLoaiPermission(params.row.pmS_NAME);\r\n setDeleteId(params.row.pmS_ID);\r\n event.defaultMuiPrevented = true;\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n\r\n {/* S--Thêm permission--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm permission\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n pmS_NAME: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n ctL_NAME: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n ghI_CHU: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Thêm permission--E */}\r\n {/* S--Sửa permission--S */}\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ập nhật permission\r\n \r\n \r\n \r\n \r\n \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 obj = {\r\n ...updateObj,\r\n pmS_NAME: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n ctL_NAME: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n ghI_CHU: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Sửa permission--E */}\r\n\r\n {/* S--Xóa permission--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Xóa permission\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Bạn có muốn xóa permission{\" \"}\r\n {deleteLoaiPermission} ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Xóa permission--E */}\r\n\r\n {/* S--Warning modal--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Warning\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {warrningContent}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Warning permission--E */}\r\n\r\n {/* S--Upload modal--S */}\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\r\n \r\n \r\n \r\n \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êm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Upload permission--E */}\r\n {/* S--Upload modal--S */}\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\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={value}\r\n columns={value}\r\n checkboxSelection={false}\r\n rowHeight={30}\r\n headerHeight={35}\r\n sx={{\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n }}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) =>\r\n setPageSize(newPageSize)\r\n }\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Upload roles--E */}\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Modal from \"@mui/material/Modal\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeadertab.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Config from \"conFig.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/headerLinksStyle.js\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst useStyles = makeStyles(styles);\r\nconst menuscolumn = [\r\n { field: \"id\", headerName: \"ID\", width: 50, headerAlign: \"center\" },\r\n {\r\n field: \"name\",\r\n headerName: \"Tên\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n { field: \"path\", headerName: \"Đường dẫn\", width: 250, headerAlign: \"center\" },\r\n {\r\n field: \"component\",\r\n headerName: \"Component\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nexport default function Menu() {\r\n const classes = useStyles();\r\n const [listmenu, setListmenu] = React.useState([]);\r\n const [openthemmenu, setOpenmenu] = React.useState(false);\r\n const [openupdatemenu, setOpenupdatemenu] = React.useState(false);\r\n const [openxoamenu, setOpenxoamenu] = React.useState(false);\r\n const [openwarning, setOpenWarning] = React.useState(false);\r\n const [openUpLoadFile, setOpenUpLoadFile] = React.useState(false);\r\n const [warrningContent, setWarrningContent] = React.useState(\"\");\r\n const [deleteLoaiMenu, setDeleteLoaiMenu] = React.useState(\"\");\r\n const [deleteId, setDeleteId] = React.useState(\"\");\r\n const [value, setValue] = React.useState([]);\r\n const [pageSize, setPageSize] = React.useState(50);\r\n const [updateObj, setUpdateObj] = React.useState({});\r\n const [addObj, setAddObj] = React.useState({});\r\n\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const [openUpLoadTable, setOpenUpLoadTable] = React.useState(false);\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n // Xử lú API\r\n const token = localStorage.getItem(\"token\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getListMenu = () => {\r\n var url = Config.backend + \"/api/Menu/getmenu\";\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setListmenu(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n\r\n const themMenu = () => {\r\n var url = Config.backend + \"/api/Menu/themMenu\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n path: addObj.path,\r\n name: addObj.name,\r\n component: addObj.component,\r\n layout: addObj.layout,\r\n sub: addObj.sub,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleClose();\r\n getListMenu();\r\n showNotification(\"Thêm menu thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Thêm Menu thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const suaMenu = () => {\r\n var url = Config.backend + \"/api/Menu/capnhatmenu?id=\" + updateObj.id;\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n path: updateObj.path,\r\n name: updateObj.name,\r\n component: updateObj.component,\r\n layout: updateObj.layout,\r\n sub: updateObj.sub,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handleupdateClose();\r\n getListMenu();\r\n showNotification(\"Cập nhật menu thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handleupdateClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật Menu thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const xoaLoaiMenu = () => {\r\n var url = Config.backend + \"/api/Menu/xoamenu?id=\" + deleteId;\r\n fetch(url, {\r\n method: \"DELETE\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n handlexoaClose();\r\n getListMenu();\r\n showNotification(\"Xóa menu thành công\", DoneIcon, \"success\");\r\n })\r\n .catch((error) => {\r\n handlexoaClose();\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Xóa Menu thất bại\", DangerousIcon, \"danger\");\r\n });\r\n };\r\n\r\n const uploadMenu = () => {\r\n if (value.length < 1) {\r\n setWarrningContent(\"Chưa upload file !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n console.log(JSON.stringify(value));\r\n }\r\n };\r\n\r\n const uploadData = () => {\r\n handleCloseUploadTable();\r\n };\r\n\r\n const openThemLoaiMenu = () => {\r\n setOpenmenu(true);\r\n };\r\n\r\n const openXoaLoaiMenu = () => {\r\n if (deleteId === \"\") {\r\n setWarrningContent(\"Bạn chưa chọn menu cần xóa !!!\");\r\n setOpenWarning(true);\r\n } else {\r\n setOpenxoamenu(true);\r\n }\r\n };\r\n\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n\r\n const handleupdateClose = () => {\r\n setOpenupdatemenu(false);\r\n setUpdateObj({});\r\n };\r\n const handlexoaClose = () => {\r\n setOpenxoamenu(false);\r\n setDeleteLoaiMenu(\"\");\r\n setDeleteId(\"\");\r\n };\r\n const handleClose = () => setOpenmenu(false);\r\n const handleCloseWarning = () => setOpenWarning(false);\r\n const handleCloseUpload = () => {\r\n setOpenUpLoadFile(false);\r\n };\r\n const handleCloseUploadTable = () => {\r\n setOpenUpLoadTable(false);\r\n setValue([]);\r\n };\r\n\r\n React.useEffect(() => {\r\n getListMenu();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Thêm mới\r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={listmenu}\r\n columns={menuscolumn}\r\n checkboxSelection={false}\r\n onCellDoubleClick={(params, event) => {\r\n if (!event.ctrlKey) {\r\n setUpdateObj(params.row);\r\n event.defaultMuiPrevented = true;\r\n setOpenupdatemenu(true);\r\n }\r\n }}\r\n onRowClick={(params, event) => {\r\n setDeleteLoaiMenu(params.row.name);\r\n setDeleteId(params.row.id);\r\n event.defaultMuiPrevented = true;\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) => setPageSize(newPageSize)}\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n\r\n {/* S--Thêm menu--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm menu\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n name: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n path: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n component: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n layout: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...addObj,\r\n sub: event.target.value,\r\n };\r\n setAddObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Thêm menu--E */}\r\n {/* S--Sửa menu--S */}\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ập nhật menu\r\n \r\n \r\n \r\n \r\n \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 obj = {\r\n ...updateObj,\r\n name: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n path: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n component: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n layout: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n const obj = {\r\n ...updateObj,\r\n sub: event.target.value,\r\n };\r\n setUpdateObj(obj);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Sửa menu--E */}\r\n\r\n {/* S--Xóa menu--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Xóa menu\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Bạn có muốn xóa menu {deleteLoaiMenu} ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Xóa\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Xóa menu--E */}\r\n\r\n {/* S--Warning modal--S */}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Warning\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {warrningContent}
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Warning menu--E */}\r\n\r\n {/* S--Upload modal--S */}\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\r\n \r\n \r\n \r\n \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êm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n {/* E--Upload menu--E */}\r\n {/* S--Upload modal--S */}\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\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n row.id}\r\n rows={value}\r\n columns={value}\r\n checkboxSelection={false}\r\n rowHeight={30}\r\n headerHeight={45}\r\n sx={{\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n }}\r\n pageSize={pageSize}\r\n onPageSizeChange={(newPageSize) =>\r\n setPageSize(newPageSize)\r\n }\r\n rowsPerPageOptions={[20, 50, 100]}\r\n pagination\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n Thêm\r\n \r\n \r\n Trở về\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {/* E--Upload roles--E */}\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport Config from \"conFig.js\";\r\nimport NotificationsIcon from \"@mui/icons-material/Notifications\";\r\nimport Box from \"@mui/material/Box\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\nconst rolecolumns = [\r\n {\r\n field: \"rolE_ID\",\r\n headerName: \"ROLE ID\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n cellClassName: \"center\",\r\n },\r\n {\r\n field: \"rolE_NAME\",\r\n headerName: \"ROLE NAME\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nconst phanquyenmenucolumn = [\r\n { field: \"id\", headerName: \"id\", width: 100 },\r\n {\r\n field: \"path\",\r\n headerName: \"Đường dẫn\",\r\n width: 250,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"name\",\r\n headerName: \"Tên\",\r\n width: 250,\r\n headerAlign: \"center\",\r\n },\r\n];\r\n\r\nexport default function PhanQuyenMenu() {\r\n const [selectedroleRows, setSelectedroleRows] = React.useState([]);\r\n const [selectedmenuRows, setSelectedmenuRows] = React.useState([]);\r\n const [roles, setRoles] = React.useState([]);\r\n const [menus, setMenus] = React.useState([]);\r\n const init = [];\r\n const [initmenu, setInitmenu] = React.useState([]);\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getroles = () => {\r\n var url = Config.backend + \"/api/Roles/roles\";\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setRoles(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getmenu = () => {\r\n var url = Config.backend + \"/api/Menu/getmenu\";\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setMenus(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getmenubyrole = (showMs) => {\r\n if (selectedroleRows.length == 1) {\r\n var role = selectedroleRows[0].rolE_ID;\r\n var url = Config.backend + \"/api/Menu/getmenubyrole?role=\" + role;\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data.length > 0) {\r\n data.map((prop) => {\r\n init.push(prop.id);\r\n });\r\n setInitmenu(init);\r\n } else {\r\n setInitmenu([]);\r\n }\r\n if (showMs) {\r\n showNotification(\r\n \"Role \" + role + \" có \" + data.length + \" menu\",\r\n NotificationsIcon,\r\n \"success\"\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setIcon(icon);\r\n setColor(color);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const capnhat = () => {\r\n if (selectedroleRows.length == 1) {\r\n var kq = [];\r\n selectedmenuRows.map((prop) => {\r\n kq.push(prop.id);\r\n });\r\n let url = Config.backend + \"/api/Menu/phanmenu\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n roleId: selectedroleRows[0].rolE_ID,\r\n menuId: kq,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n showNotification(\"Cập nhật thành công\", DoneIcon, \"success\");\r\n getmenubyrole(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật thất bại\", DangerousIcon, \"danger\");\r\n });\r\n } else {\r\n showNotification(\"Vui lòng chọn Role\", AddAlert, \"warning\");\r\n }\r\n };\r\n React.useEffect(() => {\r\n getmenubyrole(true);\r\n }, [selectedroleRows]);\r\n React.useEffect(() => {\r\n getroles();\r\n getmenu();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n
    \r\n row.rolE_ID}\r\n rows={roles}\r\n columns={rolecolumns}\r\n rowsPerPageOptions={[]}\r\n hideFooter={true}\r\n checkboxSelection={false}\r\n onSelectionModelChange={(ids) => {\r\n const selectedIDs = new Set(ids);\r\n const selectedRows = roles.filter((row) =>\r\n selectedIDs.has(row.rolE_ID)\r\n );\r\n setSelectedroleRows(selectedRows);\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n row.id}\r\n rows={menus}\r\n columns={phanquyenmenucolumn}\r\n rowsPerPageOptions={[]}\r\n hideFooter={true}\r\n selectionModel={initmenu}\r\n checkboxSelection\r\n onSelectionModelChange={(ids) => {\r\n setInitmenu(ids);\r\n const selectedIDs = new Set(ids);\r\n const selectedRows = menus.filter((row) =>\r\n selectedIDs.has(row.id)\r\n );\r\n setSelectedmenuRows(selectedRows);\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport {\r\n DataGrid,\r\n GridToolbarQuickFilter,\r\n GridLinkOperator,\r\n gridClasses,\r\n} from \"@mui/x-data-grid\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport Button from \"@mui/material/Button\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport DoneIcon from \"@mui/icons-material/Done\";\r\nimport FormControl from \"@mui/material/FormControl\";\r\nimport DangerousIcon from \"@mui/icons-material/Dangerous\";\r\nimport NotificationsIcon from \"@mui/icons-material/Notifications\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Config from \"conFig.js\";\r\nconst datagridSx = {\r\n [`& .${gridClasses.cell}`]: {\r\n py: 1,\r\n },\r\n [`& .center`]: {\r\n justifyContent: \"center !important\",\r\n },\r\n borderRadius: 2,\r\n \"& .MuiDataGrid-main\": { borderRadius: 2 },\r\n \"& .MuiDataGrid-virtualScrollerRenderZone\": {\r\n \"& .MuiDataGrid-row\": {\r\n \"&:nth-of-type(2n)\": { backgroundColor: \"rgba(235, 235, 235, .7)\" },\r\n },\r\n },\r\n \"& .MuiDataGrid-columnHeaders\": {\r\n backgroundColor: \"rgba(0,0,255,0.6)\",\r\n color: \"rgb(255 255 255)\",\r\n fontSize: 16,\r\n },\r\n \"& .MuiInputBase-root\": {\r\n height: \"25px\",\r\n },\r\n};\r\n\r\nconst permissionscolumn = [\r\n { field: \"pmS_ID\", headerName: \"ID\", width: 50, headerAlign: \"center\" },\r\n {\r\n field: \"ctL_NAME\",\r\n headerName: \"Controller\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n {\r\n field: \"pmS_NAME\",\r\n headerName: \"Tên\",\r\n width: 300,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nconst rolecolumns = [\r\n {\r\n field: \"rolE_ID\",\r\n headerName: \"ROLE ID\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n cellClassName: \"center\",\r\n },\r\n {\r\n field: \"rolE_NAME\",\r\n headerName: \"ROLE NAME\",\r\n width: 150,\r\n headerAlign: \"center\",\r\n },\r\n];\r\nexport default function RolePermission() {\r\n const [roles, setRoles] = React.useState([]);\r\n const [permissions, setPermissions] = React.useState([]);\r\n const [selectedroleRows, setSelectedroleRows] = React.useState([]);\r\n const [selectedpermissionRows, setSelectedpermissionRows] = React.useState(\r\n []\r\n );\r\n const init = [];\r\n const [initpermission, setInitpermission] = React.useState([]);\r\n const [alert, setAlert] = React.useState(false);\r\n const [message, setMessage] = React.useState(\"\");\r\n const [icon, setIcon] = React.useState(AddAlert);\r\n const [color, setColor] = React.useState(\"warning\");\r\n const quickSearchToolbar = () => {\r\n return (\r\n \r\n \r\n searchInput\r\n .split(\",\")\r\n .map((value) => value.trim())\r\n .filter((value) => value !== \"\")\r\n }\r\n placeholder=\"Tìm kiếm\"\r\n />\r\n \r\n );\r\n };\r\n const token = localStorage.getItem(\"token\");\r\n var obj = {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n };\r\n const getroles = () => {\r\n var url = Config.backend + \"/api/Roles/roles\";\r\n fetch(url, obj)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setRoles(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getpermissions = () => {\r\n var url = Config.backend + \"/api/permissions/permissions\";\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n setPermissions(data);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n };\r\n const getpermissionbyrole = (showMs) => {\r\n if (selectedroleRows.length == 1) {\r\n var role = selectedroleRows[0].rolE_ID;\r\n var url =\r\n Config.backend + \"/api/permissions/permissionsbyrole?role=\" + role;\r\n fetch(url)\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data.length !== 0) {\r\n data.map((prop) => {\r\n init.push(prop.pmS_ID);\r\n });\r\n setInitpermission(init);\r\n } else {\r\n setInitpermission([]);\r\n }\r\n if (showMs) {\r\n showNotification(\r\n \"Role \" + role + \" có \" + data.length + \" permissions\",\r\n NotificationsIcon,\r\n \"success\"\r\n );\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n }\r\n };\r\n const showNotification = (ms, icon, color) => {\r\n setAlert(true);\r\n setMessage(ms);\r\n setColor(color);\r\n setIcon(icon);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 3000);\r\n };\r\n const capnhat = () => {\r\n if (selectedroleRows.length == 1) {\r\n var kq = [];\r\n selectedpermissionRows.map((prop) => {\r\n kq.push(prop.pmS_ID);\r\n });\r\n let url = Config.backend + \"/api/Roles/phanpermission\";\r\n fetch(url, {\r\n method: \"PUT\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n Authorization: \"Bearer \" + token,\r\n },\r\n body: JSON.stringify({\r\n rolEID: selectedroleRows[0].rolE_ID,\r\n pmsIds: kq,\r\n }),\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n return response;\r\n }\r\n throw new Error(\"Something went wrong\");\r\n })\r\n .then(() => {\r\n showNotification(\"Cập nhật thành công\", DoneIcon, \"success\");\r\n getpermissionbyrole(false);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n showNotification(\"Cập nhật thất bại\", DangerousIcon, \"danger\");\r\n });\r\n } else {\r\n showNotification(\"Vui lòng chọn Role\", AddAlert, \"warning\");\r\n }\r\n };\r\n\r\n React.useEffect(() => {\r\n getpermissionbyrole(true);\r\n }, [selectedroleRows]);\r\n React.useEffect(() => {\r\n getroles();\r\n getpermissions();\r\n }, []);\r\n return (\r\n \r\n \r\n \r\n \r\n Cập nhật\r\n \r\n \r\n \r\n \r\n
    \r\n row.rolE_ID}\r\n rows={roles}\r\n columns={rolecolumns}\r\n rowsPerPageOptions={[]}\r\n hideFooter={true}\r\n checkboxSelection={false}\r\n onSelectionModelChange={(ids) => {\r\n const selectedIDs = new Set(ids);\r\n const selectedRows = roles.filter((row) =>\r\n selectedIDs.has(row.rolE_ID)\r\n );\r\n setSelectedroleRows(selectedRows);\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n row.pmS_ID}\r\n rows={permissions}\r\n columns={permissionscolumn}\r\n rowsPerPageOptions={[]}\r\n hideFooter={true}\r\n selectionModel={initpermission}\r\n checkboxSelection\r\n onSelectionModelChange={(ids) => {\r\n setInitpermission(ids);\r\n const selectedIDs = new Set(ids);\r\n const selectedRows = permissions.filter((row) =>\r\n selectedIDs.has(row.pmS_ID)\r\n );\r\n setSelectedpermissionRows(selectedRows);\r\n }}\r\n rowHeight={30}\r\n headerHeight={35}\r\n sx={datagridSx}\r\n initialState={{\r\n filter: {\r\n filterModel: {\r\n items: [],\r\n quickFilterLogicOperator: GridLinkOperator.Or,\r\n },\r\n },\r\n }}\r\n components={{ Toolbar: quickSearchToolbar }}\r\n />\r\n
    \r\n
    \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n
    \r\n );\r\n}\r\n","/*!\n\n=========================================================\n* Material Dashboard React - v1.10.0\n=========================================================\n\n* Product Page: https://www.creative-tim.com/product/material-dashboard-react\n* Copyright 2021 Creative Tim (https://www.creative-tim.com)\n* Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md)\n\n* Coded by Creative Tim\n\n=========================================================\n\n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n*/\n// @material-ui/icons\nimport Dashboard from \"@material-ui/icons/Dashboard\";\n//import MenuIcon from \"@mui/icons-material/Menu\";\nimport AttachMoneyIcon from \"@mui/icons-material/AttachMoney\";\nimport AddBusinessIcon from \"@mui/icons-material/AddBusiness\";\nimport ManageAccounts from \"@mui/icons-material/ManageAccounts\";\nimport ManageSearchIcon from \"@mui/icons-material/ManageSearch\";\nimport CropRotateIcon from \"@mui/icons-material/CropRotate\";\nimport FormatListBulletedIcon from \"@mui/icons-material/FormatListBulleted\";\nimport BallotIcon from \"@mui/icons-material/Ballot\";\nimport CategoryIcon from \"@mui/icons-material/Category\";\nimport FileOpenIcon from \"@mui/icons-material/FileOpen\";\nimport DashboardPage from \"views/Dashboard/Dashboard.js\";\nimport Quanlytiendoduan from \"views/Dashboard/Quanlytiendoduan.js\";\nimport Duan from \"views/Duan/Duan.js\";\nimport Thongtinduan from \"views/Duan/Thongtinduan.js\";\nimport Dieuchinhduan from \"views/Duan/Dieuchinhduan.js\";\nimport Hoatdongketthucthuhoi from \"views/Duan/Hoatdongketthucthuhoi.js\";\nimport Kyquy from \"views/Duan/Kyquy.js\";\nimport Vipham from \"views/Duan/Vipham.js\";\nimport Quanlyfile from \"views/Quanlyfile/Quanlyfile.js\";\nimport Baocaoduan from \"views/Baocaoduan/Baocaoduan.js\";\nimport Xembaocaoduan from \"views/Baocaoduan/Xembaocao.js\";\n//import Baocaotonghop from \"views/Baocaotonghop/Baocaotonghop.js\";\nimport Baocaophuluc from \"views/Baocaophuluc/Baocaophuluc.js\";\nimport Chudautu from \"views/Danhmuc/Chudautu/Chudautu.js\";\nimport Danhmucdiadanh from \"views/Danhmuc/Diadanh/Danhmucdiadanh.js\";\nimport Danhmuctinhtrang from \"views/Danhmuc/Danhmuctinhtrang/Danhmuctinhtrang.js\";\nimport Danhmucdungchung from \"views/Danhmuc/Danhmucdungchung/Danhmucdungchung.js\";\nimport Quantringuoidung from \"views/Quantringuoidung/Quantringuoidung.js\";\nimport RolesMenuPermission from \"views/RolesMenuPermission/RolesMenuPermission.js\";\n\nconst dashboardRoutes = [\n {\n path: \"/subdashboard\",\n name: \"Biểu đồ thống kê\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n layout: \"/admin\",\n sub: 1,\n id: 1,\n },\n {\n path: \"/dashboard\",\n name: \"Thống kê chung\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n component: DashboardPage,\n layout: \"/admin\",\n parent: 1,\n },\n {\n path: \"/quanlytiendoduan\",\n name: \"Tiến độ dự án\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n component: Quanlytiendoduan,\n layout: \"/admin\",\n parent: 1,\n },\n {\n path: \"/thongtinduan\",\n name: \"Thông tin dự án\",\n rtlName: \"لوحة القيادة\",\n icon: ManageSearchIcon,\n component: Thongtinduan,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/duan\",\n name: \"Thêm mới dự án\",\n rtlName: \"لوحة القيادة\",\n icon: AddBusinessIcon,\n component: Duan,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/subdieuchinh\",\n name: \"Điều chỉnh\",\n rtlName: \"قائمة الجدول\",\n icon: CropRotateIcon,\n layout: \"/admin\",\n sub: 1,\n id: 4,\n },\n {\n path: \"/dieuchinhduan\",\n name: \"Điều chỉnh dự án\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n component: Dieuchinhduan,\n layout: \"/admin\",\n parent: 4,\n },\n {\n path: \"/hoatdongketthucthuhoi\",\n name: \"Đi vào hoạt động - Kết thúc dự án - Thu hồi dự án\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n component: Hoatdongketthucthuhoi,\n layout: \"/admin\",\n parent: 4,\n },\n {\n path: \"/subkyquyipham\",\n name: \"Ký quỹ, Vi phạm\",\n rtlName: \"قائمة الجدول\",\n icon: AttachMoneyIcon,\n layout: \"/admin\",\n sub: 1,\n id: 3,\n },\n {\n path: \"/kyquy\",\n name: \"Ký quỹ - Nộp m3\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n component: Kyquy,\n layout: \"/admin\",\n parent: 3,\n },\n {\n path: \"/vipham\",\n name: \"Kiểm tra vi phạm\",\n rtlName: \"لوحة القيادة\",\n icon: Dashboard,\n component: Vipham,\n layout: \"/admin\",\n parent: 3,\n },\n {\n path: \"/quanlyfile\",\n name: \"Quản lý file\",\n rtlName: \"قائمة الجدول\",\n icon: FileOpenIcon,\n component: Quanlyfile,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/baocaoduan\",\n name: \"Báo cáo dự án\",\n rtlName: \"لوحة القيادة\",\n icon: FormatListBulletedIcon,\n component: Baocaoduan,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/xembaocaoduan\",\n name: \"Xem báo cáo dự án\",\n rtlName: \"لوحة القيادة\",\n icon: FormatListBulletedIcon,\n component: Xembaocaoduan,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/baocaophuluc\",\n name: \"Báo cáo phụ lục\",\n rtlName: \"قائمة الجدول\",\n icon: BallotIcon,\n component: Baocaophuluc,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/subdanhmuc\",\n name: \"Danh mục\",\n rtlName: \"قائمة الجدول\",\n icon: CategoryIcon,\n layout: \"/admin\",\n sub: 1,\n id: 2,\n },\n {\n path: \"/chudautu\",\n name: \"Chủ đầu tư\",\n rtlName: \"قائمة الجدول\",\n icon: \"content_paste\",\n component: Chudautu,\n layout: \"/admin\",\n parent: 2,\n },\n {\n path: \"/danhmucdiadanh\",\n name: \"Địa phương\",\n rtlName: \"قائمة الجدول\",\n icon: \"content_paste\",\n component: Danhmucdiadanh,\n layout: \"/admin\",\n parent: 2,\n },\n {\n path: \"/danhmuctinhtrang\",\n name: \"Danh mục tình trạng\",\n rtlName: \"قائمة الجدول\",\n icon: \"content_paste\",\n component: Danhmuctinhtrang,\n layout: \"/admin\",\n parent: 2,\n },\n {\n path: \"/danhmucdungchung\",\n name: \"Danh mục dùng chung\",\n rtlName: \"قائمة الجدول\",\n icon: \"content_paste\",\n component: Danhmucdungchung,\n layout: \"/admin\",\n parent: 2,\n },\n {\n path: \"/quantringuoidung\",\n name: \"Quản trị người dùng\",\n rtlName: \"قائمة الجدول\",\n icon: ManageAccounts,\n component: Quantringuoidung,\n layout: \"/admin\",\n sub: 0,\n },\n {\n path: \"/rolesmenupermission\",\n name: \"Role And Permission\",\n rtlName: \"قائمة الجدول\",\n icon: ManageAccounts,\n component: RolesMenuPermission,\n layout: \"/admin\",\n sub: 0,\n },\n];\n\nexport default dashboardRoutes;\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Thongtinduan from \"components/Duan/Thongtin/Thongtinduan.js\";\n\nexport default function TTduan() {\n return (\n
    \n ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Themmoiduan from \"components/Duan/Themmoiduan.js\";\n\nexport default function QLduan() {\n return (\n
    \n ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Dieuchinhduan from \"components/Duan/Dieuchinh/Dieuchinhduan.js\";\n\nexport default function DCduan() {\n return (\n
    \n ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Hoatdong from \"components/Duan/Hoatdongketthucthuhoi/Hoatdong.js\";\nimport Ketthuc from \"components/Duan/Hoatdongketthucthuhoi/Ketthuc.js\";\nimport Thuhoi from \"components/Duan/Hoatdongketthucthuhoi/Thuhoi.js\";\n\nexport default function Hoatdongketthucthuhoi() {\n return (\n
    \n ,\n },\n {\n tabName: \"Kết thúc dự án\",\n tabContent: ,\n },\n {\n tabName: \"Thu hồi dự án\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Kyquy from \"components/Duan/Tinhtrangkyquy/Kyquy.js\";\nimport Nopm3 from \"components/Duan/Tinhtrangkyquy/Nopm3.js\";\n\nexport default function TTkyquy() {\n return (\n
    \n ,\n },\n {\n tabName: \"Cập nhật tình trạng nộp m3\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Vipham from \"components/Duan/Vipham/Vipham.js\";\n\nexport default function TTVipham() {\n return (\n
    \n ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\r\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\r\nimport Quanlyfile from \"components/Quanlyfile/Quanlyfile.js\";\r\nexport default function Doituong() {\r\n return (\r\n
    \r\n ,\r\n },\r\n ]}\r\n />\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Baocaoduan from \"components/Baocaoduan/Baocaoduan.js\";\nimport Canhbao from \"components/Duan/Canhbao/Canhbao.js\";\n\nexport default function BCduan() {\n return (\n
    \n ,\n },\n {\n tabName: \"Chưa thực hiện báo cáo\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\r\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\r\nimport Xembaocaoduan from \"components/Baocaoduan/Xembaocaoduan.js\";\r\nimport Thongkecanhbao from \"components/Duan/Canhbao/Thongkecanhbao.js\";\r\nimport Thongkechuabaocaolannao from \"components/Duan/Canhbao/Thongkechuabaocaolannao.js\";\r\n\r\nexport default function XBCduan() {\r\n return (\r\n
    \r\n ,\r\n },\r\n {\r\n tabName: \"Thống Kê Chưa Thực Hiện Báo Cáo\",\r\n tabContent: ,\r\n },\r\n {\r\n tabName: \"Thống Kê Chưa Báo Cáo Lần Nào\",\r\n tabContent: ,\r\n },\r\n ]}\r\n />\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Baocaophuluc from \"components/Baocaophuluc/Baocaophuluc.js\";\nimport Baocaotonghop from \"components/Baocaophuluc/Baocaotonghop.js\";\n\nexport default function BCphuluc() {\n return (\n
    \n ,\n },\n {\n tabName: \"Báo cáo mẫu TH theo phụ lục\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Chudautu from \"components/Danhmuc/Chudautu/Chudautu.js\";\n\nexport default function Dmchudautu() {\n return (\n
    \n ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Danhmucquocgia from \"components/Danhmuc/Quocgia/Quocgia.js\";\nimport Danhmucdiadanh from \"components/Danhmuc/Diadanh/Danhmucdiadanh.js\";\n\nexport default function Dmdiadanh() {\n return (\n
    \n ,\n },\n {\n tabName: \"Địa danh\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Tinhtrangduan from \"components/Danhmuc/Tinhtrangduan/Tinhtrangduan.js\";\nimport Tinhtrangkiemtra from \"components/Danhmuc/Tinhtrangkiemtra/Tinhtrangkiemtra.js\";\nimport Tinhtrangkyquy from \"components/Danhmuc/Tinhtrangkyquy/Tinhtrangkyquy.js\";\nimport Tinhtrangnopngansach from \"components/Danhmuc/Tinhtrangnopngansach/Tinhtrangnopngansach.js\";\nimport Tinhtrangvipham from \"components/Danhmuc/Tinhtrangvipham/Tinhtrangvipham.js\";\n\nexport default function Dmtinhtrang() {\n return (\n
    \n ,\n },\n {\n tabName: \"Tình trạng kiểm tra\",\n tabContent: ,\n },\n {\n tabName: \"Tình trạng ký quỹ\",\n tabContent: ,\n },\n {\n tabName: \"Tình trạng nộp ngân sách\",\n tabContent: ,\n },\n {\n tabName: \"Tình trạng vi phạm\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\nimport Donvitiente from \"components/Danhmuc/Donvitiente/Donvitiente.js\";\nimport Nguonvondautu from \"components/Danhmuc/Nguonvondautu/Nguonvondautu.js\";\nimport Khuvucdautu from \"components/Danhmuc/Khuvucdautu/Khuvucdautu.js\";\nimport Danhmuclinhvuc from \"components/Danhmuc/Linhvuc/Linhvuc.js\";\nimport Loaibaocao from \"components/Danhmuc/Loaibaocao/Loaibaocao.js\";\n\nexport default function Dmdungchung() {\n return (\n
    \n ,\n },\n {\n tabName: \"Nguồn vốn đầu tư\",\n tabContent: ,\n },\n {\n tabName: \"Khu vực đầu tư\",\n tabContent: ,\n },\n {\n tabName: \"Lĩnh vực\",\n tabContent: ,\n },\n {\n tabName: \"Loại báo cáo\",\n tabContent: ,\n },\n ]}\n />\n
    \n );\n}\n","import React from \"react\";\r\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\r\nimport Users from \"components/Users/Users.js\";\r\nimport Chudautuuser from \"components/Users/Chudautuuser.js\";\r\nimport Duanuser from \"components/Duan/Ganuser/Duanuser.js\";\r\n// import Config from \"conFig.js\";\r\n\r\nexport default function Quantriuser() {\r\n return (\r\n
    \r\n ,\r\n },\r\n {\r\n tabName: \"Gán User cho Chủ đầu tư\",\r\n tabContent: ,\r\n },\r\n {\r\n tabName: \"Phân User quản lý dự án\",\r\n tabContent: ,\r\n },\r\n ]}\r\n />\r\n
    \r\n );\r\n}\r\n","import React from \"react\";\r\nimport CustomTabsGrid from \"components/CustomTabs/CustomTabsGrid.js\";\r\n//import Tasks from \"components/Tasks/Tasks.js\";\r\nimport Roles from \"components/Roles/Roles.js\";\r\nimport Permissions from \"components/Permissions/Permissions.js\";\r\nimport Menus from \"components/Menus/Menus.js\";\r\nimport PhanQuyenMenu from \"components/PhanQuyenMenu/PhanQuyenMenu.js\";\r\nimport RolePermission from \"components/RolePermission/RolePermission.js\";\r\n\r\nexport default function RolesMenuPermission() {\r\n return (\r\n
    \r\n ,\r\n },\r\n {\r\n tabName: \"Permision\",\r\n tabContent: ,\r\n },\r\n {\r\n tabName: \"Menu\",\r\n tabContent: ,\r\n },\r\n {\r\n tabName: \"Role Menu\",\r\n tabContent: ,\r\n },\r\n {\r\n tabName: \"Role Permission\",\r\n tabContent: ,\r\n },\r\n ]}\r\n />\r\n
    \r\n );\r\n}\r\n","import {\n container,\n defaultFont,\n primaryColor,\n defaultBoxShadow,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n whiteColor,\n grayColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst headerStyle = () => ({\n appBar: {\n //backgroundColor: \"transparent\",\n boxShadow: \"none\",\n borderBottom: \"0\",\n marginBottom: \"0\",\n position: \"absolute\",\n width: \"100%\",\n //paddingTop: \"10px\",\n zIndex: \"1029\",\n color: grayColor[7],\n border: \"0\",\n borderRadius: \"3px\",\n //padding: \"10px 0\",\n //transition: \"all 150ms ease 0s\",\n minHeight: \"50px\",\n display: \"block\",\n marginTop: \"-10px\",\n //backgroundColor: \"rgba(0, 0, 0, 0.87)\",\n },\n container: {\n ...container,\n minHeight: \"50px\",\n backgroundImage: \"linear-gradient(to bottom, #e5e5e5, #e3e3e3)\",\n },\n flex: {\n flex: 1,\n },\n title: {\n ...defaultFont,\n letterSpacing: \"unset\",\n lineHeight: \"30px\",\n fontSize: \"20px\",\n borderRadius: \"3px\",\n textTransform: \"none\",\n color: \"#d900d2\",\n margin: \"0\",\n \"&:hover,&:focus\": {\n background: \"transparent\",\n },\n textShadow: \"1px 1px #052ab1\",\n fontWeight: \"700\",\n },\n appResponsive: {\n top: \"8px\",\n },\n primary: {\n backgroundColor: primaryColor[0],\n color: whiteColor,\n ...defaultBoxShadow,\n },\n info: {\n backgroundColor: infoColor[0],\n color: whiteColor,\n ...defaultBoxShadow,\n },\n success: {\n backgroundColor: successColor[0],\n color: whiteColor,\n ...defaultBoxShadow,\n },\n warning: {\n backgroundColor: warningColor[0],\n color: whiteColor,\n ...defaultBoxShadow,\n },\n danger: {\n backgroundColor: dangerColor[0],\n color: whiteColor,\n ...defaultBoxShadow,\n },\n});\n\nexport default headerStyle;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Hidden from \"@material-ui/core/Hidden\";\n// @material-ui/icons\nimport Menu from \"@material-ui/icons/Menu\";\n// core components\nimport AdminNavbarLinks from \"./AdminNavbarLinks.js\";\nimport RTLNavbarLinks from \"./RTLNavbarLinks.js\";\nimport Button from \"components/CustomButtons/Button.js\";\n\n//hooks\nimport { useRouteName } from \"hooks\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/headerStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Header(props) {\n const classes = useStyles();\n const routeName = useRouteName();\n const { color } = props;\n const appBarClasses = classNames({\n [\" \" + classes[color]]: color,\n });\n return (\n \n \n
    \n {/* Here we create navbar brand, based on route name */}\n \n
    \n \n {props.rtlActive ? : }\n \n \n \n \n \n \n \n \n );\n}\n\nHeader.propTypes = {\n color: PropTypes.oneOf([\"primary\", \"info\", \"success\", \"warning\", \"danger\"]),\n rtlActive: PropTypes.bool,\n handleDrawerToggle: PropTypes.func,\n routes: PropTypes.arrayOf(PropTypes.object),\n};\n","import routes from \"routes\";\n\nexport const useRouteName = () => {\n let name = \"\";\n routes.forEach((route) => {\n if (window.location.href.indexOf(route.layout + route.path) !== -1) {\n name = routes.rtlActive ? route.rtlName : route.name;\n }\n });\n return name;\n};\n","import {\r\n drawerWidth,\r\n transition,\r\n boxShadow,\r\n defaultFont,\r\n primaryColor,\r\n primaryBoxShadow,\r\n infoColor,\r\n successColor,\r\n warningColor,\r\n dangerColor,\r\n timColor,\r\n grayColor,\r\n blackColor,\r\n hexToRgb,\r\n} from \"assets/jss/material-dashboard-react.js\";\r\n\r\nconst sidebarStyle = (theme) => ({\r\n drawerPaper: {\r\n border: \"none\",\r\n position: \"fixed\",\r\n top: \"0\",\r\n bottom: \"0\",\r\n left: \"0\",\r\n zIndex: \"1\",\r\n ...boxShadow,\r\n width: drawerWidth,\r\n backgroundColor: \"#ebebeb\",\r\n [theme.breakpoints.up(\"md\")]: {\r\n width: drawerWidth,\r\n position: \"fixed\",\r\n height: \"100%\",\r\n },\r\n [theme.breakpoints.down(\"sm\")]: {\r\n width: drawerWidth,\r\n ...boxShadow,\r\n position: \"fixed\",\r\n display: \"block\",\r\n top: \"0\",\r\n height: \"100vh\",\r\n right: \"0\",\r\n left: \"auto\",\r\n zIndex: \"1032\",\r\n visibility: \"visible\",\r\n overflowY: \"visible\",\r\n borderTop: \"none\",\r\n textAlign: \"left\",\r\n paddingRight: \"0px\",\r\n paddingLeft: \"0\",\r\n transform: `translate3d(${drawerWidth}px, 0, 0)`,\r\n ...transition,\r\n },\r\n },\r\n drawerPaperRTL: {\r\n [theme.breakpoints.up(\"md\")]: {\r\n left: \"auto !important\",\r\n right: \"0 !important\",\r\n },\r\n [theme.breakpoints.down(\"sm\")]: {\r\n left: \"0 !important\",\r\n right: \"auto !important\",\r\n },\r\n },\r\n logo: {\r\n position: \"relative\",\r\n padding: \"15px 15px\",\r\n zIndex: \"4\",\r\n \"&:after\": {\r\n content: '\"\"',\r\n position: \"absolute\",\r\n bottom: \"0\",\r\n\r\n height: \"1px\",\r\n right: \"15px\",\r\n width: \"calc(100% - 30px)\",\r\n backgroundColor: \"rgba(\" + hexToRgb(grayColor[6]) + \", 0.3)\",\r\n },\r\n },\r\n logoLink: {\r\n ...defaultFont,\r\n textTransform: \"uppercase\",\r\n padding: \"5px 0\",\r\n display: \"block\",\r\n fontSize: \"18px\",\r\n textAlign: \"left\",\r\n fontWeight: \"400\",\r\n lineHeight: \"30px\",\r\n textDecoration: \"none\",\r\n backgroundColor: \"transparent\",\r\n \"&,&:hover\": {\r\n color: blackColor,\r\n },\r\n },\r\n logoLinkRTL: {\r\n textAlign: \"right\",\r\n },\r\n logoImage: {\r\n width: \"30px\",\r\n display: \"inline-block\",\r\n maxHeight: \"30px\",\r\n marginLeft: \"10px\",\r\n marginRight: \"15px\",\r\n },\r\n img: {\r\n width: \"35px\",\r\n height: \"25px\",\r\n top: \"22px\",\r\n position: \"absolute\",\r\n verticalAlign: \"middle\",\r\n border: \"0\",\r\n },\r\n background: {\r\n position: \"absolute\",\r\n zIndex: \"1\",\r\n height: \"100%\",\r\n width: \"100%\",\r\n display: \"block\",\r\n top: \"0\",\r\n left: \"0\",\r\n backgroundSize: \"cover\",\r\n backgroundPosition: \"center center\",\r\n opacity: \".1\",\r\n \"&:after\": {\r\n position: \"absolute\",\r\n zIndex: \"3\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n content: '\"\"',\r\n display: \"block\",\r\n //background: blackColor,\r\n //opacity: \".1\",\r\n },\r\n },\r\n list: {\r\n marginTop: \"20px\",\r\n paddingLeft: \"0\",\r\n paddingTop: \"0\",\r\n paddingBottom: \"0\",\r\n marginBottom: \"0\",\r\n listStyle: \"none\",\r\n position: \"unset\",\r\n },\r\n item: {\r\n position: \"relative\",\r\n display: \"block\",\r\n textDecoration: \"none\",\r\n textShadow: \"1px 1px #ffffff\",\r\n \"&:hover,&:focus,&:visited,&\": {\r\n color: blackColor,\r\n },\r\n },\r\n itemLink: {\r\n width: \"auto\",\r\n transition: \"all 300ms linear\",\r\n margin: \"-3px -3px 0\",\r\n borderRadius: \"3px\",\r\n position: \"relative\",\r\n display: \"flex\",\r\n padding: \"10px 15px\",\r\n backgroundColor: \"transparent\",\r\n ...defaultFont,\r\n },\r\n itemIcon: {\r\n width: \"24px\",\r\n height: \"30px\",\r\n fontSize: \"24px\",\r\n lineHeight: \"30px\",\r\n float: \"left\",\r\n marginRight: \"15px\",\r\n textAlign: \"center\",\r\n verticalAlign: \"middle\",\r\n color: \"rgba(9, 0, 145, 0.8)\",\r\n },\r\n itemIconRTL: {\r\n marginRight: \"3px\",\r\n marginLeft: \"15px\",\r\n float: \"right\",\r\n },\r\n itemText: {\r\n ...defaultFont,\r\n margin: \"0\",\r\n lineHeight: \"30px\",\r\n fontSize: \"15px\",\r\n color: blackColor,\r\n fontWeight: \"bold\",\r\n textShadow: \"1px 1px #ffffff\",\r\n },\r\n itemTextRTL: {\r\n textAlign: \"right\",\r\n },\r\n whiteFont: {\r\n color: timColor,\r\n },\r\n purple: {\r\n backgroundColor: primaryColor[0],\r\n ...primaryBoxShadow,\r\n \"&:hover,&:focus\": {\r\n backgroundColor: primaryColor[0],\r\n ...primaryBoxShadow,\r\n },\r\n },\r\n blue: {\r\n backgroundColor: infoColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \",.2)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: infoColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(infoColor[0]) +\r\n \",.2)\",\r\n },\r\n },\r\n green: {\r\n backgroundColor: successColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \",.2)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: successColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(successColor[0]) +\r\n \",.2)\",\r\n },\r\n },\r\n orange: {\r\n backgroundColor: warningColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \",.2)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: warningColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(warningColor[0]) +\r\n \",.2)\",\r\n },\r\n },\r\n red: {\r\n backgroundColor: dangerColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \",.2)\",\r\n \"&:hover,&:focus\": {\r\n backgroundColor: dangerColor[0],\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \",.2)\",\r\n },\r\n },\r\n submenu: {\r\n marginLeft: \"1vw\",\r\n fontWeight: 500,\r\n color: \"#d900d2\",\r\n //backgroundColor: blackColor[0],\r\n \"&:hover,&:focus\": {\r\n boxShadow:\r\n \"0 12px 20px -10px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \",.28), 0 4px 20px 0 rgba(\" +\r\n hexToRgb(blackColor) +\r\n \",.12), 0 7px 8px -5px rgba(\" +\r\n hexToRgb(dangerColor[0]) +\r\n \",.2)\",\r\n },\r\n },\r\n sidebarWrapper: {\r\n position: \"relative\",\r\n height: \"calc(100vh - 75px)\",\r\n //overflow: \"auto\",\r\n width: \"97%\",\r\n zIndex: \"4\",\r\n overflowScrolling: \"touch\",\r\n },\r\n activePro: {\r\n [theme.breakpoints.up(\"md\")]: {\r\n position: \"absolute\",\r\n width: \"100%\",\r\n bottom: \"13px\",\r\n },\r\n },\r\n});\r\n\r\nexport default sidebarStyle;\r\n","/*eslint-disable*/\nimport React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { NavLink, useLocation } from \"react-router-dom\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Drawer from \"@material-ui/core/Drawer\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport List from \"@material-ui/core/List\";\nimport ListItem from \"@material-ui/core/ListItem\";\nimport ListItemText from \"@material-ui/core/ListItemText\";\nimport Icon from \"@material-ui/core/Icon\";\nimport Collapse from \"@material-ui/core/Collapse\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\n// core components\nimport AdminNavbarLinks from \"components/Navbars/AdminNavbarLinks.js\";\nimport RTLNavbarLinks from \"components/Navbars/RTLNavbarLinks.js\";\n\nimport styles from \"assets/jss/material-dashboard-react/components/sidebarStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Sidebar(props) {\n const classes = useStyles();\n const [index, setIndex] = React.useState(true);\n const [selectedIndex, setSelectedIndex] = React.useState(\"\");\n const handleClick = key => {\n if (selectedIndex === key) {\n setSelectedIndex(\"\");\n } else {\n setSelectedIndex(key);\n }\n }\n let location = useLocation();\n function activeRoute(routeName) {\n return location.pathname === routeName;\n }\n const { color, logo, image, logoText, routes } = props;\n const subcolor = \"submenu\";\n var links = (\n \n {routes.map((prop, key) => {\n var listItemClasses;\n listItemClasses = classNames({\n [\" \" + classes[color]]: activeRoute(prop.layout + prop.path),\n });\n var listItemClassesSub;\n listItemClassesSub = classNames({\n [\" \" + classes[subcolor]]: activeRoute(prop.layout + prop.path),\n });\n const whiteFontClasses = classNames({\n [\" \" + classes.whiteFont]: activeRoute(prop.layout + prop.path),\n });\n return (\n \n {prop.sub === 1 ? (\n \n {handleClick(key)}}>\n {typeof prop.icon === \"string\" ? (\n \n {prop.icon}\n \n ) : (\n \n )}\n \n {key === selectedIndex ? : }\n \n \n {routes.map((child, index) => {\n var listItemClasses1;\n listItemClasses1 = classNames({\n [\" \" + classes[color]]: activeRoute(child.layout + child.path),\n });\n if (child.parent === prop.id) {\n return(\n \n \n \n \n \n )\n }\n })}\n \n \n ) : (\n prop.sub === 0 ? (\n \n \n {typeof prop.icon === \"string\" ? (\n \n {prop.icon}\n \n ) : (\n \n )}\n \n \n \n ) : null\n )}\n \n );\n })}\n \n );\n var brand = (\n
    \n \n
    \n \"logo\"\n
    \n {logoText}\n \n
    \n );\n return (\n
    \n \n \n {brand}\n
    \n {props.rtlActive ? : }\n {links}\n
    \n {image !== undefined ? (\n \n ) : null}\n \n
    \n \n \n {brand}\n
    {links}
    \n {image !== undefined ? (\n \n ) : null}\n \n
    \n
    \n );\n}\n\nSidebar.propTypes = {\n rtlActive: PropTypes.bool,\n handleDrawerToggle: PropTypes.func,\n bgColor: PropTypes.oneOf([\"purple\", \"blue\", \"green\", \"orange\", \"red\"]),\n logo: PropTypes.string,\n image: PropTypes.string,\n logoText: PropTypes.string,\n routes: PropTypes.arrayOf(PropTypes.object),\n open: PropTypes.bool,\n};\n","export default __webpack_public_path__ + \"static/media/sidebar-1.0a127c58.jpg\";","export default __webpack_public_path__ + \"static/media/sidebar-2.22f68ba5.jpg\";","export default __webpack_public_path__ + \"static/media/sidebar-3.e667b13e.jpg\";","export default __webpack_public_path__ + \"static/media/sidebar-4.dd4b5581.jpg\";","/*eslint-disable*/\nimport React, { Component } from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// nodejs library that concatenates classes\nimport classnames from \"classnames\";\n\nimport imagine1 from \"assets/img/sidebar-1.jpg\";\nimport imagine2 from \"assets/img/sidebar-2.jpg\";\nimport imagine3 from \"assets/img/sidebar-3.jpg\";\nimport imagine4 from \"assets/img/sidebar-4.jpg\";\n\nimport Button from \"components/CustomButtons/Button.js\";\n\nexport default function FixedPlugin(props) {\n\n const [classes, setClasses] = React.useState(\"dropdown show\");\n const [bg_checked, setBg_checked] = React.useState(true);\n const [bgImage, setBgImage] = React.useState(props.bgImage);\n const handleClick = () => {\n props.handleFixedClick();\n };\n return (\n \n \n );\n}\n\nFixedPlugin.propTypes = {\n bgImage: PropTypes.string,\n handleFixedClick: PropTypes.func,\n rtlActive: PropTypes.bool,\n fixedClasses: PropTypes.string,\n bgColor: PropTypes.oneOf([\"purple\", \"blue\", \"green\", \"orange\", \"red\"]),\n handleColorClick: PropTypes.func,\n handleImageClick: PropTypes.func,\n};\n","import {\n drawerWidth,\n transition,\n container,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst appStyle = (theme) => ({\n wrapper: {\n position: \"relative\",\n top: \"0\",\n height: \"100vh\",\n },\n mainPanel: {\n [theme.breakpoints.up(\"md\")]: {\n width: `calc(100% - ${drawerWidth}px)`,\n },\n overflow: \"auto\",\n position: \"relative\",\n float: \"right\",\n ...transition,\n maxHeight: \"100%\",\n width: \"100%\",\n overflowScrolling: \"touch\",\n },\n content: {\n marginTop: \"35px\",\n padding: \"30px 15px\",\n //minHeight: \"calc(100vh - 123px)\",\n minHeight: \"calc(101vh)\",\n backgroundColor: \"#c9c9c9\",\n },\n container,\n map: {\n marginTop: \"70px\",\n },\n});\n\nexport default appStyle;\n","import React from \"react\";\nimport { Switch, Redirect } from \"react-router-dom\";\n// creates a beautiful scrollbar\nimport PerfectScrollbar from \"perfect-scrollbar\";\nimport \"perfect-scrollbar/css/perfect-scrollbar.css\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// core components\nimport Navbar from \"components/Navbars/Navbar.js\";\nimport Sidebar from \"components/Sidebar/Sidebar.js\";\nimport FixedPlugin from \"components/FixedPlugin/FixedPlugin.js\";\n\nimport routes from \"routes.js\";\n\nimport styles from \"assets/jss/material-dashboard-react/layouts/adminStyle.js\";\nimport Config from \"conFig.js\";\n//import bgImage from \"assets/img/hinhdang.jpg\";\nimport logo from \"assets/img/Menu.png\";\nimport Protectedroute from \"../protectedroute.js\"; // import protectedroute component\n\nlet ps;\n\nconst useStyles = makeStyles(styles);\n\nexport default function Admin({ ...rest }) {\n const [menu, setMenu] = React.useState([]);\n const [route, setRoute] = React.useState([]);\n const sumArray = [];\n let redirect = \"\";\n if (localStorage.getItem(\"role\") === \"Admin\") {\n redirect = \"/admin/dashboard\";\n } else if (localStorage.getItem(\"role\") === \"chudautu\") {\n redirect = \"/admin/baocaoduan\";\n } else {\n redirect = \"/admin/dashboard\";\n }\n const getmenu = () => {\n var role = localStorage.getItem(\"role\");\n var url = Config.backend + \"/api/menu/getmenubyrole?role=\" + role;\n fetch(url)\n .then((res) => res.json())\n .then((data) => {\n setMenu(data);\n // Save menu into localstorage\n let menus = [];\n for (let d of data) {\n menus.push(\"/admin\" + d.path);\n }\n localStorage.setItem(\"menus\", JSON.stringify(menus));\n })\n .catch((error) => {\n console.error(\"Error fetching data: \", error);\n });\n };\n const updateroute = () => {\n routes.map((prop) => {\n menu.map((value) => {\n if (prop.path == value.path) sumArray.push(prop);\n });\n });\n setRoute(sumArray);\n };\n const switchRoutes = (\n \n {routes.map((prop, key) => {\n if (prop.layout === \"/admin\") {\n return (\n // \n // Use protected route to handle permission\n \n );\n }\n return null;\n })}\n \n \n );\n // styles\n const classes = useStyles();\n // ref to help us initialize PerfectScrollbar on windows devices\n const mainPanel = React.createRef();\n // states and functions\n //const [image, setImage] = React.useState(bgImage);\n const [color, setColor] = React.useState(\"blue\");\n const [fixedClasses, setFixedClasses] = React.useState(\"dropdown show\");\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleColorClick = (color) => {\n setColor(color);\n };\n const handleFixedClick = () => {\n if (fixedClasses === \"dropdown\") {\n setFixedClasses(\"dropdown show\");\n } else {\n setFixedClasses(\"dropdown\");\n }\n };\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const getRoute = () => {\n return window.location.pathname !== \"/admin/maps\";\n };\n const resizeFunction = () => {\n if (window.innerWidth >= 960) {\n setMobileOpen(false);\n }\n };\n React.useEffect(() => {\n getmenu();\n }, []);\n React.useEffect(() => {\n updateroute();\n }, [menu]);\n // initialize and destroy the PerfectScrollbar plugin\n React.useEffect(() => {\n if (navigator.platform.indexOf(\"Win\") > -1) {\n ps = new PerfectScrollbar(mainPanel.current, {\n suppressScrollX: true,\n suppressScrollY: false,\n });\n document.body.style.overflow = \"hidden\";\n }\n window.addEventListener(\"resize\", resizeFunction);\n // Specify how to clean up after this effect:\n return function cleanup() {\n if (navigator.platform.indexOf(\"Win\") > -1) {\n ps.destroy();\n }\n window.removeEventListener(\"resize\", resizeFunction);\n };\n }, [mainPanel]);\n return (\n
    \n \n
    \n \n {/* On the /maps route we want the map to be on full screen - this is not possible if the content and conatiner classes are present because they have some paddings which would make the map smaller */}\n {getRoute() ? (\n
    \n
    {switchRoutes}
    \n
    \n ) : (\n
    {switchRoutes}
    \n )}\n \n
    \n
    \n );\n}\n","export default __webpack_public_path__ + \"static/media/Menu.49f9a2e2.png\";","import React from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Route, Redirect } from \"react-router-dom\";\r\n\r\nexport default function protectedroute({\r\n path,\r\n component: Component,\r\n ...rest\r\n}) {\r\n const checkpermission = () => {\r\n var menus = JSON.parse(localStorage.getItem(\"menus\"));\r\n if (menus.includes(path)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n React.useEffect(() => {\r\n checkpermission();\r\n }, []);\r\n return (\r\n \r\n checkpermission() ? : \r\n }\r\n />\r\n );\r\n}\r\nprotectedroute.propTypes = {\r\n path: PropTypes.string,\r\n Component: PropTypes.func,\r\n};\r\n","import {\n primaryColor,\n dangerColor,\n successColor,\n grayColor,\n defaultFont,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst loginInputStyle = {\n disabled: {\n \"&:before\": {\n backgroundColor: \"transparent !important\",\n },\n },\n underline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: grayColor[4] + \" !important\",\n borderWidth: \"1px !important\",\n },\n \"&:after\": {\n borderColor: primaryColor[0],\n },\n },\n underlineError: {\n \"&:after\": {\n borderColor: dangerColor[0],\n },\n },\n underlineSuccess: {\n \"&:after\": {\n borderColor: successColor[0],\n },\n },\n labelRoot: {\n ...defaultFont,\n color: grayColor[3] + \" !important\",\n fontWeight: \"400\",\n fontSize: \"14px\",\n lineHeight: \"1.42857\",\n letterSpacing: \"unset\",\n },\n labelRootError: {\n color: dangerColor[0],\n },\n labelRootSuccess: {\n color: successColor[0],\n },\n feedback: {\n position: \"absolute\",\n top: \"18px\",\n right: \"0\",\n zIndex: \"2\",\n display: \"block\",\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n pointerEvents: \"none\",\n },\n marginTop: {\n marginTop: \"16px\",\n },\n formControl: {\n paddingBottom: \"10px\",\n margin: \"27px 0 0 0\",\n position: \"relative\",\n verticalAlign: \"unset\",\n },\n labelRTL: {\n right: 0,\n transition: \"all 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms\",\n \"&.MuiInputLabel-shrink\": {\n transform: \"translate(0, 1.5px)\",\n },\n },\n cardCategoryWhite: {\n color: \"rgba(255,255,255,.62)\",\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n marginBottom: \"0\",\n },\n cardTitleWhite: {\n color: \"#FFFFFF\",\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n },\n};\n\nexport default loginInputStyle;\n","import React from \"react\";\r\nimport { Route, Switch, Redirect } from \"react-router-dom\";\r\n// @material-ui/core components\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport GridItemLogin from \"components/Grid/GridItemLogin.js\";\r\nimport GridItem from \"components/Grid/GridItem.js\";\r\nimport GridContainer from \"components/Grid/GridContainer.js\";\r\nimport LoginInput from \"components/CustomInput/LoginInput.js\";\r\nimport PasswordInput from \"components/CustomInput/PasswordInput.js\";\r\nimport Button from \"components/CustomButtons/Button.js\";\r\nimport Card from \"components/Card/Card.js\";\r\nimport CardHeader from \"components/Card/CardHeader.js\";\r\nimport CardBody from \"components/Card/CardBody.js\";\r\nimport CardFooter from \"components/Card/CardFooter.js\";\r\nimport Config from \"conFig.js\";\r\nimport Snackbar from \"components/Snackbar/Snackbar.js\";\r\nimport AddAlert from \"@material-ui/icons/AddAlert\";\r\nimport PropTypes from \"prop-types\";\r\nimport Background from \"assets/img/background_login.png\";\r\nimport Admin from \"layouts/Admin.js\";\r\nimport LoadingOverlay from \"react-loading-overlay-ts\";\r\n//import Home from \"layouts/Home.js\";\r\nimport styles from \"assets/jss/material-dashboard-react/components/loginInputStyle.js\";\r\nconst useStyles = makeStyles(styles);\r\n\r\nexport default function Login(props) {\r\n const { info } = props;\r\n const [token, setToken] = React.useState(localStorage.getItem(\"token\"));\r\n const classes = useStyles();\r\n const [username, setUsername] = React.useState(null);\r\n const [password, setPassword] = React.useState(null);\r\n const [alert, setAlert] = React.useState(false);\r\n const [alert2, setAlert2] = React.useState(false);\r\n const [isActive, setActive] = React.useState(false);\r\n const checkinforedirect = () => {\r\n if (info !== undefined) {\r\n if (Object.keys(info).length > 0 && token === null) {\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"role\");\r\n localStorage.removeItem(\"name\");\r\n localStorage.removeItem(\"username\");\r\n localStorage.setItem(\"token\", info.token);\r\n localStorage.setItem(\"role\", info.role);\r\n localStorage.setItem(\"name\", info.name);\r\n localStorage.setItem(\"username\", info.username);\r\n setToken(info.token);\r\n }\r\n }\r\n };\r\n const handleButtonClicked = () => {\r\n setActive((value) => !value);\r\n setTimeout(() => setActive(false), 2000);\r\n };\r\n const loaddata = () => {\r\n handleButtonClicked();\r\n if (username && password) {\r\n var url = Config.backend + \"/api/users/authenticate\";\r\n fetch(url, {\r\n method: \"POST\",\r\n headers: {\r\n Accept: \"application/json, text/plain\",\r\n \"Content-Type\": \"application/json;charset=UTF-8\",\r\n },\r\n body: JSON.stringify({ username: username, password: password }),\r\n })\r\n .then((res) => res.json())\r\n .then((data) => {\r\n if (data.token === undefined) {\r\n showNotification2();\r\n } else {\r\n localStorage.setItem(\"token\", data.token);\r\n localStorage.setItem(\"role\", data.role);\r\n localStorage.setItem(\"name\", data.firstName);\r\n localStorage.setItem(\"username\", data.username);\r\n setToken(data.token);\r\n }\r\n })\r\n .catch((error) => {\r\n console.error(\"Error fetching data: \", error);\r\n });\r\n } else {\r\n showNotification();\r\n }\r\n };\r\n\r\n const showNotification = () => {\r\n setAlert(true);\r\n setTimeout(function () {\r\n setAlert(false);\r\n }, 6000);\r\n };\r\n const showNotification2 = () => {\r\n setAlert2(true);\r\n setTimeout(function () {\r\n setAlert2(false);\r\n }, 6000);\r\n };\r\n const setuser = (value) => {\r\n setUsername(value);\r\n };\r\n const setpass = (value) => {\r\n setPassword(value);\r\n };\r\n React.useEffect(() => {\r\n checkinforedirect();\r\n }, [info]);\r\n React.useEffect(() => {\r\n checkinforedirect();\r\n }, []);\r\n if (token !== null) {\r\n if (info !== undefined) {\r\n console.log(info.url);\r\n var url = \"/admin/\" + info.url;\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n

    \r\n QUẢN LÝ VỐN NGOÀI NGÂN SÁCH\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n setAlert(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n \r\n setAlert2(false)}\r\n close\r\n />\r\n \r\n \r\n \r\n );\r\n}\r\nLogin.propTypes = {\r\n info: PropTypes.object,\r\n};\r\n","/*!\n\n=========================================================\n* Material Dashboard React - v1.10.0\n=========================================================\n\n* Product Page: https://www.creative-tim.com/product/material-dashboard-react\n* Copyright 2021 Creative Tim (https://www.creative-tim.com)\n* Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md)\n\n* Coded by Creative Tim\n\n=========================================================\n\n* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n*/\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { BrowserRouter, Route, Switch, Redirect } from \"react-router-dom\";\n\nimport Login from \"layouts/Login.js\";\n//import Admin from \"layouts/Admin.js\";\nimport \"assets/css/material-dashboard-react.css?v=1.10.0\";\n\nReactDOM.render(\n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}