|
|
@@ -1,6 +1,7 @@ |
|
|
|
|
|
|
|
import * as React from "react"; |
|
|
|
import * as HttpUtils from "utils/HttpUtils"; |
|
|
|
import * as DateUtils from "utils/DateUtils"; |
|
|
|
import * as UrlUtils from "utils/ApiPathConst"; |
|
|
|
|
|
|
|
import { |
|
|
@@ -20,6 +21,7 @@ const Index = () => { |
|
|
|
const [isWarningPopUp, setIsWarningPopUp] = React.useState(false); |
|
|
|
const [warningText, setWarningText] = React.useState(""); |
|
|
|
const [resultStr, setResultStr] = React.useState(""); |
|
|
|
const [wait, setWait] = React.useState(false); |
|
|
|
|
|
|
|
const intl = useIntl(); |
|
|
|
|
|
|
@@ -37,7 +39,9 @@ const Index = () => { |
|
|
|
|
|
|
|
const readFile = (event) => { |
|
|
|
let file = event.target.files[0]; |
|
|
|
setWait(true); |
|
|
|
if (file) { |
|
|
|
|
|
|
|
if (file.name.toLowerCase().substr(file.name.length - 5).includes(".xlsx") |
|
|
|
) { |
|
|
|
HttpUtils.postWithFiles({ |
|
|
@@ -45,20 +49,27 @@ const Index = () => { |
|
|
|
params:null, |
|
|
|
files: [event.target.files[0]], |
|
|
|
onSuccess: function (responData) { |
|
|
|
setWait(false); |
|
|
|
if(responData?.msg){ |
|
|
|
setResultStr(<><span style={{"color": "red"}}>Error</span><br/><span style={{"whiteSpace": "pre-line"}}>{responData?.msg}</span></>) |
|
|
|
setResultStr(<>{DateUtils.datetimeStr(new Date())}<br/><span style={{"color": "red"}}>Error</span><br/><span style={{"whiteSpace": "pre-line"}}>{responData?.msg}</span></>) |
|
|
|
}else if(responData?.success){ |
|
|
|
setResultStr(<><span style={{"color": "green"}}>Success</span><br/>Record Count: {responData.recordCount}</>) |
|
|
|
setResultStr(<>{DateUtils.datetimeStr(new Date())}<br/><span style={{"color": "green"}}>Success</span><br/>Record Count: {responData.recordCount}</>) |
|
|
|
} |
|
|
|
}, |
|
|
|
onError: function(){ |
|
|
|
setWait(false); |
|
|
|
setResultStr(<>{DateUtils.datetimeStr(new Date())}<br/><span style={{"color": "red"}}>Error</span><br/>Action Fail: Please import valid file.</>) |
|
|
|
} |
|
|
|
}); |
|
|
|
} else { |
|
|
|
setWarningText(intl.formatMessage({ id: 'requireValidFileWithFormat' })); |
|
|
|
setWait(false); |
|
|
|
setWarningText("Please upload a valid file (file format: .xlsx)"); |
|
|
|
setIsWarningPopUp(true); |
|
|
|
setAttachment({}); |
|
|
|
document.getElementById("uploadFileBtn").value = ""; |
|
|
|
return; |
|
|
|
} |
|
|
|
}else{ |
|
|
|
setWait(false); |
|
|
|
} |
|
|
|
document.getElementById("uploadFileBtn").value = ""; |
|
|
|
} |
|
|
@@ -169,6 +180,23 @@ const Index = () => { |
|
|
|
</DialogActions> |
|
|
|
</Dialog> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<Dialog |
|
|
|
open={wait} |
|
|
|
onClose={() => setWait(false)} |
|
|
|
PaperProps={{ |
|
|
|
sx: { |
|
|
|
minWidth: '40vw', |
|
|
|
maxWidth: { xs: '90vw', s: '90vw', m: '70vw', lg: '70vw' }, |
|
|
|
maxHeight: { xs: '90vh', s: '70vh', m: '70vh', lg: '60vh' } |
|
|
|
} |
|
|
|
}} |
|
|
|
> |
|
|
|
<DialogContent style={{ display: 'flex', }}> |
|
|
|
<Typography variant="h4" style={{ padding: '16px' }}>Please wait ...</Typography> |
|
|
|
</DialogContent> |
|
|
|
</Dialog> |
|
|
|
</div> |
|
|
|
</Grid> |
|
|
|
); |
|
|
|
}; |
|
|
|