|
@@ -14,7 +14,7 @@ import {
|
|
|
updatePreferences,
|
|
updatePreferences,
|
|
|
usePreferences,
|
|
usePreferences,
|
|
|
} from '@vben/preferences';
|
|
} from '@vben/preferences';
|
|
|
-import { useAccessStore } from '@vben/stores';
|
|
|
|
|
|
|
+import { useAccessStore, useTabbarStore, useTimezoneStore } from '@vben/stores';
|
|
|
import { cloneDeep, mapTree } from '@vben/utils';
|
|
import { cloneDeep, mapTree } from '@vben/utils';
|
|
|
|
|
|
|
|
import { VbenAdminLayout } from '@vben-core/layout-ui';
|
|
import { VbenAdminLayout } from '@vben-core/layout-ui';
|
|
@@ -52,6 +52,7 @@ const {
|
|
|
theme,
|
|
theme,
|
|
|
} = usePreferences();
|
|
} = usePreferences();
|
|
|
const accessStore = useAccessStore();
|
|
const accessStore = useAccessStore();
|
|
|
|
|
+const timezoneStore = useTimezoneStore();
|
|
|
const { refresh } = useRefresh();
|
|
const { refresh } = useRefresh();
|
|
|
|
|
|
|
|
const sidebarTheme = computed(() => {
|
|
const sidebarTheme = computed(() => {
|
|
@@ -187,9 +188,19 @@ watch(
|
|
|
},
|
|
},
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
|
|
+const tabbarStore = useTabbarStore();
|
|
|
|
|
+
|
|
|
|
|
+function refreshAll() {
|
|
|
|
|
+ tabbarStore.cachedTabs.clear();
|
|
|
|
|
+ refresh();
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
// 语言更新后,刷新页面
|
|
// 语言更新后,刷新页面
|
|
|
// i18n.global.locale会在preference.app.locale变更之后才会更新,因此watchpreference.app.locale是不合适的,刷新页面时可能语言配置尚未完全加载完成
|
|
// i18n.global.locale会在preference.app.locale变更之后才会更新,因此watchpreference.app.locale是不合适的,刷新页面时可能语言配置尚未完全加载完成
|
|
|
-watch(i18n.global.locale, refresh, { flush: 'post' });
|
|
|
|
|
|
|
+watch(i18n.global.locale, refreshAll, { flush: 'post' });
|
|
|
|
|
+
|
|
|
|
|
+// 时区更新后,刷新页面
|
|
|
|
|
+watch(() => timezoneStore.timezone, refreshAll, { flush: 'post' });
|
|
|
|
|
|
|
|
const slots: SetupContext['slots'] = useSlots();
|
|
const slots: SetupContext['slots'] = useSlots();
|
|
|
const headerSlots = computed(() => {
|
|
const headerSlots = computed(() => {
|