Browse Source

dn

master
Anna Ho 1 year ago
parent
commit
b8b2e38a23
6 changed files with 50 additions and 74 deletions
  1. +2
    -2
      src/components/FiDataGrid.js
  2. +17
    -18
      src/pages/DemandNote/Create/DataGrid.js
  3. +16
    -30
      src/pages/DemandNote/Create/index.js
  4. +12
    -5
      src/pages/DemandNote/Search/DataGrid.js
  5. +1
    -17
      src/pages/DemandNote/Search/index.js
  6. +2
    -2
      src/pages/PublicNotice/Search_GLD/DataGrid.js

+ 2
- 2
src/components/FiDataGrid.js View File

@@ -100,7 +100,7 @@ export function FiDataGrid({ rows, columns, sx, autoHeight,


function getDataList() { function getDataList() {
if(_doLoad.url == null) return;
if(_doLoad?.url == null) return;
if(_doLoad.params == null) _doLoad.params = {}; if(_doLoad.params == null) _doLoad.params = {};
_doLoad.params.start = page*pageSize; _doLoad.params.start = page*pageSize;
_doLoad.params.limit = pageSize; _doLoad.params.limit = pageSize;
@@ -111,7 +111,7 @@ export function FiDataGrid({ rows, columns, sx, autoHeight,
set_rows(responseData?.records); set_rows(responseData?.records);
setRowCount(responseData?.count); setRowCount(responseData?.count);
if(_doLoad.callback != null){ if(_doLoad.callback != null){
_doLoad.callback(responseData?.records);
_doLoad.callback(responseData);
} }
} }
}); });


+ 17
- 18
src/pages/DemandNote/Create/DataGrid.js View File

@@ -1,5 +1,6 @@
// material-ui // material-ui
import * as React from 'react'; import * as React from 'react';
import * as UrlUtils from "utils/ApiPathConst";
import * as DateUtils from "utils/DateUtils"; import * as DateUtils from "utils/DateUtils";
import * as FormatUtils from "utils/FormatUtils"; import * as FormatUtils from "utils/FormatUtils";
import * as PublicNoteStatusUtils from "utils/statusUtils/PublicNoteStatusUtils" import * as PublicNoteStatusUtils from "utils/statusUtils/PublicNoteStatusUtils"
@@ -7,8 +8,8 @@ import { FiDataGrid } from "components/FiDataGrid";
import { clickableLink } from 'utils/CommonFunction'; import { clickableLink } from 'utils/CommonFunction';
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function SearchPublicNoticeTable({ recordList }) {
const [rows, setRows] = React.useState(recordList);
export default function SearchPublicNoticeTable({ searchCriteria, setPaymentCount, setPublishCount }) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);


