{"version":3,"sources":["component/Admin/assets/img/sidebar-4.jpg","component/Admin/AdminNavbar.tsx","component/Admin/Sidebar.tsx","component/Admin/Footer.tsx","services/CookieService.ts","component/Admin/TinTuc/ChiTietTinTuc.tsx","component/Admin/TinTuc/DanhSachTinTuc.tsx","component/Admin/TinTuc/TinTuc.tsx","component/Admin/TinTuc/NhomTinTucDetail.tsx","component/Admin/TinTuc/NhomTinTucList.tsx","component/Admin/TinTuc/NhomTinTuc.tsx","component/Admin/GioiThieu/GioiThieu.tsx","component/Admin/ThuVien/ThuVien.tsx","component/Admin/SanPham/ChiTietSanPham.tsx","component/Admin/SanPham/DanhSachSanPham.tsx","component/Admin/SanPham/SanPham.tsx","component/Admin/GioHang/ChiTietGioHang.tsx","component/Admin/GioHang/DanhSachGioHang.tsx","component/Admin/GioHang/GioHang.tsx","component/Admin/Config/GlobalConfig.tsx","component/Admin/routes.js","component/Admin/AdminHome.tsx","services/UrlService.ts","services/AccountService.ts","component/TrangChu/Header.tsx","component/login/Login.tsx","component/sign_up/SignUp.tsx","component/login/LossPass.tsx","component/login/LossPassSuccess.tsx","component/login/Active.tsx","component/user/user.tsx","component/Commons/ImageView.tsx","component/TinTuc/NewsItem.tsx","component/TinTuc/NewsList.tsx","component/Commons/ShareSocial.tsx","component/Commons/ContentView.tsx","component/Commons/LastNew.tsx","component/Commons/TopView.tsx","component/Commons/RelatedNews.tsx","component/Commons/BreadCrumbs.tsx","component/GioiThieu/GioiThieu.tsx","component/TinTuc/TinTuc.tsx","component/SanPham/ProjectFilter.tsx","component/SanPham/ProductsItem.tsx","component/SanPham/ProductsList.tsx","component/SanPham/Products.tsx","component/SanPham/ProductHeader.tsx","component/SanPham/ProductBody.tsx","component/SanPham/ProductBodyImg.tsx","component/SanPham/ProductOrder.tsx","component/SanPham/Product.tsx","component/SanPham/SanPham.tsx","component/ThuVien/ThuVien.tsx","component/LienHe/LienHe.tsx","component/Commons/ViewCommon.tsx","component/TrangChu/LastNewsFullWidth.tsx","component/TrangChu/LastNewsMaster.tsx","component/TrangChu/Banner.tsx","component/TrangChu/HomeBody.tsx","component/GioHang/GioHang.tsx","component/DonHang/DonHang.tsx","component/DonHang/ChiTietDonHang.tsx","component/Commons/RouterUrl.tsx","component/TrangChu/Footer.tsx","component/TrangChu/TrangChu.tsx","App.tsx","serviceWorker.ts","index.tsx"],"names":["module","exports","AdminNavbar","props","React","Component","Sidebar","className","data-image","this","image","data-color","color","style","backgroundImage","href","src","alt","Nav","routes","map","prop","key","redirect","upgrade","routeName","path","window","location","pathname","indexOf","to","activeClassName","onClick","replace","icon","name","Footer","cookie","Cookie","get","value","options","set","expires","Date","setTime","getTime","remove","ChiTietTinTuc","changeHandler","e","dataJs","state","target","setState","changeHTML","submitHandler","preventDefault","console","log","fetch","configData","serviceUrl","method","body","JSON","stringify","headers","Headers","CookieService","then","response","json","reload","catch","onFileChange","event","selectedFile","files","onFileUpload","formData","FormData","append","ModunName","rss","Status","Data","NameFile","imageUrl","alert","Message","fileData","type","optionGroupData","groupJs","length","item","index","ID_OGR","NAME_OGR","row","TEXT1","NO_OBJ","Form","Group","as","Row","Label","column","sm","Col","Control","size","onChange","defaultValue","NAME_OBJ","rows","NOTE","TEXT2","TEXT3","width","height","resize","Button","tools","OriginalTools","HTML","variant","DanhSachTinTuc","node","handleAddRow","ID_OTY","ID_OBJ","SHORTNAME","VISIBLE","NO_OBJP","NO_OBJ1","NO_OBJ2","NO_OBJ3","NO_OBJ4","NO_OBJ5","TEXT4","TEXT5","DATE1","toJSON","DATE2","DATE3","DATE4","DATE5","INT1","INT2","MONEY1","MONEY2","BOOL1","BOOL2","CODE","push","handleDeleteData","selectionContext","selected","confirm","forEach","element","err","message","err2","headerSortingStyle","backgroundColor","columns","dataField","text","sort","editor","Type","DATE","formatter","cell","dateObj","getUTCDate","slice","getUTCMonth","getUTCFullYear","filter","textFilter","CHECKBOX","expandRow","showExpandColumn","renderer","id","marginBottom","marginLeft","ref","n","keyField","data","hover","condensed","noDataIndication","selectRow","mode","clickToSelect","clickToExpand","defaultSorted","order","filterFactory","pagination","paginationFactory","wrapperClasses","TinTuc","values","queryString","parse","search","m","rs","Container","NhomTinTucDetail","NhomTinTucList","ID_OGRP","GROUP_OGR","ORDER_OGR","ID_OGR2","ID_ID_OGR","validator","newValue","valid","cellEdit","cellEditFactory","autoSelectText","blurToSave","afterSaveCell","oldValue","clickToEdit","NhomTinTuc","GioiThieu","ChiTietSanPham","changeCheck","checked","onFileBgChange","selectedBgFile","onFileBgUpload","imageBackgroudUrl","fileBgData","TEXT7","img1","DanhSachSanPham","SanPham","ChiTietGioHang","NO_VOU","ID_VOU","readOnly","DATE_VOU","REPRESENT","ADDRESS","TOTAL_SUM","NAME_STA","DanhSachGioHang","ID_TAS","STATUS_VOU","GioHang","GlobalConfig","dateValue","ID","listOrderJson","VALUE","marginTop","Helmet","CompanyName","content","Description","action","onSubmit","htmlFor","dashboardRoutes","component","AdminTinTuc","layout","AdminNhomTinTuc","AdminGioiThieu","AdminThuVien","AdminSanPham","AdminGioHang","AdminHome","showLogin","checkLogin1","checkLogin2","sessionStorage","getItem","data-toggle","data-target","clear","sidebarImage","protocol","host","Header","Logout","UrlService","UrlRoot","lstMenu","ID_FUN","NAME_FUN","LINK","ModuleName","lstSubs","Account","Token","AccountService","Roles","fontSize","aria-haspopup","aria-expanded","aria-labelledby","includes","aria-controls","aria-label","link","toString","sub","Login","submitHandlerCall","Users","username","password","rememberMe","handleChangeUserName","bind","handleChangePassWord","handleChangeRememberMe","evt","axios","post","status","RememberLoginTime","Username","Uid","DisplayName","ClearCookie","error","placeholder","SignUp","pass2Style","register","changePass2Handler","borderColor","notice","Email","Password","Name","any","recaptchaRef","createRef","required","aria-describedby","sitekey","GoogleReCAPTCHA_SiteKey","LossPass","loss","minHeight","LossPassSuccess","Active","email","reset","buttonLogin","query","User","ho","ten","code","UserName","styleshow3","display","logOut","padding","ImageView","onError","errored","fallbackSrc","NewsItem","Module","rel","Url","ImageUrl","dataLlStatus","NgayDang","NewsList","handlePageClick","PageIndex","componentDidMount","showPage","pageCount","previousLabel","nextLabel","breakLabel","breakClassName","marginPagesDisplayed","pageRangeDisplayed","onPageChange","containerClassName","RowPerPage","LoadData","prevProps","equal","count","Math","ceil","ShareSocial","UrlCurent","data-pin-custom","MailSubject","MailBody","ContentView","renderTuKhoa","undefined","KeySign","ReactHtmlParser","LastNew","maxWidth","ImageThumbUrl","TopView","Top","RelatedNews","BreadCrumbs","itemB","Breadcrumb","Item","Link","active","IsActive","Caption","paddingTop","paddingLeft","ProjectFilter","setTimeout","li","document","getElementById","click","all","data-filter","ProductsItem","ProductsList","margin","data-aos","data-aos-delay","Products","ProductHeader","data-id","data-element_type","data-widget_type","Published","Category","Client","ProductBody","Content","ProductBodyImg","ProductOrder","setOrderProduct","curentOrder","ProductCode","ProductName","price","ProductPrice","quantity","total","orderData","localStorage","dataCookie","existProduct","setItem","testDataSet","currentOrder","listOrder","$","each","Product","pro","ImageBgUrl","LienHe","Model","CompanyAddress","CompanyEmail","CompanyPhone","border","allowfullscreen","loading","ViewCommon","dataListView","token","i","scope","STT","CustomerCode","CustomerName","Phone","Address","refreshPage","role","detailKey","show","LastNewsFullWidth","lstContent","Title","LINK_GROUP","LINK_NEW","Ngay","Subs","LastNewsMaster","lstGroup","Banner","HomeBody","Sologan","LastNewsModule","deleteProduct","addOrder","removeItem","backProduct","rowIndex","parents","orderDataNew","splice","data-placement","title","priceFormatter","parseInt","toLocaleString","editable","editorStyle","isNaN","isDummyField","csvExport","actionsFormatter","formatExtraData","paddingBottom","lg","md","rowStyle","displayType","thousandSeparator","suffix","DonHang","ChiTietDonHang","orderDetail","moment","DATE_SYS","format","Receiver","DeliveryAddress","StatusText","RouterUrl","exact","TrangChu","ThuVien","Copyrights","App","startsWith","Boolean","hostname","match","render","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.43adce38.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/sidebar-4.7bc259fd.jpg\";","import React from 'react';\r\n\r\nclass AdminNavbar extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n render(){\r\n return (\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\nexport default AdminNavbar;\r\n"," \r\nimport React, { Component } from \"react\";\r\nimport { useLocation, NavLink, BrowserRouter } from \"react-router-dom\";\r\nimport queryString from 'query-string';\r\nimport { Nav } from \"react-bootstrap\";\r\n\r\n \r\n\r\n\r\nclass Sidebar extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n \r\n componentWillMount() {\r\n // axios commands to get navigation bar setting it newpage state\r\n \r\n }\r\n render(){\r\n\r\n \r\n const activeRoute = (routeName) => {\r\n return window.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"\";\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\nexport default Sidebar;\r\n","import React from 'react';\r\n\r\nclass Footer extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n render(){\r\n return (\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\nexport default Footer;\r\n","import Cookie from \"universal-cookie\";\r\n\r\nconst cookie = new Cookie();\r\n\r\nclass CookieService {\r\n get(key: string) {\r\n return cookie.get(key);\r\n }\r\n\r\n set(key: string, value: string, options: object) {\r\n cookie.set(key, value, options);\r\n }\r\n setForever(key: string, value: string) {\r\n let expires = new Date();\r\n let options= { path: '/', expires};\r\n expires.setTime(expires.getTime() + 2147483647);\r\n cookie.set(key, value, options);\r\n }\r\n \r\n remove(key: string) {\r\n cookie.remove(key);\r\n }\r\n}\r\n\r\nexport default new CookieService();","import axios from 'axios';\r\nimport React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport ImageView from '../../Commons/ImageView';\r\n\r\nimport { Editor, OriginalTools } from 'react-bootstrap-editor';\r\nimport { Container, Row,Col, Form, Button } from 'react-bootstrap';\r\n\r\n\r\nclass ChiTietTinTuc extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n dataJs: {},\r\n imageUrl:props.row.TEXT1,\r\n selectedFile: null\r\n }\r\n }\r\n componentDidMount() {\r\n \r\n \r\n\r\n if(this.props.NO_OBJ===0)\r\n {\r\n this.setState({\r\n dataJs: this.props.row\r\n });\r\n }\r\n else\r\n {\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/ObjectDetail?NO_OBJ='+this.props.NO_OBJ,\r\n {headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n })}\r\n \r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n //console.log(dataJs);\r\n this.setState({\r\n dataJs: dataJs.Data\r\n });\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n }\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n changeHandler=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[e.target.name]= e.target.value;\r\n this.setState({dataJs: dataJs});\r\n }\r\n changeHTML=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[\"HTML\"]= e;\r\n this.setState({dataJs: dataJs});\r\n }\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n console.log(this.state.dataJs);\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/ObjectDetail',\r\n {\r\n method: 'POST' ,\r\n body: JSON.stringify(this.state.dataJs),\r\n headers: new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") ,\r\n 'Content-Type' : 'application/json'\r\n })\r\n \r\n }\r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n \r\n // if(this.state.dataJs.NO_OBJ===0)\r\n {\r\n window.location.reload();\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n \r\n // On file select (from the pop up)\r\n onFileChange = event => {\r\n \r\n // Update the state\r\n this.setState({ selectedFile: event.target.files[0] });\r\n \r\n };\r\n // On file upload (click the upload button)\r\n onFileUpload = () => {\r\n \r\n \r\n // Create an object of formData\r\n const formData = new FormData();\r\n \r\n // Update the formData object\r\n formData.append(\r\n \"files\",\r\n this.state.selectedFile\r\n );\r\n\r\n // Details of the uploaded file\r\n console.log(this.state.selectedFile);\r\n\r\n // Request made to the backend api\r\n // Send formData object\r\n\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/Upload?ModunName='+ this.props.ModunName,\r\n {\r\n method: 'POST' ,\r\n body: formData,\r\n headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n \r\n })\r\n }\r\n \r\n )\r\n .then(response => response.json())\r\n .then(rss => {\r\n if(rss.Status===200)\r\n {\r\n let dataJs = this.state.dataJs;\r\n dataJs[\"TEXT1\"]= rss.Data.NameFile;\r\n \r\n this.setState({dataJs: dataJs, imageUrl: rss.Data.NameFile});\r\n alert(\"Upload xong!\");\r\n }\r\n else\r\n {\r\n alert(\"Upload lỗi: \" + rss.Message);\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n \r\n };\r\n // file upload is complete\r\n fileData = () => {\r\n \r\n if (this.state.selectedFile) {\r\n \r\n return (\r\n
\r\n

Chi tiết file:

\r\n \r\n

File Name: {this.state.selectedFile.name}

\r\n

File Type: {this.state.selectedFile.type}

\r\n
\r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n

Chọn file để upload

