mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-20 09:44:26 +08:00
fix cannot shift month when selected month is current month and in transaction calendar mode
This commit is contained in:
+5
-5
@@ -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 {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user