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; 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++) { for (let i = 0; i < allRecentMonthDateRanges.length; i++) {
if (!allRecentMonthDateRanges[i].isPreset && allRecentMonthDateRanges[i].dateType === dateType) { if (!allRecentMonthDateRanges[i].isPreset && allRecentMonthDateRanges[i].dateType === dateType) {
return i; return i;
@@ -771,15 +771,15 @@ export function getRecentDateRangeTypeByDateType(allRecentMonthDateRanges: Local
return -1; 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); let dateRange = getDateRangeByDateType(dateType, firstDayOfWeek);
if (dateRange && dateRange.dateType === DateRange.All.type) { if (dateRange && dateRange.dateType === DateRange.All.type) {
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.All.type); return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.All.type);
} }
if (!dateRange && (!maxTime || !minTime)) { if (!dateRange && (!maxTime || !minTime)) {
return getRecentDateRangeTypeByDateType(allRecentMonthDateRanges, DateRange.Custom.type); return getRecentDateRangeIndexByDateType(allRecentMonthDateRanges, DateRange.Custom.type);
} }
if (!dateRange) { 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 { export function getFullMonthDateRange(minTime: number, maxTime: number, firstDayOfWeek: number): TimeRangeAndDateType | null {
+6 -6
View File
@@ -39,7 +39,7 @@
/> />
</div> </div>
<v-tabs show-arrows class="my-4" direction="vertical" <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" <v-tab class="tab-text-truncate" :key="idx" :value="idx" v-for="(recentDateRange, idx) in recentMonthDateRanges"
@click="changeDateFilter(recentDateRange)"> @click="changeDateFilter(recentDateRange)">
<span class="text-truncate">{{ recentDateRange.displayName }}</span> <span class="text-truncate">{{ recentDateRange.displayName }}</span>
@@ -694,7 +694,7 @@ import {
getDateTypeByBillingCycleDateRange, getDateTypeByBillingCycleDateRange,
getDateRangeByDateType, getDateRangeByDateType,
getDateRangeByBillingCycleDateType, getDateRangeByBillingCycleDateType,
getRecentDateRangeType, getRecentDateRangeIndex,
getFullMonthDateRange, getFullMonthDateRange,
getMonthFirstDayOrCurrentDayShortDate, getMonthFirstDayOrCurrentDayShortDate,
isDateRangeMatchOneMonth isDateRangeMatchOneMonth
@@ -954,8 +954,8 @@ const currentMonthTransactionData = computed<TransactionMonthList | null>(() =>
return null; return null;
}); });
const recentDateRangeType = computed<number>({ const recentDateRangeIndex = computed<number>({
get: () => getRecentDateRangeType(recentMonthDateRanges.value, query.value.dateType, query.value.minTime, query.value.maxTime, firstDayOfWeek.value), get: () => getRecentDateRangeIndex(recentMonthDateRanges.value, query.value.dateType, query.value.minTime, query.value.maxTime, firstDayOfWeek.value),
set: (value) => { set: (value) => {
if (value < 0 || value >= recentMonthDateRanges.value.length) { if (value < 0 || value >= recentMonthDateRanges.value.length) {
value = 0; value = 0;
@@ -1339,9 +1339,9 @@ function changeCustomDateFilter(minTime: number, maxTime: number): void {
} }
function shiftDateRange(startTime: number, endTime: number, scale: 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; return;
} } // transaction calendar mode not display "All" item
let newDateRange: TimeRangeAndDateType | null = null; let newDateRange: TimeRangeAndDateType | null = null;