From 79fd9070e4fc4e4e1cd0fa5344cbd508ca185d1f Mon Sep 17 00:00:00 2001 From: MaysWind Date: Fri, 8 Nov 2024 17:59:18 +0800 Subject: [PATCH] make the time range not exceed the selected range when jumping from trend analysis chart to transaction list page --- src/components/desktop/TrendsChart.vue | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/components/desktop/TrendsChart.vue b/src/components/desktop/TrendsChart.vue index e5902f56..6528a6fe 100644 --- a/src/components/desktop/TrendsChart.vue +++ b/src/components/desktop/TrendsChart.vue @@ -18,6 +18,8 @@ import { isNumber } from '@/lib/common.js'; import { + getYearMonthFirstUnixTime, + getYearMonthLastUnixTime, getAllYearsStartAndEndUnixTimes, getAllQuartersStartAndEndUnixTimes, getAllMonthsStartAndEndUnixTimes, @@ -393,8 +395,25 @@ export default { const item = this.itemsMap[id]; const itemId = this.idField ? item[this.idField] : ''; const dateRange = this.allDateRanges[e.dataIndex]; - const minUnixTime = dateRange.minUnixTime; - const maxUnixTime = dateRange.maxUnixTime; + let minUnixTime = dateRange.minUnixTime; + let maxUnixTime = dateRange.maxUnixTime; + + if (this.startYearMonth) { + const startMinUnixTime = getYearMonthFirstUnixTime(this.startYearMonth); + + if (startMinUnixTime > minUnixTime) { + minUnixTime = startMinUnixTime; + } + } + + if (this.endYearMonth) { + const endMaxUnixTime = getYearMonthLastUnixTime(this.endYearMonth); + + if (endMaxUnixTime < maxUnixTime) { + maxUnixTime = endMaxUnixTime; + } + } + const dateRangeType = getDateTypeByDateRange(minUnixTime, maxUnixTime, this.userStore.currentUserFirstDayOfWeek, datetimeConstants.allDateRangeScenes.Normal); this.$emit('click', {