const _sx = { const _sx = {
padding: "4 2 4 2", padding: "4 2 4 2",
@@ -27,8 +28,8 @@ export default function SearchPublicNoticeTable({ recordList }) {
} }


React.useEffect(() => { React.useEffect(() => {
setRows(recordList);
}, [recordList]);
set_searchCriteria(searchCriteria);
}, [searchCriteria]);


const handleEditClick = (params) => () => { const handleEditClick = (params) => () => {
window.open('/application/' + params.row.id); window.open('/application/' + params.row.id);
@@ -54,15 +55,6 @@ export default function SearchPublicNoticeTable({ recordList }) {
return PublicNoteStatusUtils.getStatusByTextEng(params.row.status, params.row.creditor); return PublicNoteStatusUtils.getStatusByTextEng(params.row.status, params.row.creditor);
} }
}, },
// {
// field: 'date',
// headerName: 'Submit Date',
// flex: 1,
// minWidth: 200,
// renderCell: (params) => {
// return DateUtils.datetimeStr(params.row.created);
// }
// },
{ {
id: 'contactPerson', id: 'contactPerson',
field: 'contactPerson', field: 'contactPerson',
@@ -70,10 +62,10 @@ export default function SearchPublicNoticeTable({ recordList }) {
flex: 3, flex: 3,
minWidth: 300, minWidth: 300,
renderCell: (params) => { 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 : ""; company = company != null ? company : "";
return <div> return <div>
{params?.value}<br/>{company}<br/>Client Remark: {params.row.careOf}
{params?.value}<br />{company}<br />Client Remark: {params.row.careOf}
</div>; </div>;
} }
}, },
@@ -88,7 +80,7 @@ export default function SearchPublicNoticeTable({ recordList }) {
+ " Vol. " + FormatUtils.zeroPad(params.row.issueVolume, 3) + " Vol. " + FormatUtils.zeroPad(params.row.issueVolume, 3)
+ ", No. " + FormatUtils.zeroPad(params.row.issueNo, 2) + ", No. " + FormatUtils.zeroPad(params.row.issueNo, 2)
+ ", " + DateUtils.dateFormat(params.row.issueDate, "D MMM YYYY (ddd)")} + ", " + DateUtils.dateFormat(params.row.issueDate, "D MMM YYYY (ddd)")}
<br/>{(params?.value)}</>;
<br />{(params?.value)}</>;
} }
}, },
{ {
@@ -108,11 +100,18 @@ export default function SearchPublicNoticeTable({ recordList }) {


<FiDataGrid <FiDataGrid
sx={_sx} sx={_sx}
rowHeight={80}
rows={rows}
getRowHeight={() => 'auto'}
columns={columns} columns={columns}
customPageSize={10} customPageSize={10}
onRowDoubleClick={handleEditClick} onRowDoubleClick={handleEditClick}
doLoad={{
url: UrlUtils.DEMAND_NOTE_PREVIEW + "/" + _searchCriteria.issueId,
params: {},
callback: (responseData) => {
setPaymentCount(responseData.paymentCount);
setPublishCount(responseData.publishCount);
}
}}
/> />
</div> </div>
); );


+ 16
- 30
src/pages/DemandNote/Create/index.js View File

@@ -20,7 +20,7 @@ const BackgroundHead = {
backgroundImage: `url(${titleBackgroundImg})`, backgroundImage: `url(${titleBackgroundImg})`,
width: '100%', width: '100%',
height: '100%', height: '100%',
backgroundSize:'contain',
backgroundSize: 'contain',
backgroundRepeat: 'no-repeat', backgroundRepeat: 'no-repeat',
backgroundColor: '#0C489E', backgroundColor: '#0C489E',
backgroundPosition: 'right' backgroundPosition: 'right'
@@ -30,7 +30,6 @@ const BackgroundHead = {


const Index = () => { const Index = () => {


const [record,setRecord] = React.useState([]);
const [issueCombo, setIssueCombo] = React.useState([]); const [issueCombo, setIssueCombo] = React.useState([]);
const [searchCriteria, setSearchCriteria] = React.useState({}); const [searchCriteria, setSearchCriteria] = React.useState({});
const [onReady, setOnReady] = React.useState(false); const [onReady, setOnReady] = React.useState(false);
@@ -38,29 +37,14 @@ const Index = () => {
const [paymentCount, setPaymentCount] = React.useState(0); const [paymentCount, setPaymentCount] = React.useState(0);
const [publishCount, setPublishCount] = React.useState(0); const [publishCount, setPublishCount] = React.useState(0);


React.useEffect(()=>{
React.useEffect(() => {
getIssueCombo(); getIssueCombo();
},[]);
}, []);


React.useEffect(() => { React.useEffect(() => {
setOnReady(true); setOnReady(true);
}, [record]);

React.useEffect(() => {
loadGrid();
}, [searchCriteria]); }, [searchCriteria]);


function loadGrid(){
HttpUtils.get({
url: UrlUtils.DEMAND_NOTE_PREVIEW+"/"+searchCriteria.issueId,
onSuccess: function(responseData){
setRecord(responseData.records);
setPaymentCount(responseData.paymentCount);
setPublishCount(responseData.publishCount);
}
});
}

function getIssueCombo() { function getIssueCombo() {
HttpUtils.get({ HttpUtils.get({
url: UrlUtils.GET_ISSUE_COMBO, url: UrlUtils.GET_ISSUE_COMBO,
@@ -78,9 +62,9 @@ const Index = () => {


return ( return (
!onReady ? !onReady ?
<LoadingComponent/>
<LoadingComponent />
: :
<Grid container sx={{minHeight: '87vh', backgroundColor: 'backgroundColor.default'}} direction="column">
<Grid container sx={{ minHeight: '87vh', backgroundColor: 'backgroundColor.default' }} direction="column">
<Grid item xs={12}> <Grid item xs={12}>
<div style={BackgroundHead}> <div style={BackgroundHead}>
<Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center"> <Stack direction="row" height='70px' justifyContent="flex-start" alignItems="center">
@@ -91,22 +75,24 @@ const Index = () => {
</div> </div>
</Grid> </Grid>
{/*row 1*/} {/*row 1*/}
<Grid item xs={12} md={12} lg={12} sx={{mb:-1}}>
<SearchForm
applySearch={applySearch}
issueComboData={issueCombo}
_paymentCount={paymentCount}
_publishCount={publishCount}
<Grid item xs={12} md={12} lg={12} sx={{ mb: -1 }}>
<SearchForm
applySearch={applySearch}
issueComboData={issueCombo}
_paymentCount={paymentCount}
_publishCount={publishCount}
/> />
</Grid> </Grid>
{/*row 2*/} {/*row 2*/}
<Grid item xs={12} md={12} lg={12}> <Grid item xs={12} md={12} lg={12}>
<MainCard elevation={0} <MainCard elevation={0}
border={false}
content={false}
border={false}
content={false}
> >
<EventTable <EventTable
recordList={record}
searchCriteria={searchCriteria}
setPaymentCount={setPaymentCount}
setPublishCount={setPublishCount}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 12
- 5
src/pages/DemandNote/Search/DataGrid.js View File

@@ -21,7 +21,7 @@ import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
import {ThemeProvider} from "@emotion/react"; import {ThemeProvider} from "@emotion/react";
// ==============================|| EVENT TABLE ||============================== // // ==============================|| EVENT TABLE ||============================== //


export default function SearchDemandNote({ recordList, reloadFun, applySearch }) {
export default function SearchDemandNote({ searchCriteria, applySearch }) {


const [isConfirmPopUp, setConfirmPopUp] = React.useState(false); const [isConfirmPopUp, setConfirmPopUp] = React.useState(false);
const [isSendPopUp, setSendPopUp] = React.useState(false); const [isSendPopUp, setSendPopUp] = React.useState(false);
@@ -29,13 +29,14 @@ export default function SearchDemandNote({ recordList, reloadFun, applySearch })
const [selectonWarning, setSelectonWarning] = React.useState(false); const [selectonWarning, setSelectonWarning] = React.useState(false);
const [wait, setWait] = React.useState(false); const [wait, setWait] = React.useState(false);


const [rows, setRows] = React.useState(recordList);
const [rows, setRows] = React.useState([]);
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const [selectedRowItems, setSelectedRowItems] = React.useState([]); const [selectedRowItems, setSelectedRowItems] = React.useState([]);
const navigate = useNavigate() const navigate = useNavigate()


React.useEffect(() => { React.useEffect(() => {
setRows(recordList);
}, [recordList]);
set_searchCriteria(searchCriteria);
}, [searchCriteria]);


const handleDnClick = (params) => () => { const handleDnClick = (params) => () => {
navigate('/paymentPage/demandNote/details/' + params.id); navigate('/paymentPage/demandNote/details/' + params.id);
@@ -334,11 +335,17 @@ export default function SearchDemandNote({ recordList, reloadFun, applySearch })
onRowSelectionModelChange={(newSelection) => { onRowSelectionModelChange={(newSelection) => {
setSelectedRowItems(newSelection); setSelectedRowItems(newSelection);
}} }}
rows={rows}
columns={columns} columns={columns}
customPageSize={100} customPageSize={100}
getRowHeight={() => 'auto'} getRowHeight={() => 'auto'}
onRowDoubleClick={handleRowDoubleClick} onRowDoubleClick={handleRowDoubleClick}
doLoad={{
url: UrlUtils.DEMAND_NOTE_LIST,
params: _searchCriteria,
callback: (responseData)=>{
setRows(responseData?.records);
}
}}
/> />
</Box> </Box>
<div> <div>


+ 1
- 17
src/pages/DemandNote/Search/index.js View File

@@ -32,7 +32,6 @@ const BackgroundHead = {


const UserSearchPage_Individual = () => { const UserSearchPage_Individual = () => {


const [record, setRecord] = React.useState([]);
const [orgCombo, setOrgCombo] = React.useState([]); const [orgCombo, setOrgCombo] = React.useState([]);
const [issueCombo, setIssueCombo] = React.useState([]); const [issueCombo, setIssueCombo] = React.useState([]);
const [searchCriteria, setSearchCriteria] = React.useState({ const [searchCriteria, setSearchCriteria] = React.useState({
@@ -44,28 +43,14 @@ const UserSearchPage_Individual = () => {
const [onReady, setOnReady] = React.useState(false); const [onReady, setOnReady] = React.useState(false);


React.useEffect(() => { React.useEffect(() => {
getUserList();
getOrgCombo(); getOrgCombo();
getIssueCombo(); getIssueCombo();
}, []); }, []);


React.useEffect(() => { React.useEffect(() => {
setOnReady(true); setOnReady(true);
}, [record]);

React.useEffect(() => {
getUserList();
}, [searchCriteria]); }, [searchCriteria]);


function getUserList() {
HttpUtils.get({
url: UrlUtils.DEMAND_NOTE_LIST,
params: searchCriteria,
onSuccess: function (responseData) {
setRecord(responseData);
}
});
}


function getOrgCombo() { function getOrgCombo() {
HttpUtils.get({ HttpUtils.get({
@@ -128,9 +113,8 @@ const UserSearchPage_Individual = () => {
sx={{ backgroundColor: '#fff' }} sx={{ backgroundColor: '#fff' }}
> >
<EventTable <EventTable
recordList={record}
reloadFun={getUserList}
applySearch={applySearch} applySearch={applySearch}
searchCriteria={searchCriteria}
/> />
</MainCard> </MainCard>
</Grid> </Grid>


+ 2
- 2
src/pages/PublicNotice/Search_GLD/DataGrid.js View File

@@ -182,8 +182,8 @@ export default function SearchPublicNoticeTable({ searchCriteria }) {
doLoad={{ doLoad={{
url:UrlUtils.GET_PUBLIC_NOTICE_LIST, url:UrlUtils.GET_PUBLIC_NOTICE_LIST,
params:_searchCriteria, params:_searchCriteria,
callback: function(dataList){
setRows(dataList);
callback: function(responseData){
setRows(responseData?.records);
} }
}} }}
/> />


Loading…
Cancel
Save