\r\n
\r\n );\r\n }\r\n };\r\n\r\n optionGroupData = () => {\r\n \r\n if (this.props.groupJs.length > 0 ) {\r\n \r\n return (\r\n <>\r\n {\r\n this.props.groupJs.map((item: any, index: number) => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n render(){\r\n\r\n const img1 = {\r\n width : '130px',\r\n height : '105px',\r\n resize : 'both'\r\n } as const;\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n Nhóm\r\n \r\n \r\n {this.optionGroupData()}\r\n \r\n \r\n \r\n \r\n Tiêu đề\r\n \r\n \r\n\r\n \r\n Tóm tắt\r\n \r\n \r\n \r\n Từ khóa\r\n \r\n \r\n \r\n Tác giả\r\n \r\n \r\n \r\n \r\n Ảnh đại diện\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.fileData()}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ChiTietTinTuc;\r\n","import React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport cellEditFactory , { Type } from 'react-bootstrap-table2-editor';\r\nimport { Button } from 'react-bootstrap';\r\nimport filterFactory, { textFilter } from 'react-bootstrap-table2-filter';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport '../../home/styleAdminPage.css';\r\nimport TreeListObjectGroup from '../Share/TreeListObjectGroup'\r\nimport ChiTietTinTuc from './ChiTietTinTuc'\r\n\r\nclass DanhSachTinTuc extends React.Component {\r\n\tnode: any;\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tgroupJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/Admin/GetObject?ID_OTY='+ this.props.ID_OTY ,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n\r\n\t\t\tfetch(\r\n\t\t\t\tconfigData.serviceUrl+ '/api/Admin/GetObjectGroupList?ID_OTY='+ this.props.ID_OTY ,\r\n\t\t\t\t{headers:new Headers ({\r\n\t\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n\t\t\t\t\t'Authorization' : CookieService.get(\"access_token\") \r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t) \r\n\t\t\t\t.then(response => response.json())\r\n\t\t\t\t.then(groupJs => {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tgroupJs: groupJs.Data\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(e => {\r\n\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t});\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t\r\n\t}\r\n\r\n\thandleAddRow = () => {\r\n\t\t \r\n\t\tvar row = {\r\n\t\t\tNO_OBJ: 0,\r\n\t\t\tID_OTY: this.props.ID_OTY,\r\n\t\t\tID_OBJ:\"\",\r\n\t\t\tNAME_OBJ: \" \",\r\n\t\t\tSHORTNAME: \"\",\r\n\t\t\tNOTE: \"\",\r\n\t\t\tVISIBLE: true,\r\n\t\t\tNO_OBJP: null,\r\n\t\t\tID_OGR: null,\r\n\t\t\tNAME_OGR:\"\",\r\n\t\t\tNO_OBJ1: null,\r\n\t\t\tNO_OBJ2: null,\r\n\t\t\tNO_OBJ3: null,\r\n\t\t\tNO_OBJ4: null,\r\n\t\t\tNO_OBJ5: null,\r\n\t\t\tTEXT1: \"\",\r\n\t\t\tTEXT2: \"\",\r\n\t\t\tTEXT3: \"\",\r\n\t\t\tTEXT4: \"\",\r\n\t\t\tTEXT5: \"\",\r\n\t\t\tDATE1: new Date().toJSON(),\r\n\t\t\tDATE2: null,\r\n\t\t\tDATE3: null,\r\n\t\t\tDATE4: null,\r\n\t\t\tDATE5: null,\r\n\t\t\tINT1: null,\r\n\t\t\tINT2: null,\r\n\t\t\tMONEY1: null,\r\n\t\t\tMONEY2: null,\r\n\t\t\tBOOL1: null,\r\n\t\t\tBOOL2: null,\r\n\t\t\tCODE: \"\"\r\n\t\t}\r\n\t\tthis.state.dataJs.push(row);\r\n\t\tthis.setState({\r\n\t\t\tdataJs: this.state.dataJs\r\n\t\t});\r\n\t}\r\n\r\n\thandleDeleteData = () => {\r\n\t\ttry{\r\n if(this.node.selectionContext.selected.length>0)\r\n\t\t {\r\n\t\t\tvar result = window.confirm(\"Có đồng ý xóa \"+ this.node.selectionContext.selected.length + \" dòng đang chọn?\");\r\n\t\t\tif (result) {\r\n\t\t\t \r\n\t\t\t\t this.node.selectionContext.selected.forEach(element => \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttry{\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tfetch(\r\n\t\t\t\t\t\t\t\tconfigData.serviceUrl+ '/api/Admin/ObjectDetail',\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tmethod: 'DELETE' ,\r\n\t\t\t\t\t\t\t\t\tbody: '{ \"NO_OBJ\": __VL__ }'.replace(\"__VL__\",element),\r\n\t\t\t\t\t\t\t\t\theaders: new Headers ({\r\n\t\t\t\t\t\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n\t\t\t\t\t\t\t\t\t'Authorization' : CookieService.get(\"access_token\") ,\r\n\t\t\t\t\t\t\t\t\t'Content-Type' : 'application/json'\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t) \r\n\t\t\t\t\t\t\t\t.then(response => response.json())\r\n\t\t\t\t\t\t\t\t.then(dataJs => {\r\n\t\t\t\t\t\t\t\t\t//console.log(dataJs);\r\n\t\t\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.catch(e => {\r\n\t\t\t\t\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch(err) {\r\n\t\t\t\t\t\t\tconsole.log(\"Lỗi xóa: \"+err.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n \r\n\t\t\t\t\t//window.location.reload();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t }\r\n\t\t}\r\n\t\tcatch(err2) {\r\n\t\t\tconsole.log(\"Lỗi xóa dữ liệu: \"+err2.message);\r\n\t\t}\r\n\t}\r\n\r\n render(){\r\n \r\n\t\tconst btn1 = {\r\n\t\t\twidth : '100px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n\t\t const btn2 = {\r\n\t\t\twidth : '100px',\r\n\t\t\tmarginLeft : '5px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n const btn3 = {\r\n\t\t\twidth : '200px',\r\n\t\t\tmarginLeft : '5px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n\r\n\t\tconst headerSortingStyle = { backgroundColor: '#c8e6c9' };\r\n\r\n\t\tconst columns = [\r\n {\r\n dataField: 'DATE1',\r\n text: 'Ngày đăng',\r\n sort: true,\r\n\t\t\t headerSortingStyle,\r\n editor: {\r\n type: Type.DATE\r\n },\r\n formatter: (cell) => {\r\n let dateObj = cell;\r\n if (typeof cell !== 'object') {\r\n dateObj = new Date(cell);\r\n }\r\n return `${('0' + dateObj.getUTCDate()).slice(-2)}/${('0' + (dateObj.getUTCMonth() + 1)).slice(-2)}/${dateObj.getUTCFullYear()}`;\r\n }\r\n },\r\n {\r\n\t\t\tdataField: 'NAME_OBJ',\r\n\t\t\ttext: 'Tiêu đề',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t },\r\n\t\t {\r\n\t\t\tdataField: 'NAME_OGR',\r\n\t\t\ttext: 'Nhóm',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'TEXT3',\r\n\t\t\ttext: 'Tác giả'\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'VISIBLE',\r\n\t\t\ttext: 'Hiển thị?',\r\n\t\t\tsort: true,\r\n\t\t\ttype: 'bool',\r\n\t\t\teditor: {\r\n\t\t\t\ttype: Type.CHECKBOX,\r\n\t\t\t\tvalue: 'true:false'\r\n\t\t\t }\r\n\t\t }\r\n\t\t];\r\n\r\n\t\tconst defaultSorted = [{\r\n\t\t\tdataField: 'DATE1',\r\n\t\t\torder: 'desc'\r\n\t\t }];\r\n\r\n\t\t const expandRow = {\r\n\t\t\tshowExpandColumn: true,\r\n\t\t\trenderer: row => (\r\n\t\t\t
\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t
\r\n\t\t\t)\r\n\t\t };\r\n\r\n return (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n this.node = n }\r\n\t\t\t\t\t\tkeyField='NO_OBJ' \r\n\t\t\t\t\t\tdata={this.state.dataJs} \r\n\t\t\t\t\t\tcolumns={ columns } \r\n\t\t\t\t\t\thover\r\n\t\t\t\t\t\tcondensed\r\n\t\t\t\t\t\tnoDataIndication=\"Chưa có dữ liệu\"\r\n\t\t\t\t\t\tselectRow={ { mode: 'radio', clickToSelect: true , clickToExpand: true } }\r\n\t\t\t\t\t\tdefaultSorted={ defaultSorted } \r\n filter={ filterFactory() }\r\n pagination={ paginationFactory() }\r\n wrapperClasses=\"table-responsive\"\r\n\t\t\t\t\t\texpandRow={ expandRow }\r\n\t\t\t\t\t />\r\n\t\t\t\t
\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default DanhSachTinTuc;\r\n","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\n//import '../../home/Home.css';\r\n//import '../../home/stylePage.css'; \r\n\r\nimport DanhSachTinTuc from './DanhSachTinTuc'\r\n\r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\n\r\n\r\nclass TinTuc extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9001,\r\n ID_OGR: 0,\r\n NO_OBJ: 0\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= \r\n }\r\n else \r\n {\r\n rs= \r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default TinTuc;\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport ImageView from '../../Commons/ImageView';\r\n\r\nimport { Editor, OriginalTools } from 'react-bootstrap-editor';\r\nimport { Container, Row,Col, Form, Button } from 'react-bootstrap';\r\n\r\n\r\nclass NhomTinTucDetail extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n dataJs: {},\r\n imageUrl:'',\r\n selectedFile: null\r\n }\r\n }\r\n componentDidMount() {\r\n \r\n this.setState({\r\n dataJs: this.props.row,\r\n imageUrl: this.props.row['ID_OGR']+\"_bgr.png\"\r\n });\r\n \r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n \r\n // On file select (from the pop up)\r\n onFileChange = event => {\r\n \r\n // Update the state\r\n this.setState({ selectedFile: event.target.files[0] });\r\n \r\n };\r\n // On file upload (click the upload button)\r\n onFileUpload = () => {\r\n \r\n \r\n // Create an object of formData\r\n const formData = new FormData();\r\n \r\n // Update the formData object\r\n formData.append(\r\n \"files\",\r\n this.state.selectedFile\r\n );\r\n\r\n // Details of the uploaded file\r\n console.log(this.state.selectedFile);\r\n\r\n // Request made to the backend api\r\n // Send formData object\r\n\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/UploadEx?ModunName='+ this.props.ModunName+'&DestFileName='+this.props.row['ID_OGR']+'_bgr.png',\r\n {\r\n method: 'POST' ,\r\n body: formData,\r\n headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n \r\n })\r\n }\r\n \r\n )\r\n .then(response => response.json())\r\n .then(rss => {\r\n if(rss.Status===200)\r\n {\r\n this.setState({imageUrl: this.props.row['ID_OGR']+\"_bgr.png\"});\r\n alert(\"Upload xong!\");\r\n }\r\n else\r\n {\r\n alert(\"Upload lỗi: \" + rss.Message);\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n \r\n };\r\n // file upload is complete\r\n fileData = () => {\r\n \r\n if (this.state.selectedFile) {\r\n \r\n return (\r\n
\r\n

Chi tiết file:

\r\n \r\n

File Name: {this.state.selectedFile.name}

\r\n

File Type: {this.state.selectedFile.type}

\r\n
\r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n

Chọn file để upload

\r\n
\r\n );\r\n }\r\n };\r\n\r\n \r\n\r\n render(){\r\n\r\n const img1 = {\r\n width : '130px',\r\n height : '105px',\r\n resize : 'both'\r\n } as const;\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n Ảnh đại diện\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.fileData()}\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default NhomTinTucDetail;\r\n","import React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport cellEditFactory , { Type } from 'react-bootstrap-table2-editor';\r\nimport { Button } from 'react-bootstrap';\r\nimport NhomTinTucDetail from './NhomTinTucDetail'\r\n\r\n\r\nclass NhomTinTucList extends React.Component {\r\n\tnode: any;\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/Admin/GetObjectGroupList?ID_OTY='+ this.props.ID_OTY ,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t\r\n\t}\r\n\r\n\thandleAddRow = () => {\r\n\t\t \r\n\t\tvar row = {\r\n\t\t\tID_OGR: 0,\r\n\t\t\tID_OGRP: null,\r\n\t\t\tID_OTY: this.props.ID_OTY,\r\n\t\t\tNAME_OGR: \" \",\r\n\t\t\tGROUP_OGR: 0,\r\n\t\t\tVISIBLE: true,\r\n\t\t\tCODE: \"\",\r\n\t\t\tORDER_OGR: 0,\r\n\t\t\tID_OGR2: null,\r\n\t\t\tID_ID_OGR: null\r\n\t\t}\r\n\t\tthis.state.dataJs.push(row);\r\n\t\tthis.setState({\r\n\t\t\tdataJs: this.state.dataJs\r\n\t\t});\r\n\t}\r\n\r\n\thandleDeleteData = () => {\r\n\t\ttry{\r\n if(this.node.selectionContext.selected.length>0)\r\n\t\t {\r\n\t\t\tvar result = window.confirm(\"Có đồng ý xóa \"+ this.node.selectionContext.selected.length + \" dòng đang chọn?\");\r\n\t\t\tif (result) {\r\n\t\t\t \r\n\t\t\t\t this.node.selectionContext.selected.forEach(element => \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttry{\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tfetch(\r\n\t\t\t\t\t\t\t\tconfigData.serviceUrl+ '/api/Admin/ObjectGroupDetail',\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tmethod: 'DELETE' ,\r\n\t\t\t\t\t\t\t\t\tbody: '{ \"ID_OGR\": __VL__ }'.replace(\"__VL__\",element),\r\n\t\t\t\t\t\t\t\t\theaders: new Headers ({\r\n\t\t\t\t\t\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n\t\t\t\t\t\t\t\t\t'Authorization' : CookieService.get(\"access_token\") ,\r\n\t\t\t\t\t\t\t\t\t'Content-Type' : 'application/json'\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t) \r\n\t\t\t\t\t\t\t\t.then(response => response.json())\r\n\t\t\t\t\t\t\t\t.then(dataJs => {\r\n\t\t\t\t\t\t\t\t\t//console.log(dataJs);\r\n\t\t\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.catch(e => {\r\n\t\t\t\t\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch(err) {\r\n\t\t\t\t\t\t\tconsole.log(\"Lỗi xóa: \"+err.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n \r\n\t\t\t\t\t//window.location.reload();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t }\r\n\t\t}\r\n\t\tcatch(err) {\r\n\t\t\tconsole.log(\"Lỗi xóa dữ liệu: \"+err.message);\r\n\t\t}\r\n\t}\r\n\r\n render(){\r\n \r\n\t\tconst btn1 = {\r\n\t\t\twidth : '100px'\r\n\t\t } as const;\r\n\t\t const btn2 = {\r\n\t\t\twidth : '200px',\r\n\t\t\tmarginLeft : '10px'\r\n\t\t } as const;\r\n\r\n\t\tconst headerSortingStyle = { backgroundColor: '#c8e6c9' };\r\n\r\n\t\tconst columns = [{\r\n\t\t\tdataField: 'NAME_OGR',\r\n\t\t\ttext: 'Tên',\r\n\t\t\tsort: true,\r\n\t\t\tvalidator: (newValue, row, column) => {\r\n\t\t\t\tif (!newValue) {\r\n\t\t\t\t return {\r\n\t\t\t\t\tvalid: false,\r\n\t\t\t\t\tmessage: 'Bắt buộc nhập giá trị'\r\n\t\t\t\t };\r\n\t\t\t\t}\r\n\t\t\t\t \r\n\t\t\t\treturn true;\r\n\t\t\t }\r\n\t\t\t ,headerSortingStyle\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'CODE',\r\n\t\t\ttext: 'Mã code'\r\n\t\t }\r\n\t\t ,{\r\n\t\t\t dataField:'ORDER_OGR',\r\n\t\t\t text:'Thứ tự',\r\n\t\t\t type: 'number',\r\n\t\t\t sort: true,\r\n\t\t\t headerSortingStyle\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'VISIBLE',\r\n\t\t\ttext: 'Hiển thị?',\r\n\t\t\tsort: true,\r\n\t\t\ttype: 'bool',\r\n\t\t\teditor: {\r\n\t\t\t\ttype: Type.CHECKBOX,\r\n\t\t\t\tvalue: 'true:false'\r\n\t\t\t }\r\n\t\t }\r\n\t\t];\r\n \r\n\t\t\r\n\r\n\t\tfunction beforeSaveCell(oldValue, newValue, row, column, done) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tdone(true);\r\n\t\t\t\t//console.log(\"Trước khi lưu\");\r\n\t\t\t //if (confirm('Do you want to accep this change?')) {\r\n\t\t\t//\tdone(true);\r\n\t\t\t //} else {\r\n\t\t\t//\tdone(false);\r\n\t\t\t // }\r\n\t\t\t}, 0);\r\n\t\t\treturn { async: true };\r\n\t\t}\r\n\r\n\t\tfunction afterSaveCell(oldValue, newValue, row, column) {\r\n\t\t\t//console.log(row);\r\n\t\t\t//console.log(column);\r\n\t\t\ttry{\r\n\t\t\t\t \r\n\t\t\t\tfetch(\r\n\t\t\t\t\tconfigData.serviceUrl+ '/api/Admin/ObjectGroupDetail',\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmethod: 'POST' ,\r\n\t\t\t\t\t\tbody: JSON.stringify(row),\r\n\t\t\t\t\t\theaders: new Headers ({\r\n\t\t\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n\t\t\t\t\t\t'Authorization' : CookieService.get(\"access_token\") ,\r\n\t\t\t\t\t\t'Content-Type' : 'application/json'\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\r\n\t\t\t\t }\r\n\t\t\t\t) \r\n\t\t\t\t\t.then(response => response.json())\r\n\t\t\t\t\t.then(dataJs => {\r\n\t\t\t\t\t\t//console.log(dataJs);\r\n\t\t\t\t\t\tif(row.ID_OGR===0)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(e => {\r\n\t\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcatch(err) {\r\n\t\t\t\tconsole.log(\"Lỗi lưu: \"+err.message);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst defaultSorted = [{\r\n\t\t\tdataField: 'ORDER_OGR',\r\n\t\t\torder: 'asc'\r\n\t\t }];\r\n\r\n\t\t const expandRow = {\r\n\t\t\tshowExpandColumn: true,\r\n\t\t\trenderer: row => (\r\n\t\t\t
\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t
\r\n\t\t\t)\r\n\t\t };\r\n\r\n return (\r\n\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n this.node = n }\r\n\t\t\t\t\t\tkeyField='ID_OGR' \r\n\t\t\t\t\t\tdata={this.state.dataJs} \r\n\t\t\t\t\t\tcolumns={ columns } \r\n\t\t\t\t\t\thover\r\n\t\t\t\t\t\tcondensed\r\n\t\t\t\t\t\tnoDataIndication=\"Chưa có dữ liệu\"\r\n\t\t\t\t\t\tcellEdit={ cellEditFactory({\r\n\t\t\t\t\t\t\tmode: 'dbclick',\r\n\t\t\t\t\t\t\tautoSelectText: true,\r\n\t\t\t\t\t\t\tblurToSave: true\r\n\t\t\t\t\t\t\t,afterSaveCell\r\n\t\t\t\t\t\t}) }\r\n\t\t\t\t\t\tselectRow={ { mode: 'radio', clickToSelect: true,clickToEdit: true } }\r\n\t\t\t\t\t\tdefaultSorted={ defaultSorted } \r\n\t\t\t\t\t\texpandRow={ expandRow }\r\n\t\t\t\t\t />\r\n\t\t\t\t
\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default NhomTinTucList;\r\n","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\n//import '../../home/Home.css';\r\n//import '../../home/stylePage.css'; \r\n\r\nimport NhomTinTucList from './NhomTinTucList'\r\n\r\nimport queryString from 'query-string';\r\nimport { Col, Container, Row } from 'react-bootstrap';\r\n \r\n \r\n\r\nclass NhomTinTuc extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9001 \r\n \r\n }\r\n }\r\n componentDidMount() {\r\n \r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\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\nexport default NhomTinTuc;\r\n","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\n//import '../../home/Home.css';\r\n//import '../../home/stylePage.css'; \r\n\r\nimport DanhSachTinTuc from '../TinTuc/DanhSachTinTuc'\r\n\r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\n\r\n\r\nclass GioiThieu extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9010,\r\n ID_OGR: 0,\r\n NO_OBJ: 0\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= \r\n }\r\n else \r\n {\r\n rs= \r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default GioiThieu;\r\n","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\n//import '../../home/Home.css';\r\n//import '../../home/stylePage.css'; \r\n\r\nimport DanhSachTinTuc from '../TinTuc/DanhSachTinTuc'\r\n\r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\n\r\n\r\nclass GioiThieu extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9007,\r\n ID_OGR: 0,\r\n NO_OBJ: 0\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= \r\n }\r\n else \r\n {\r\n rs= \r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default GioiThieu;\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport ImageView from '../../Commons/ImageView';\r\n\r\nimport { Editor, OriginalTools } from 'react-bootstrap-editor';\r\nimport { Container, Row,Col, Form, Button } from 'react-bootstrap';\r\n\r\n\r\nclass ChiTietSanPham extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n dataJs: {},\r\n imageUrl:props.row.TEXT1,\r\n imageBackgroudUrl: props.row.TEXT7,\r\n selectedFile: null,\r\n selectedBgFile:null\r\n }\r\n }\r\n componentDidMount() {\r\n \r\n \r\n\r\n if(this.props.NO_OBJ===0)\r\n {\r\n this.setState({\r\n dataJs: this.props.row\r\n });\r\n }\r\n else\r\n {\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/ObjectDetail?NO_OBJ='+this.props.NO_OBJ,\r\n {headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n })}\r\n \r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n //console.log(dataJs);\r\n this.setState({\r\n dataJs: dataJs.Data\r\n });\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n }\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n changeHandler=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[e.target.name]= e.target.value;\r\n this.setState({dataJs: dataJs});\r\n }\r\n changeCheck=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[e.target.name]= e.target.checked;\r\n this.setState({dataJs: dataJs});\r\n }\r\n changeHTML=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[\"HTML\"]= e;\r\n this.setState({dataJs: dataJs});\r\n }\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n console.log(this.state.dataJs);\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/ObjectDetail',\r\n {\r\n method: 'POST' ,\r\n body: JSON.stringify(this.state.dataJs),\r\n headers: new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") ,\r\n 'Content-Type' : 'application/json'\r\n })\r\n \r\n }\r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n \r\n // if(this.state.dataJs.NO_OBJ===0)\r\n {\r\n window.location.reload();\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n \r\n // On file select (from the pop up)\r\n onFileChange = event => {\r\n \r\n // Update the state\r\n this.setState({ selectedFile: event.target.files[0] });\r\n \r\n };\r\n onFileBgChange = event => {\r\n \r\n // Update the state\r\n this.setState({ selectedBgFile: event.target.files[0] });\r\n \r\n };\r\n // On file upload (click the upload button)\r\n onFileUpload = () => {\r\n const formData = new FormData();\r\n // Update the formData object\r\n formData.append(\r\n \"files\",\r\n this.state.selectedFile\r\n );\r\n // Details of the uploaded file\r\n console.log(this.state.selectedFile);\r\n // Request made to the backend api\r\n // Send formData object\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/Upload?ModunName='+ this.props.ModunName,\r\n {\r\n method: 'POST' ,\r\n body: formData,\r\n headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n \r\n })\r\n }\r\n \r\n )\r\n .then(response => response.json())\r\n .then(rss => {\r\n if(rss.Status===200)\r\n {\r\n let dataJs = this.state.dataJs;\r\n dataJs[\"TEXT1\"]= rss.Data.NameFile;\r\n this.setState({dataJs: dataJs, imageUrl: rss.Data.NameFile});\r\n alert(\"Upload xong!\");\r\n }\r\n else\r\n {\r\n alert(\"Upload lỗi: \" + rss.Message);\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n \r\n };\r\n onFileBgUpload = () => {\r\n const formData = new FormData();\r\n // Update the formData object\r\n formData.append(\r\n \"files\",\r\n this.state.selectedBgFile\r\n );\r\n // Details of the uploaded file\r\n console.log(this.state.selectedBgFile);\r\n // Request made to the backend api\r\n // Send formData object\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/Upload?ModunName='+ this.props.ModunName,\r\n {\r\n method: 'POST' ,\r\n body: formData,\r\n headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n \r\n })\r\n }\r\n \r\n )\r\n .then(response => response.json())\r\n .then(rss => {\r\n if(rss.Status===200)\r\n {\r\n let dataJs = this.state.dataJs;\r\n dataJs[\"TEXT7\"]= rss.Data.NameFile;\r\n this.setState({dataJs: dataJs, imageBackgroudUrl: rss.Data.NameFile});\r\n alert(\"Upload xong!\");\r\n }\r\n else\r\n {\r\n alert(\"Upload lỗi: \" + rss.Message);\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n \r\n };\r\n // file upload is complete\r\n fileData = () => {\r\n \r\n if (this.state.selectedFile) {\r\n \r\n return (\r\n
\r\n

Chi tiết file:

\r\n \r\n

File Name: {this.state.selectedFile.name}

\r\n

File Type: {this.state.selectedFile.type}

\r\n
\r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n

Chọn file để upload

\r\n
\r\n );\r\n }\r\n };\r\n fileBgData = () => {\r\n \r\n if (this.state.selectedBgFile) {\r\n \r\n return (\r\n
\r\n

Chi tiết file:

\r\n \r\n

File Name: {this.state.selectedBgFile.name}

\r\n

File Type: {this.state.selectedBgFile.type}

\r\n
\r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n

Chọn file để upload

\r\n
\r\n );\r\n }\r\n };\r\n optionGroupData = () => {\r\n \r\n if (this.props.groupJs.length > 0 ) {\r\n \r\n return (\r\n <>\r\n {\r\n this.props.groupJs.map((item: any, index: number) => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n render(){\r\n\r\n const img1 = {\r\n width : '130px',\r\n height : '105px',\r\n resize : 'both'\r\n } as const;\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n Danh mục\r\n \r\n \r\n {this.optionGroupData()}\r\n \r\n \r\n \r\n \r\n Mã sản phẩm\r\n \r\n \r\n \r\n Tên sản phẩm\r\n \r\n \r\n\r\n \r\n Tóm tắt\r\n \r\n \r\n \r\n Từ khóa\r\n \r\n \r\n \r\n Giá chuẩn\r\n \r\n \r\n \r\n \r\n Ảnh đại diện\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.fileData()}\r\n \r\n
\r\n \r\n Ảnh nền\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.fileBgData()}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ChiTietSanPham;\r\n","import React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport cellEditFactory , { Type } from 'react-bootstrap-table2-editor';\r\nimport { Button } from 'react-bootstrap';\r\nimport filterFactory, { textFilter } from 'react-bootstrap-table2-filter';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport '../../home/styleAdminPage.css';\r\nimport TreeListObjectGroup from '../Share/TreeListObjectGroup'\r\nimport ChiTietSanPham from './ChiTietSanPham'\r\n\r\nclass DanhSachSanPham extends React.Component {\r\n\tnode: any;\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tgroupJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/Admin/GetObject?ID_OTY='+ this.props.ID_OTY ,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n\r\n\t\t\tfetch(\r\n\t\t\t\tconfigData.serviceUrl+ '/api/Admin/GetObjectGroupList?ID_OTY='+ this.props.ID_OTY ,\r\n\t\t\t\t{headers:new Headers ({\r\n\t\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n\t\t\t\t\t'Authorization' : CookieService.get(\"access_token\") \r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t) \r\n\t\t\t\t.then(response => response.json())\r\n\t\t\t\t.then(groupJs => {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tgroupJs: groupJs.Data\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(e => {\r\n\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t});\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t\r\n\t}\r\n\r\n\thandleAddRow = () => {\r\n\t\t \r\n\t\tvar row = {\r\n\t\t\tNO_OBJ: 0,\r\n\t\t\tID_OTY: this.props.ID_OTY,\r\n\t\t\tID_OBJ:\"\",\r\n\t\t\tNAME_OBJ: \" \",\r\n\t\t\tSHORTNAME: \"\",\r\n\t\t\tNOTE: \"\",\r\n\t\t\tVISIBLE: true,\r\n\t\t\tNO_OBJP: null,\r\n\t\t\tID_OGR: null,\r\n\t\t\tNAME_OGR:\"\",\r\n\t\t\tNO_OBJ1: null,\r\n\t\t\tNO_OBJ2: null,\r\n\t\t\tNO_OBJ3: null,\r\n\t\t\tNO_OBJ4: null,\r\n\t\t\tNO_OBJ5: null,\r\n\t\t\tTEXT1: \"\",\r\n\t\t\tTEXT2: \"\",\r\n\t\t\tTEXT3: \"\",\r\n\t\t\tTEXT4: \"\",\r\n\t\t\tTEXT5: \"\",\r\n\t\t\tTEXT7:\"\",\r\n\t\t\tDATE1: null,\r\n\t\t\tDATE2: null,\r\n\t\t\tDATE3: null,\r\n\t\t\tDATE4: null,\r\n\t\t\tDATE5: null,\r\n\t\t\tINT1: null,\r\n\t\t\tINT2: null,\r\n\t\t\tMONEY1: null,\r\n\t\t\tMONEY2: null,\r\n\t\t\tBOOL1: null,\r\n\t\t\tBOOL2: null,\r\n\t\t\tCODE: \"\"\r\n\t\t}\r\n\t\tthis.state.dataJs.push(row);\r\n\t\tthis.setState({\r\n\t\t\tdataJs: this.state.dataJs\r\n\t\t});\r\n\t}\r\n\r\n\thandleDeleteData = () => {\r\n\t\ttry{\r\n if(this.node.selectionContext.selected.length>0)\r\n\t\t {\r\n\t\t\tvar result = window.confirm(\"Có đồng ý xóa \"+ this.node.selectionContext.selected.length + \" dòng đang chọn?\");\r\n\t\t\tif (result) {\r\n\t\t\t \r\n\t\t\t\t this.node.selectionContext.selected.forEach(element => \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttry{\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\tfetch(\r\n\t\t\t\t\t\t\t\tconfigData.serviceUrl+ '/api/Admin/ObjectDetail',\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tmethod: 'DELETE' ,\r\n\t\t\t\t\t\t\t\t\tbody: '{ \"NO_OBJ\": __VL__ }'.replace(\"__VL__\",element),\r\n\t\t\t\t\t\t\t\t\theaders: new Headers ({\r\n\t\t\t\t\t\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n\t\t\t\t\t\t\t\t\t'Authorization' : CookieService.get(\"access_token\") ,\r\n\t\t\t\t\t\t\t\t\t'Content-Type' : 'application/json'\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t) \r\n\t\t\t\t\t\t\t\t.then(response => response.json())\r\n\t\t\t\t\t\t\t\t.then(dataJs => {\r\n\t\t\t\t\t\t\t\t\t//console.log(dataJs);\r\n\t\t\t\t\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t.catch(e => {\r\n\t\t\t\t\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch(err) {\r\n\t\t\t\t\t\t\tconsole.log(\"Lỗi xóa: \"+err.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n \r\n\t\t\t\t\t//window.location.reload();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t }\r\n\t\t}\r\n\t\tcatch(err2) {\r\n\t\t\tconsole.log(\"Lỗi xóa dữ liệu: \"+err2.message);\r\n\t\t}\r\n\t}\r\n\r\n render(){\r\n \r\n\t\tconst btn1 = {\r\n\t\t\twidth : '100px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n\t\t const btn2 = {\r\n\t\t\twidth : '100px',\r\n\t\t\tmarginLeft : '5px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n const btn3 = {\r\n\t\t\twidth : '200px',\r\n\t\t\tmarginLeft : '5px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n\r\n\t\tconst headerSortingStyle = { backgroundColor: '#c8e6c9' };\r\n\r\n\t\tconst columns = [\r\n {\r\n\t\t\t\tdataField: 'ID_OBJ',\r\n\t\t\t\ttext: 'Mã hàng',\r\n\t\t\t\tsort: true,\r\n\t\t\t\theaderSortingStyle,\r\n\t\t\t\tfilter: textFilter()\r\n\t\t\t},\r\n {\r\n\t\t\tdataField: 'NAME_OBJ',\r\n\t\t\ttext: 'Tên hàng',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t },\r\n\t\t {\r\n\t\t\tdataField: 'NAME_OGR',\r\n\t\t\ttext: 'Danh mục',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'NOTE',\r\n\t\t\ttext: 'Mô tả'\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'VISIBLE',\r\n\t\t\ttext: 'Hiển thị?',\r\n\t\t\tsort: true,\r\n\t\t\ttype: 'bool',\r\n\t\t\teditor: {\r\n\t\t\t\ttype: Type.CHECKBOX,\r\n\t\t\t\tvalue: 'true:false'\r\n\t\t\t }\r\n\t\t }\r\n\t\t];\r\n\r\n\t\tconst defaultSorted = [{\r\n\t\t\tdataField: 'ID_OBJ' \r\n\t\t }];\r\n\r\n\t\t const expandRow = {\r\n\t\t\tshowExpandColumn: true,\r\n\t\t\trenderer: row => (\r\n\t\t\t
\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t
\r\n\t\t\t)\r\n\t\t };\r\n\r\n return (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n this.node = n }\r\n\t\t\t\t\t\tkeyField='NO_OBJ' \r\n\t\t\t\t\t\tdata={this.state.dataJs} \r\n\t\t\t\t\t\tcolumns={ columns } \r\n\t\t\t\t\t\thover\r\n\t\t\t\t\t\tcondensed\r\n\t\t\t\t\t\tnoDataIndication=\"Chưa có dữ liệu\"\r\n\t\t\t\t\t\tselectRow={ { mode: 'radio', clickToSelect: true , clickToExpand: true } }\r\n\t\t\t\t\t\tdefaultSorted={ defaultSorted } \r\n filter={ filterFactory() }\r\n pagination={ paginationFactory() }\r\n wrapperClasses=\"table-responsive\"\r\n\t\t\t\t\t\texpandRow={ expandRow }\r\n\t\t\t\t\t />\r\n\t\t\t\t
\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default DanhSachSanPham;\r\n","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\n//import '../../home/Home.css';\r\n//import '../../home/stylePage.css'; \r\n\r\nimport DanhSachSanPham from './DanhSachSanPham'\r\n\r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\n\r\n\r\nclass SanPham extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 1,\r\n ID_OGR: 0,\r\n NO_OBJ: 0\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= \r\n }\r\n else \r\n {\r\n rs= \r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default SanPham;\r\n","import axios from 'axios';\r\nimport React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport ImageView from '../../Commons/ImageView';\r\n\r\nimport { Editor, OriginalTools } from 'react-bootstrap-editor';\r\nimport { Container, Row,Col, Form, Button } from 'react-bootstrap';\r\n\r\n\r\nclass ChiTietGioHang extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n dataJs: {}\r\n }\r\n }\r\n componentDidMount() {\r\n\r\n if(this.props.NO_VOU===0)\r\n {\r\n this.setState({\r\n dataJs: this.props.row\r\n });\r\n }\r\n else\r\n {\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/VoucherDetail?NO_VOU='+this.props.NO_VOU,\r\n {headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n })}\r\n \r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n //console.log(dataJs);\r\n this.setState({\r\n dataJs: dataJs.Data\r\n });\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n }\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n changeHandler=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[e.target.name]= e.target.value;\r\n this.setState({dataJs: dataJs});\r\n }\r\n changeCheck=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[e.target.name]= e.target.checked;\r\n this.setState({dataJs: dataJs});\r\n }\r\n changeHTML=(e: any)=>{\r\n let dataJs = this.state.dataJs;\r\n dataJs[\"HTML\"]= e;\r\n this.setState({dataJs: dataJs});\r\n }\r\n\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n \r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/CancleVoucher',\r\n {\r\n method: 'POST' ,\r\n body: JSON.stringify(this.state.dataJs),\r\n headers: new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") ,\r\n 'Content-Type' : 'application/json'\r\n })\r\n \r\n }\r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n \r\n // if(this.state.dataJs.NO_OBJ===0)\r\n {\r\n window.location.reload();\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n \r\n \r\n \r\n // file upload is complete\r\n fileData = () => {\r\n \r\n if (this.state.selectedFile) {\r\n return (\r\n
\r\n

Chi tiết file:

\r\n \r\n

File Name: {this.state.selectedFile.name}

\r\n

File Type: {this.state.selectedFile.type}

\r\n
\r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n

Chọn file để upload

\r\n
\r\n );\r\n }\r\n };\r\n\r\n optionGroupData = () => {\r\n \r\n if (this.props.groupJs.length > 0 ) {\r\n \r\n return (\r\n <>\r\n {\r\n this.props.groupJs.map((item: any, index: number) => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n );\r\n }\r\n };\r\n\r\n render(){\r\n\r\n const img1 = {\r\n width : '130px',\r\n height : '105px',\r\n resize : 'both'\r\n } as const;\r\n\r\n return (\r\n
\r\n \r\n
\r\n \r\n Mã đơn hàng\r\n \r\n \r\n \r\n Ngày đặt mua\r\n \r\n \r\n \r\n Mã khách hàng\r\n \r\n \r\n \r\n Tên khách hàng\r\n \r\n \r\n \r\n Người nhận\r\n \r\n \r\n \r\n Địa chỉ\r\n \r\n \r\n \r\n Tổng tiền\r\n \r\n \r\n \r\n Tình trạng\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Danh sách sản 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\nexport default ChiTietGioHang;\r\n","import React from 'react';\r\nimport configData from \"../../../config.json\";\r\nimport CookieService from '../../../services/CookieService';\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport cellEditFactory , { Type } from 'react-bootstrap-table2-editor';\r\nimport { Button } from 'react-bootstrap';\r\nimport filterFactory, { textFilter } from 'react-bootstrap-table2-filter';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport '../../home/styleAdminPage.css';\r\nimport TreeListObjectGroup from '../Share/TreeListObjectGroup'\r\nimport ChiTietGioHang from './ChiTietGioHang'\r\n\r\nclass DanhSachGioHang extends React.Component {\r\n\tnode: any;\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_TAS: -5,\r\n\t\t\tSTATUS_VOU: 0\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/Admin/GetVoucher?ID_TAS='+ this.props.ID_TAS+'&STATUS_VOU='+this.props.STATUS_VOU ,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t\r\n\t}\r\n\r\n\thandleAddRow = () => {\r\n\t\t \r\n\t\t \r\n\t}\r\n\r\n\thandleDeleteData = () => {\r\n\t\ttry{\r\n if(this.node.selectionContext.selected.length>0)\r\n\t\t {\r\n\t\t\tvar result = window.confirm(\"Có đồng ý xóa \"+ this.node.selectionContext.selected.length + \" dòng đang chọn?\");\r\n\t\t\tif (result) {\r\n\t\t\t \r\n\t\t\t\t this.node.selectionContext.selected.forEach(element => \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttry{\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch(err) {\r\n\t\t\t\t\t\t\tconsole.log(\"Lỗi xóa: \"+err.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n \r\n\t\t\t\t\t//window.location.reload();\r\n\t\t\t}\r\n\t\t\t\r\n\t\t }\r\n\t\t}\r\n\t\tcatch(err2) {\r\n\t\t\tconsole.log(\"Lỗi xóa dữ liệu: \"+err2.message);\r\n\t\t}\r\n\t}\r\n\r\n render(){\r\n \r\n\t\tconst btn1 = {\r\n\t\t\twidth : '100px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n\t\t const btn2 = {\r\n\t\t\twidth : '100px',\r\n\t\t\tmarginLeft : '5px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n const btn3 = {\r\n\t\t\twidth : '200px',\r\n\t\t\tmarginLeft : '5px',\r\n marginBottom : '5px'\r\n\t\t } as const;\r\n\r\n\t\tconst headerSortingStyle = { backgroundColor: '#c8e6c9' };\r\n\r\n\t\tconst columns = [\r\n {\r\n\t\t\t\tdataField: 'ID_VOU',\r\n\t\t\t\ttext: 'Mã đơn hàng',\r\n\t\t\t\tsort: true,\r\n\t\t\t\theaderSortingStyle,\r\n\t\t\t\tfilter: textFilter()\r\n\t\t\t},\r\n\t\t\t{\r\n dataField: 'DATE_VOU',\r\n text: 'Ngày đặt mua',\r\n sort: true,\r\n\t\t\t headerSortingStyle,\r\n editor: {\r\n type: Type.DATE\r\n },\r\n formatter: (cell) => {\r\n let dateObj = cell;\r\n if (typeof cell !== 'object') {\r\n dateObj = new Date(cell);\r\n }\r\n return `${('0' + dateObj.getUTCDate()).slice(-2)}/${('0' + (dateObj.getUTCMonth() + 1)).slice(-2)}/${dateObj.getUTCFullYear()}`;\r\n }\r\n },\r\n\t\t\t{\r\n\t\t\t\tdataField: 'ID_OBJ',\r\n\t\t\t\ttext: 'Mã khách hàng',\r\n\t\t\t\tsort: true,\r\n\t\t\t\theaderSortingStyle,\r\n\t\t\t\tfilter: textFilter()\r\n\t\t\t },\r\n {\r\n\t\t\tdataField: 'NAME_OBJ',\r\n\t\t\ttext: 'Tên khách hàng',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t },\r\n\t\t {\r\n\t\t\tdataField: 'REPRESENT',\r\n\t\t\ttext: 'Người nhận',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'NAME_STA',\r\n\t\t\ttext: 'Tình trạng',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t }\r\n\t\t ,{\r\n\t\t\tdataField: 'TOTAL_SUM',\r\n\t\t\ttext: 'Tổng tiền',\r\n\t\t\ttype: 'double',\r\n\t\t\tsort: true,\r\n\t\t\theaderSortingStyle,\r\n filter: textFilter()\r\n\t\t }\r\n\t\t];\r\n\r\n\t\tconst defaultSorted = [{\r\n\t\t\tdataField: 'DATE_VOU' ,\r\n\t\t\torder: 'desc'\r\n\t\t }];\r\n\r\n\t\t const expandRow = {\r\n\t\t\tshowExpandColumn: true,\r\n\t\t\trenderer: row => (\r\n\t\t\t
\r\n\t\t\t\t \r\n\t\t\t
\r\n\t\t\t)\r\n\t\t };\r\n\r\n return (\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t \r\n this.node = n }\r\n\t\t\t\t\t\tkeyField='NO_VOU' \r\n\t\t\t\t\t\tdata={this.state.dataJs} \r\n\t\t\t\t\t\tcolumns={ columns } \r\n\t\t\t\t\t\thover\r\n\t\t\t\t\t\tcondensed\r\n\t\t\t\t\t\tnoDataIndication=\"Chưa có dữ liệu\"\r\n\t\t\t\t\t\tselectRow={ { mode: 'radio', clickToSelect: true , clickToExpand: true } }\r\n\t\t\t\t\t\tdefaultSorted={ defaultSorted } \r\n filter={ filterFactory() }\r\n pagination={ paginationFactory() }\r\n wrapperClasses=\"table-responsive\"\r\n\t\t\t\t\t\texpandRow={ expandRow }\r\n\t\t\t\t\t />\r\n\t\t\t\t
\r\n );\r\n }\r\n\r\n}\r\n\r\nexport default DanhSachGioHang;\r\n","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\n//import '../../home/Home.css';\r\n//import '../../home/stylePage.css'; \r\n\r\nimport DanhSachGioHang from './DanhSachGioHang'\r\n\r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\n\r\n\r\nclass GioHang extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_TAS: -5,\r\n NO_OBJ: 0\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= \r\n }\r\n else \r\n {\r\n rs= \r\n }\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default GioHang;\r\n","import React from 'react';\r\n// import 'bootstrap/dist/css/bootstrap.min.css';\r\n// import './SignUp.css';\r\nimport { any, number } from 'prop-types';\r\nimport axios from 'axios';\r\nimport configData from \"../../../config.json\";\r\n\r\nimport {Helmet} from 'react-helmet';\r\nimport { Button } from 'react-bootstrap';\r\nimport CookieService from '../../../services/CookieService';\r\n\r\nclass GlobalConfig extends React.Component {\r\n private dateValue:Date=new Date();\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n ID: 'ImgBanner',\r\n imageUrl: '',\r\n selectedFile: null\r\n };\r\n \r\n }\r\n\r\n componentDidMount() {\r\n fetch(\r\n configData.serviceUrl+ '/api/Common/GetConfig?ID_INF=99012',\r\n {headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*'\r\n })}\r\n \r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n //console.log(dataJs);\r\n if( dataJs.Data.length>0)\r\n {\r\n var listOrderJson = JSON.stringify(dataJs.Data);\r\n JSON.parse(listOrderJson).forEach((item, index) => { \r\n if(item.ID===\"ImgBanner\")\r\n {\r\n this.setState({\r\n imageUrl: item.VALUE\r\n })\r\n }\r\n } );\r\n }\r\n \r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n \r\n\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n \r\n \r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/SaveConfig?ID_INF=99012',\r\n {\r\n method: 'POST' ,\r\n body: \"[ { \\\"ID\\\": \\\"ImgBanner\\\", \\\"VALUE\\\": \\\"\" + this.state.imageUrl + \"\\\" } ]\",\r\n headers: new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") ,\r\n 'Content-Type' : 'application/json'\r\n })\r\n \r\n }\r\n ) \r\n .then(response => response.json())\r\n .then(rss => {\r\n if(rss.Status===200 || rss.Status===201)\r\n {\r\n window.location.reload();\r\n }\r\n else\r\n {\r\n alert(\"Có lỗi: \" + rss.Message);\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n\r\n onFileUpload = () => {\r\n const formData = new FormData();\r\n // Update the formData object\r\n formData.append(\r\n \"files\",\r\n this.state.selectedFile\r\n );\r\n // Details of the uploaded file\r\n console.log(this.state.selectedFile);\r\n // Request made to the backend api\r\n // Send formData object\r\n fetch(\r\n configData.serviceUrl+ '/api/Admin/Upload?ModunName=TrangChu',\r\n {\r\n method: 'POST' ,\r\n body: formData,\r\n headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'Authorization' : CookieService.get(\"access_token\") \r\n \r\n })\r\n }\r\n \r\n )\r\n .then(response => response.json())\r\n .then(rss => {\r\n if(rss.Status===200)\r\n {\r\n this.setState({imageUrl: rss.Data.NameFile});\r\n alert(\"Upload xong!\");\r\n }\r\n else\r\n {\r\n alert(\"Upload lỗi: \" + rss.Message);\r\n }\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n \r\n };\r\n onFileChange = event => {\r\n \r\n // Update the state\r\n this.setState({ selectedFile: event.target.files[0] });\r\n \r\n };\r\n fileData = () => {\r\n \r\n if (this.state.selectedFile) {\r\n \r\n return (\r\n
\r\n

