fix cannot shift month when selected month is current month and in transaction calendar mode

This commit is contained in:
MaysWind
2025-05-07 00:34:11 +08:00
parent 4656002106
commit dbbbe6805d
2 changed files with 11 additions and 11 deletions
+5 -5
View File
@@ -761,7 +761,7 @@ export function getRecentMonthDateRanges(monthCount: number): RecentMonthDateRan
return recentDateRanges;
}
export function getRecentDateRangeTypeByDateType(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number): number {
export function getRecentDateRangeIndexByDateType(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number): number {
for (let i = 0; i < allRecentMonthDateRanges.length; i++) {
if (!allRecentMonthDateRanges[i].isPreset && allRecentMonthDateRanges[i].dateType === dateType) {
return i;
@@ -771,15 +771,15 @@ export function getRecentDateRangeTypeByDateType(allRecentMonthDateRanges: Local
return -1;
}
export function getRecentDateRangeType(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number, minTime: number, maxTime: number, firstDayOfWeek: number): number {
export function getRecentDateRangeIndex(allRecentMonthDateRanges: LocalizedRecentMonthDateRange[], dateType: number, minTime: number, maxTime: number, firstDayOfWeek: number): number {
let dateRange = getDateRangeByDateType(dateType, firstDayOfWeek);
if (dateRange && dateRange.dateType === DateRange.All.type) {
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.All.type);
return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.All.type);
}
if (!dateRange && (!maxTime || !minTime)) {
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
}
if (!dateRange) {
@@ -798,7 +798,7 @@ export function getRecentDateRangeType(allRecentMonthDateRanges: LocalizedRecent
}
}
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
}
export function getFullMonthDateRange(minTime: number, maxTime: number, firstDayOfWeek: number): TimeRangeAndDateType | null {
+6 -6
View File
@@ -39,7 +39,7 @@
/>
</div>
<v-tabs show-arrows class="my-4" direction="vertical"
:disabled="loading" v-model="recentDateRangeType">
:disabled="loading" v-model="recentDateRangeIndex">
<v-tab class="tab-text-truncate" :key="idx" :value="idx" v-for="(recentDateRange, idx) in recentMonthDateRanges"
@click="changeDateFilter(recentDateRange)">
<span class="text-truncate">{{ recentDateRange.displayName }}</span>
@@ -694,7 +694,7 @@ import {
getDateTypeByBillingCycleDateRange,
getDateRangeByDateType,
getDateRangeByBillingCycleDateType,
getRecentDateRangeType,
getRecentDateRangeIndex,
getFullMonthDateRange,
getMonthFirstDayOrCurrentDayShortDate,
isDateRangeMatchOneMonth
@@ -954,8 +954,8 @@ const currentMonthTransactionData = computed<TransactionMonthList | null>(() =>
return null;
});
const recentDateRangeType = computed<number>({
get: () => getRecentDateRangeType(recentMonthDateRanges.value, query.value.dateType, query.value.minTime, query.value.maxTime, firstDayOfWeek.value),
const recentDateRangeIndex = computed<number>({
get: () => getRecentDateRangeIndex(recentMonthDateRanges.value, query.value.dateType, query.value.minTime, query.value.maxTime, firstDayOfWeek.value),
set: (value) => {
if (value < 0 || value >= recentMonthDateRanges.value.length) {
value = 0;
@@ -1339,9 +1339,9 @@ function changeCustomDateFilter(minTime: number, maxTime: number): void {
}
function shiftDateRange(startTime: number, endTime: number, scale: number): void {
if (recentDateRangeType.value === DateRange.All.type) {
if (pageType.value === TransactionListPageType.List.type && recentDateRangeIndex.value === 0) { // first item is "All"
return;
}
} // transaction calendar mode not display "All" item
let newDateRange: TimeRangeAndDateType | null = null;