From 02c82e5d22acf7ce82e552428fb0a3a312b24799 Mon Sep 17 00:00:00 2001 From: Alex Cheung Date: Fri, 22 Mar 2024 12:31:52 +0800 Subject: [PATCH] change date search --- .../DemandNote/Search_Public/SearchForm.js | 5 +- src/pages/Payment/Search_Public/SearchForm.js | 106 ++++++++++++++++-- .../User/DetailsPage_Individual/index.js | 1 + .../User/DetailsPage_Organization/index.js | 1 + src/translations/zh-CN.json | 2 +- 5 files changed, 105 insertions(+), 10 deletions(-) diff --git a/src/pages/DemandNote/Search_Public/SearchForm.js b/src/pages/DemandNote/Search_Public/SearchForm.js index 0e36399..a23b68b 100644 --- a/src/pages/DemandNote/Search_Public/SearchForm.js +++ b/src/pages/DemandNote/Search_Public/SearchForm.js @@ -132,7 +132,7 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData sentDateTo: sentDateTo, status: (selectedStatus?.type && selectedStatus?.type != 'all') ? selectedStatus?.type : "", }; - console.log(temp) + // console.log(temp) applySearch(temp); }; @@ -276,7 +276,8 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData shrink: true }} {...register("dateTo")} - InputProps={{ inputComponent: ToDateInputComponent, + InputProps={{ + inputComponent: ToDateInputComponent, inputProps: { min: minDate } }} onChange={(newValue) => { diff --git a/src/pages/Payment/Search_Public/SearchForm.js b/src/pages/Payment/Search_Public/SearchForm.js index 0b2e114..67b2c1e 100644 --- a/src/pages/Payment/Search_Public/SearchForm.js +++ b/src/pages/Payment/Search_Public/SearchForm.js @@ -14,8 +14,24 @@ import * as ComboData from "utils/ComboData"; import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst"; import {ThemeProvider} from "@emotion/react"; import {FormattedMessage, useIntl} from "react-intl"; +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" + }, + })); const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { const intl = useIntl(); @@ -23,6 +39,68 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); const [status, setStatus] = React.useState(ComboData.paymentStatus[0]); + const [fromDateValue, setFromDateValue] = React.useState("dd / mm / yyyy"); + const [toDateValue, setToDateValue] = React.useState("dd / mm / yyyy"); + + React.useEffect(() => { + // console.log(minDate) + const dateFrom = DateUtils.dateValue(new Date().setDate(new Date().getDate()-14)) + if (minDate != dateFrom){ + setFromDateValue(minDate); + } + }, [minDate]); + + React.useEffect(() => { + const dateTo = DateUtils.dateValue(new Date()) + if (maxDate != dateTo){ + setToDateValue(maxDate); + } + }, [maxDate]); + + function FormDateInputComponent({inputRef, ...props }) { + const classes = useStyles(); + return ( + <> +
+ {DateUtils.dateStr(fromDateValue)=="Invalid Date"? + fromDateValue + : + DateUtils.dateStr(fromDateValue)} +
+ + + ); + } + + function ToDateInputComponent({inputRef, ...props }) { + const classes = useStyles(); + return ( + <> +
+ {DateUtils.dateStr(toDateValue)=="Invalid Date"? + toDateValue + : + DateUtils.dateStr(toDateValue)} +
+ + + ); + } + const _sx = { padding: "4 2 4 2", boxShadow: 1, @@ -42,17 +120,27 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { const { reset, register, handleSubmit } = useForm() const onSubmit = (data) => { + let sentDateFrom = ""; + let sentDateTo = ""; + if( fromDateValue!="dd / mm / yyyy"&&toDateValue!="dd / mm / yyyy"){ + sentDateFrom = DateUtils.dateValue(fromDateValue) + sentDateTo = DateUtils.dateValue(toDateValue) + } const temp = { code: data.code, transNo: data.transNo, - dateFrom: data.dateFrom, - dateTo: data.dateTo, + dateFrom: sentDateFrom, + dateTo: sentDateTo, status : (status?.type && status?.type != 'all') ? status?.type : "", }; applySearch(temp); }; function resetForm() { + setMinDate(DateUtils.dateValue(new Date().setDate(new Date().getDate()-14))) + setMaxDate(DateUtils.dateValue(new Date())) + setFromDateValue("dd / mm / yyyy") + setToDateValue("dd / mm / yyyy") reset(); } @@ -100,9 +188,11 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { type="date" label={intl.formatMessage({id: 'payDateFrom'})} defaultValue={searchCriteria.dateFrom} - InputProps={{ inputProps: { max: maxDate } }} + InputProps={{ + inputComponent: FormDateInputComponent, + }} onChange={(newValue) => { - setMinDate(DateUtils.dateValue(newValue)); + setMinDate(newValue.target.value); }} InputLabelProps={{ shrink: true @@ -117,9 +207,11 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => { shrink: true }} {...register("dateTo")} - InputProps={{ inputProps: { min: minDate } }} + InputProps={{ + inputComponent: ToDateInputComponent, + }} onChange={(newValue) => { - setMaxDate(DateUtils.dateValue(newValue)); + setMaxDate(newValue.target.value); }} id="dateTo" type="date" diff --git a/src/pages/User/DetailsPage_Individual/index.js b/src/pages/User/DetailsPage_Individual/index.js index 1a58ad0..4ab8500 100644 --- a/src/pages/User/DetailsPage_Individual/index.js +++ b/src/pages/User/DetailsPage_Individual/index.js @@ -118,6 +118,7 @@ const UserMaintainPage_Individual = () => { response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale); // console.log(response.data) setFormData(response.data); + setLoding(false); } }); } diff --git a/src/pages/User/DetailsPage_Organization/index.js b/src/pages/User/DetailsPage_Organization/index.js index 8bb1905..313c0e7 100644 --- a/src/pages/User/DetailsPage_Organization/index.js +++ b/src/pages/User/DetailsPage_Organization/index.js @@ -177,6 +177,7 @@ const UserMaintainPage_Organization = () => { //response.data["orgId"] = response.data.brExpiryDate?DateUtils.dateValue(response.data.brExpiryDate):""; setUserData(response.data); setOrgData(response.orgList); + setLoding(false); // console.log(response.data) } }); diff --git a/src/translations/zh-CN.json b/src/translations/zh-CN.json index e18389c..53c6ff0 100644 --- a/src/translations/zh-CN.json +++ b/src/translations/zh-CN.json @@ -2,7 +2,7 @@ "en": "English", "zh-HK": "繁體中文", "zh-CN": "简体中文", - "language":"語言", + "language":"语言", "PNSPS": "公共启事提交及缴费系统", "HKSARGOV": "香港特别行政区政府",