code refactor

This commit is contained in:
MaysWind
2023-07-18 00:29:41 +08:00
parent 57d1e915e6
commit 99e55e730e
3 changed files with 31 additions and 36 deletions
+25
View File
@@ -258,6 +258,31 @@ export function getShiftedDateRange(minTime, maxTime, scale) {
};
}
export function getShiftedDateRangeAndDateType(minTime, maxTime, scale, firstDayOfWeek) {
const newDateRange = getShiftedDateRange(minTime, maxTime, scale);
let newDateType = dateTimeConstants.allDateRanges.Custom.type;
for (let dateRangeField in dateTimeConstants.allDateRanges) {
if (!Object.prototype.hasOwnProperty.call(dateTimeConstants.allDateRanges, dateRangeField)) {
continue;
}
const dateRangeType = dateTimeConstants.allDateRanges[dateRangeField];
const dateRange = getDateRangeByDateType(dateRangeType.type, firstDayOfWeek);
if (dateRange && dateRange.minTime === newDateRange.minTime && dateRange.maxTime === newDateRange.maxTime) {
newDateType = dateRangeType.type;
break;
}
}
return {
dateType: newDateType,
minTime: newDateRange.minTime,
maxTime: newDateRange.maxTime
};
}
export function getDateRangeByDateType(dateType, firstDayOfWeek) {
let maxTime = 0;
let minTime = 0;
@@ -229,7 +229,7 @@ import datetimeConstants from '@/consts/datetime.js';
import statisticsConstants from '@/consts/statistics.js';
import { getNameByKeyValue, limitText, formatPercent } from '@/lib/common.js'
import {
getShiftedDateRange,
getShiftedDateRangeAndDateType,
getDateRangeByDateType
} from '@/lib/datetime.js';
@@ -518,25 +518,10 @@ export default {
return;
}
const newDateRange = getShiftedDateRange(startTime, endTime, scale);
let newDateType = this.allDateRanges.Custom.type;
for (let dateRangeField in this.allDateRanges) {
if (!Object.prototype.hasOwnProperty.call(this.allDateRanges, dateRangeField)) {
continue;
}
const dateRangeType = this.allDateRanges[dateRangeField];
const dateRange = getDateRangeByDateType(dateRangeType.type, this.firstDayOfWeek);
if (dateRange && dateRange.minTime === newDateRange.minTime && dateRange.maxTime === newDateRange.maxTime) {
newDateType = dateRangeType.type;
break;
}
}
const newDateRange = getShiftedDateRangeAndDateType(startTime, endTime, scale, this.firstDayOfWeek);
this.statisticsStore.updateTransactionStatisticsFilter({
dateType: newDateType,
dateType: newDateRange.dateType,
startTime: newDateRange.minTime,
endTime: newDateRange.maxTime
});
@@ -261,7 +261,7 @@ import datetimeConstants from '@/consts/datetime.js';
import statisticsConstants from '@/consts/statistics.js';
import { getNameByKeyValue, limitText, formatPercent } from '@/lib/common.js'
import {
getShiftedDateRange,
getShiftedDateRangeAndDateType,
getDateRangeByDateType
} from '@/lib/datetime.js';
@@ -527,25 +527,10 @@ export default {
return;
}
const newDateRange = getShiftedDateRange(startTime, endTime, scale);
let newDateType = this.allDateRanges.Custom.type;
for (let dateRangeField in this.allDateRanges) {
if (!Object.prototype.hasOwnProperty.call(this.allDateRanges, dateRangeField)) {
continue;
}
const dateRangeType = this.allDateRanges[dateRangeField];
const dateRange = getDateRangeByDateType(dateRangeType.type, this.firstDayOfWeek);
if (dateRange && dateRange.minTime === newDateRange.minTime && dateRange.maxTime === newDateRange.maxTime) {
newDateType = dateRangeType.type;
break;
}
}
const newDateRange = getShiftedDateRangeAndDateType(startTime, endTime, scale, this.firstDayOfWeek);
this.statisticsStore.updateTransactionStatisticsFilter({
dateType: newDateType,
dateType: newDateRange.dateType,
startTime: newDateRange.minTime,
endTime: newDateRange.maxTime
});