// material-ui import { Grid, Typography, Stack } from '@mui/material'; import MainCard from "components/MainCard"; import * as UrlUtils from "utils/ApiPathConst"; import * as React from "react"; import * as HttpUtils from "utils/HttpUtils"; import * as DateUtils from "utils/DateUtils"; import Loadable from 'components/Loadable'; const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); const SearchForm = Loadable(React.lazy(() => import('./SearchForm'))); const EventTable = Loadable(React.lazy(() => import('./DataGrid'))); import titleBackgroundImg from 'assets/images/dashboard/gazette-bar.png' const BackgroundHead = { backgroundImage: `url(${titleBackgroundImg})`, width: '100%', height: '100%', backgroundSize:'contain', backgroundRepeat: 'no-repeat', backgroundColor: '#0C489E', backgroundPosition: 'right' } // ==============================|| DASHBOARD - DEFAULT ||============================== // const Index = () => { const [record,setRecord] = React.useState([]); const [searchCriteria, setSearchCriteria] = React.useState({ dateTo: DateUtils.dateStr(new Date()), dateFrom: DateUtils.dateStr(new Date().setDate(new Date().getDate()-14)), }); const [onReady, setOnReady] = React.useState(false); React.useEffect(() => { setOnReady(true); }, [record]); React.useEffect(() => { // console.log(searchCriteria) loadGrid(); }, [searchCriteria]); function loadGrid(){ HttpUtils.get({ url: UrlUtils.GFIMIS_LIST, params: searchCriteria, onSuccess: function(responseData){ setRecord(responseData); } }); } function downloadXML(input) { // console.log(input) HttpUtils.get({ url: UrlUtils.GEN_GFMIS_XML + "/today", params:{dateTo: input.dateTo, dateFrom: input.dateFrom, }, onSuccess: (responseData) => { console.log(responseData) const parser = new DOMParser(); const xmlDoc = parser.parseFromString(responseData, 'application/xml'); // Get the DCBHeader element const dcbHeader = xmlDoc.querySelector("DCBHeader"); // Get the Receipt and Allocation elements const receiptElement = dcbHeader.querySelector("Receipt"); const allocationElement = dcbHeader.querySelector("Allocation"); const paymentMethodElements = Array.from(dcbHeader.querySelectorAll("PaymentMethod")); // Remove existing elements from DCBHeader dcbHeader.innerHTML = ""; dcbHeader.appendChild(receiptElement); dcbHeader.appendChild(allocationElement); if (paymentMethodElements) { paymentMethodElements.forEach((paymentMethodElement) => { dcbHeader.appendChild(paymentMethodElement); }); } const updatedXmlString = new XMLSerializer().serializeToString(xmlDoc); const filename = xmlDoc.querySelector('FileHeader').getAttribute('H_Filename'); console.log(updatedXmlString) const blob = new Blob([updatedXmlString], { type: 'application/xml' }); // Create a download link const link = document.createElement('a'); link.href = URL.createObjectURL(blob); link.download = filename+'.xml'; // Append the link to the document body document.body.appendChild(link); // Programmatically click the link to trigger the download link.click(); // Clean up the link document.body.removeChild(link); } }); // open(UrlUtils.GEN_GFMIS_XML + "/today?online=true") } function applySearch(input) { setSearchCriteria(input); } function generateXML(input) { downloadXML(input); } return ( !onReady ? :
GFMIS
{/*row 1*/} {/*row 2*/}
); }; export default Index;