fix the problem that the time zone setting did not take effect immediately

This commit is contained in:
MaysWind
2023-07-24 00:23:27 +08:00
parent 5dd0f7ea10
commit aafdbab781
5 changed files with 36 additions and 18 deletions
@@ -167,6 +167,9 @@ import { mapStores } from 'pinia';
import { useRootStore } from '@/stores/index.js';
import { useSettingsStore } from '@/stores/setting.js';
import { useUserStore } from '@/stores/user.js';
import { useTransactionsStore } from '@/stores/transaction.js';
import { useOverviewStore } from '@/stores/overview.js';
import { useStatisticsStore } from '@/stores/statistics.js';
import { useExchangeRatesStore } from '@/stores/exchangeRates.js';
import currencyConstants from '@/consts/currency.js';
@@ -174,7 +177,7 @@ import { getSystemTheme } from '@/lib/ui.js';
export default {
computed: {
...mapStores(useRootStore, useSettingsStore, useUserStore, useExchangeRatesStore),
...mapStores(useRootStore, useSettingsStore, useUserStore, useTransactionsStore, useOverviewStore, useStatisticsStore, useExchangeRatesStore),
enableDisableOptions() {
return this.$locale.getEnableDisableOptions();
},
@@ -206,6 +209,10 @@ export default {
},
set: function (value) {
this.settingsStore.setTimeZone(value);
this.$locale.setTimeZone(value);
this.transactionsStore.updateTransactionListInvalidState(true);
this.overviewStore.updateTransactionOverviewInvalidState(true);
this.statisticsStore.updateTransactionStatisticsInvalidState(true);
}
},
isAutoUpdateExchangeRatesData: {
+8 -1
View File
@@ -90,6 +90,9 @@ import { mapStores } from 'pinia';
import { useRootStore } from '@/stores/index.js';
import { useSettingsStore } from '@/stores/setting.js';
import { useUserStore } from '@/stores/user.js';
import { useTransactionsStore } from '@/stores/transaction.js';
import { useOverviewStore } from '@/stores/overview.js';
import { useStatisticsStore } from '@/stores/statistics.js';
import { useExchangeRatesStore } from '@/stores/exchangeRates.js';
import currencyConstants from '@/consts/currency.js';
@@ -108,7 +111,7 @@ export default {
};
},
computed: {
...mapStores(useRootStore, useSettingsStore, useUserStore, useExchangeRatesStore),
...mapStores(useRootStore, useSettingsStore, useUserStore, useTransactionsStore, useOverviewStore, useStatisticsStore, useExchangeRatesStore),
version() {
return 'v' + this.$version;
},
@@ -141,6 +144,10 @@ export default {
},
set: function (value) {
this.settingsStore.setTimeZone(value);
this.$locale.setTimeZone(value);
this.transactionsStore.updateTransactionListInvalidState(true);
this.overviewStore.updateTransactionOverviewInvalidState(true);
this.statisticsStore.updateTransactionStatisticsInvalidState(true);
}
},
exchangeRatesLastUpdateDate() {
+2 -2
View File
@@ -480,7 +480,7 @@ export default {
return true;
},
currentTimezoneOffsetMinutes() {
return getTimezoneOffsetMinutes();
return getTimezoneOffsetMinutes(this.settingsStore.appSettings.timeZone);
},
firstDayOfWeek() {
return this.userStore.currentUserFirstDayOfWeek;
@@ -671,7 +671,7 @@ export default {
changeDateFilter(dateType) {
if (dateType === this.allDateRanges.Custom.type) { // Custom
if (!this.query.minTime || !this.query.maxTime) {
this.query.maxTime = getActualUnixTimeForStore(getCurrentUnixTime(), getTimezoneOffsetMinutes(), getBrowserTimezoneOffsetMinutes());
this.query.maxTime = getActualUnixTimeForStore(getCurrentUnixTime(), this.currentTimezoneOffsetMinutes, getBrowserTimezoneOffsetMinutes());
this.query.minTime = getSpecifiedDayFirstUnixTime(this.query.maxTime);
}