Browse Source

change date search

master
Alex Cheung 1 year ago
parent
commit
02c82e5d22
5 changed files with 105 additions and 10 deletions
  1. +3
    -2
      src/pages/DemandNote/Search_Public/SearchForm.js
  2. +99
    -7
      src/pages/Payment/Search_Public/SearchForm.js
  3. +1
    -0
      src/pages/User/DetailsPage_Individual/index.js
  4. +1
    -0
      src/pages/User/DetailsPage_Organization/index.js
  5. +1
    -1
      src/translations/zh-CN.json

+ 3
- 2
src/pages/DemandNote/Search_Public/SearchForm.js View File

@@ -132,7 +132,7 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData
sentDateTo: sentDateTo, sentDateTo: sentDateTo,
status: (selectedStatus?.type && selectedStatus?.type != 'all') ? selectedStatus?.type : "", status: (selectedStatus?.type && selectedStatus?.type != 'all') ? selectedStatus?.type : "",
}; };
console.log(temp)
// console.log(temp)
applySearch(temp); applySearch(temp);
}; };


@@ -276,7 +276,8 @@ const SearchDemandNoteForm = ({ applySearch, searchCriteria, issueComboData
shrink: true shrink: true
}} }}
{...register("dateTo")} {...register("dateTo")}
InputProps={{ inputComponent: ToDateInputComponent,
InputProps={{
inputComponent: ToDateInputComponent,
inputProps: { min: minDate } inputProps: { min: minDate }
}} }}
onChange={(newValue) => { onChange={(newValue) => {


+ 99
- 7
src/pages/Payment/Search_Public/SearchForm.js View File

@@ -14,8 +14,24 @@ import * as ComboData from "utils/ComboData";
import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst"; import {PNSPS_BUTTON_THEME} from "../../../themes/buttonConst";
import {ThemeProvider} from "@emotion/react"; import {ThemeProvider} from "@emotion/react";
import {FormattedMessage, useIntl} from "react-intl"; import {FormattedMessage, useIntl} from "react-intl";
import { makeStyles } from '@mui/styles';
// ==============================|| DASHBOARD - DEFAULT ||============================== // // ==============================|| 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 SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
const intl = useIntl(); const intl = useIntl();
@@ -23,6 +39,68 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo); const [maxDate, setMaxDate] = React.useState(searchCriteria.dateTo);
const [status, setStatus] = React.useState(ComboData.paymentStatus[0]); 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 (
<>
<div className={classes.display}>
{DateUtils.dateStr(fromDateValue)=="Invalid Date"?
fromDateValue
:
DateUtils.dateStr(fromDateValue)}
</div>
<input
// className={classes.input}
ref={inputRef}
{...props}
// onChange={handleChange}
value={fromDateValue}
max= {maxDate}
/>
</>
);
}

function ToDateInputComponent({inputRef, ...props }) {
const classes = useStyles();
return (
<>
<div className={classes.display}>
{DateUtils.dateStr(toDateValue)=="Invalid Date"?
toDateValue
:
DateUtils.dateStr(toDateValue)}
</div>
<input
// className={classes.input}
ref={inputRef}
{...props}
// onChange={handleChange}
value={toDateValue}
min = {minDate}
/>
</>
);
}

const _sx = { const _sx = {
padding: "4 2 4 2", padding: "4 2 4 2",
boxShadow: 1, boxShadow: 1,
@@ -42,17 +120,27 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
const { reset, register, handleSubmit } = useForm() const { reset, register, handleSubmit } = useForm()


const onSubmit = (data) => { 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 = { const temp = {
code: data.code, code: data.code,
transNo: data.transNo, transNo: data.transNo,
dateFrom: data.dateFrom,
dateTo: data.dateTo,
dateFrom: sentDateFrom,
dateTo: sentDateTo,
status : (status?.type && status?.type != 'all') ? status?.type : "", status : (status?.type && status?.type != 'all') ? status?.type : "",
}; };
applySearch(temp); applySearch(temp);
}; };


function resetForm() { 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(); reset();
} }


@@ -100,9 +188,11 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
type="date" type="date"
label={intl.formatMessage({id: 'payDateFrom'})} label={intl.formatMessage({id: 'payDateFrom'})}
defaultValue={searchCriteria.dateFrom} defaultValue={searchCriteria.dateFrom}
InputProps={{ inputProps: { max: maxDate } }}
InputProps={{
inputComponent: FormDateInputComponent,
}}
onChange={(newValue) => { onChange={(newValue) => {
setMinDate(DateUtils.dateValue(newValue));
setMinDate(newValue.target.value);
}} }}
InputLabelProps={{ InputLabelProps={{
shrink: true shrink: true
@@ -117,9 +207,11 @@ const SearchPublicNoticeForm = ({ applySearch, searchCriteria }) => {
shrink: true shrink: true
}} }}
{...register("dateTo")} {...register("dateTo")}
InputProps={{ inputProps: { min: minDate } }}
InputProps={{
inputComponent: ToDateInputComponent,
}}
onChange={(newValue) => { onChange={(newValue) => {
setMaxDate(DateUtils.dateValue(newValue));
setMaxDate(newValue.target.value);
}} }}
id="dateTo" id="dateTo"
type="date" type="date"


+ 1
- 0
src/pages/User/DetailsPage_Individual/index.js View File

@@ -118,6 +118,7 @@ const UserMaintainPage_Individual = () => {
response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale); response.data["preferLocale"] = getObjectByType(ComboData.Locale, "type", response.data?.preferLocale);
// console.log(response.data) // console.log(response.data)
setFormData(response.data); setFormData(response.data);
setLoding(false);
} }
}); });
} }


+ 1
- 0
src/pages/User/DetailsPage_Organization/index.js View File

@@ -177,6 +177,7 @@ const UserMaintainPage_Organization = () => {
//response.data["orgId"] = response.data.brExpiryDate?DateUtils.dateValue(response.data.brExpiryDate):""; //response.data["orgId"] = response.data.brExpiryDate?DateUtils.dateValue(response.data.brExpiryDate):"";
setUserData(response.data); setUserData(response.data);
setOrgData(response.orgList); setOrgData(response.orgList);
setLoding(false);
// console.log(response.data) // console.log(response.data)
} }
}); });


+ 1
- 1
src/translations/zh-CN.json View File

@@ -2,7 +2,7 @@
"en": "English", "en": "English",
"zh-HK": "繁體中文", "zh-HK": "繁體中文",
"zh-CN": "简体中文", "zh-CN": "简体中文",
"language":"言",
"language":"言",


"PNSPS": "公共启事提交及缴费系统", "PNSPS": "公共启事提交及缴费系统",
"HKSARGOV": "香港特别行政区政府", "HKSARGOV": "香港特别行政区政府",


Loading…
Cancel
Save