Kaynağa Gözat

update set bib add search payment

CR013B2
Alex Cheung 1 hafta önce
ebeveyn
işleme
a37e78e8e4
5 değiştirilmiş dosya ile 97 ekleme ve 5 silme
  1. +2
    -1
      src/components/FiDataGrid.js
  2. +54
    -4
      src/pages/Payment/Search_GLD/DataGrid.js
  3. +31
    -0
      src/pages/Payment/Search_GLD/SearchForm.js
  4. +1
    -0
      src/utils/ApiPathConst.js
  5. +9
    -0
      src/utils/ComboData.js

+ 2
- 1
src/components/FiDataGrid.js Dosyayı Görüntüle

@@ -12,7 +12,8 @@ import { getSearchCriteria, checkSearchCriteriaPath } from "auth/utils";

export function FiDataGrid({ rows, columns, sx, autoHeight,
hideFooterSelectedRowCount, rowModesModel, editMode,
pageSizeOptions, filterItems, customPageSize, doLoad, applyGridOnReady, applySearch, tab, ...props }) {
pageSizeOptions, filterItems, customPageSize, doLoad, applyGridOnReady, applySearch,
tab, ...props }) {
const intl = useIntl();
const [_rows, set_rows] = useState([]);
const [_doLoad, set_doLoad] = useState({});


+ 54
- 4
src/pages/Payment/Search_GLD/DataGrid.js Dosyayı Görüntüle

@@ -1,14 +1,17 @@
// material-ui
import * as React from 'react';
import * as DateUtils from "utils/DateUtils";
import {PAYMENT_LIST} from "utils/ApiPathConst";
import {PAYMENT_LIST, PAYMENT_BIB} from "utils/ApiPathConst";
import * as HttpUtils from "utils/HttpUtils";
import * as FormatUtils from "utils/FormatUtils"
import * as PaymentStatus from "utils/statusUtils/PaymentStatus"
import { useNavigate } from "react-router-dom";
import { FiDataGrid } from "components/FiDataGrid";
import { clickableLink } from 'utils/CommonFunction';
import {
Checkbox
Checkbox,
Dialog, DialogTitle, DialogContent, DialogActions,
Button,Typography
// MenuItem
} from '@mui/material';
// ==============================|| EVENT TABLE ||============================== //
@@ -16,6 +19,14 @@ import {
export default function SearchPaymentTable({ searchCriteria, applyGridOnReady, applySearch}) {
const [_searchCriteria, set_searchCriteria] = React.useState(searchCriteria);
const navigate = useNavigate()
const [isPopUp, setIsPopUp] = React.useState(false);
const [bibId, setBibId] = React.useState();
const [bib, setBib] = React.useState();
const [refreshTrigger, setRefreshTrigger] = React.useState(0);

const forceRefresh = () => {
setRefreshTrigger(prev => prev + 1);
};

const _sx = {
padding: "4 2 4 2",
@@ -41,6 +52,23 @@ export default function SearchPaymentTable({ searchCriteria, applyGridOnReady, a
navigate('/paymentPage/details/' + params.row.id);
};

const doBIB = () => {
setIsPopUp(false);
console.log(refreshTrigger)
HttpUtils.post({
url: PAYMENT_BIB + "/" + bibId,
onSuccess: function () {
forceRefresh()
}
});
}
const popUPBib = (id, bibFlag) => {
setBibId(id)
setBib(bibFlag)
setIsPopUp(true);
}

const columns = [
{
id: 'appNos',
@@ -88,7 +116,7 @@ export default function SearchPaymentTable({ searchCriteria, applyGridOnReady, a
headerName: 'BIB',
width: 150,
renderCell: (params) => {
return <Checkbox checked={params.row.bib} onChange={() => {set_paymentMethod("demandNote")}}/>;
return <Checkbox checked={params.row.bib} onChange={() => {popUPBib(params.row.id, params.row.bib)}}/>;
}
},
{
@@ -127,8 +155,30 @@ export default function SearchPaymentTable({ searchCriteria, applyGridOnReady, a
doLoad={React.useMemo(() => ({
url: PAYMENT_LIST,
params: _searchCriteria,
}), [_searchCriteria])}
}), [_searchCriteria, refreshTrigger])}
/>
<div>
<Dialog
open={isPopUp}
onClose={() => setIsPopUp(false)}
PaperProps={{
sx: {
minWidth: '40vw',
maxWidth: { xs: '90vw', s: '90vw', m: '70vw', lg: '70vw' },
maxHeight: { xs: '90vh', s: '70vh', m: '70vh', lg: '60vh' }
}
}}
>
<DialogTitle>Bank-in-bank</DialogTitle>
<DialogContent style={{ display: 'flex', }}>
<Typography variant="h5" style={{ padding: '16px' }}>{bib?"Cancel Bank-in-bank?":"Is Bank-in-bank?"}</Typography>
</DialogContent>
<DialogActions>
<Button onClick={() => setIsPopUp(false)}><Typography variant="h5">Cancel</Typography></Button>
<Button onClick={() => doBIB()}><Typography variant="h5">Confirm</Typography></Button>
</DialogActions>
</Dialog>
</div>
</div>
);
}

+ 31
- 0
src/pages/Payment/Search_GLD/SearchForm.js Dosyayı Görüntüle

@@ -24,6 +24,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady }) =>
const [minDate, setMinDate] = React.useState(searchCriteria.dateFrom);
const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo);
const [status, setStatus] = React.useState(ComboData.paymentStatus[0]);
const [payMethod, setPayMethod] = React.useState(ComboData.payMethod[0]);

const { reset, register, handleSubmit } = useForm()
const marginBottom = 2.5;
@@ -66,6 +67,7 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady }) =>
dateFrom: sentDateFrom,
dateTo: sentDateTo,
status : (status?.type && status?.type != 'all') ? status?.type : "",
payMethod : (payMethod?.type && payMethod?.type != 'all') ? payMethod?.type : "",
};
applySearch(temp);
};
@@ -209,6 +211,35 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria, onGridReady }) =>
}}
/>
</Grid>
<Grid item xs={9} s={6} md={5} lg={3} sx={{ ml: 3, mr: 3, mb: marginBottom }}>
<Autocomplete
{...register("payMethod")}
disablePortal={false}
size="small"
id="payMethod"
filterOptions={(options) => options}
options={ComboData.payMethod}
value={payMethod}
getOptionLabel={(option) => option.label}
inputValue={payMethod?.label ? payMethod?.label : ""}
onChange={(event, newValue) => {
if(newValue==null){
setPayMethod(ComboData.payMethod[0]);
}else{
setPayMethod(newValue);
}
}}
renderInput={(params) => (
<TextField {...params}
label="Payment Means"
/>
)}
InputLabelProps={{
shrink: true
}}
/>
</Grid>
</Grid>
</Grid>



