JGJS2026/src/pinia/pricingPaneReload.ts
2026-02-27 17:06:31 +08:00

29 lines
844 B
TypeScript

import { defineStore } from 'pinia'
import { ref } from 'vue'
const buildReloadKey = (contractId: string, serviceId: string | number) =>
`${contractId}::${String(serviceId)}`
export const usePricingPaneReloadStore = defineStore('pricing-pane-reload', () => {
const reloadVersionMap = ref<Record<string, number>>({})
const markReload = (contractId: string, serviceId: string | number) => {
const key = buildReloadKey(contractId, serviceId)
const current = reloadVersionMap.value[key] || 0
reloadVersionMap.value = {
...reloadVersionMap.value,
[key]: current + 1
}
}
const getReloadVersion = (contractId: string, serviceId: string | number) => {
const key = buildReloadKey(contractId, serviceId)
return reloadVersionMap.value[key] || 0
}
return {
markReload,
getReloadVersion
}
})