Chi tiết file:

\r\n \r\n

File Name: {this.state.selectedFile.name}

\r\n

File Type: {this.state.selectedFile.type}

\r\n
\r\n );\r\n } \r\n else\r\n {\r\n return (\r\n
\r\n
\r\n

Chọn file để upload

\r\n
\r\n );\r\n }\r\n };\r\n render(){\r\n const img1 = {\r\n width : '130px',\r\n height : '105px',\r\n resize : 'both'\r\n } as const;\r\n \r\n \r\n \r\n return (\r\n
\r\n \r\n {configData.CompanyName} - Thiết lập chung\r\n \r\n \r\n
\r\n

Thiết lập chung

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n {this.fileData()}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default GlobalConfig;\r\n"," \r\nimport AdminTinTuc from './TinTuc/TinTuc';\r\nimport AdminNhomTinTuc from './TinTuc/NhomTinTuc';\r\n \r\nimport AdminGioiThieu from './GioiThieu/GioiThieu';\r\nimport AdminThuVien from './ThuVien/ThuVien';\r\n\r\nimport AdminSanPham from './SanPham/SanPham';\r\nimport AdminGioHang from './GioHang/GioHang';\r\n\r\nimport AdminConfig from './Config/GlobalConfig';\r\n\r\nconst dashboardRoutes = [\r\n {\r\n path: \"/AdminTinTuc\",\r\n name: \"Tin tức\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminTinTuc,\r\n layout: \"/Admin\",\r\n },\r\n {\r\n path: \"/AdminNhomTinTuc\",\r\n name: \"Nhóm tin tức\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminNhomTinTuc,\r\n layout: \"/Admin\",\r\n } ,\r\n {\r\n path: \"/AdminGioiThieu\",\r\n name: \"Giới thiệu\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminGioiThieu,\r\n layout: \"/Admin\",\r\n },\r\n {\r\n path: \"/AdminThuVien\",\r\n name: \"Thư viện\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminThuVien,\r\n layout: \"/Admin\",\r\n },\r\n {\r\n path: \"/AdminSanPham\",\r\n name: \"Sản phẩm\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminSanPham,\r\n layout: \"/Admin\",\r\n },\r\n {\r\n path: \"/AdminGioHang\",\r\n name: \"Đơn hàng\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminGioHang,\r\n layout: \"/Admin\",\r\n },\r\n {\r\n path: \"/AdminConfig\",\r\n name: \"Thiết lập chung\",\r\n icon: \"nc-icon nc-alien-33\",\r\n component: AdminConfig,\r\n layout: \"/Admin\",\r\n }\r\n];\r\n\r\nexport default dashboardRoutes;","import React from 'react';\r\n//import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\nimport { Link, Route, Switch, BrowserRouter } from 'react-router-dom';\r\n \r\nimport RouterUrl from '../Commons/RouterUrl';\r\nimport AdminNavbar from \"./AdminNavbar\";\r\nimport Sidebar from \"./Sidebar\";\r\n\r\nimport Footer from \"./Footer\";\r\n\r\nimport routes from \"./routes\";\r\nimport sidebarImage from \"./assets/img/sidebar-4.jpg\";\r\n\r\n\r\n \r\n//import \"./assets/css/animate.min.css\";\r\n//import \"./assets/css/light-bootstrap-dashboard-react.css\";\r\nimport \"./assets/css/adminhome.css\";\r\n//import \"./assets/css/demo.css\";\r\n//import \"@fortawesome/fontawesome-free/css/all.min.css\";\r\n\r\n\r\nclass AdminHome extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tshowLogin: false,\r\n\t\t\tID_OTY: false,\r\n\t\t\tcheckLogin1: false,\r\n\t\t\tcheckLogin2: true\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n\t}\r\n\tcomponentWillMount(){\r\n\t\tlet num : any\r\n\t\tnum = 1\r\n\t\tif( sessionStorage.getItem('Token') === null){\r\n\t\t\tthis.setState({showLogin: true})\r\n\t\t\tthis.setState({checkLogin1: false})\r\n\t\t\tthis.setState({checkLogin2: true})\r\n\t\t}else{\r\n\t\t\tthis.setState({checkLogin1: true})\r\n\t\t\tthis.setState({checkLogin2: false})\r\n\t\t}\r\n\t\tif( sessionStorage.getItem('ID_OTY') == num ){\r\n\t\t\tthis.setState({ID_OTY: true})\r\n\t\t}\r\n\t\t//window.location.reload();\r\n\t}\r\n\tcheckLogin(){\r\n\t\tif(sessionStorage.getItem('Token')===null){\r\n\t\t\treturn \r\n\t\t}else {\r\n\t\t\t return \r\n\t\t}\r\n\t}\r\n\tlogOut(){\r\n\t\tsessionStorage.clear();\t\r\n\t}\r\n\r\n render(){\r\n\t\t\r\n\t\tconst image = sidebarImage;\r\n\t\tconst color =\"blue\";\r\n\t\tconst hasImage =true;\r\n\r\n\t\tconst getRoutes = (routes) => {\r\n\t\t\treturn routes.map((prop, key) => {\r\n\t\t\t if (prop.layout === \"/Admin\") {\r\n\t\t\t\treturn (\r\n\t\t\t\t \r\n\t\t\t\t);\r\n\t\t\t } else {\r\n\t\t\t\treturn null;\r\n\t\t\t }\r\n\t\t\t});\r\n\t\t };\r\n\t \r\n\t\t \r\n\t\t \r\n return (\r\n \r\n\t\t <>\r\n\t\t\t
\r\n\t\t\t\t \r\n\t\t\t
\r\n\t\t\t \r\n\t\t\t
\r\n\r\n\t\t\t
\r\n\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t\t \r\n\t\t\t\t {getRoutes(routes)} \r\n\t\t\t\t \r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default AdminHome;\r\n","class UrlService {\r\n UrlRoot()\r\n {\r\n return window.location.protocol + \"//\" + window.location.host ;//+ ((window.location.port===\"0\" || window.location.port===\"\" || window.location.port===\"80\") ? \"\" : \":\"+ window.location.port);\r\n }\r\n UrlCurent()\r\n {\r\n return window.location.href;\r\n }\r\n }\r\n export default new UrlService();","import CookieService from \"./CookieService\";\r\nclass AccountService {\r\n Token()\r\n {\r\n return CookieService.get(\"access_token\");\r\n }\r\n Roles()\r\n {\r\n return CookieService.get(\"Roles\");\r\n }\r\n }\r\n export default new AccountService();","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport configData from \"../../config.json\";\r\nimport CookieService from '../../services/CookieService';\r\nimport { any, number } from 'prop-types';\r\nimport UrlService from '../../services/UrlService';\r\nimport AccountService from '../../services/AccountService';\r\n\r\nclass Header extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tlstMenu: [\r\n\t\t\t\t{\r\n\t\t\t\t\tID_FUN: 0,\r\n\t\t\t\t\tID_OGR: 0,\r\n\t\t\t\t\tID_OTY: 0,\r\n\t\t\t\t\tNAME_FUN: \"\",\r\n\t\t\t\t\tNAME_OGR: \"\",\r\n\t\t\t\t\tLINK: \"\",\r\n\t\t\t\t\tModuleName: \"\",\r\n\t\t\t\t\tlstSubs: [\r\n\t\t\t\t\t \r\n\t\t\t\t\t]\r\n\t\t\t\t }\r\n\t\t\t],\r\n\t\t\tshowLogin: false,\r\n\t\t\tID_OTY: false,\r\n\t\t\tcheckLogin1: false,\r\n\t\t\tcheckLogin2: true\r\n\t\t}\r\n\t}\r\n\r\n\tcomponentDidMount() {\r\n fetch(configData.serviceUrl+ '/api/News/MenuBar',\r\n {headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*'\r\n })}\r\n )\r\n .then(response => response.json())\r\n .then(lstMenu => this.setState({lstMenu : lstMenu.Data}))\r\n .catch(e => {\r\n console.log(e);\r\n return e;\r\n });\r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n\tcheckLogin(){\r\n\t\t\r\n\t}\r\n\tLogout=()=>{\r\n CookieService.remove(\"access_token\");\r\n window.location.href= UrlService.UrlRoot();\r\n }\r\n render(){\r\n\t\tconst lstMenu = this.state.lstMenu;\r\n\t\tconst Token= AccountService.Token();\r\n\t\tconst Roles= AccountService.Roles();\r\n let Account;\r\n if(Token)\r\n {\r\n // Account=
Xin chào, { CookieService.get(\"DisplayName\") } | this.Logout()}>Đăng xuất
\r\n\t\t\tAccount=
\r\n\t\t\t\r\n\t\t\t
  • \r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t{ CookieService.get(\"DisplayName\") }\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t{Roles && Roles.includes(\"G9998\")? Quản trị : null } \r\n\t\t\t\t\t\t\t\t\t\tQuản lý đơn hàng\r\n\t\t\t\t\t\t\t\t\t\tthis.Logout()}>Đăng xuất\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t
  • \r\n\t\t\t
    \r\n }\r\n else\r\n {\r\n Account=
    \r\n\t\t\tĐăng nhập\r\n\t\t\tĐăng ký\r\n\t\t
    \r\n }\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t \t
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport axios from 'axios';\r\nimport './Login.css';\r\nimport { BrowserRouter as Router, Route, Link, RouteComponentProps } from \"react-router-dom\";\r\nimport { any, number } from 'prop-types';\r\nimport configData from \"../../config.json\";\r\nimport CookieService from '../../services/CookieService';\r\nimport UrlService from '../../services/UrlService';\r\nimport { Col, Container, Row } from 'react-bootstrap';\r\nimport { Column } from '@syncfusion/ej2-grids';\r\nimport {Helmet} from 'react-helmet'; \r\n\r\nclass Login extends React.Component {\r\n constructor(props: RouteComponentProps) {\r\n super(props);\r\n this.state = {Users: {username: \"\", password: \"\", rememberMe: false} };\r\n this.handleChangeUserName = this.handleChangeUserName.bind(this);\r\n this.handleChangePassWord = this.handleChangePassWord.bind(this);\r\n this.handleChangeRememberMe = this.handleChangeRememberMe.bind(this);\r\n this.submitHandler = this.submitHandler.bind(this);\r\n }\r\n ClearCookie()\r\n {\r\n CookieService.remove(\"access_token\");\r\n CookieService.remove(\"Username\");\r\n CookieService.remove(\"Uid\");\r\n CookieService.remove(\"DisplayName\");\r\n }\r\n submitHandler(evt: any) {\r\n evt.preventDefault();\r\n axios.post(configData.serviceUrl+ '/api/Users/authenticate', this.state.Users,\r\n { headers: { 'Content-Type': 'application/json' ,\r\n 'Access-Control-Allow-Origin' : '*'\r\n }\r\n }).then(response =>{\r\n console.log(response);\r\n if(response)\r\n {\r\n if(response.status===200)\r\n {\r\n if(response.data.Status===200)\r\n {\r\n //console.log(response.data.Data);\r\n let expires = new Date();\r\n let options= { path: '/', expires};\r\n expires.setTime(expires.getTime() + ( this.state.Users.rememberMe===false? configData.RememberLoginTime * 60 * 1000 : 2147483647));\r\n CookieService.set(\"access_token\", response.data.Data.Token, options);\r\n CookieService.set(\"Username\", response.data.Data.Username, options);\r\n CookieService.set(\"Uid\", response.data.Data.Uid, options);\r\n CookieService.set(\"DisplayName\", response.data.Data.DisplayName, options);\r\n CookieService.set(\"Roles\", response.data.Data.Roles, options);\r\n window.location.href= UrlService.UrlRoot();\r\n }\r\n else\r\n {\r\n this.ClearCookie();\r\n alert(\"Đăng nhập thất bại: \"+response.data.Message);\r\n }\r\n }\r\n else \r\n {\r\n this.ClearCookie();\r\n alert(\"Đăng nhập thất bại. Tên đăng nhập hoặc mật khẩu chưa đúng!\");\r\n }\r\n }\r\n else\r\n {\r\n this.ClearCookie();\r\n alert(\"Đăng nhập thất bại. Tên đăng nhập hoặc mật khẩu chưa đúng!\");\r\n }\r\n })\r\n .catch(error =>{\r\n console.log(error);\r\n alert(error);\r\n })\r\n }\r\n handleChangeUserName(event: any) {\r\n let Users = this.state.Users;\r\n Users[\"username\"] = event.target.value;\r\n this.setState({Users : Users});\r\n }\r\n handleChangeRememberMe(event: any) {\r\n let Users = this.state.Users;\r\n Users[\"rememberMe\"] = event.target.value;\r\n this.setState({Users : Users});\r\n }\r\n handleChangePassWord(event: any) {\r\n let Users = this.state.Users;\r\n Users[\"password\"] = event.target.value;\r\n this.setState({Users : Users});\r\n }\r\n submitHandlerCall=()=>{\r\n }\r\n componentDidMount() {\r\n }\r\n render(){\r\n return (\r\n
    \r\n \r\n\t\t\t\t\t{configData.CompanyName} - Đăng nhập\r\n\t\t\t\t\t\r\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 \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {window.location.href=\"../DangKy\"}}>Đăng ký tài khoản\r\n
    \r\n
    \r\n {window.location.href=\"../QuenMatKhau\"}} >Quên mật khẩu\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default Login;\r\n","import React from 'react';\r\n// import 'bootstrap/dist/css/bootstrap.min.css';\r\n// import './SignUp.css';\r\nimport { any, number } from 'prop-types';\r\nimport axios from 'axios';\r\nimport configData from '../../config.json';\r\nimport { DatePickerComponent } from '@syncfusion/ej2-react-calendars';\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport { T } from 'antd/lib/upload/utils';\r\nimport {Helmet} from 'react-helmet';\r\n\r\nclass SignUp extends React.Component {\r\n private dateValue:Date=new Date();\r\n private pass2Style;\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n register : {\r\n Email: '',\r\n Password: '',\r\n Name : '',\r\n Username: '',\r\n Token:''\r\n },\r\n notice: any\r\n };\r\n \r\n }\r\n \r\n changeHandler=(e: any)=>{\r\n let register = this.state.register;\r\n register[e.target.name]= e.target.value;\r\n this.setState({register: register});\r\n }\r\n changePass2Handler=(e: any)=>{\r\n let register = this.state.register;\r\n if(register[\"Password\"]!== e.target.value)\r\n {\r\n this.pass2Style={ borderColor : \"Red\" };\r\n this.setState({notice: }); \r\n }\r\n else\r\n {\r\n this.pass2Style=null;\r\n this.setState({notice: \"\"});\r\n }\r\n }\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n // console.log(this.state.register)\r\n axios\r\n .post(configData.serviceUrl + '/api/Users/Register', this.state.register)\r\n .then(response =>{\r\n if(response && response.status===200)\r\n {\r\n if(response.data.Status===201)\r\n {\r\n this.setState( { notice : } );\r\n //alert(\"Chúc mừng đăng ký thành công. Tiến hành đăng nhập\");\r\n //window.location.href= window.location.origin + '/login';\r\n }\r\n else \r\n {\r\n this.setState( { notice : } );\r\n //alert(response.data.Message);\r\n }\r\n }}\r\n ).catch(error =>{\r\n alert(error);\r\n })\r\n }\r\n onChange =(value)=> {\r\n // console.log(value );\r\n let register = this.state.register;\r\n register[\"Token\"]= value;\r\n this.setState({register: register});\r\n //console.log(this.state.register);\r\n }\r\n \r\n render(){\r\n const {\r\n Email,\r\n Password,\r\n Name ,\r\n Username,\r\n Token\r\n } = this.state.register;\r\n const notice= this.state.notice;\r\n const recaptchaRef = React.createRef();\r\n return (\r\n
    \r\n \r\n {configData.CompanyName} - Đăng ký tài khoản\r\n \r\n \r\n
    \r\n

    Đăng ký tài khoản

    \r\n

    Điền thông tin tài khoản

    \r\n
    \r\n \r\n \r\n {/* We'll never share your email with anyone else. */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {notice}\r\n {/* */}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default SignUp;\r\n","import React from 'react';\r\nimport { any, number } from 'prop-types';\r\nimport axios from 'axios';\r\nimport configData from '../../config.json';\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport UrlService from '../../services/UrlService';\r\nimport {Helmet} from 'react-helmet'; \r\n\r\nclass LossPass extends React.Component {\r\n private dateValue:Date=new Date();\r\n private pass2Style;\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loss : {\r\n Email: '',\r\n Token:''\r\n },\r\n notice: any\r\n };\r\n \r\n }\r\n \r\n changeHandler=(e: any)=>{\r\n let loss = this.state.loss;\r\n loss[e.target.name]= e.target.value;\r\n this.setState({loss: loss});\r\n }\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n // console.log(this.state.register)\r\n axios\r\n .post(configData.serviceUrl + '/api/Users/ForgotPassword', this.state.loss)\r\n .then(response =>{\r\n if(response && response.status===200)\r\n {\r\n if(response.data.Status===202)\r\n {\r\n window.location.href= UrlService.UrlRoot() + \"/XacNhanEmail\";\r\n //this.setState( { notice : } );\r\n //alert(\"Chúc mừng đăng ký thành công. Tiến hành đăng nhập\");\r\n //window.location.href= window.location.origin + '/login';\r\n }\r\n else \r\n {\r\n this.setState( { notice : } );\r\n //alert(response.data.Message);\r\n }\r\n }\r\n else\r\n {\r\n this.setState( { notice : } );\r\n }\r\n }\r\n ).catch(error =>{\r\n alert(error);\r\n })\r\n }\r\n onChange =(value)=> {\r\n // console.log(value );\r\n let loss = this.state.loss;\r\n loss[\"Token\"]= value;\r\n this.setState({loss: loss});\r\n //console.log(this.state.register);\r\n }\r\n \r\n render(){\r\n const {\r\n Email,\r\n Token\r\n } = this.state.loss;\r\n const notice= this.state.notice;\r\n const recaptchaRef = React.createRef();\r\n return (\r\n
    \r\n \r\n {configData.CompanyName} - Quên mật khẩu\r\n \r\n \r\n
    \r\n

    Khôi phục mật khẩu

    \r\n

    Vui lòng cung cấp email đăng nhập để khôi phục mật khẩu của bạn.

    \r\n
    \r\n \r\n \r\n {/* We'll never share your email with anyone else. */}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {notice}\r\n {/* */}\r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default LossPass;\r\n","import React from 'react';\r\nimport { any, number } from 'prop-types';\r\nimport axios from 'axios';\r\nimport configData from '../../config.json';\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport UrlService from '../../services/UrlService';\r\nimport {Helmet} from 'react-helmet'; \r\n\r\nclass LossPassSuccess extends React.Component {\r\n private dateValue:Date=new Date();\r\n private pass2Style;\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loss : {\r\n Email: '',\r\n Token:''\r\n },\r\n notice: any\r\n };\r\n \r\n }\r\n render(){\r\n return (\r\n
    \r\n \r\n {configData.CompanyName} - Khôi phục mật khẩu\r\n \r\n \r\n
    \r\n
    Khôi phục mật khẩu
    \r\n
    \r\n

    Chúng tôi đã gửi một email tới địa chỉ email đăng ký của bạn. Vui lòng kiểm tra hộp thư và nhấn vào link liên kết để hoàn tất quá trình khôi phục mật khẩu.

    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nexport default LossPassSuccess;\r\n","import React from 'react';\r\n// import 'bootstrap/dist/css/bootstrap.min.css';\r\n// import './SignUp.css';\r\nimport { any, number } from 'prop-types';\r\nimport axios from 'axios';\r\nimport configData from '../../config.json';\r\nimport queryString from 'query-string';\r\nimport UrlService from '../../services/UrlService';\r\n\r\nclass Active extends React.Component {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n loss : {\r\n email: '',\r\n reset:''\r\n },\r\n notice: any,\r\n buttonLogin: any\r\n };\r\n \r\n }\r\n componentDidMount() {\r\n const query= queryString.parse(window.location.search);\r\n let loss = this.state.loss;\r\n loss[\"reset\"] = query.reset;\r\n loss[\"email\"] = query.e;\r\n this.setState({loss : loss});\r\n console.log(this.state.loss);\r\n axios\r\n .post(configData.serviceUrl + '/api/Users/ConfirmPassword', this.state.loss)\r\n .then(response =>{\r\n if(response && response.status===200)\r\n {\r\n if(response.data.Status===202)\r\n {\r\n this.setState( { notice :

    {response.data.Message}

    });\r\n this.setState( { buttonLogin : Đăng nhập});\r\n }\r\n else\r\n {\r\n this.setState( { notice :

    {response.data.Message}

    });\r\n }\r\n }\r\n else\r\n {\r\n this.setState( { notice : \"Lỗi kết nối API\" });\r\n }\r\n }\r\n ).catch(error =>{\r\n alert(error);\r\n })\r\n }\r\n render(){\r\n const notice= this.state.notice;\r\n const buttonLogin= this.state.buttonLogin;\r\n return (\r\n
    \r\n
    \r\n
    Xác nhận khôi phục mật khẩu
    \r\n
    \r\n {notice}\r\n {buttonLogin}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default Active;\r\n","import React from 'react';\r\nimport { emit } from 'cluster';\r\nimport { string } from 'prop-types';\r\n\r\nclass User extends React.Component {\r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n email: sessionStorage.getItem('Email'),\r\n ho: sessionStorage.getItem('HO'),\r\n ten: sessionStorage.getItem('TEN'),\r\n code: sessionStorage.getItem('Code'),\r\n UserName: sessionStorage.getItem('UserName')\r\n }\r\n }\r\n\tlogOut(){\r\n\t\tsessionStorage.clear();\t\r\n }\r\n componentWillMount(){\r\n\t\tlet num : any\r\n\t\tnum = 1\r\n\t\tif( sessionStorage.getItem('ID_OTY') == num ){\r\n\t\t\tthis.setState({ID_OTY: true})\r\n\t\t}\r\n\t}\r\n render(){\r\n\t\tconst styleshow3 = {\r\n display: this.state.ID_OTY ? \"block\" : \"none\"\r\n }\r\n return (\r\n\t\t\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

    Thông tin tài khoản:

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default User;\r\n","import React from 'react';\r\n \r\n\r\nclass ImageView extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n this.state = {\r\n src: props.src,\r\n errored: false,\r\n fallbackSrc:\"../assets/img/NoImg.jpg\"\r\n };\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n }\r\n\tcomponentWillMount(){\r\n \r\n\t}\r\n componentWillReceiveProps(props) {\r\n this.setState({\r\n src: this.props.src\r\n });\r\n }\r\n onError = () => {\r\n if (!this.state.errored) {\r\n this.setState({\r\n src: this.state.fallbackSrc,\r\n errored: true,\r\n });\r\n }\r\n }\r\n\r\n render(){\r\n \r\n return (\r\n\t \r\n {\r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ImageView;\r\n","import React from 'react';\r\nimport '../TinTuc/News.css';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\nclass NewsItem extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n render(){\r\n\r\n\t\t \r\n\t\tconst img1 = {\r\n\t\t\twidth : '100%',\r\n\t\t\t\r\n\t\t\t\r\n\t\t\tdataLlStatus : 'loaded'\r\n\t\t } as const;\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.props.item.NAME_OGR}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

    {this.props.item.NAME_OBJ}

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

    {this.props.item.NOTE}...

    \r\n\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t XEM THÊM\t \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n );\r\n }\r\n}\r\nexport default NewsItem;\r\n\r\n","import React from 'react';\r\nimport { Pagination } from 'react-bootstrap';\r\nimport configData from \"../../config.json\";\r\nimport NewsItem from './NewsItem';\r\nimport ReactPaginate from 'react-paginate';\r\nimport '../TinTuc/paging.css';\r\nimport { isBuffer } from 'util';\r\nimport equal from 'fast-deep-equal'\r\n\r\nclass NewsList extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tRowPerPage:4,\r\n\t\t\tPageIndex:1,\r\n\t\t\tpageCount:1\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n\t\t//lay so dong, phan trang\r\n this.LoadData();\r\n }\r\n\r\n\t componentDidUpdate(prevProps) {\r\n\t\tif(!equal(this.props.ID_OGR, prevProps.ID_OGR)) // Check if it's a new user, you can also use some unique property, like the ID (this.props.user.id !== prevProps.user.id)\r\n\t\t{\r\n\t\t\tthis.LoadData();\r\n\t\t}\r\n\t } \r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n \r\n\tLoadData(){\r\n\t\tvar ID_OGR=this.props.ID_OGR;\r\n\t\tif (typeof ID_OGR === \"undefined\")\r\n\t\t{\r\n\t\t\tID_OGR=0;\r\n\t\t}\r\n\t\tfetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/ContentViewListCount?ID_OTY='+ this.props.ID_OTY + '&ID_OGR='+ ID_OGR ,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t if(dataJs.Status===200)\r\n\t\t\t {\r\n\t\t\t\tlet count=dataJs.Data;\r\n\t\t\t\tlet pageCount=Math.ceil(count/this.state.RowPerPage);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tpageCount: pageCount\r\n\t\t\t\t});\r\n\t\t\t }\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n\r\n\t\t\tfetch(\r\n\t\t\t\tconfigData.serviceUrl+ '/api/News/ContentViewList?ID_OTY='+ this.props.ID_OTY + '&ID_OGR='+ ID_OGR + '&PageIndex=' +this.state.PageIndex+ '&RowPerPage=' +this.state.RowPerPage ,\r\n\t\t\t\t{headers:new Headers ({\r\n\t\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t) \r\n\t\t\t\t.then(response => response.json())\r\n\t\t\t\t.then(dataJs => {\r\n\t\t\t\t\tconsole.log(dataJs);\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t\t});\r\n\t\t\t\t})\r\n\t\t\t\t.catch(e => {\r\n\t\t\t\t\tconsole.log(e);\r\n\t\t\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t});\r\n\t}\r\n\r\n\thandlePageClick = (data) => {\r\n\t\tlet selected = data.selected + 1;\r\n\t\tthis.setState({ PageIndex: selected },\r\n\t\t () => {\r\n\t\t this.componentDidMount();\r\n\t\t});\r\n\t };\r\n\r\n\t showPage = () => {\r\n \r\n\t\tif (this.state.pageCount > 1 ) {\r\n\t\t\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t '}\r\n\t\t\t\t\tbreakLabel={'...'}\r\n\t\t\t\t\tbreakClassName={'break-me'}\r\n\t\t\t\t\tpageCount={this.state.pageCount}\r\n\t\t\t\t\tmarginPagesDisplayed={2}\r\n\t\t\t\t\tpageRangeDisplayed={5}\r\n\t\t\t\t\tonPageChange={this.handlePageClick}\r\n\t\t\t\t\tcontainerClassName={'page-pagination none-style'}\r\n\t\t\t\t\tactiveClassName={'active'}\r\n\t\t\t\t\t/>\r\n\t\t\t\r\n\t\t\t );\r\n\t\t} \r\n\t\telse\r\n\t\t {\r\n\t\t\t return (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t }\r\n\t};\r\n\r\n render(){\r\n\t\tvar dataJs = this.state.dataJs;\r\n if (typeof dataJs === \"undefined\")\r\n\t\t{\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tdataJs.map((item:any) => \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{this.showPage()}\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t}\r\n\r\n \r\n }\r\n\r\n}\r\n\r\nexport default NewsList;\r\n","import React from 'react';\r\nimport '../SanPham/product.css';\r\nimport UrlService from '../../services/UrlService';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\nclass ShareSocial extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n render(){\r\n return (\r\n \r\n );\r\n }\r\n}\r\nexport default ShareSocial;\r\n\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser'; \r\nimport '../Commons/ContentView.css';\r\nimport ImageView from '../Commons/ImageView';\r\nimport ShareSocial from '../Commons/ShareSocial';\r\n\r\nclass ContentView extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: {},\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0 \r\n\t\t\t \r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n\r\n\t \r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/ContentView?NO_OBJ='+this.props.NO_OBJ+'&KeySign='+this.props.KeySign,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t\t \r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\t//console.log(dataJs);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t//let num : any\r\n\t\t//num = 1\r\n\t\t//if( sessionStorage.getItem('Token') === null){\r\n\t\t\t\r\n\t\t//}else{\r\n\t\t\t\r\n\t\t//}\r\n\t\t//if(sessionStorage.getItem('ID_OTY') === num ){\r\n\t\t//\tthis.setState({ID_OTY: true})\r\n\t\t//}\r\n\t}\r\n\r\n\r\n\t\r\n\trenderTuKhoa = () => {\r\n \r\n\t\tif (this.state.dataJs.TEXT2 === undefined || this.state.dataJs.TEXT2 === null ) {\r\n\t\t\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t #Mặc định \r\n\t\t\t\r\n\t\t\t );\r\n\t\t} \r\n\t\telse\r\n\t\t {\r\n\t\t\t return (\r\n\t\t\t \t<>\r\n\r\n\t\t\t\t\t \r\n\t\t\t\t);\r\n\t\t }\r\n\t};\r\n render(){\r\n\t\t \t \r\n\t\tconst img1 = {\r\n\t\t\twidth : '100%',\r\n\t\t\t\r\n\t\t\t\r\n\t\t\tdataLlStatus : 'loaded'\r\n\t\t } as const;\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.state.dataJs.NAME_OGR}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t \r\n\t\t\t\t\t
    \r\n\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t{this.state.dataJs.NgayDang}\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t

    {this.state.dataJs.NAME_OBJ}

    \r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t{ ReactHtmlParser(this.state.dataJs.HTML) }\r\n\r\n\t\t\t\t\t\t
    \r\n\r\n\t\t\t\t\t\t
    \r\n
    \r\n\t\t\t\t\t\t\t {this.renderTuKhoa()}\r\n\t\t\t\t\t\t\t{/*#tag1*/}\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n \r\n
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default ContentView;\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport '../Commons/wiget.css';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\nclass LastNew extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0,\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/LastNew?ID_OTY='+ this.props.ID_OTY + '&ID_OGR='+ this.props.ID_OGR + '&PageIndex=' +this.props.PageIndex+ '&RowPerPage=' +this.props.RowPerPage+ '&AbsoluteUri=' +window.location.href,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tconsole.log(dataJs);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t//let num : any\r\n\t\t//num = 1\r\n\t\t//if( sessionStorage.getItem('Token') === null){\r\n\t\t\t\r\n\t\t//}else{\r\n\t\t\t\r\n\t\t//}\r\n\t\t//if(sessionStorage.getItem('ID_OTY') === num ){\r\n\t\t//\tthis.setState({ID_OTY: true})\r\n\t\t//}\r\n\t}\r\n\r\n render(){\r\n\r\n\t\t \r\n\t\tconst img1 = {\r\n\t\t\twidth : '100%',\r\n\t\t\theight: 'auto',\r\n\t\t\tmaxWidth: '100%' \r\n\t\t} as const;\r\n\t\t \r\n return (\r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    Tin mới nhất
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.state.dataJs.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{item.NAME_OBJ}\r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.NgayDang}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t))}\t\t\t\t\t\t\t \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default LastNew;\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport '../Commons/wiget.css';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\nclass TopView extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0,\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/TopView?ID_OTY='+ this.props.ID_OTY + '&ID_OGR='+ this.props.ID_OGR + '&Top=' +this.props.Top + '&AbsoluteUri=' +window.location.href,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tconsole.log(dataJs);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t//let num : any\r\n\t\t//num = 1\r\n\t\t//if( sessionStorage.getItem('Token') === null){\r\n\t\t\t\r\n\t\t//}else{\r\n\t\t\t\r\n\t\t//}\r\n\t\t//if(sessionStorage.getItem('ID_OTY') === num ){\r\n\t\t//\tthis.setState({ID_OTY: true})\r\n\t\t//}\r\n\t}\r\n\r\n render(){\r\n\r\n\t\t \r\n\t\tconst img1 = {\r\n\t\t\twidth : '100%',\r\n\t\t\theight: 'auto',\r\n\t\t\tmaxWidth: '100%' \r\n\t\t} as const;\r\n\t\t \r\n return (\r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    Tin xem nhiều nhất
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.state.dataJs.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{item.NAME_OBJ}\r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.NgayDang}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t))}\t\t\t\t\t\t\t \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default TopView;\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport '../Commons/wiget.css';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\nclass RelatedNews extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0,\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/RelatedNews?ID_OTY='+ this.props.ID_OTY + '&ID_OGR='+ this.props.ID_OGR + '&PageIndex=' +this.props.PageIndex+ '&RowPerPage=' +this.props.RowPerPage+ '&AbsoluteUri=' +window.location.href,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tconsole.log(dataJs);\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t//let num : any\r\n\t\t//num = 1\r\n\t\t//if( sessionStorage.getItem('Token') === null){\r\n\t\t\t\r\n\t\t//}else{\r\n\t\t\t\r\n\t\t//}\r\n\t\t//if(sessionStorage.getItem('ID_OTY') === num ){\r\n\t\t//\tthis.setState({ID_OTY: true})\r\n\t\t//}\r\n\t}\r\n\r\n render(){\r\n\r\n\t\t \r\n\t\tconst img1 = {\r\n\t\t\twidth : '100%',\r\n\t\t\theight: 'auto',\r\n\t\t\tmaxWidth: '100%' \r\n\t\t} as const;\r\n\t\t \r\n return (\r\n\t\t\t
    \r\n\r\n\t\t\t
    \r\n\t\t\t\t
    Tin liên quan
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tthis.state.dataJs.map((item: any, index: number) => (\r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\t{item.NAME_OBJ}\r\n\t\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{item.NgayDang}\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
      \r\n\t\t\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t))}\t\t\t\t\t\t\t \r\n\t\t\t\t\t
    \r\n\r\n\t\t\t\t
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default RelatedNews;\r\n","import React from 'react';\r\nimport { Breadcrumb } from 'react-bootstrap';\r\nimport configData from \"../../config.json\";\r\nimport '../Commons/BreadCrumb.css';\r\n\r\nclass BreadCrumbs extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/BreadCrumbs?Url='+ window.location.href ,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n \r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n\t\t\t\t\r\n \r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t \r\n\t}\r\n\r\n render(){\r\n \r\n\t\tconst divTop = {\r\n\t\t\t\r\n\t\t } as const;\r\n\r\n\t\t const breadcrumbs = {\r\n\t\t\tpadding: '1px 0',\r\n\t\t\t\r\n\t\t\tminHeight: '40px',\r\n\t\t\tmarginTop : '65px',\r\n\t\t\tbackgroundColor: \"white\"\r\n\t\t } as const;\r\n\r\n\t\t let rs;\r\n rs= this.state.dataJs.map((itemB: any, index: number) => (\r\n\t\t\t\t {itemB.Caption}\r\n\t\t ));\r\n\t\t\t\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t\t{rs}\t\t\t\t\r\n\t\t\t\t\r\n \t\t
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default BreadCrumbs;\r\n","import React from 'react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../home/stylePage.css'; \r\n \r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\nimport NewsList from '../TinTuc/NewsList';\r\nimport ContentView from '../Commons/ContentView';\r\nimport LastNew from '../Commons/LastNew';\r\nimport TopView from '../Commons/TopView';\r\nimport RelatedNews from '../Commons/RelatedNews';\r\nimport BreadCrumbNews from '../Commons/BreadCrumbNews';\r\nimport BreadCrumbs from '../Commons/BreadCrumbs';\r\nimport {Helmet} from 'react-helmet'; \r\nimport configData from \"../../config.json\";\r\n\r\nclass TinTuc extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9010,\r\n ID_OGR: 0,\r\n NO_OBJ: 0,\r\n KeySign:'',\r\n PageIndex:1\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ,\r\n KeySign: values.KeySign,\r\n PageIndex:values.PageIndex\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n const containerRow = {\r\n paddingTop : '15px'\r\n \r\n } as const;\r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= ;\r\n }\r\n else \r\n {\r\n \r\n rs=;\r\n }\r\n return (\r\n
    \r\n \r\n {configData.CompanyName+ \" - Giới thiệu\"} \r\n \r\n \t \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default TinTuc;\r\n","import React from 'react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../home/stylePage.css'; \r\n \r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\nimport NewsList from '../TinTuc/NewsList';\r\nimport ContentView from '../Commons/ContentView';\r\nimport LastNew from '../Commons/LastNew';\r\nimport TopView from '../Commons/TopView';\r\nimport RelatedNews from '../Commons/RelatedNews';\r\nimport BreadCrumbNews from '../Commons/BreadCrumbNews';\r\nimport BreadCrumbs from '../Commons/BreadCrumbs';\r\n\r\nimport {Helmet} from 'react-helmet'; \r\nimport configData from \"../../config.json\";\r\n\r\nclass TinTuc extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9001,\r\n ID_OGR: 0,\r\n NO_OBJ: 0,\r\n KeySign:'',\r\n PageIndex:1\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ,\r\n KeySign: values.KeySign,\r\n PageIndex:values.PageIndex\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n const containerRow = {\r\n paddingTop : '15px'\r\n \r\n } as const;\r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= ;\r\n }\r\n else \r\n {\r\n \r\n rs=;\r\n }\r\n return (\r\n
    \r\n \r\n {configData.CompanyName+ \" - Tin tức\"} \r\n \r\n \t\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default TinTuc;\r\n","import React from 'react';\r\nimport '../SanPham/product.css';\r\nimport configData from '../../config.json';\r\nimport AccountService from '../../services/AccountService';\r\nimport queryString from 'query-string';\r\n\r\nclass ProjectFilter extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n this.state = {\r\n\t\t\tdataJs: []\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n // if(configData.ProductFilter!== \"SaigonIT\")\r\n // {\r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/News/GetObjectGroupAll?ID_OTY='+ this.props.ID_OTY,\r\n\t\t\t{headers:new Headers ({\r\n 'Authorization' : AccountService.Token()\r\n\t\t\t})}\r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n \r\n // }\r\n \r\n }\r\n \r\n\tcomponentWillMount(){\r\n const query= queryString.parse(window.location.search);\r\n if(query.m)\r\n {\r\n setTimeout(function(){ \r\n var li= document.getElementById(\"li_\"+ query.m);\r\n if(li)\r\n {\r\n li.click();\r\n console.log(li);\r\n }\r\n }, 500);\r\n }\r\n\t}\r\n render(){\r\n let all;\r\n const dataJs = this.state.dataJs;\r\n let count=0;\r\n dataJs.map((link:any) => link.ID_OGRP? count=count+0 :count++);\r\n if(count>1)\r\n {\r\n all=
  • \r\n Tất cả\r\n
  • ;\r\n }\r\n return (\r\n \r\n //
    \r\n // All\r\n // Web\r\n // Design\r\n // Branding\r\n // Photography\r\n // sgit\r\n //
    \r\n \r\n );\r\n }\r\n}\r\nexport default ProjectFilter;\r\n\r\n","import React from 'react';\r\nimport '../SanPham/product.css';\r\nimport UrlService from '../../services/UrlService';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\nclass ProductsItem extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n render(){\r\n return (\r\n //
    \r\n\t\t\t\r\n );\r\n }\r\n}\r\nexport default ProductsItem;\r\n\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport ImageView from '../Commons/ImageView';\r\nimport ProductCard from '../Commons/ProductCard';\r\nimport { Container, Row,Col } from 'react-bootstrap';\r\nimport ProductsItem from './ProductsItem';\r\n \r\n\r\nclass ProductsList extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: []\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/Products/GetProducts?ID_OGR=-2147483648',\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n render(){\r\n\t\tconst dataJs = this.state.dataJs;\r\n\t\tconsole.log(dataJs);\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t{\r\n \tdataJs.map((link:any) => \r\n\t\t\t\t\t\t )\r\n\t\t\t\t} \r\n \t\t
    \r\n );\r\n }\r\n}\r\nexport default ProductsList;\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport ProjectFilter from \"../SanPham/ProjectFilter\";\r\nimport ProductsList from './ProductsList';\r\nimport ProductsHeader from './ProductsHeader';\r\nimport {Helmet} from 'react-helmet'; \r\n \r\n\r\nclass Products extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t\tID_OTY: 0,\r\n\t\t\tID_OGR: 0\r\n\t\t\t \r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n\r\n render(){\r\n const flexContainer = {\r\n\t\t\tdisplay: 'flex',\r\n\t\t\tflexFlow: 'row wrap',\r\n\t\t\tjustifyContent: 'space-around',\r\n\t\t\tpadding: '0',\r\n\t\t\tmargin: '0',\r\n\t\t\tlistStyle: 'none'\r\n\t\t } as const;\r\n \r\n\t\t const flexItem = {\r\n\t\t\tpadding: '5px',\r\n\t\t\twidth: '50%',\r\n\t\t \r\n\t\t\tmarginTop: '10px',\r\n\t\t\t \r\n\t\t\tlistStyle: 'none'\r\n\t\t } as const;\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{configData.CompanyName} - Danh sách sản phẩm\r\n\t\t\t\t\t\r\n \t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default Products;\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport ProjectFilter from \"../SanPham/ProjectFilter\";\r\nimport ProductsList from './ProductsList';\r\nimport ProductsHeader from './ProductsHeader';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport UrlService from '../../services/UrlService';\r\nimport ShareSocial from '../Commons/ShareSocial';\r\n\r\n \r\n\r\nclass ProductHeader extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n \r\n\r\n render(){\r\n return (\r\n\t\t\t
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Mã sản phẩm:\r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.props.Published }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Danh mục:\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.Category}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Tên sản phẩm:\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.props.Client}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ProductHeader;\r\n","import React from 'react';\r\nimport UrlService from '../../services/UrlService';\r\nimport ReactHtmlParser, { processNodes, convertNodeToElement, htmlparser2 } from 'react-html-parser'; \r\n\r\nclass ProductBody extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n\r\n render(){\r\n return (\r\n\t\t\t
    \r\n
    \r\n
    \r\n
    \r\n { ReactHtmlParser(this.props.Content) }\r\n \t
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ProductBody;\r\n","import React from 'react';\r\nimport configData from \"../../config.json\";\r\nimport ProjectFilter from \"../SanPham/ProjectFilter\";\r\nimport ProductsList from './ProductsList';\r\nimport ProductsHeader from './ProductsHeader';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport UrlService from '../../services/UrlService';\r\nimport ImageView from '../Commons/ImageView';\r\n\r\n \r\n\r\nclass ProductBodyImg extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n\r\n render(){\r\n return (\r\n\t\t\t
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default ProductBodyImg;\r\n","import React from 'react';\r\nimport UrlService from '../../services/UrlService';\r\nimport CookieService from '../../services/CookieService';\r\nimport queryString from 'query-string';\r\nimport axios from 'axios';\r\nimport configData from '../../config.json';\r\n\r\nclass ProductOrder extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n\t\tthis.state = {\r\n\t\t\tdataJs: [],\r\n register : {\r\n Email: 'abc@gmail.com',\r\n Password: '1',\r\n Name : 'a',\r\n Username: 'd',\r\n Token:'re'\r\n },\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n }\r\n\r\n\tcomponentWillMount(){\r\n\t\t \r\n\t}\r\n existProduct(currentOrder, listOrder)\r\n {\r\n var listOrderJson = JSON.stringify(listOrder);\r\n $.each(JSON.parse(listOrderJson) , function (key, value) {\r\n if(currentOrder.id ===value.id){\r\n return true;\r\n }\r\n return false;\r\n });\r\n return false;\r\n }\r\n setOrderProduct=()=>{\r\n const query= queryString.parse(window.location.search);\r\n if(query && query.m && query.id)\r\n {\r\n // let dataCookie= CookieService.get(\"orderData\");\r\n let curentOrder= { m : \"1\", id : query.id, code: this.props.ProductCode, name: this.props.ProductName, price: this.props.ProductPrice, quantity: 1, total: this.props.ProductPrice };\r\n let orderData=localStorage.getItem(\"orderData\")? localStorage.getItem(\"orderData\") : \"\";\r\n if(orderData)\r\n {\r\n var dataCookie= JSON.parse(orderData);\r\n \r\n \r\n let existProduct=false;\r\n dataCookie.forEach((item, index) => { \r\n if(item.id===curentOrder.id)\r\n {\r\n existProduct=true;\r\n item.code= curentOrder.code;\r\n item.name=curentOrder.name;\r\n item.price=curentOrder.price;\r\n item.quantity=item.quantity+1;\r\n item.total=item.price * item.quantity;\r\n // item.remove=false;\r\n }\r\n } );\r\n \r\n if(!existProduct)\r\n {\r\n dataCookie.push(curentOrder);\r\n }\r\n \r\n //CookieService.setForever(\"orderData\", dataCookie);\r\n //CookieService.remove(\"orderData\");\r\n //console.log(dataCookie);\r\n }\r\n else \r\n {\r\n\r\n dataCookie = [ curentOrder ];\r\n }\r\n localStorage.setItem(\"orderData\", JSON.stringify(dataCookie));\r\n window.location.href= UrlService.UrlRoot() + \"/GioHang\";\r\n }\r\n }\r\n testDataSet=()=>{\r\n axios\r\n .post(configData.serviceUrl + '/api/Products/TestDataSet', this.state.register)\r\n .then(response =>{\r\n if(response && response.status===200)\r\n {\r\n if(response.data.Status===201)\r\n {\r\n \r\n alert(\"Chúc mừng đăng ký thành công. Tiến hành đăng nhập\");\r\n //window.location.href= window.location.origin + '/login';\r\n }\r\n else \r\n {\r\n \r\n alert(response.data.Message);\r\n }\r\n }}\r\n ).catch(error =>{\r\n alert(error);\r\n })\r\n }\r\n render(){\r\n return (\r\n\t\t\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\nexport default ProductOrder;\r\n","import React from 'react';\r\nimport '../SanPham/product.css';\r\nimport ProductHeader from './ProductHeader';\r\nimport ProductBody from './ProductBody';\r\nimport ProductBodyImg from './ProductBodyImg';\r\nimport ProductOrder from './ProductOrder';\r\nimport configData from '../../config.json';\r\nimport queryString from 'query-string';\r\nimport UrlService from '../../services/UrlService';\r\nimport {Helmet} from 'react-helmet'; \r\n\r\nclass Product extends React.Component {\r\n\t\r\n\tconstructor(props:any) {\r\n super(props);\r\n this.state = {\r\n\t\t\tdataJs: []\r\n\t\t}\r\n\t}\r\n\tcomponentDidMount() {\r\n const query= queryString.parse(window.location.search);\r\n \r\n fetch(\r\n\t\t\tconfigData.serviceUrl+ '/api/Products/GetProduct?NO_OBJ=' + query.id + '&KeySign=' + query.KeySign,\r\n\t\t\t{headers:new Headers ({\r\n\t\t\t\t'Access-Control-Allow-Origin' : '*'\r\n\t\t\t})}\r\n ) \r\n\t\t .then(response => response.json())\r\n .then(dataJs => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tdataJs: dataJs.Data\r\n\t\t\t\t});\r\n\t\t\t})\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\tcomponentWillMount(){\r\n\t}\r\n render(){\r\n const pro= this.state.dataJs;\r\n console.log(pro);\r\n return (\r\n
    \r\n \r\n\t\t\t\t\t{configData.CompanyName+ \" - Sản phẩm - \" +pro.NAME_OBJ } \r\n\t\t\t\t\t\r\n \t\r\n \r\n \r\n \r\n \r\n\t\t
    \r\n );\r\n }\r\n}\r\nexport default Product;\r\n\r\n","import React from 'react';\r\nimport '../home/stylePage.css'; \r\nimport queryString from 'query-string';\r\nimport { Container, Row,Col } from 'react-bootstrap';\r\n\r\nimport ProductViewList from '../Commons/ProductViewList';\r\nimport ContentView from '../Commons/ContentView';\r\nimport BreadCrumbs from '../Commons/BreadCrumbs';\r\nimport Products from './Products';\r\nimport Product from './Product';\r\nimport {Helmet} from 'react-helmet'; \r\nimport configData from \"../../config.json\";\r\n\r\n\r\nclass SanPham extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 1,\r\n ID_OGR: 0,\r\n NO_OBJ: 0\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n const query= queryString.parse(window.location.search);\r\n this.setState({\r\n ID_OGR: query.m,\r\n NO_OBJ:query.id\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n // rs= ;\r\n rs= \r\n }\r\n else \r\n {\r\n // rs=;\r\n rs= \r\n }\r\n return (\r\n
    \r\n \r\n {configData.CompanyName+ \" - Sản phẩm\"} \r\n \r\n \t\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {rs}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default SanPham;\r\n","import React from 'react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../home/stylePage.css'; \r\n \r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col } from 'react-bootstrap';\r\nimport NewsList from '../TinTuc/NewsList';\r\nimport ContentView from '../Commons/ContentView';\r\nimport LastNew from '../Commons/LastNew';\r\nimport TopView from '../Commons/TopView';\r\nimport RelatedNews from '../Commons/RelatedNews';\r\nimport BreadCrumbNews from '../Commons/BreadCrumbNews';\r\nimport BreadCrumbs from '../Commons/BreadCrumbs';\r\nimport {Helmet} from 'react-helmet'; \r\nimport configData from \"../../config.json\";\r\n\r\n\r\nclass TinTuc extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 9007,\r\n ID_OGR: 0,\r\n NO_OBJ: 0,\r\n KeySign:'',\r\n PageIndex:1\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ,\r\n KeySign: values.KeySign,\r\n PageIndex:values.PageIndex\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n\r\n\r\n render(){\r\n\r\n const div1 = {\r\n paddingLeft : '10px'\r\n \r\n } as const;\r\n \r\n const containerRow = {\r\n paddingTop : '15px'\r\n \r\n } as const;\r\n\r\n let rs;\r\n if(this.state.NO_OBJ ===0 || this.state.NO_OBJ===null || this.state.NO_OBJ===undefined)\r\n {\r\n rs= ;\r\n }\r\n else \r\n {\r\n \r\n rs=;\r\n }\r\n return (\r\n
    \r\n \r\n {configData.CompanyName+ \" - Thư viện\"} \r\n \r\n \t \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {rs}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n\r\n}\r\n\r\nexport default TinTuc;\r\n","import React from 'react';\r\nimport 'bootstrap/dist/css/bootstrap.min.css';\r\nimport '../home/stylePage.css'; \r\n \r\nimport queryString from 'query-string';\r\n \r\nimport { Container, Row,Col,Form } from 'react-bootstrap';\r\nimport configData from \"../../config.json\";\r\n\r\nimport BreadCrumbNews from '../Commons/BreadCrumbNews';\r\nimport BreadCrumbs from '../Commons/BreadCrumbs';\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport '../LienHe/LienHe.css';\r\nimport { BiWorld,BiPhoneCall } from 'react-icons/bi';\r\nimport { MdEmail } from 'react-icons/md';\r\nimport {Helmet} from 'react-helmet'; \r\n \r\n\r\nclass LienHe extends React.Component {\r\n \r\n constructor(props:any) {\r\n super(props);\r\n this.state = {\r\n ID_OTY: 1,\r\n ID_OGR: 0,\r\n NO_OBJ: 0,\r\n Model: {\r\n CompanyName: \"Công ty Cổ phần Tin học Sài Gòn\",\r\n CompanyAddress: \"52 Bàu Cát 6, P. 14, Q. Tân Bình, TP. Hồ Chí Minh\",\r\n CompanyEmail : \"erp@saigonit.com\",\r\n CompanyPhone:\"(028) 38 100 500\",\r\n },\r\n register : {\r\n Email: '',\r\n Name : '',\r\n Message: '',\r\n Token:''\r\n },\r\n notice: ''\r\n }\r\n }\r\n componentDidMount() {\r\n const values = queryString.parse(this.props.location.search);\r\n\r\n this.setState({\r\n ID_OGR: values.m,\r\n NO_OBJ:values.NO_OBJ\r\n });\r\n\r\n fetch(\r\n configData.serviceUrl+ '/api/News/Footer',\r\n {headers:new Headers ({\r\n 'Access-Control-Allow-Origin' : '*'\r\n \r\n })}\r\n \r\n ) \r\n .then(response => response.json())\r\n .then(dataJs => {\r\n //console.log(dataJs);\r\n this.setState({\r\n Model: dataJs.Data\r\n });\r\n })\r\n .catch(e => {\r\n console.log(e);\r\n });\r\n }\r\n\r\n componentWillMount(){\r\n \r\n }\r\n submitHandler = (e: any) =>{\r\n e.preventDefault();\r\n }\r\n changeHandler=(e: any)=>{\r\n let register = this.state.register;\r\n register[e.target.name]= e.target.value;\r\n this.setState({register: register});\r\n }\r\n onChange =(value)=> {\r\n // console.log(value );\r\n let register = this.state.register;\r\n register[\"Token\"]= value;\r\n this.setState({register: register});\r\n //console.log(this.state.register);\r\n }\r\n\r\n render(){\r\n\r\n const iframStyle = {\r\n width : '100%',\r\n height : '450px',\r\n border:'0px',\r\n allowfullscreen: '',\r\n loading : 'lazy'\r\n \r\n } as const;\r\n\r\n const div1 = {\r\n marginTop : '200px'\r\n } as const;\r\n \r\n const {\r\n Email,\r\n Name ,\r\n Message,\r\n Token\r\n } = this.state.register;\r\n const notice= this.state.notice;\r\n const recaptchaRef = React.createRef();\r\n\r\n return (\r\n
    \r\n \r\n {configData.CompanyName+ \" - Liên hệ\"} \r\n \r\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

    Thông tin liên hệ

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

    \r\n Công ty Cổ phần Tin học Sài Gòn được sáng lập bởi các chuyên gia có kinh nghiệm về các lĩnh vực Tin học, Kế toán Tài chính, Quản trị doanh nghiệp, Tư vấn triển khai ERP và phát triển phần mềm quản lý. Tuy hoạt động trong nhiều lĩnh vực khác nhau nhưng chúng tôi có cùng một đam mê là làm thế nào để tạo ra một hệ thống phần mềm giúp các doanh nghiệp hoạt động hiệu quả, tạo ra thật nhiều giá trị và phát triển bền vững...\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Địa chỉ:
    \r\n

    {this.state.Model.CompanyAddress}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Email:
    \r\n

    {this.state.Model.CompanyEmail}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    Số điện thoại:
    \r\n

    {this.state.Model.CompanyPhone}

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

    Gửi liên hệ

    \r\n
    \r\n

    Email của bạn sẽ được bảo mật. Các trường bắt buộc nhập được đánh dấ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