import { reactive } from 'vue' import { defineStore } from 'pinia' interface MonitoringPoint { lineId: string lineName: string lineIds: string[] showCheckBox: boolean } export const useMonitoringPoint = defineStore( 'monitoringPoint', () => { const state: MonitoringPoint = reactive({ lineId: '', lineName: '', lineIds: [], showCheckBox: false }) const setValue = (key: keyof Pick, val: any) => { state[key] = val } const setShowCheckBox = (val: boolean) => { if (!val) { state.lineIds = [] } else { state.lineIds = [state.lineId] } state.showCheckBox = val } return { state, setValue, setShowCheckBox } }, { persist: true } )