+ 1
- 0
src/utils/ApiPathConst.js Dosyayı Görüntüle

@@ -173,6 +173,7 @@ export const PAYMENT_LIST = apiPath+'/payment/list';//GET
export const PAYMENT_LOAD = apiPath+'/payment/load';//GET
export const PAYMENT_APP_LIST = apiPath+'/payment/applist';//POST
export const PAYMENT_CHECK = apiPath+'/payment/check-payment';//GET
export const PAYMENT_BIB = apiPath+'/payment/set-bib';//POST

export const PAYMENT_LIMIT_SETTING_LIST = apiPath+'/settings/payment';//GET
// export const PAYMENT_AVAILABLE_PAYMENT = paymentPath+'/api/payment/availability';//POST


+ 9
- 0
src/utils/ComboData.js Dosyayı Görüntüle

@@ -136,6 +136,15 @@ export const paymentStatus = [
{ key: 4, i18nLabel: 'inProgress', labelCht: '進行中', label:'In Progress', type: 'INPR' },
];

export const payMethod = [
{ key: 0, labelCht: '全部', label: 'All', type: 'all' },
{ key: 1, labelCht: '繳費靈', label: 'PPS', type: '01,PPSB,PPS' },
{ key: 2, labelCht: '信用卡', label:'Credit Card', type: '02,BCMP,CreditCard' },
{ key: 3, labelCht: '銀聯', label:'UnionPay', type: '03,BCMP,CreditCard' },
{ key: 4, labelCht: '轉數快', label:'FPS', type: '04,BCFP,FPS' },
];



export const denmandNoteStatus = [
{ key: 0, labelCht: '全部', label: 'All', type: 'all' },


Yükleniyor…
İptal
Kaydet