fixed DateRangePicker to MeterEnergy

pull/126/head
Caozhenhui 2022-02-23 13:43:08 +08:00
parent 8e197d065d
commit 0b0ca91fab
1 changed files with 18 additions and 9 deletions

View File

@ -95,7 +95,8 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
const [detailedDataTableData, setDetailedDataTableData] = useState([]); const [detailedDataTableData, setDetailedDataTableData] = useState([]);
const [excelBytesBase64, setExcelBytesBase64] = useState(undefined); const [excelBytesBase64, setExcelBytesBase64] = useState(undefined);
const [values, setValues] = useState([reportingPeriodBeginsDatetime.toDate(), reportingPeriodEndsDatetime.toDate()]); const [values, setValues] = useState([reportingPeriodBeginsDatetime.toDate(), reportingPeriodEndsDatetime.toDate()]);
const [baseValues, setBaseValues] = useState([basePeriodBeginsDatetime.toDate(), basePeriodEndsDatetime.toDate()]); const [baseValues, setBaseValues] = useState([current_moment.clone().subtract(1, 'months').startOf('month').toDate(),
current_moment.clone().subtract(1, 'months').toDate()]);
const local = { const local = {
sunday: t('sunday'), sunday: t('sunday'),
monday: t('monday'), monday: t('monday'),
@ -238,18 +239,22 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
setBasePeriodDatetimeDisabled(true); setBasePeriodDatetimeDisabled(true);
setBasePeriodBeginsDatetime(moment(reportingPeriodBeginsDatetime).subtract(1, 'years')); setBasePeriodBeginsDatetime(moment(reportingPeriodBeginsDatetime).subtract(1, 'years'));
setBasePeriodEndsDatetime(moment(reportingPeriodEndsDatetime).subtract(1, 'years')); setBasePeriodEndsDatetime(moment(reportingPeriodEndsDatetime).subtract(1, 'years'));
setBaseValues([moment(reportingPeriodBeginsDatetime).subtract(1, 'years').toDate(),
moment(reportingPeriodEndsDatetime).subtract(1, 'years').toDate()]);
} else if (target.value === 'month-on-month') { } else if (target.value === 'month-on-month') {
setBasePeriodDatetimeDisabled(true); setBasePeriodDatetimeDisabled(true);
setBasePeriodBeginsDatetime(moment(reportingPeriodBeginsDatetime).subtract(1, 'months')); setBasePeriodBeginsDatetime(moment(reportingPeriodBeginsDatetime).subtract(1, 'months'));
setBasePeriodEndsDatetime(moment(reportingPeriodEndsDatetime).subtract(1, 'months')); setBasePeriodEndsDatetime(moment(reportingPeriodEndsDatetime).subtract(1, 'months'));
setBaseValues([moment(reportingPeriodBeginsDatetime).subtract(1, 'months').toDate(),
moment(reportingPeriodEndsDatetime).subtract(1, 'months').toDate()]);
} else if (target.value === 'free-comparison') { } else if (target.value === 'free-comparison') {
setBasePeriodDatetimeDisabled(true); setBasePeriodDatetimeDisabled(false);
} else if (target.value === 'none-comparison') { } else if (target.value === 'none-comparison') {
setBaseValues([]);
setBasePeriodBeginsDatetime(undefined); setBasePeriodBeginsDatetime(undefined);
setBasePeriodEndsDatetime(undefined); setBasePeriodEndsDatetime(undefined);
setBasePeriodDatetimeDisabled(true); setBasePeriodDatetimeDisabled(true);
} }
setBaseValues([basePeriodBeginsDatetime.toDate(), basePeriodEndsDatetime.toDate()]);
}; };
const onSearchMeter = ({ target }) => { const onSearchMeter = ({ target }) => {
@ -270,27 +275,30 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
}; };
let onBasePeriodChange = (DateRange) => { let onBasePeriodChange = (DateRange) => {
if(DateRange == null){
setBaseValues([]);
}
let startDate = moment(DateRange[0]); let startDate = moment(DateRange[0]);
let endDate = moment(DateRange[1]); let endDate = moment(DateRange[1]);
setValues([DateRange[0], DateRange[1]]); setBaseValues([DateRange[0], DateRange[1]]);
setReportingPeriodBeginsDatetime(startDate); setReportingPeriodBeginsDatetime(startDate);
setReportingPeriodEndsDatetime(endDate); setReportingPeriodEndsDatetime(endDate);
}; };
let onChange = (DateRange) => { let onChange = (DateRange) => {
if(DateRange == null){
setValues([]);
}
let startDate = moment(DateRange[0]); let startDate = moment(DateRange[0]);
let endDate = moment(DateRange[1]); let endDate = moment(DateRange[1]);
setValues([DateRange[0], DateRange[1]]); setValues([DateRange[0], DateRange[1]]);
setReportingPeriodBeginsDatetime(startDate); setReportingPeriodBeginsDatetime(startDate);
if (comparisonType === 'year-over-year') {
setBasePeriodBeginsDatetime(startDate.clone().subtract(1, 'years'));
} else if (comparisonType === 'month-on-month') {
setBasePeriodBeginsDatetime(startDate.clone().subtract(1, 'months'));
}
setReportingPeriodEndsDatetime(endDate); setReportingPeriodEndsDatetime(endDate);
if (comparisonType === 'year-over-year') { if (comparisonType === 'year-over-year') {
setBasePeriodBeginsDatetime(startDate.clone().subtract(1, 'years'));
setBasePeriodEndsDatetime(endDate.clone().subtract(1, 'years')); setBasePeriodEndsDatetime(endDate.clone().subtract(1, 'years'));
} else if (comparisonType === 'month-on-month') { } else if (comparisonType === 'month-on-month') {
setBasePeriodBeginsDatetime(startDate.clone().subtract(1, 'months'));
setBasePeriodEndsDatetime(endDate.clone().subtract(1, 'months')); setBasePeriodEndsDatetime(endDate.clone().subtract(1, 'months'));
} }
setBaseValues([basePeriodBeginsDatetime.toDate(), basePeriodEndsDatetime.toDate()]); setBaseValues([basePeriodBeginsDatetime.toDate(), basePeriodEndsDatetime.toDate()]);
@ -555,6 +563,7 @@ const MeterEnergy = ({ setRedirect, setRedirectUrl, t }) => {
onClean={onBaseClean} onClean={onBaseClean}
locale={local} locale={local}
showMeridian showMeridian
placeholder={"~"}
/> />
</FormGroup> </FormGroup>
</Col> </Col>