From 80396a444e749ebf6e54e6d695f0217ddf577040 Mon Sep 17 00:00:00 2001 From: MaysWind Date: Mon, 12 Aug 2024 01:06:03 +0800 Subject: [PATCH] fix the page could not load properly when selecting the same date in trend analysis --- src/lib/common.js | 15 +++++++++++++++ src/stores/statistics.js | 5 +++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/lib/common.js b/src/lib/common.js index edc85fa5..7f6e0fad 100644 --- a/src/lib/common.js +++ b/src/lib/common.js @@ -99,6 +99,21 @@ export function isEquals(obj1, obj2) { } } +export function isYearMonthEquals(val1, val2) { + if (typeof(val1) !== 'string' || typeof(val2) !== 'string') { + return false; + } + + const items1 = val1.split('-'); + const items2 = val2.split('-'); + + if (items1.length !== 2 || items2.length !== 2) { + return false; + } + + return (parseInt(items1[0]) && parseInt(items1[1])) && (parseInt(items1[0]) === parseInt(items2[0])) && (parseInt(items1[1]) === parseInt(items2[1])); +} + export function isObjectEmpty(obj) { if (!obj) { return true; diff --git a/src/stores/statistics.js b/src/stores/statistics.js index 9859a1c6..39584532 100644 --- a/src/stores/statistics.js +++ b/src/stores/statistics.js @@ -19,6 +19,7 @@ import { isObject, isInteger, isYearMonth, + isYearMonthEquals, isObjectEmpty, objectFieldToArrayItem } from '@/lib/common.js'; @@ -726,12 +727,12 @@ export const useStatisticsStore = defineStore('statistics', { changed = true; } - if (filter && (isYearMonth(filter.trendChartStartYearMonth) || filter.trendChartStartYearMonth === '') && this.transactionStatisticsFilter.trendChartStartYearMonth !== filter.trendChartStartYearMonth) { + if (filter && (isYearMonth(filter.trendChartStartYearMonth) || filter.trendChartStartYearMonth === '') && !isYearMonthEquals(this.transactionStatisticsFilter.trendChartStartYearMonth, filter.trendChartStartYearMonth)) { this.transactionStatisticsFilter.trendChartStartYearMonth = filter.trendChartStartYearMonth; changed = true; } - if (filter && (isYearMonth(filter.trendChartEndYearMonth) || filter.trendChartEndYearMonth === '') && this.transactionStatisticsFilter.trendChartEndYearMonth !== filter.trendChartEndYearMonth) { + if (filter && (isYearMonth(filter.trendChartEndYearMonth) || filter.trendChartEndYearMonth === '') && !isYearMonthEquals(this.transactionStatisticsFilter.trendChartEndYearMonth, filter.trendChartEndYearMonth)) { this.transactionStatisticsFilter.trendChartEndYearMonth = filter.trendChartEndYearMonth; changed = true; }