|
|
@@ -20,7 +20,7 @@ import * as UrlUtils from "utils/ApiPathConst"; |
|
|
|
import * as HttpUtils from "utils/HttpUtils"; |
|
|
|
// ==============================|| EVENT TABLE ||============================== // |
|
|
|
|
|
|
|
export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
export default function SearchDemandNote({ recordList, reloadFun, applySearch }) { |
|
|
|
|
|
|
|
const [isConfirmPopUp, setConfirmPopUp] = React.useState(false); |
|
|
|
const [isSendPopUp, setSendPopUp] = React.useState(false); |
|
|
@@ -40,15 +40,22 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
navigate('/paymentPage/demandNote/details/' + params.id); |
|
|
|
}; |
|
|
|
|
|
|
|
const findReadyToSend=()=>{ |
|
|
|
const temp = { |
|
|
|
status: 'pending', |
|
|
|
}; |
|
|
|
applySearch(temp); |
|
|
|
} |
|
|
|
|
|
|
|
const exportXml = () => { |
|
|
|
let idList = []; |
|
|
|
const datas = rows?.filter((row) => |
|
|
|
selectedRowItems.includes(row.id) |
|
|
|
); |
|
|
|
if(datas?.length<1){ |
|
|
|
if (datas?.length < 1) { |
|
|
|
setSelectonWarning(true); |
|
|
|
return; |
|
|
|
}else if (datas?.length >= 100) { |
|
|
|
} else if (datas?.length >= 100) { |
|
|
|
setIsErrorPopUp(true); |
|
|
|
return; |
|
|
|
} |
|
|
@@ -56,10 +63,10 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
idList.push(datas[i].id); |
|
|
|
} |
|
|
|
HttpUtils.fileDownload({ |
|
|
|
method:'post', |
|
|
|
method: 'post', |
|
|
|
url: UrlUtils.DEMAND_NOTE_EXPORT, |
|
|
|
params: { |
|
|
|
dnIdList:idList |
|
|
|
dnIdList: idList |
|
|
|
}, |
|
|
|
onSuccess: function () { |
|
|
|
notifyDownloadSuccess(); |
|
|
@@ -81,7 +88,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
const datas = rows?.filter((row) => |
|
|
|
selectedRowItems.includes(row.id) |
|
|
|
); |
|
|
|
if(datas?.length<1){ |
|
|
|
if (datas?.length < 1) { |
|
|
|
setSelectonWarning(true); |
|
|
|
return; |
|
|
|
} |
|
|
@@ -107,16 +114,16 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
selectedRowItems.includes(row.id) |
|
|
|
); |
|
|
|
for (var i = 0; i < datas?.length; i++) { |
|
|
|
let dnNo = datas[i].dnNo.replaceAll("-",""); |
|
|
|
let dnNo = datas[i].dnNo.replaceAll("-", ""); |
|
|
|
dnMap[dnNo] = datas[i].id |
|
|
|
} |
|
|
|
let file = event.target.files[0]; |
|
|
|
HttpUtils.postWithFiles({ |
|
|
|
url:UrlUtils.DEMAND_NOTE_ATTACH, |
|
|
|
params:{ |
|
|
|
dnMap:dnMap |
|
|
|
url: UrlUtils.DEMAND_NOTE_ATTACH, |
|
|
|
params: { |
|
|
|
dnMap: dnMap |
|
|
|
}, |
|
|
|
files:[file], |
|
|
|
files: [file], |
|
|
|
onSuccess() { |
|
|
|
setWait(false); |
|
|
|
if (reloadFun) reloadFun(); |
|
|
@@ -131,7 +138,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
const datas = rows?.filter((row) => |
|
|
|
selectedRowItems.includes(row.id) |
|
|
|
); |
|
|
|
if(datas?.length<1){ |
|
|
|
if (datas?.length < 1) { |
|
|
|
setSelectonWarning(true); |
|
|
|
return; |
|
|
|
} |
|
|
@@ -165,7 +172,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
headerName: 'Client', |
|
|
|
width: 300, |
|
|
|
renderCell: (params) => { |
|
|
|
let company = params.row.enCompanyName != null?params.row.enCompanyName: params.row.chCompanyName; |
|
|
|
let company = params.row.enCompanyName != null ? params.row.enCompanyName : params.row.chCompanyName; |
|
|
|
company = company != null ? " (" + (company) + ")" : ""; |
|
|
|
|
|
|
|
let phone = JSON.parse(params.row.contactTelNo); |
|
|
@@ -194,7 +201,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
width: 100, |
|
|
|
renderCell: (params) => { |
|
|
|
return (<> |
|
|
|
{params?.value+"cm"}<br /> |
|
|
|
{params?.value + "cm"}<br /> |
|
|
|
{params.row.column} |
|
|
|
</>); |
|
|
|
} |
|
|
@@ -236,7 +243,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
field: 'filename', |
|
|
|
//headerName: 'DN File', |
|
|
|
renderHeader: () => ( |
|
|
|
<><DownloadIcon/>DN File</> |
|
|
|
<><DownloadIcon />DN File</> |
|
|
|
), |
|
|
|
width: 250, |
|
|
|
renderCell: (params) => { |
|
|
@@ -248,7 +255,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
headerName: 'App Status', |
|
|
|
width: 175, |
|
|
|
renderCell: (params) => { |
|
|
|
return [PublicNoteStatusUtils.getStatusByTextEng(params?.value,true)] |
|
|
|
return [PublicNoteStatusUtils.getStatusByTextEng(params?.value, true)] |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
@@ -275,7 +282,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
const datas = rows?.filter((row) => |
|
|
|
selectedRowItems.includes(row.id) |
|
|
|
); |
|
|
|
if(datas.length==0){ |
|
|
|
if (datas.length == 0) { |
|
|
|
setSelectonWarning(true); |
|
|
|
document.getElementById("uploadFileBtn").value = ""; |
|
|
|
return; |
|
|
@@ -293,6 +300,18 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
</Button> |
|
|
|
</label> |
|
|
|
</Grid> |
|
|
|
<Grid item sx={{ ml: 3, mr: 3, mb: 3, mt: 3 }}> |
|
|
|
<Button |
|
|
|
size="large" |
|
|
|
variant="contained" |
|
|
|
onClick={findReadyToSend} |
|
|
|
sx={{ |
|
|
|
textTransform: 'capitalize', |
|
|
|
alignItems: 'end' |
|
|
|
}}> |
|
|
|
<Typography variant="h5">Ready Send</Typography> |
|
|
|
</Button> |
|
|
|
</Grid> |
|
|
|
<Grid item sx={{ ml: 3, mr: 3, mb: 3, mt: 3 }}> |
|
|
|
<Button |
|
|
|
size="large" |
|
|
@@ -310,7 +329,7 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
<Button |
|
|
|
size="large" |
|
|
|
variant="contained" |
|
|
|
onClick={()=>exportXml()} |
|
|
|
onClick={() => exportXml()} |
|
|
|
sx={{ |
|
|
|
textTransform: 'capitalize', |
|
|
|
alignItems: 'end' |
|
|
@@ -351,16 +370,16 @@ export default function SearchDemandNote({ recordList, reloadFun }) { |
|
|
|
/> |
|
|
|
</Box> |
|
|
|
<div> |
|
|
|
<Dialog open={isErrorPopUp} onClose={() => setIsErrorPopUp(false)} > |
|
|
|
<DialogTitle><Typography variant="h3">Action Fail</Typography></DialogTitle> |
|
|
|
<DialogContent style={{ display: 'flex', }}> |
|
|
|
<Typography variant="h4" style={{ padding: '16px' }}>Number of DN record must less than 100.<br/>Please edit search form.</Typography> |
|
|
|
</DialogContent> |
|
|
|
<DialogActions> |
|
|
|
<Button onClick={() => setIsErrorPopUp(false)}><Typography variant="h5">OK</Typography></Button> |
|
|
|
</DialogActions> |
|
|
|
</Dialog> |
|
|
|
</div> |
|
|
|
<Dialog open={isErrorPopUp} onClose={() => setIsErrorPopUp(false)} > |
|
|
|
<DialogTitle><Typography variant="h3">Action Fail</Typography></DialogTitle> |
|
|
|
<DialogContent style={{ display: 'flex', }}> |
|
|
|
<Typography variant="h4" style={{ padding: '16px' }}>Number of DN record must less than 100.<br />Please edit search form.</Typography> |
|
|
|
</DialogContent> |
|
|
|
<DialogActions> |
|
|
|
<Button onClick={() => setIsErrorPopUp(false)}><Typography variant="h5">OK</Typography></Button> |
|
|
|
</DialogActions> |
|
|
|
</Dialog> |
|
|
|
</div> |
|
|
|
<div> |
|
|
|
<Dialog open={selectonWarning} onClose={() => setSelectonWarning(false)} > |
|
|
|
<DialogTitle><Typography variant="h3">Warning</Typography></DialogTitle> |
|
|
|