diff --git a/src/enums/cacheEnum.ts b/src/enums/cacheEnum.ts index 12e82dd7..89485d95 100644 --- a/src/enums/cacheEnum.ts +++ b/src/enums/cacheEnum.ts @@ -27,6 +27,8 @@ export const LOCK_INFO_KEY = 'LOCK__INFO__KEY__' export const YEAR_KEY = 'YEAR_KEY__' +export const PLAY_KEY = 'PLAY_KEY__' + export const INIT_TIME = 'INIT_TIME_' export enum CacheTypeEnum { diff --git a/src/store/modules/visualization.ts b/src/store/modules/visualization.ts index 200e9b15..e1a4652b 100644 --- a/src/store/modules/visualization.ts +++ b/src/store/modules/visualization.ts @@ -1,17 +1,18 @@ import { defineStore } from 'pinia' -import { YEAR_KEY } from '/@/enums/cacheEnum' +import { YEAR_KEY, PLAY_KEY } from '/@/enums/cacheEnum' interface VisualizationState { year: number addressId?: number | null + play: boolean } - export const useVisualizationStore = defineStore({ id: 'app-visualization', state: (): VisualizationState => ({ year: Number(localStorage.getItem(YEAR_KEY)) || new Date().getFullYear() - 1, addressId: null, + play: localStorage.getItem(PLAY_KEY) === 'true' ? true : false, }), getters: { getYear(): number { @@ -20,6 +21,9 @@ export const useVisualizationStore = defineStore({ getAddresId(): number | null { return this?.addressId ?? null }, + getPlay(): boolean { + return this.play + }, }, actions: { setAddressId(id: number | null) { @@ -29,6 +33,10 @@ export const useVisualizationStore = defineStore({ this.year = year localStorage.setItem(YEAR_KEY, String(year)) }, + setPlay(play: boolean) { + this.play = play + localStorage.setItem(PLAY_KEY, String(play)) + }, plus() { this.setYear(this.year + 1) }, diff --git a/src/views/visualization/components/DXCY.vue b/src/views/visualization/components/DXCY.vue index 61f13864..6598e2f6 100644 --- a/src/views/visualization/components/DXCY.vue +++ b/src/views/visualization/components/DXCY.vue @@ -151,7 +151,9 @@ series: obj.series, }) - chartAmi() + if (visualizationStore.getPlay) { + chartAmi() + } } let timer: any = null @@ -233,6 +235,14 @@ () => getData(), ) + watch( + () => visualizationStore.getPlay, + () => { + timer && clearInterval(timer) + getData() + }, + ) + return { isChart, changeChart, diff --git a/src/views/visualization/components/DXJG.vue b/src/views/visualization/components/DXJG.vue index 9ecf22c8..2a358d22 100644 --- a/src/views/visualization/components/DXJG.vue +++ b/src/views/visualization/components/DXJG.vue @@ -7,12 +7,12 @@