// material-ui import { Button, Grid, TextField, Autocomplete, Typography } from '@mui/material'; import MainCard from "components/MainCard"; import { useForm } from "react-hook-form"; import * as React from "react"; // import * as DateUtils from "utils/DateUtils"; import {PNSPS_BUTTON_THEME} from "../../themes/buttonConst"; import {ThemeProvider} from "@emotion/react"; import * as ComboData from "utils/ComboData"; import * as DateUtils from "utils/DateUtils"; import Loadable from 'components/Loadable'; const LoadingComponent = Loadable(React.lazy(() => import('pages/extra-pages/LoadingComponent'))); import { makeStyles } from '@mui/styles'; // ==============================|| DASHBOARD - DEFAULT ||============================== // const useStyles = makeStyles(() => ({ root: { position: "relative" }, display: { position: "absolute", top: 2, left: 12, bottom: 2, background: "white", pointerEvents: "none", right: 50, display: "flex", alignItems: "center", width:"70%" }, })); const SearchPublicNoticeForm = ({ applySearch, generateReport, searchCriteria, onLoad }) => { const [sysTxnMinDate, setSysTxnMinDate] = React.useState(searchCriteria.dateFrom); const [sysTxnMaxDate, setsysTxnMaxDate] = React.useState(searchCriteria.dateTo); const [txnMinDate, setTxnMinDate] = React.useState(searchCriteria.dateFrom); const [txnMaxDate, setTxnMaxDate] = React.useState(searchCriteria.dateTo); const [collMinDate, setCollMinDate] = React.useState(searchCriteria.dateFrom); const [collMaxDate, setCollMaxDate] = React.useState(searchCriteria.dateTo); const [sysTxnFromDateValue, setSysTxnFromDateValue] = React.useState("dd / mm / yyyy"); const [sysTxnToDateValue, setSysTxnToDateValue] = React.useState("dd / mm / yyyy"); const [txnFromDateValue, setTxnFromDateValue] = React.useState("dd / mm / yyyy"); const [txnToDateValue, setTxnToDateValue] = React.useState("dd / mm / yyyy"); const [collFromDateValue, setCollFromDateValue] = React.useState("dd / mm / yyyy"); const [collToDateValue, setCollToDateValue] = React.useState("dd / mm / yyyy"); const [status, setStatus] = React.useState(ComboData.paymentStatus[0]); const [method, setMethod] = React.useState(ComboData.paymentMethod[0]); const marginBottom = 2.5; const { register, handleSubmit } = useForm() React.useEffect(() => { setSysTxnFromDateValue(sysTxnMinDate); }, [sysTxnMinDate]); React.useEffect(() => { setSysTxnToDateValue(sysTxnMaxDate); }, [sysTxnMaxDate]); React.useEffect(() => { setTxnFromDateValue(txnMinDate); }, [txnMinDate]); React.useEffect(() => { setTxnToDateValue(txnMaxDate); }, [txnMaxDate]); React.useEffect(() => { setCollFromDateValue(collMinDate); }, [collMinDate]); React.useEffect(() => { setCollToDateValue(collMaxDate); }, [collMaxDate]); function SysTxnFormDateInputComponent({ inputRef, ...props }) { const classes = useStyles(); return ( <>
{DateUtils.dateStr(sysTxnFromDateValue) == "Invalid Date" ? sysTxnFromDateValue : DateUtils.dateStr(sysTxnFromDateValue)}
); } function SysTxnToDateInputComponent({ inputRef, ...props }) { const classes = useStyles(); return ( <>
{DateUtils.dateStr(sysTxnToDateValue) == "Invalid Date" ? sysTxnToDateValue : DateUtils.dateStr(sysTxnToDateValue)}
); } function TxnFormDateInputComponent({ inputRef, ...props }) { const classes = useStyles(); return ( <>
{DateUtils.dateStr(txnFromDateValue) == "Invalid Date" ? txnFromDateValue : DateUtils.dateStr(txnFromDateValue)}
); } function TxnToDateInputComponent({ inputRef, ...props }) { const classes = useStyles(); return ( <>
{DateUtils.dateStr(txnToDateValue) == "Invalid Date" ? txnToDateValue : DateUtils.dateStr(txnToDateValue)}
); } function CollFormDateInputComponent({ inputRef, ...props }) { const classes = useStyles(); return ( <>
{DateUtils.dateStr(collFromDateValue) == "Invalid Date" ? collFromDateValue : DateUtils.dateStr(collFromDateValue)}
); } function CollToDateInputComponent({ inputRef, ...props }) { const classes = useStyles(); return ( <>
{DateUtils.dateStr(collToDateValue) == "Invalid Date" ? collToDateValue : DateUtils.dateStr(collToDateValue)}
); } const onSubmit = () => { let sentSysTxnDateFrom = ""; let sentSysTxnDateTo = ""; let sentTxnDateFrom = ""; let sentTxnDateTo = ""; let sentCollDateFrom = ""; let sentCollDateTo = ""; // Invalid Date if (sysTxnFromDateValue != "dd / mm / yyyy" && sysTxnToDateValue != "dd / mm / yyyy" ) { sentSysTxnDateFrom = DateUtils.dateValue(sysTxnFromDateValue)!="Invalid Date"?DateUtils.dateValue(sysTxnFromDateValue):"" sentSysTxnDateTo = DateUtils.dateValue(sysTxnToDateValue)!="Invalid Date"?DateUtils.dateValue(sysTxnToDateValue):"" } if (txnFromDateValue != "dd / mm / yyyy" && txnToDateValue != "dd / mm / yyyy") { sentTxnDateFrom = DateUtils.dateValue(txnFromDateValue)!="Invalid Date"?DateUtils.dateValue(txnFromDateValue):"" sentTxnDateTo = DateUtils.dateValue(txnToDateValue)!="Invalid Date"?DateUtils.dateValue(txnToDateValue):"" } if (collFromDateValue != "dd / mm / yyyy" && collToDateValue != "dd / mm / yyyy") { sentCollDateFrom = DateUtils.dateValue(collFromDateValue)!="Invalid Date"?DateUtils.dateValue(collFromDateValue):"" sentCollDateTo = DateUtils.dateValue(collToDateValue)!="Invalid Date"?DateUtils.dateValue(collToDateValue):"" } const temp = { PaymentMethod:(method?.type && method?.type != 'Please Select') ? method?.type : "", PaymentStatus : (status?.type && status?.type != 'all') ? status?.type : "", SysTxnDateFrom: sentSysTxnDateFrom, SysTxnDateTo: sentSysTxnDateTo, TxnDateFrom: sentTxnDateFrom, TxnDateTo: sentTxnDateTo, CollDateFrom: sentCollDateFrom, CollDateTo: sentCollDateTo, }; console.log(temp) applySearch(temp); }; const generateFileHandler = (fileFormart) => () => { let sentSysTxnDateFrom = ""; let sentSysTxnDateTo = ""; let sentTxnDateFrom = ""; let sentTxnDateTo = ""; let sentCollDateFrom = ""; let sentCollDateTo = ""; if (sysTxnFromDateValue != "dd / mm / yyyy" && sysTxnToDateValue != "dd / mm / yyyy" ) { sentSysTxnDateFrom = DateUtils.dateValue(sysTxnFromDateValue)!="Invalid Date"?DateUtils.dateValue(sysTxnFromDateValue):"" sentSysTxnDateTo = DateUtils.dateValue(sysTxnToDateValue)!="Invalid Date"?DateUtils.dateValue(sysTxnToDateValue):"" } if (txnFromDateValue != "dd / mm / yyyy" && txnToDateValue != "dd / mm / yyyy") { sentTxnDateFrom = DateUtils.dateValue(txnFromDateValue)!="Invalid Date"?DateUtils.dateValue(txnFromDateValue):"" sentTxnDateTo = DateUtils.dateValue(txnToDateValue)!="Invalid Date"?DateUtils.dateValue(txnToDateValue):"" } if (collFromDateValue != "dd / mm / yyyy" && collToDateValue != "dd / mm / yyyy") { sentCollDateFrom = DateUtils.dateValue(collFromDateValue)!="Invalid Date"?DateUtils.dateValue(collFromDateValue):"" sentCollDateTo = DateUtils.dateValue(collToDateValue)!="Invalid Date"?DateUtils.dateValue(collToDateValue):"" } const temp = { PaymentMethod:(method?.type && method?.type != 'Please Select') ? method?.type : "", PaymentStatus : (status?.type && status?.type != 'all') ? status?.type : "", SysTxnDateFrom: sentSysTxnDateFrom, SysTxnDateTo: sentSysTxnDateTo, TxnDateFrom: sentTxnDateFrom, TxnDateTo: sentTxnDateTo, CollDateFrom: sentCollDateFrom, CollDateTo: sentCollDateTo, ReportFormat:fileFormart }; generateReport(temp); } return (
{/*row 1*/} Submit Form {/*row 2*/} options} options={ComboData.paymentMethod} value={method} getOptionLabel={(option) => option.label} inputValue={method?.label ? method?.label : ""} onChange={(event, newValue) => { if (newValue !== null) { setMethod(newValue); } }} renderInput={(params) => ( )} InputLabelProps={{ shrink: true }} /> options} options={ComboData.paymentStatus} value={status} getOptionLabel={(option) => option.label} inputValue={status?.label ? status?.label : ""} onChange={(event, newValue) => { if (newValue !== null) { setStatus(newValue); } }} renderInput={(params) => ( )} InputLabelProps={{ shrink: true }} /> { setSysTxnMinDate(newValue.target.value); }} InputLabelProps={{ shrink: true }} sx={{ "& .MuiInputBase-input": {display:"block"} }} /> { setsysTxnMaxDate(newValue.target.value); }} id="sysTxnDateTo" type="date" label="PNSPS Transaction Date (To)" ////defaultValue={searchCriteria.dateTo} sx={{ "& .MuiInputBase-input": {display:"block"} }} /> {/*row 3*/} { setTxnMinDate(newValue.target.value); }} InputLabelProps={{ shrink: true }} sx={{ "& .MuiInputBase-input": {display:"block"} }} /> { setTxnMaxDate(newValue.target.value); }} id="txnDateTo" type="date" label="FI Transaction Date (To)" //defaultValue={searchCriteria.dateTo} sx={{ "& .MuiInputBase-input": {display:"block"} }} /> {/*row 5*/} { setCollMinDate(newValue.target.value); }} InputLabelProps={{ shrink: true }} sx={{ "& .MuiInputBase-input": {display:"block"} }} /> { setCollMaxDate(newValue.target.value); }} id="collDateTo" type="date" label="Bank Credit Date (To)" //defaultValue={searchCriteria.dateTo} sx={{ "& .MuiInputBase-input": {display:"block"} }} /> {onLoad? : {/* {onDownload? : } */} }
); }; export default SearchPublicNoticeForm;