{"version":3,"sources":["helper/history.js","helper/type.js","reducer/SearchMutipleInvoice_Reducer.js","reducer/index.js","action/Dispatch.js","helper/axio.js","components/AppMenu_UserInfo.js","components/HeaderMenu.js","components/ModalOptions/ExtensionDownload.js","components/ModalOptions/InvoiceInfomation.js","components/ModalOptions/InvoiceOptions.js","components/ModalOptions/PopupKH.js","components/ModalOptions/PopupTBPH.js","components/ModalOptions/MinvoicePlugin.js","components/ModalOptions/SearchInfo.js","components/ModalOptions/GroupOptions.js","components/ExportModal.js","components/LookupEinvoice/LookupInvoiceList.js","components/ChildSearchForm/SearchByFiles.js","components/ChildSearchForm/SearchMutipleInvoice.js","components/ChildSearchForm/SearchOneInvoice.js","components/ChildSearchForm/SearchInvoiceBody.js","components/AppRoute/App_Router.js","components/SearchForm.js","components/ContentBody.js","components/FixContentBody.js","components/ContentSlider.js","components/Footers.js","App.js","index.js"],"names":["createBrowserHistory","ADD_USER","LOGOUT","BODY","user","JSON","parse","localStorage","getItem","initialState","isLoggedIn","show","allReducers","combineReducers","state","action","type","payload","Logout","ContentBody","port","baseUrl","document","location","process","toString","protocol","hostname","axios","defaults","baseURL","axiosInstance","create","connect","withRouter","props","useState","modal","oldpass","newpass","confirmpass","setState","open","toggle","setToggle","addToast","useToasts","useForm","defaultValues","register","handleSubmit","errors","React","isLoad","setisLoad","get_ref","useRef","handleLogout","removeItem","handleChange","e","target","name","value","useEffect","addEventListener","handleBodyClick","removeEventListener","event","current","contains","state_user","className","ref","id","onClick","style","backgroundImage","backgroundPosition","backgroundSize","textAlign","padding","color","cursor","username","margin","icon","faKey","size","to","pathname","faSignOutAlt","tabIndex","role","onSubmit","data","axiosConfig","headers","token","appearance","post","then","res","undefined","ok","stringify","toLocaleLowerCase","error","history","push","catch","err","response","status","message","htmlFor","onChange","defaultValue","active","spinner","styles","wrapper","width","height","HeaderMenu","href","src","alt","a","createElement","body","appendChild","click","removeChild","Component","ExtensionDownload","infomationInvoice","json","masothue","sobaomat","tt_ttoan","viewBox","fill","xmlns","d","responseType","file","Blob","fileURL","URL","createObjectURL","download","window","revokeObjectURL","title","inchuyendoi","console","log","InvoiceInfomation","InfomationData","InvoiceData","align","mau_hd","inv_invoiceSeries","inv_invoiceIssuedDate","inv_invoiceNumber","parseFloat","sum_tien","toLocaleString","InvoiceOptions","InvoiceDatas","InvoiceCus","useStyles","makeStyles","theme","form","display","flexDirection","formControl","marginTop","spacing","minWidth","formControlLabel","table","PopupKH","openKH","dataKH","onHide","classes","maxWidth","Fragment","Dialog","fullWidth","onClose","DialogTitle","DialogContent","TableContainer","component","Paper","Table","TableHead","backgroundColor","TableRow","TableCell","TableBody","length","map","row","index","ten_cty","dia_chi","ma_so_thue","cqthue_ql","cqthuecap_tinh","Moment","ngay_thanh_lap","format","nguoi_dai_dien","DialogActions","Button","PopupTBPH","date","no","dataUsing","formNo","symbol","quantity","from","providerName","providerTax","options","useDefaultPath","connection","hubConnection","hubProxy","createHubProxy","PluginMV","PluginConn","on","disconnected","setTimeout","start","done","fail","_plugin","_conn","SearchInfo","openPopup","setopenPopup","openTBPH","setopenTBPH","popupDataTBPH","popupDataKH","setpopupDataKH","isLoading","setisLoading","closeToggle","SearchData","kyHieu","mauHD","jsonMstInfo","key","md5","substring","toUpperCase","jsonRead","xml","ecd","alert","invoke","root","GroupOptions","InvoiceOptionsData","infoModal","setinfoModal","InvoiceSeries","setInvoiceSeries","MauSo","setMauSo","masoThue","setmasoThue","authID","setauthID","crypt","setcrypt","Ecd","setEcd","jsonInfo","inv_buyerTaxCode","inv_InvoiceAuth_id","auth_id","crypts","atob","toast","warn","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","success","msThue","appBar","marginLeft","flex","ExportModal","hide","byteData","scroll","AppBar","Toolbar","paddingRight","IconButton","edge","dividers","List","url","setLoading","isLoadingButton","setLoadingButton","tu_ngay","Date","den_ngay","mst","StateLookup","setStateLookup","pageSize","setPageSize","data_rows","setdata_rows","openModal","setOpenModal","setByteData","datepickerRef","datepickerRef2","data_Lookup","dateFormat","ma_dt","code","sortedObjs","sort","b","Number","i","includes","columns","field","headerName","renderHeader","identity","headerAlign","renderCell","params","valueFormatter","description","variant","data_json","ClickDownloadXML","ClickView","preventDefault","placeholderText","selected","showMonthDropdown","showYearDropdown","peekNextMonth","dropdownMode","shouldCloseOnSelect","setOpen","faCalendarCheck","opacity","startIcon","faSync","searchInvoiceList","onPageSizeChange","rowsPerPageOptions","rows","getRowId","ColumnMenuIcon","componentsProps","pagination","labelRowsPerPage","labelDisplayedRows","count","backIconButtonText","nextIconButtonText","localeText","footerRowSelected","SearchByFiles","fileInputRef","fileName","setfileName","handleFiles","typeFile","indexOf","onDragOver","onDragEnter","onDragLeave","onDrop","files","dataTransfer","multiple","currentTarget","selectedFile","formData","FormData","append","TextDecoder","decode","uploadFiles","addUser","password","newvalue","replace","state_new","setItem","userClick","placeholder","SearchOneInvoice","_mst","_sbm","decoded","SearchInvoiceBody","useParams","jpram","useLocation","search","jh","URLSearchParams","ms","get","mS","sbm","Click","App_Router","exact","path","LookupInvoiceList","SearchForm","typeClick","settypeClick","disable","setdisable","disabled","SwiperCore","use","Autoplay","Footers","n","getFullYear","fontSize","store","createStore","Navigation","App","script","async","autoDismiss","autoDismissTimeout","pageId","appId","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.60eae345.chunk.js","sourcesContent":["import { createBrowserHistory, HashHistory } from 'history';\r\n\r\nexport default createBrowserHistory();","export const ADD_USER = \"ADD_USER\"\r\nexport const LOGOUT = \"LOGOUT\"\r\nexport const BODY = \"BODY\"","\r\nimport { ADD_USER } from \"../helper/type\"\r\nimport { LOGOUT } from \"../helper/type\"\r\nimport { BODY } from \"../helper/type\"\r\n\r\nconst user = JSON.parse(localStorage.getItem(\"user\"));\r\n\r\nconst initialState = user\r\n ? { isLoggedIn: true, user , show: true}\r\n : { isLoggedIn: false, user: null , show: true};\r\n\r\nexport default (state = initialState, action) => {\r\n switch (action.type) {\r\n\r\n case ADD_USER:\r\n return {\r\n ...state, isLoggedIn: true, user: JSON.parse(action.payload)\r\n }\r\n case LOGOUT:\r\n return {\r\n ...state,\r\n isLoggedIn: false,\r\n user: null,\r\n };\r\n case BODY:\r\n return {\r\n ...state,\r\n show : action.payload\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { combineReducers } from \"redux\"\r\nimport SearchMutipleInvoice_Reducer from \"./SearchMutipleInvoice_Reducer\"\r\n\r\nconst allReducers = combineReducers({\r\n user: SearchMutipleInvoice_Reducer,\r\n})\r\n\r\nexport default allReducers","import { ADD_USER } from \"../helper/type\"\r\nimport { LOGOUT } from \"../helper/type\"\r\nimport { BODY } from \"../helper/type\"\r\n//dispatch\r\nexport const addUser = (user) => {\r\n return {\r\n type: ADD_USER,\r\n payload: user,\r\n }\r\n}\r\nexport const Logout = () => {\r\n return {\r\n type: LOGOUT,\r\n\r\n }\r\n}\r\nexport const ContentBody = (show) => {\r\n return {\r\n type: BODY,\r\n payload: show,\r\n }\r\n}","import axios from \"axios\";\r\nvar port = \"\";\r\nvar baseUrl = \"\";\r\nif (document.location.port === \"3000\") {\r\n baseUrl = process.env.REACT_APP_PUBLIC_URL;\r\n}\r\nelse {\r\n if (document.location.port != 80 && document.location.port != 445) {\r\n port = \":\" + document.location.port.toString();\r\n }\r\n // baseUrl = document.location.protocol + \"//\" + document.location.hostname + port + \"/api\";\r\n baseUrl = document.location.protocol + \"//\" + document.location.hostname + port;\r\n}\r\naxios.defaults.baseURL = baseUrl;\r\n// const baseUrl = process.env.REACT_APP_PUBLIC_URL;\r\nconst axiosInstance = axios.create({\r\n baseURL: baseUrl\r\n})\r\nexport default axiosInstance;","import React, { Component } from 'react';\r\nimport { useEffect, useState, useRef } from \"react\";\r\nimport { useToasts } from \"react-toast-notifications\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { Redirect, Link, Route } from 'react-router-dom';\r\nimport { Logout } from '../action/Dispatch';\r\nimport { ContentBody } from '../action/Dispatch';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nimport axiosInstance from \"../helper/axio\";\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faUserCog, faSignOutAlt, faOutdent, faExchangeAlt, faKey } from '@fortawesome/free-solid-svg-icons'\r\n// import Imag from './LibCustom/img/1.jpg'\r\n\r\nconst AppMenu_UserInfo = (props) => {\r\n\r\n const url = \"Account/ChangePass\";\r\n\r\n const [state, setState] = useState({ modal: false, oldpass: \"\", newpass: \"\", confirmpass: \"\" });\r\n const [toggle, setToggle] = useState({ open: false });\r\n const { addToast } = useToasts();\r\n const { register, handleSubmit, errors } = useForm({ defaultValues: {} });\r\n\r\n const [isLoad, setisLoad] = React.useState(false); // Trạng thái mở Modal\r\n\r\n const get_ref = useRef(null);\r\n\r\n\r\n const handleLogout = () => {\r\n setToggle({ open: false });\r\n localStorage.removeItem(\"user\");\r\n props.Logout();\r\n props.ContentBody(true);\r\n\r\n }\r\n\r\n const handleChange = (e) => {\r\n const { name, value } = e.target;\r\n setState({ ...state, [name]: value });\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('mousedown', handleBodyClick, true);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', handleBodyClick, true);\r\n }\r\n }, []);\r\n\r\n const handleBodyClick = (event) => {\r\n if (get_ref.current && !get_ref.current.contains(event.target)) {\r\n setToggle({ open: false });\r\n }\r\n }\r\n\r\n const handleToggle = () => {\r\n setToggle({ open: !toggle.open });\r\n }\r\n\r\n const handleChangePassword = () => {\r\n setState({ ...state, modal: true });\r\n\r\n }\r\n\r\n const submitChangePassword = (data) => {\r\n\r\n\r\n if (props.user.isLoggedIn == true) {\r\n const axiosConfig = {\r\n headers: {\r\n 'Content-Type': 'application/json;charset=UTF-8',\r\n 'Authorization': `Bearer ${props.user.user?.token}`\r\n }\r\n };\r\n\r\n if ((state.newpass == '' || state.confirmpass == '')) {\r\n addToast('Mật khẩu mới hoặc mật khẩu xác nhận không được để trống!', { appearance: \"error\" });\r\n }\r\n else {\r\n if (state.newpass !== state.confirmpass) {\r\n addToast('Mật khẩu mới và mật khẩu xác nhận không khớp nhau!', { appearance: \"error\" });\r\n }\r\n else {\r\n\r\n\r\n //gọi api change pass\r\n // const data = { sobaomat: params.row.sobaomat, masothue: StateLookup.masothue, type: \"PDF\" };\r\n setisLoad(true);\r\n axiosInstance\r\n .post(url, data, axiosConfig)\r\n .then((res) => {\r\n // setByteData(res.data);\r\n // setOpenModal(true);\r\n if (res.data.ok == undefined) {\r\n setisLoad(false);\r\n addToast(JSON.parse(JSON.stringify(res.data).toLocaleLowerCase()).error, { appearance: \"error\" })\r\n }\r\n else {\r\n setisLoad(false);\r\n addToast('Đổi mật khẩu thành công!', { appearance: \"success\" });\r\n handleLogout();\r\n\r\n setState({ ...state, modal: false });\r\n //gọi sang redux\r\n\r\n\r\n //về trang chủ đn lại sau khi đổi mk\r\n props.history.push({ pathname: '/', state: 'mutiple' });\r\n }\r\n\r\n })\r\n .catch((err) => {\r\n if (err.response.status == 401) {\r\n setisLoad(false);\r\n setToggle({ open: false });\r\n setState({ ...state, modal: false });\r\n\r\n localStorage.removeItem(\"user\");\r\n props.Logout();\r\n addToast(\"Phiên đăng nhập hết hạn vui lòng đăng nhập lại!\", { appearance: \"error\" });\r\n props.history.push({ pathname: '/', state: \"mutiple\" });\r\n\r\n }\r\n else {\r\n setisLoad(false);\r\n addToast(err.message, { appearance: \"error\" });\r\n }\r\n setisLoad(false);\r\n });\r\n\r\n\r\n\r\n }\r\n }\r\n // }\r\n }\r\n\r\n\r\n }\r\n\r\n const handleCancel = () => {\r\n setState({ ...state, modal: false });\r\n\r\n }\r\n\r\n const state_user = props.user;\r\n\r\n return (\r\n\r\n state_user.user ? (
\r\n\r\n\r\n {\r\n state_user.user ? (\r\n
\r\n\r\n\r\n {/*
\r\n {state_user.user ? \"Hi,\" : \"\"}\r\n {state_user.user?.username}\r\n\r\n\r\n {/* \r\n {state_user.user?.username.charAt(0).toUpperCase()}\r\n \r\n
*/}\r\n \r\n\r\n
) : \"\"}\r\n {\r\n state_user.user ? (\r\n
\r\n
\r\n
\r\n {state_user.user ? \"Hi,\" + state_user.user.username : \"\"}\r\n\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n Đăng xuất\r\n
\r\n
\r\n {/*
*/}\r\n
\r\n\r\n ) : \"\"\r\n\r\n }\r\n\r\n\r\n {state.modal ? (\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n

Thay đổi mật khẩu

\r\n
\r\n {/*/.modal-header*/}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {/* */}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n ) : \"\"\r\n }\r\n \r\n\r\n \r\n
\r\n ) : <>\r\n\r\n );\r\n\r\n}\r\nconst mapStateToProps = (state) => ({\r\n user: state.user,\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, { Logout, ContentBody })(withRouter(AppMenu_UserInfo));","import React, { Component } from \"react\";\r\nimport AppMenu_UserInfo from \"./AppMenu_UserInfo\";\r\n\r\nexport default class HeaderMenu extends Component {\r\n render() {\r\n const directLink = (e) => {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = \"https://drive.google.com/drive/folders/15kzkcSe-2tMFx6moKjlDYOHa7yUWicbP?usp=sharing\";\r\n a.target = \"_blank\";\r\n a.click();\r\n document.body.removeChild(a);\r\n };\r\n return (\r\n
\r\n
\r\n

\r\n \r\n \"\"\r\n \r\n {/* Trung tâm Nước sạch và VSMT Nông thôn */}\r\n

\r\n \r\n \r\n
\r\n\r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport axiosInstance from \"../../helper/axio\";\r\n\r\nexport default function ExtensionDownload({ infomationInvoice }) {\r\n const url = \"Search/ExportXmlInvoice\";\r\n const url2 = \"Search/SearchInvoice\";\r\n \r\n const json = {\r\n masothue: infomationInvoice.masothue,\r\n sobaomat: infomationInvoice.sobaomat,\r\n type: \"pdf\",\r\n };\r\n const pdfSave = (data) => {\r\n axiosInstance\r\n .post(url2, json, { responseType: \"arraybuffer\" })\r\n .then((res) => {\r\n const file = new Blob([res.data], {\r\n type: \"application/pdf\",\r\n });\r\n const fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = fileURL;\r\n a.download = \"Invoice_\" + json.masothue + \"_\" + json.sobaomat + \".pdf\";\r\n a.click();\r\n window.URL.revokeObjectURL(fileURL);\r\n document.body.removeChild(a);\r\n });\r\n };\r\n const xmlSave = (e) => {\r\n json.inchuyendoi = \"1\";\r\n axiosInstance\r\n .post(url, json, { responseType: \"arraybuffer\" })\r\n .then((res) => {\r\n const file = new Blob([res.data], {\r\n type: \"application/zip\",\r\n });\r\n const fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = fileURL;\r\n a.download = \"Invoice_\" + json.masothue + \"_\" + json.sobaomat + \".zip\";\r\n a.click();\r\n window.URL.revokeObjectURL(fileURL);\r\n document.body.removeChild(a);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n };\r\n\r\n const pluginSave = (e) => {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = \"https://plugin.minvoice.com.vn/MinvoicePlugin/setup.exe\";\r\n a.click();\r\n document.body.removeChild(a);\r\n };\r\n\r\n return (\r\n
\r\n { infomationInvoice.tt_ttoan == true ? \r\n
\r\n \r\n \r\n \r\n \r\n   Tải PDF\r\n \r\n
\r\n \r\n \r\n \r\n \r\n   Tải XML\r\n \r\n
\r\n
: null\r\n }\r\n \r\n \r\n \r\n \r\n   Tải Plugin ký\r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\n\r\n\r\nexport default function InvoiceInfomation(data) {\r\n const InfomationData = data.InvoiceData;\r\n return InfomationData ? (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Mẫu số{InfomationData.mau_hd}
Ký hiệu{InfomationData.inv_invoiceSeries}
Ngày hóa đơn{InfomationData.inv_invoiceIssuedDate}
Số hóa đơn{InfomationData.inv_invoiceNumber}
Tổng tiền{parseFloat(InfomationData.sum_tien).toLocaleString()}
\r\n
\r\n ) : (\r\n <>\r\n );\r\n}\r\n","import React from \"react\";\r\nimport axiosInstance from \"../../helper/axio\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nexport default function InvoiceOptions({ InvoiceDatas }) {\r\n const url = \"Search/SearchInvoice\";\r\n //để dđây chờ url in cđ\r\n const url_InvoiceCusPDF = \"Search/PrintInvoiceCusPDF\";\r\n \r\n const [isLoad, setisLoad] = React.useState(false); // Trạng thái mở Modal\r\n\r\n const loadPdf = (data) => {\r\n InvoiceDatas.inchuyendoi = \"1\";\r\n setisLoad(true);\r\n axiosInstance\r\n .post(InvoiceDatas.InvoiceCus ? url_InvoiceCusPDF : url, InvoiceDatas, {\r\n responseType: \"arraybuffer\",\r\n })\r\n .then((res) => {\r\n setisLoad(false);\r\n const file = new Blob([res.data], {\r\n type: \"application/pdf\",\r\n });\r\n const fileURL = URL.createObjectURL(file);\r\n const pdfWindow = window.open();\r\n pdfWindow.location.href = fileURL;\r\n })\r\n .catch((err) => {\r\n setisLoad(false);\r\n console.log(err);\r\n });\r\n };\r\n const directLink = (e) => {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = \"http://tracuuhoadon.gdt.gov.vn/tc1hd.html\";\r\n a.target = \"_blank\";\r\n a.click();\r\n document.body.removeChild(a);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n   In Chuyển đổi\r\n
\r\n \r\n \r\n \r\n   Tra cứu kê khai thuế\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Moment from 'moment';\r\n\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n form: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n margin: \"auto\",\r\n width: \"fit-content\",\r\n },\r\n formControl: {\r\n marginTop: theme.spacing(2),\r\n minWidth: 120,\r\n },\r\n formControlLabel: {\r\n marginTop: theme.spacing(1),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n}));\r\n\r\nexport default function PopupKH({ openKH, dataKH, onHide }) {\r\n const classes = useStyles();\r\n const [maxWidth, setMaxWidth] = React.useState(\"xl\");\r\n return (\r\n \r\n \r\n \r\n Thông tin khách hàng\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Tên C.ty\r\n Địa chỉ\r\n Mã số thuế\r\n Cơ quan thuế Q.lý\r\n Cơ quan thuế cấp tỉnh\r\n Ngày thành lập\r\n Người đại diện\r\n \r\n \r\n \r\n {dataKH && dataKH.length > 0 && dataKH.map((row,index) => (\r\n \r\n {row.ten_cty}\r\n {row.dia_chi}\r\n {row.ma_so_thue}\r\n {row.cqthue_ql}\r\n {row.cqthuecap_tinh}\r\n {Moment(row.ngay_thanh_lap).format('DD/MM/YYYY')}\r\n {row.nguoi_dai_dien}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n onHide();\r\n }}\r\n color=\"primary\"\r\n >\r\n Thoát\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Button from \"@material-ui/core/Button\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport DialogActions from \"@material-ui/core/DialogActions\";\r\nimport DialogContent from \"@material-ui/core/DialogContent\";\r\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\r\nimport Table from \"@material-ui/core/Table\";\r\nimport TableBody from \"@material-ui/core/TableBody\";\r\nimport TableCell from \"@material-ui/core/TableCell\";\r\nimport TableContainer from \"@material-ui/core/TableContainer\";\r\nimport TableHead from \"@material-ui/core/TableHead\";\r\nimport TableRow from \"@material-ui/core/TableRow\";\r\nimport Paper from \"@material-ui/core/Paper\";\r\nimport Moment from 'moment';\r\n\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n form: {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n margin: \"auto\",\r\n width: \"fit-content\",\r\n },\r\n formControl: {\r\n marginTop: theme.spacing(2),\r\n minWidth: 120,\r\n },\r\n formControlLabel: {\r\n marginTop: theme.spacing(1),\r\n },\r\n table: {\r\n minWidth: 650,\r\n },\r\n}));\r\n\r\nexport default function PopupTBPH({ open, data, onHide }) {\r\n const classes = useStyles();\r\n const [maxWidth, setMaxWidth] = React.useState(\"xl\");\r\n return (\r\n \r\n \r\n \r\n Thông báo phát hành\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n Ngày thông báo\r\n Số thông báo\r\n Ngày bắt đầu SD\r\n Mẫu số\r\n Ký hiệu\r\n Số lượng\r\n Từ số\r\n Đến số\r\n Tại đơn vị\r\n Mst đơn vị\r\n {/* Số đặt in\r\n Ngày đặt in */}\r\n \r\n \r\n \r\n {data && data.data.length > 0 && data.data.map((row,index) => (\r\n \r\n {row.date}\r\n {row.no}\r\n {Moment(row.dataUsing).format('DD/MM/YYYY')}\r\n {row.formNo}\r\n {row.symbol}\r\n {row.quantity}\r\n {row.from}\r\n {row.to}\r\n {row.providerName}\r\n {row.providerTax}\r\n {/* {Moment(row.dateConvert).format('DD/MM/YYYY')}\r\n {Moment(row.dataUsingConvert).format('DD/MM/YYYY')} */}\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n onHide();\r\n }}\r\n color=\"primary\"\r\n >\r\n Thoát\r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import { hubConnection } from 'signalr-no-jquery';\r\n\r\nvar url = \"http://localhost:19898/signalr\";\r\nvar options = {\r\n useDefaultPath: false\r\n}\r\nconst connection = hubConnection(url, options);\r\nconst hubProxy = connection.createHubProxy('invoiceHub', options);\r\n\r\nhubProxy.on('resCommand', function (message) {\r\n console.log(message);\r\n});\r\nconnection.disconnected(function () {\r\n console.log('Connection disconnected');\r\n setTimeout(function () {\r\n connection.start();\r\n }, 2000);\r\n});\r\n\r\nconnection.start()\r\n .done(function () { console.log('Now connected, connection ID=' + connection.id); })\r\n .fail(function () { console.log('Could not connect'); });\r\n\r\n\r\nexport function PluginMV() {\r\n return hubProxy;\r\n}\r\nexport function PluginConn(){\r\n return connection;\r\n}\r\n","import React, { Component } from \"react\";\r\nimport PopupKH from \"./PopupKH\";\r\nimport axiosInstance from \"../../helper/axio\";\r\nimport { useToasts } from \"react-toast-notifications\";\r\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport PopupTBPH from \"./PopupTBPH\";\r\nimport md5 from \"md5\";\r\nimport { PluginMV, PluginConn } from \"./MinvoicePlugin\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nimport { ToastContainer, toast } from 'react-toastify';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\n\r\nvar _plugin = PluginMV();\r\nvar _conn = PluginConn();\r\n\r\nexport default function SearchInfo(data) {\r\n const url = \"Search/SearchTBH\";\r\n const url2 = \"Search/SearchThongTinNM\";\r\n const [openPopup, setopenPopup] = React.useState(false); // Trạng thái mở Modal\r\n const [openTBPH, setopenTBPH] = React.useState(false); // Trạng thái mở Modal\r\n const [popupDataTBPH, setpopupDataTBPH] = React.useState(undefined); // Dữ liệu truyền sang modal TBPH\r\n const [popupDataKH, setpopupDataKH] = React.useState(undefined); // Dữ liệu truyền sang modal KH\r\n const { addToast } = useToasts();\r\n const [isLoading, setisLoading] = React.useState(false); // wait form\r\n const jsonPost = {\r\n \r\n masothue: data.SearchData.masothue,\r\n ky_hieu: data.kyHieu,\r\n mau_so: data.mauHD,\r\n };\r\n\r\n const OpenTraCuu = () => {\r\n \r\n setisLoading(true);\r\n axiosInstance\r\n .post(url, jsonPost)\r\n .then((res) => {\r\n if (res.data.code == \"99\") {\r\n setisLoading(false);\r\n // addToast(res.data.message, { appearance: \"error\" });\r\n toast.warn(res.data.message, {\r\n position: \"top-right\",\r\n autoClose: 3000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n } else {\r\n setpopupDataTBPH(res.data.data);\r\n setisLoading(false);\r\n setopenTBPH(true);\r\n }\r\n })\r\n .catch((err) => {\r\n setisLoading(false);\r\n if (err.data.code == \"99\") {\r\n // addToast(err.data.message, { appearance: \"error\" });\r\n toast.warn(err.data.message, {\r\n position: \"top-right\",\r\n autoClose: 3000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n }\r\n });\r\n };\r\n\r\n const OpenMstInfo = (e) => {\r\n console.log(\"data\",data.SearchData.masothue);\r\n var jsonMstInfo = {};\r\n if (data && data.SearchData.masothue) {\r\n jsonMstInfo = {\r\n masothue: data.SearchData.masothue,\r\n key: md5(\r\n \"DOANPV\" + \"CUONGNH1\" + data.SearchData.masothue.substring(0, 2)\r\n ).toUpperCase(),\r\n };\r\n }\r\n setisLoading(true);\r\n axiosInstance\r\n .post(url2, jsonMstInfo)\r\n .then((res) => {\r\n setisLoading(false);\r\n setopenPopup(true);\r\n setpopupDataKH(res.data.data);\r\n })\r\n .catch((err) => {\r\n setisLoading(false);\r\n setopenPopup(false);\r\n });\r\n };\r\n const closeToggle = () => {\r\n setopenPopup(false);\r\n setopenTBPH(false);\r\n };\r\n\r\n const ReadToken = () => {\r\n var jsonRead = { xml: data.ecd, id: 'seller' };\r\n if (_conn.state != 1) {\r\n alert(\"Bạn chưa bật hoặc cài Plugin ký\");\r\n } else {\r\n _plugin.invoke(\"execCommand\", \"ShowCert2\", JSON.stringify(jsonRead))\r\n .done(function (res) {\r\n console.log(res);\r\n })\r\n .fail(function (error) {\r\n console.log(error);\r\n });\r\n }\r\n };\r\n\r\n return data ? (\r\n
\r\n {/* \r\n \r\n \r\n \r\n   Tra cứu thông báo phát hành\r\n \r\n
*/}\r\n \r\n \r\n \r\n \r\n   Tra cứu thông tin khách hàng\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n   Đọc CKS người bán\r\n \r\n \r\n \r\n {/* {isLoading && (\r\n
\r\n \r\n
\r\n )} */}\r\n \r\n \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport axiosInstance from \"../../helper/axio\";\r\nimport ExtensionDownload from \"./ExtensionDownload\";\r\nimport InvoiceInfomation from \"./InvoiceInfomation\";\r\nimport InvoiceOptions from \"./InvoiceOptions\";\r\nimport SearchInfo from \"./SearchInfo\";\r\nimport Icon from \"@material-ui/core/Icon\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport { PluginMV, PluginConn } from \"./MinvoicePlugin\";\r\nimport { useToasts } from \"react-toast-notifications\";\r\nimport LoadingOverlay from \"react-loading-overlay\";\r\n\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n \"& > .fa\": {\r\n margin: theme.spacing(2),\r\n },\r\n },\r\n}));\r\nvar _plugin = PluginMV();\r\nvar _conn = PluginConn();\r\n\r\nexport default function GroupOptions(data) {\r\n const classes = useStyles();\r\n const { addToast } = useToasts(); // trạng thái hiển thị cảnh báo\r\n const InvoiceOptionsData = data.data;\r\n const url = \"invoice/GetInforInvoice\";\r\n const [infoModal, setinfoModal] = React.useState(undefined); // Thông tin hóa đơn\r\n const [InvoiceSeries, setInvoiceSeries] = React.useState(undefined); // Ký hiệu\r\n const [MauSo, setMauSo] = React.useState(undefined); // Mẫu số\r\n const [masoThue, setmasoThue] = React.useState(undefined); // Mã số thuế\r\n const [authID, setauthID] = React.useState(undefined); // AuthID\r\n const [crypt, setcrypt] = React.useState(undefined); // ConnectString\r\n const [Ecd, setEcd] = React.useState(undefined); // Read Token người bán\r\n\r\n const [isLoad, setisLoad] = React.useState(false); // Trạng thái mở Modal\r\n const jsonInfo = {\r\n masothue: data.data.masothue,\r\n sobaomat: data.data.sobaomat,\r\n };\r\n\r\n useEffect(() => {\r\n setisLoad(true);\r\n axiosInstance.post(url, jsonInfo).then((res) => {\r\n setinfoModal(res.data.data.data[0]);\r\n InvoiceOptionsData.tt_ttoan = res.data.data.data[0].tt_ttoan;\r\n setInvoiceSeries(res.data.data.data[0].inv_invoiceSeries);\r\n setMauSo(res.data.data.data[0].mau_hd);\r\n setmasoThue(res.data.data.data[0].inv_buyerTaxCode);\r\n setauthID(res.data.data.data[0].inv_InvoiceAuth_id);\r\n // console.log(res.data.data.data[0].inv_InvoiceAuth_id);\r\n setcrypt(res.data.data.data[0].auth_id);\r\n setEcd(res.data.data.data[0].ecd);\r\n setisLoad(false);\r\n });\r\n }, []);\r\n\r\n const signInvoice = () => {\r\n debugger;\r\n var crypts = atob(crypt);\r\n // Người mua ký điiiiiiiiiiiiiiiiiiiiiiiiii\r\n if (_conn.state != 1) {\r\n //addToast(\"Không có hoặc chưa bật Plugin ký. Vui lòng kiểm tra lại\", { appearance: \"error\" });\r\n\r\n toast.warn(\"Không có hoặc chưa bật Plugin ký. Vui lòng kiểm tra lại !\", {\r\n position: \"top-right\",\r\n autoClose: 3000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n } else {\r\n setisLoad(true);\r\n _plugin\r\n .invoke(\"SignatureXML\", masoThue, authID, crypts)\r\n .done(function (res) {\r\n //addToast(res, { appearance: \"success\" });\r\n setisLoad(false);\r\n toast.success(res, {\r\n position: \"top-right\",\r\n autoClose: 3000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n })\r\n .fail(function (error) {\r\n setisLoad(false);\r\n // addToast(error, { appearance: \"error\" });\r\n toast.warn(error, {\r\n position: \"top-right\",\r\n autoClose: 3000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n    Người mua ký hóa đơn \r\n \r\n
\r\n {/* */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n}\r\n","import React from \"react\";\r\nimport { makeStyles } from \"@material-ui/core/styles\";\r\nimport Dialog from \"@material-ui/core/Dialog\";\r\nimport List from \"@material-ui/core/List\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\nimport CloseIcon from \"@material-ui/icons/Close\";\r\nimport GroupOptions from \"./ModalOptions/GroupOptions\";\r\nimport { DialogContent } from \"@material-ui/core\";\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n appBar: {\r\n position: \"relative\",\r\n },\r\n title: {\r\n marginLeft: theme.spacing(2),\r\n flex: 1,\r\n },\r\n}));\r\n\r\nexport default function ExportModal({ hide, open, byteData, infoModal }) {\r\n const classes = useStyles();\r\n const [scroll, setScroll] = React.useState(\"paper\");\r\n const file = new Blob([byteData], {\r\n type: \"application/pdf\",\r\n });\r\n const [maxWidth, setMaxWidth] = React.useState(\"lg\");\r\n const fileURL = URL.createObjectURL(file);\r\n return (\r\n
\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n   Hóa đơn điện tử M-Invoice\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n THÔNG TIN HÓA ĐƠN\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n}\r\n","import React, { Component } from 'react';\r\nimport { DataGrid, formatDateToLocalInputDate } from '@material-ui/data-grid';\r\nimport { useEffect, useState } from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport dateFormat from 'dateformat';\r\n// import { makeStyles } from '@material-ui/core/styles';\r\n// import { createMuiTheme, darken, lighten } from '@material-ui/core/styles';\r\n\r\n\r\n// import required css from library\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport './LookupInvoice.css';\r\n\r\nimport axiosInstance from \"../../helper/axio\";\r\nimport { useToasts } from \"react-toast-notifications\";\r\n\r\n//redux and route\r\nimport { Logout } from '../../action/Dispatch';\r\nimport { ContentBody } from '../../action/Dispatch';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\n//import icon, button\r\nimport Button from '@material-ui/core/Button';\r\nimport SearchIcon from '@material-ui/icons/Search';\r\nimport VisibilityIcon from '@material-ui/icons/Visibility';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome'\r\nimport { faSync } from '@fortawesome/free-solid-svg-icons'\r\nimport { faCalendarCheck } from '@fortawesome/free-regular-svg-icons'\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nimport ExportModal from \"../ExportModal\";\r\n\r\n// const useStyles = makeStyles((theme) => ({\r\n// button: {\r\n// // margin: theme.spacing(1),\r\n// },\r\n// }));\r\n// const defaultTheme = createMuiTheme();\r\n// const useStyles = makeStyles(\r\n// (theme) => {\r\n// const getBackgroundColor = (color) =>\r\n// getThemePaletteMode(theme.palette) === 'dark'\r\n// ? darken(color, 0.6)\r\n// : lighten(color, 0.6);\r\n\r\n// const getHoverBackgroundColor = (color) =>\r\n// getThemePaletteMode(theme.palette) === 'dark'\r\n// ? darken(color, 0.5)\r\n// : lighten(color, 0.5);\r\n\r\n// return {\r\n// root: {\r\n// '& .super-app-theme--Open': {\r\n// backgroundColor: getBackgroundColor(theme.palette.info.main),\r\n// '&:hover': {\r\n// backgroundColor: getHoverBackgroundColor(theme.palette.info.main),\r\n// },\r\n// },\r\n// '& .super-app-theme--Filled': {\r\n// backgroundColor: getBackgroundColor(theme.palette.success.main),\r\n// '&:hover': {\r\n// backgroundColor: getHoverBackgroundColor(theme.palette.success.main),\r\n// },\r\n// },\r\n// '& .super-app-theme--PartiallyFilled': {\r\n// backgroundColor: getBackgroundColor(theme.palette.warning.main),\r\n// '&:hover': {\r\n// backgroundColor: getHoverBackgroundColor(theme.palette.warning.main),\r\n// },\r\n// },\r\n// '& .super-app-theme--Rejected': {\r\n// backgroundColor: getBackgroundColor(theme.palette.error.main),\r\n// '&:hover': {\r\n// backgroundColor: getHoverBackgroundColor(theme.palette.error.main),\r\n// },\r\n// },\r\n// },\r\n// };\r\n// },\r\n// { defaultTheme },\r\n// );\r\n\r\nconst LookupEinvoice = (props) => {\r\n\r\n // const classes = useStyles();\r\n // const classes = useStyles();\r\n const url = \"invoice/SearchMultiInvoice\";\r\n const url_printInvoice = \"Search/PrintInvoiceCusPDF\";\r\n const url_downloadInvoice = \"Search/ExportXmlInvoice\";\r\n\r\n const [isLoading, setLoading] = useState(false); //state loading\r\n const [isLoadingButton, setLoadingButton] = useState(false); //state loading button\r\n\r\n const [StateLookup, setStateLookup] = useState({ tu_ngay: new Date(\"01/01/2021\"), den_ngay: new Date(), masothue: props.user.user?.mst });\r\n // const [StateLookup, setStateLookup] = useState({ tu_ngay: new Date(), den_ngay: new Date(), masothue: props.user.user?.mst });\r\n // const [ToDate, setToDate] = useState(new Date());\r\n const { addToast } = useToasts(); //hiển thị cảnh báo\r\n const [pageSize, setPageSize] = React.useState(30); //set page size\r\n const [data_rows, setdata_rows] = React.useState([]); // set data from API fill in Grid\r\n\r\n const [openModal, setOpenModal] = React.useState(false); // Trạng thái mở Modal\r\n\r\n const [byteData, setByteData] = React.useState(undefined); // Dữ liệu truyền sang modal\r\n const [infoModal, setinfoModal] = React.useState(undefined); // Dữ liệu truyền sang modal\r\n const datepickerRef = React.useRef(null);\r\n const datepickerRef2 = React.useRef(null);\r\n useEffect(() => {\r\n props.ContentBody(false);\r\n\r\n\r\n\r\n //componentDidMount\r\n if (props.user.isLoggedIn == false) {\r\n setLoadingButton(false);\r\n addToast(\"Bạn chưa đăng nhập!\", { appearance: \"error\" });\r\n //đưa về trang chủ\r\n localStorage.removeItem(\"user\");\r\n props.ContentBody(true);\r\n props.Logout();\r\n\r\n props.history.push({ pathname: '/', state: \"mutiple\" });\r\n\r\n }\r\n else {\r\n const axiosConfig = {\r\n headers: {\r\n 'Content-Type': 'application/json;charset=UTF-8',\r\n 'Authorization': `Bearer ${props.user.user?.token}`\r\n }\r\n };\r\n // var settungay = convertDate(StateLookup.tu_ngay);\r\n var data_Lookup = {\r\n tu_ngay: dateFormat(StateLookup.tu_ngay, \"yyyy-mm-dd\"),\r\n den_ngay: dateFormat(StateLookup.den_ngay, \"yyyy-mm-dd\"),\r\n masothue: StateLookup.masothue,\r\n ma_dt: props.user.user.ma_dt\r\n };\r\n\r\n axiosInstance\r\n .post(url, data_Lookup, axiosConfig)\r\n .then((res) => {\r\n if (res.data.code == '00') {\r\n if (res.data.data != null) {\r\n if (res.data.data.data.length > 0) {\r\n\r\n var sortedObjs = res.data.data.data.sort((a, b) => Number(b.inv_invoiceNumber) - Number(a.inv_invoiceNumber));\r\n for (var i = 0; i < sortedObjs.length; i++) {\r\n sortedObjs[i].id = i + 1;\r\n }\r\n setdata_rows(res.data.data.data);\r\n setLoadingButton(false);\r\n }\r\n else {\r\n setLoadingButton(false);\r\n addToast(\"Không tìm thấy hóa đơn trong khoảng ngày này!\", { appearance: \"error\" });\r\n }\r\n }\r\n else{\r\n setLoadingButton(false);\r\n addToast(\"Không tìm thấy hóa đơn trong khoảng ngày này!\", { appearance: \"error\" });\r\n }\r\n }\r\n\r\n // setOpenModal(true);\r\n })\r\n .catch((err) => {\r\n if(err.message.includes('Network')){\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoadingButton(false);\r\n }\r\n else{\r\n if (err.response.status == 401) {\r\n setLoadingButton(false);\r\n localStorage.removeItem(\"user\");\r\n props.ContentBody(true);\r\n props.Logout();\r\n addToast(\"Phiên đăng nhập hết hạn vui lòng đăng nhập lại!\", { appearance: \"error\" });\r\n props.history.push({ pathname: '/', state: \"mutiple\" });\r\n \r\n }\r\n else {\r\n if (JSON.stringify(err).includes('message')) {\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoadingButton(false);\r\n }\r\n else { addToast(err.message, { appearance: \"error\" }); setLoadingButton(false); }\r\n }\r\n }\r\n \r\n\r\n\r\n });\r\n }\r\n\r\n \r\n\r\n }, []);\r\n // const convertDate =(date) =>{\r\n // return new Intl.DateTimeFormat(\"en-US\", {\r\n // year: 'numeric',\r\n // month: '2-digit',\r\n // day: '2-digit'\r\n // }).format(date);\r\n // }\r\n if (props.user.isLoggedIn == false) {\r\n props.ContentBody(true);\r\n props.history.push('/');\r\n }\r\n\r\n function toggle() {\r\n setOpenModal(!openModal);\r\n }\r\n\r\n const ClickDownloadXML = (params) => {\r\n\r\n //gọi api get thông tin hđ\r\n setLoading(true);\r\n const data_json = { sobaomat: params.row.sobaomat, masothue: StateLookup.masothue, type: \"PDF\", inchuyendoi: \"1\" };\r\n\r\n axiosInstance\r\n .post(url_downloadInvoice, data_json, { responseType: \"arraybuffer\" })\r\n .then((res) => {\r\n const file = new Blob([res.data], {\r\n type: \"application/zip\",\r\n });\r\n const fileURL = URL.createObjectURL(file);\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = fileURL;\r\n a.download = \"Invoice_\" + data_json.masothue + \"_\" + data_json.sobaomat +\"_\"+params.row.inv_invoiceNumber+ \".zip\";\r\n a.click();\r\n window.URL.revokeObjectURL(fileURL);\r\n document.body.removeChild(a);\r\n\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoading(false);\r\n });\r\n // data.InvoiceCus = true;\r\n // setinfoModal(data);\r\n }\r\n\r\n const ClickView = (params) => {\r\n //gọi api get thông tin hđ\r\n setLoading(true);\r\n const data = { sobaomat: params.row.sobaomat, masothue: StateLookup.masothue, type: \"PDF\" };\r\n\r\n axiosInstance\r\n .post(url_printInvoice, data, { responseType: \"arraybuffer\" })\r\n .then((res) => {\r\n setByteData(res.data);\r\n setOpenModal(true);\r\n\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoading(false);\r\n });\r\n data.InvoiceCus = true;\r\n setinfoModal(data);\r\n }\r\n\r\n const columns = [\r\n { field: \"id\", headerName: \"STT\", width: 130, renderHeader: () => ({'STT'}), identity: true },\r\n { field: \"mau_hd\", headerName: \"Mẫu số\", headerAlign: \"center\", align: \"left\", width: 150, renderHeader: () => ({'Mẫu số'}) },\r\n { field: \"inv_invoiceSeries\", headerName: \"Ký hiệu\", headerAlign: \"center\", align: \"left\", width: 140, renderHeader: () => ({'Ký hiệu'}) },\r\n { field: \"inv_invoiceNumber\", headerName: \"Số hóa đơn\", headerAlign: \"center\", align: \"left\", type: \"number\", width: 160, renderHeader: () => ({'Số hóa đơn'}),\r\n \r\n renderCell: (params) => (\r\n {params.row.inv_invoiceNumber}\r\n\r\n )\r\n \r\n },\r\n {\r\n field: \"inv_invoiceIssuedDate\", headerName: \"Ngày hóa đơn\", headerAlign: \"center\", align: \"left\", type: \"date\", width: 180, renderHeader: () => ({'Ngày hóa đơn'}),\r\n valueFormatter: (params) => {\r\n const valueFormatted = dateFormat(params.value, \"dd/mm/yyyy\");\r\n return valueFormatted;\r\n\r\n }\r\n },\r\n {\r\n field: \"inv_TotalAmount\", headerName: \"Tổng tiền\", type: \"number\", headerAlign: \"center\", align: \"left\", description: \"\", width: 150, renderHeader: () => ({'Tổng tiền'})\r\n // sortable: false,\r\n // width: 160,\r\n // valueGetter: (params) =>\r\n // `${params.getValue(\"firstName\") || \"\"} ${\r\n // params.getValue(\"lastName\") || \"\"\r\n // }`\r\n },\r\n {\r\n field: \"action\", headerName: \"Action\", headerAlign: \"center\", align: \"left\", width: 160, renderHeader: () => ({'Tải xuống'}),\r\n renderCell: (params) => (\r\n <>\r\n {params.row.tt_ttoan == true ?\r\n ClickDownloadXML(params)}\r\n\r\n >\r\n XML\r\n : null\r\n }\r\n ClickView(params)}\r\n\r\n >\r\n PDF\r\n \r\n \r\n )\r\n },\r\n { field: \"tt_ttoan\", headerName: \"Trạng thái TT\", headerAlign: \"center\", align: \"left\", width: 160, renderHeader: () => ({'Trạng thái TT'}),\r\n \r\n renderCell: (params) => (\r\n
{params.row.tt_ttoan== true ? Đã thanh toán : Chưa thanh toán}
\r\n\r\n )\r\n \r\n },\r\n ];\r\n\r\n\r\n\r\n\r\n const searchInvoiceList = () => {\r\n\r\n setLoadingButton(true);\r\n //gọi api\r\n\r\n if (props.user.isLoggedIn == false) {\r\n setLoadingButton(false);\r\n addToast(\"Bạn chưa đăng nhập!\", { appearance: \"error\" });\r\n //đưa về trang chủ\r\n localStorage.removeItem(\"user\");\r\n props.ContentBody(true);\r\n props.Logout();\r\n\r\n props.history.push({ pathname: '/', state: \"mutiple\" });\r\n\r\n }\r\n else {\r\n const axiosConfig = {\r\n headers: {\r\n 'Content-Type': 'application/json;charset=UTF-8',\r\n 'Authorization': `Bearer ${props.user.user?.token}`\r\n }\r\n };\r\n // var settungay = convertDate(StateLookup.tu_ngay);\r\n var data_Lookup = {\r\n tu_ngay: dateFormat(StateLookup.tu_ngay, \"yyyy-mm-dd\"),\r\n den_ngay: dateFormat(StateLookup.den_ngay, \"yyyy-mm-dd\"),\r\n masothue: StateLookup.masothue,\r\n ma_dt: props.user.user.ma_dt\r\n };\r\n\r\n axiosInstance\r\n .post(url, data_Lookup, axiosConfig)\r\n .then((res) => {\r\n if (res.data.code == '00') {\r\n if (res.data.data != null) {\r\n if (res.data.data.data.length > 0) {\r\n\r\n var sortedObjs = res.data.data.data.sort((a, b) => Number(b.inv_invoiceNumber) - Number(a.inv_invoiceNumber));\r\n for (var i = 0; i < sortedObjs.length; i++) {\r\n sortedObjs[i].id = i + 1;\r\n }\r\n setdata_rows(res.data.data.data);\r\n setLoadingButton(false);\r\n }\r\n else {\r\n setLoadingButton(false);\r\n addToast(\"Không tìm thấy hóa đơn trong khoảng ngày này!\", { appearance: \"error\" });\r\n }\r\n }\r\n else{\r\n setLoadingButton(false);\r\n addToast(\"Không tìm thấy hóa đơn trong khoảng ngày này!\", { appearance: \"error\" });\r\n }\r\n }\r\n\r\n // setOpenModal(true);\r\n })\r\n .catch((err) => {\r\n if(err.message.includes('Network')){\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoadingButton(false);\r\n }\r\n else{\r\n if (err.response.status == 401) {\r\n setLoadingButton(false);\r\n localStorage.removeItem(\"user\");\r\n props.ContentBody(true);\r\n props.Logout();\r\n addToast(\"Phiên đăng nhập hết hạn vui lòng đăng nhập lại!\", { appearance: \"error\" });\r\n props.history.push({ pathname: '/', state: \"mutiple\" });\r\n \r\n }\r\n else {\r\n if (JSON.stringify(err).includes('message')) {\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoadingButton(false);\r\n }\r\n else { addToast(err.message, { appearance: \"error\" }); setLoadingButton(false); }\r\n }\r\n }\r\n \r\n\r\n\r\n });\r\n }\r\n\r\n }\r\n\r\n const handlePageSizeChange = (params) => {\r\n setPageSize(params.pageSize);\r\n };\r\n\r\n return (\r\n\r\n
\r\n {/* {isLoading ?
: null} */}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n Thời gian\r\n
*/}\r\n\r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n {/* */}\r\n \r\n {/* */}\r\n
\r\n
\r\n
\r\n {isLoadingButton ?\r\n // \r\n }\r\n >\r\n Tìm kiếm\r\n \r\n : searchInvoiceList()}\r\n variant=\"contained\"\r\n color=\"default\"\r\n className=\"button_search\"\r\n startIcon={}\r\n >\r\n Tìm kiếm\r\n \r\n }\r\n {/* */}\r\n
\r\n\r\n
\r\n
\r\n
\r\n row.id}\r\n columns={columns}\r\n ColumnMenuIcon\r\n componentsProps={{\r\n pagination: {\r\n labelRowsPerPage: ('Số hóa đơn trên một trang'),\r\n labelDisplayedRows: ({ from, to, count }) =>\r\n `${from}-${to} trên ${count !== -1 ? count : ` ${to}`} hóa đơn`,\r\n backIconButtonText: \"Trang trước\",\r\n nextIconButtonText: \"Trang sau\"\r\n }\r\n }}\r\n\r\n localeText={{\r\n footerRowSelected: (count) =>\r\n count !== 1\r\n ? `${count.toLocaleString()} hóa đơn đã chọn`\r\n : `${count.toLocaleString()} hóa đơn đã chọn`,\r\n }}\r\n\r\n // getRowClassName={(params) =>\r\n // `super-app-theme--${params.id%2 ? \"chan\" : \"le\"}`\r\n // }\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n );\r\n\r\n\r\n // return (\r\n //
\r\n //
TRA CỨU HÀNG LOẠT HÓA ĐƠN
\r\n //
\r\n //
\r\n //
\r\n //
\r\n\r\n\r\n //
\r\n //
\r\n //
\r\n //
\r\n //
\r\n // );\r\n\r\n}\r\nconst mapStateToProps = (state) => ({\r\n user: state.user,\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, { Logout, ContentBody })(withRouter(LookupEinvoice));\r\n\r\n\r\n","import React, { useRef, useState, useEffect } from 'react';\r\nimport './style.css'\r\nimport { toast, ToastContainer } from 'react-toastify';\r\nimport axiosInstance from \"../../helper/axio\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\nexport const SearchByFiles = () => {\r\n const url = 'TracuuFile/UploadInv';\r\n const fileInputRef = useRef();\r\n const [fileName, setfileName] = useState(undefined);\r\n const [btnClass, setbtnClass] = useState('');\r\n\r\n const [isLoad, setisLoad] = React.useState(false); // Trạng thái mở Modal\r\n\r\n\r\n const preventDefault = (e) => {\r\n console.log(\"1\",e);\r\n e.preventDefault();\r\n // e.stopPropagation();\r\n }\r\n\r\n const dragOver = (e) => {\r\n console.log(\"2\",e);\r\n e.preventDefault();\r\n }\r\n\r\n const dragEnter = (e) => {\r\n console.log(\"3\",e);\r\n preventDefault(e);\r\n }\r\n\r\n const dragLeave = (e) => {\r\n console.log(\"4\",e);\r\n preventDefault(e);\r\n }\r\n\r\n const fileDrop = (e) => {\r\n console.log(\"5\",e);\r\n preventDefault(e);\r\n const files = e.dataTransfer.files;\r\n if (files.length) {\r\n handleFiles(files);\r\n }\r\n }\r\n\r\n const filesSelected = (e) => {\r\n console.log(\"6\",e);\r\n let files = e.currentTarget.files\r\n if (files.length > 1) {\r\n const msg = 'Vui lòng chỉ chọn 1 File'\r\n e.target.value = null\r\n toast.warn(msg)\r\n return false;\r\n } else {\r\n if (files.length > 0 && files.length < 2) {\r\n let typeFile = e.currentTarget.files[0].type\r\n const validTypes = ['application/x-zip-compressed'];\r\n if (validTypes.indexOf(typeFile) === -1) {\r\n const msg0 = 'File không đúng định dạng'\r\n toast.warn(msg0)\r\n return false;\r\n } else {\r\n let sizeFile = e.currentTarget.files[0].size\r\n if (sizeFile > 2097152) {\r\n const msg1 = 'File dung lượng quá lớn'\r\n toast.error(msg1)\r\n return false\r\n } else {\r\n\r\n setfileName(e.currentTarget.files[0].name);\r\n handleFiles(fileInputRef.current.files);\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n setfileName(\"\");\r\n return true;\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n const fileInputClicked = () => {\r\n fileInputRef.current.click();\r\n }\r\n\r\n const handleFiles = (e) => {\r\n console.log(\"8\",e);\r\n if (e.length > 1) {\r\n const msg = 'Vui lòng chỉ chọn 1 File'\r\n e.target.value = null\r\n toast.warn(msg)\r\n return false;\r\n } else {\r\n if (e.length > 0 && e.length < 2) {\r\n let typeFile = e[0].type\r\n const validTypes = ['application/x-zip-compressed'];\r\n if (validTypes.indexOf(typeFile) === -1) {\r\n const msg0 = 'File không đúng định dạng'\r\n toast.warn(msg0)\r\n return false;\r\n } else {\r\n let sizeFile = e[0].size\r\n if (sizeFile > 2097152) {\r\n const msg1 = 'File dung lượng quá lớn'\r\n toast.error(msg1)\r\n return false\r\n } else {\r\n\r\n setfileName(e[0].name);\r\n return true;\r\n }\r\n }\r\n }\r\n else {\r\n setfileName(\"\");\r\n return true;\r\n }\r\n }\r\n }\r\n\r\n const uploadFiles = (data) => {\r\n console.log(\"9\",data);\r\n debugger;\r\n let files = fileInputRef.current.files;\r\n if (files.length > 0) {\r\n let selectedFile = files[0];\r\n const formData = new FormData();\r\n formData.append(\"\", selectedFile);\r\n setisLoad(true);\r\n axiosInstance\r\n .post(url, formData, { responseType: \"arraybuffer\" })\r\n .then((res) => {\r\n setisLoad(false);\r\n const file = new Blob([res.data], {\r\n type: \"application/pdf\",\r\n });\r\n const fileURL = URL.createObjectURL(file);\r\n window.open(fileURL)\r\n\r\n })\r\n .catch((err) => {\r\n setisLoad(false);\r\n toast.error(JSON.parse(new TextDecoder().decode(err.response.data)).error);\r\n });\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n return (\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n * Nhấp chuột hoặc kéo thả tập tin hoá đơn vào đây để tải lên
\r\n \r\n Lưu ý: Chỉ chọn một tập tin có phần mở rộng .zip
\r\n
\r\n \r\n File đã tải lên : {fileName}\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n uploadFiles()}\r\n >\r\n Tra cứu\r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { addUser } from \"../../action/Dispatch\";\r\nimport { ContentBody } from \"../../action/Dispatch\";\r\nimport { connect } from \"react-redux\";\r\nimport { withRouter } from \"react-router-dom\";\r\nimport { useEffect, useState, useRef } from \"react\";\r\nimport { useToasts } from \"react-toast-notifications\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport axiosInstance from \"../../helper/axio\";\r\n// import CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\n\r\n//\r\n// import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n// import { faSync } from \"@fortawesome/free-solid-svg-icons\";\r\n\r\nconst SearchMutipleInvoice = (props) => {\r\n const url = \"Account/Login\";\r\n\r\n const [state, setState] = useState({\r\n mst: \"1701675884\",\r\n username: \"\",\r\n password: \"\",\r\n token: \"\",\r\n });\r\n const [isLoading, setLoading] = useState(false); //state loading\r\n const { addToast } = useToasts();\r\n const { register, handleSubmit, errors } = useForm({ defaultValues: {} });\r\n const get_ref = useRef();\r\n\r\n const handleChange = (e) => {\r\n\r\n const { name, value } = e.target;\r\n var newvalue = value;\r\n if (name == 'mst') { newvalue = value.replace(/ /g, ''); }\r\n setState({ ...state, [name]: newvalue });\r\n };\r\n useEffect(() => {\r\n\r\n //props.userClick('mutiple');\r\n\r\n }, []);\r\n\r\n if (props.user.isLoggedIn == true) {\r\n props.ContentBody(false);\r\n props.history.push(\"/lookup_invoice\");\r\n }\r\n\r\n const onSubmit = (data) => {\r\n data.mst = \"1701675884\";\r\n // data.mst = \"0106026495888\";\r\n setLoading(true);\r\n if (state.mst.length == 0 || state.mst == null) {\r\n addToast(\"Vui lòng nhập mã số thuế bên bán!\", { appearance: \"error\" });\r\n setLoading(false);\r\n } else {\r\n if (state.username.length == 0 || state.username == null) {\r\n addToast(\"Vui lòng nhập tên tài khoản!\", { appearance: \"error\" });\r\n setLoading(false);\r\n } else {\r\n if (state.password.length == 0 || state.password == null) {\r\n addToast(\"Vui lòng nhập mật khẩu!\", { appearance: \"error\" });\r\n setLoading(false);\r\n } else {\r\n\r\n\r\n axiosInstance\r\n .post(url, data)\r\n .then((res) => {\r\n if (res.data.token == undefined) {\r\n addToast(\r\n JSON.parse(JSON.stringify(res.data).toLocaleLowerCase())\r\n .error,\r\n { appearance: \"error\" }\r\n );\r\n setLoading(false);\r\n } else {\r\n setLoading(false);\r\n addToast(\"Đăng nhập thành công!\", { appearance: \"success\" });\r\n\r\n const state_new = { ...state };\r\n state_new.token = res.data.token;\r\n state_new.password = \"\";\r\n state_new.ma_dt = res.data.user.ma_dt;\r\n localStorage.setItem(\"user\", JSON.stringify(state_new));\r\n props.userClick('mutiple');\r\n props.addUser(JSON.stringify(state_new));\r\n props.ContentBody(false);\r\n\r\n props.history.push(\"/lookup_invoice\");\r\n }\r\n })\r\n .catch((err) => {\r\n addToast(err.message, { appearance: \"error\" });\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n
\r\n {/*
\r\n Mã số thuế bên bán:\r\n handleChange(e)}\r\n />\r\n
*/}\r\n
\r\n Tài khoản:\r\n handleChange(e)}\r\n ref={register}\r\n />\r\n
\r\n
\r\n Mật khẩu:\r\n handleChange(e)}\r\n ref={register}\r\n />\r\n
\r\n
\r\n {/* {isLoading ? (\r\n \r\n\r\n ) : ( */}\r\n \r\n {/* )} */}\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.user,\r\n});\r\n\r\nexport default connect(mapStateToProps, { addUser, ContentBody })(withRouter(SearchMutipleInvoice));","import React from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport axiosInstance from \"../../helper/axio\";\r\nimport { useToasts } from \"react-toast-notifications\";\r\nimport ExportModal from \"../ExportModal\";\r\n// import CircularProgress from \"@material-ui/core/CircularProgress\";\r\nimport LoadingOverlay from 'react-loading-overlay';\r\nimport { TextEncoder, TextDecoder, EncodingIndexes, getEncoding } from 'text-decoding';\r\n\r\nexport const SearchOneInvoice = ({ _mst, _sbm }) => {\r\n const url = \"Search/SearchInvoice\";\r\n const { register, handleSubmit } = useForm({\r\n defaultValues: { masothue: _mst, sobaomat: _sbm },\r\n });\r\n const [openModal, setOpenModal] = React.useState(false); // Trạng thái mở Modal\r\n const { addToast } = useToasts(); // trạng thái hiển thị cảnh báo\r\n const [byteData, setByteData] = React.useState(undefined); // Dữ liệu truyền sang modal\r\n const [infoModal, setinfoModal] = React.useState(undefined); // Dữ liệu truyền sang modal\r\n\r\n const [isLoad, setisLoad] = React.useState(false); // Trạng thái mở Modal\r\n\r\n function toggle() {\r\n setOpenModal(!openModal);\r\n }\r\n const onSubmit = (data) => {\r\n var a = \"1701675884\";\r\n // var a = \"0106026495888\";\r\n var b = a.replace(/\\s+/g, '');\r\n var json = {\r\n \"masothue\": b,\r\n \"sobaomat\": data.sobaomat,\r\n \"type\": \"pdf\"\r\n }\r\n if (b.length < 10 || b === null) {\r\n addToast(\"Vui lòng nhập hoặc kiểm tra lại mã số thuế bên bán!\", {\r\n appearance: \"error\",\r\n });\r\n } else {\r\n if (data.sobaomat.length < 3 || data.sobaomat === null) {\r\n addToast(\"Vui lòng nhập số bảo mật!\", { appearance: \"error\" });\r\n } else {\r\n setinfoModal(json);\r\n setisLoad(true);\r\n axiosInstance\r\n .post(url, json, { responseType: \"arraybuffer\" })\r\n .then((res) => {\r\n var check = res.headers[\"content-type\"];\r\n if (check == \"application/pdf\") {\r\n setByteData(res.data);\r\n setisLoad(false);\r\n setOpenModal(true);\r\n } else {\r\n setisLoad(false);\r\n setOpenModal(false);\r\n const decoded = new TextDecoder('utf-8').decode(res.data);\r\n if(decoded != null){\r\n addToast(decoded, { appearance: \"error\" });\r\n }\r\n else{\r\n addToast(\"Không tìm thấy hóa đơn! Vui lòng kiểm tra lại thông tin!\", { appearance: \"error\" });\r\n }\r\n \r\n }\r\n })\r\n .catch((err) => {\r\n setisLoad(false);\r\n setOpenModal(false);\r\n if (err.response) {\r\n console.log(err.response.data);\r\n console.log(err.response.status);\r\n console.log(err.response.headers);\r\n }\r\n addToast(err.message, { appearance: \"error\" });\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {/*
\r\n Mã số thuế bên bán:\r\n \r\n
*/}\r\n
\r\n Số bảo mật:\r\n \r\n
\r\n
\r\n \r\n Tra cứu\r\n \r\n
\r\n
\r\n
\r\n \r\n {/* {isLoad && (\r\n
\r\n \r\n
\r\n )} */}\r\n \r\n\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, Component } from \"react\";\r\nimport { useParams, useLocation } from \"react-router-dom\";\r\n//import SearchByFile from \"./SearchByFile\";\r\nimport { SearchByFiles } from \"./SearchByFiles\";\r\n\r\nimport SearchMutipleInvoice from \"./SearchMutipleInvoice\";\r\nimport { SearchOneInvoice } from \"./SearchOneInvoice\";\r\n\r\nexport default function SearchInvoiceBody(props) {\r\n const params = useParams();\r\n const jpram = useLocation().search;\r\n const jh = new URLSearchParams(jpram);\r\n var ms = jh.get(\"mst\");\r\n var mS = jh.get(\"MST\");\r\n var sbm = jh.get(\"sobaomat\");\r\n var mst = \"\";\r\n\r\n if (ms == null) {\r\n mst = mS;\r\n } else {\r\n mst = ms;\r\n }\r\n\r\n return (\r\n
\r\n {/* {props.Click == \"sigle\" ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n {props.Click == \"sigle\" ? () : (\r\n props.Click == \"mutiple\" ? () :\r\n ())}\r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\nimport { Route ,Switch} from \"react-router-dom\";\r\nimport LookupInvoiceList from \"../LookupEinvoice/LookupInvoiceList\";\r\nimport SearchInvoiceBody from \"../ChildSearchForm/SearchInvoiceBody\";\r\n\r\nclass App_Router extends Component {\r\n render() {\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\nexport default App_Router;\r\n","import React, { useEffect, useRef, Component } from \"react\";\r\n// import SearchInvoiceBody from \"./ChildSearchForm/SearchInvoiceBody\";\r\n// import SearchMutipleInvoice from \"./ChildSearchForm/SearchMutipleInvoice\";\r\n// import { SearchOneInvoice } from \"./ChildSearchForm/SearchOneInvoice\";\r\nimport App_Router from \"./AppRoute/App_Router\";\r\n\r\nexport default function SearchForm(props) {\r\n const [typeClick, settypeClick] = React.useState(\"sigle\"); // Trạng thái mở Modal\r\n const [disable, setdisable] = React.useState(false); // Trạng thái mở Modal\r\n // const get_ref = useRef(null);\r\n\r\n // const handleDisable = () => {\r\n\r\n // get_ref.current ;\r\n\r\n // };\r\n\r\n const userClick = (type) => {\r\n\r\n if (localStorage.getItem('user') !== null) {\r\n setdisable(true);\r\n }\r\n else {\r\n setdisable(false);\r\n }\r\n settypeClick(type);\r\n\r\n };\r\n useEffect(() => {\r\n if (localStorage.getItem('user') !== null) {\r\n setdisable(true);\r\n }\r\n // if (window.location.pathname == '/lookup_invoice') {\r\n // debugger;\r\n // settypeClick(\"mutiple\");\r\n // }\r\n\r\n }, []);\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Tra cứu hóa đơn điện tử M-Invoice\r\n
\r\n
\r\n
\r\n userClick(\"sigle\")}\r\n disabled={disable}\r\n >\r\n Tra cứu một hóa đơn\r\n \r\n userClick(\"mutiple\")}\r\n >\r\n Tra cứu theo tài khoản\r\n \r\n {/* userClick(\"File\")}\r\n disabled={disable}\r\n >\r\n Tra cứu theo File\r\n */}\r\n
\r\n
\r\n\r\n userClick(type)} Click={typeClick} />\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\n\r\nexport default class ContentBody extends Component {\r\n render() {\r\n return (\r\n
\r\n
\r\n
\r\n {/*
\r\n \r\n
\r\n \"\"\r\n

TƯ VẤN - HỖ TRỢ

\r\n
    \r\n
  • Hỗ trợ thông báo phát hành hóa đơn
  • \r\n
  • Tư vấn nghiệp vụ hóa đơn trong quá trình sử dụng
  • \r\n
  • Giải quyết vướng mắc của khách hàng trong vòng 02 giờ
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n

TIẾT KIỆM - HIỆU QUẢ

\r\n
    \r\n
  • Hệ thống chat trực tiếp với kỹ thuật
  • \r\n
  • Chi phí hợp lý nhiều tính năng vượt trội
  • \r\n
  • Hỗ trợ tra cứu hóa đơn theo Website của doanh nghiệp
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"\"\r\n

AN TOÀN - BẢO MẬT

\r\n
    \r\n
  • Áp dụng Quy trình ISO 27001:2013
  • \r\n
  • Áp dụng mã hóa bảo mật thông tin hóa đơn
  • \r\n
  • Hệ thống Server Backup Realtime, Chống tấn công DDOS
  • \r\n
\r\n
\r\n
\r\n
*/}\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n","import React, { useEffect, Component } from 'react';\r\nimport ContentBody from \"./ContentBody\";\r\n// import { Logout } from '../action/Dispatch';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { connect } from \"react-redux\";\r\n\r\nconst FixContentBody = (props) => {\r\n \r\n\r\n const show = props.show.show;\r\n\r\n return (\r\n <>\r\n { show ? : \"\"}\r\n \r\n );\r\n\r\n}\r\nconst mapStateToProps = (state) => ({\r\n show: state.user,\r\n\r\n});\r\n\r\nexport default connect(mapStateToProps, null)(withRouter(FixContentBody));","import React from \"react\";\r\nimport { Swiper, SwiperSlide } from \"swiper/react\";\r\nimport \"swiper/swiper-bundle.css\";\r\nimport SwiperCore, { Autoplay } from \"swiper\";\r\n\r\nSwiperCore.use([Autoplay]);\r\n\r\nexport default function ContentSlider() {\r\n var baseUrl = \"\";\r\n if (document.location.port === \"3000\") {\r\n baseUrl = \"http://localhost:3000\";\r\n } else {\r\n baseUrl = process.env.PUBLIC_URL;\r\n }\r\n const imgData = [\r\n baseUrl + \"/LibCustom/img/1.jpg\",\r\n baseUrl + \"/LibCustom/img/2.jpg\",\r\n baseUrl + \"/LibCustom/img/3.jpg\",\r\n baseUrl + \"/LibCustom/img/4.jpg\",\r\n baseUrl + \"/LibCustom/img/5.jpg\",\r\n baseUrl + \"/LibCustom/img/6.jpg\",\r\n baseUrl + \"/LibCustom/img/7.jpg\",\r\n baseUrl + \"/LibCustom/img/8.jpg\",\r\n baseUrl + \"/LibCustom/img/9.jpg\",\r\n baseUrl + \"/LibCustom/img/10.jpg\",\r\n baseUrl + \"/LibCustom/img/11.jpg\",\r\n baseUrl + \"/LibCustom/img/12.jpg\",\r\n ];\r\n return (\r\n \r\n \r\n {\r\n imgData.map((s ,keys) => (\r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n
\r\n
\r\n );\r\n}\r\n","import React, { Component } from \"react\";\r\n\r\nexport default class Footers extends Component {\r\n render() {\r\n const demo = (e) => {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = \"http://demo.minvoice.com.vn/\";\r\n a.target = \"_blank\";\r\n a.click();\r\n document.body.removeChild(a);\r\n };\r\n\r\n const _call = (e) => {\r\n var a = document.createElement(\"a\");\r\n document.body.appendChild(a);\r\n a.href = \"tel:0901801816\";\r\n a.click();\r\n document.body.removeChild(a);\r\n };\r\n var d = new Date();\r\n var n = d.getFullYear();\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 TRỤ SỞ\r\n Trung tâm Nước sạch và VSMT Nông thôn\r\n 516 Ngô Quyền, P. Vĩnh Lạc, Tp. Rạch Giá, Kiên Giang\r\n Mã số thuế: 1701675884\r\n
\r\n {/*
\r\n Điện thoại\r\n (0297) 3811564, 3813420\r\n \r\n
\r\n
\r\n CN HẢI PHÒNG\r\n Fax: (0297) 3810769 \r\n Bàng\r\n
*/}\r\n
\r\n
\r\n
\r\n Thông tin liên hệ\r\n Điện thoại:(0297) 3811564, 3813420\r\n Email: ttnsvsmtnt.snn@kiengiang.gov.vn\r\n Fax: (0297) 3810769\r\n {/* Hà Đông, Hà Nội */}\r\n
\r\n {/*
\r\n CN ĐÀ NẴNG\r\n Số 100, Lê Tấn Trung, P. Thọ Quang,\r\n Quận Sơn Trà\r\n
\r\n
\r\n CN HẢI DƯƠNG\r\n Khu 1, Phường Thạch Khôi, Tp.Hải Dương\r\n
*/}\r\n
\r\n {/*
\r\n
\r\n Thông tin Cty\r\n Tên Cty: TRUNG TÂM NƯỚC SẠCH VÀ VỆ SINH MÔI TRƯỜNG NÔNG THÔN\r\n Mã số thuế: 1701675884\r\n \r\n
\r\n
\r\n CN ĐỒNG NAI\r\n R318, Đường D8, KP 7, P. Thống Nhất,\r\n Thành phố Biên Hoà\r\n
\r\n
*/}\r\n
\r\n
\r\n Thông tin chuyển khoản\r\n Trung tâm Nước sạch và Vệ sinh Môi trường Nông thôn \r\n Số tài khoản: 77002110100097 \r\n Ngân hàng: Nông Nghiệp và Phát Triển Nông Thôn Kiên Giang\r\n {/* Hợp đồng điện tử\r\n Chữ ký số */}\r\n
\r\n {/*
\r\n Kết nối với chúng tôi\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
*/}\r\n\r\n
\r\n
\r\n
\r\n

\r\n \r\n Copyrights © {n} Phần mềm Hóa đơn điện tử \r\n M-Invoice\r\n . All Rights Reserved.\r\n\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from \"react\";\r\n\r\n\r\n//Router\r\nimport { BrowserRouter, HashRouter } from 'react-router-dom';\r\n\r\nimport history from './helper/history';\r\n// Redux\r\nimport { Provider } from \"react-redux\"\r\nimport { createStore } from \"redux\"\r\nimport allReducers from \"./reducer\"\r\n\r\nimport HeaderMenu from \"./components/HeaderMenu\";\r\nimport SearchForm from \"./components/SearchForm\";\r\nimport FixContentBody from \"./components/FixContentBody\";\r\nimport { ToastProvider } from \"react-toast-notifications\";\r\n\r\nimport ContentSlider from \"./components/ContentSlider\";\r\nimport Footers from \"./components/Footers\";\r\n\r\nimport 'swiper/swiper-bundle.css';\r\nimport SwiperCore, { Navigation } from 'swiper';\r\nimport MessengerCustomerChat from 'react-messenger-customer-chat';\r\n\r\n\r\nlet store = createStore(allReducers)\r\n\r\nSwiperCore.use([Navigation]);\r\n\r\nclass App extends Component {\r\n\r\n\r\n componentDidMount() {\r\n const script = document.createElement(\"script\");\r\n script.src = process.env.PUBLIC_URL + '/LibCustom/js/main.js';\r\n script.async = true;\r\n document.body.appendChild(script);\r\n }\r\n\r\n render() {\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 App;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport App from \"./App\";\r\n\r\nReactDOM.render(, document.getElementById(\"root\"));\r\n"],"sourceRoot":""}