You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1.3 KiB
46 lines
1.3 KiB
import { defineStore } from 'pinia'
|
|
import { ref } from 'vue'
|
|
|
|
const liquidItem: Liquid.LiquidData = {
|
|
nowLiquid: 840,
|
|
workState: 'idle',
|
|
workStateDisplay: '空闲',
|
|
}
|
|
export const useLiquidStore = defineStore('Liquid', () => {
|
|
const liquidAddWorkState = ref<Liquid.LiquidData>(liquidItem)
|
|
const liquidDrainWorkState = ref<Liquid.LiquidData>(liquidItem)
|
|
const liquidStateData = ref(liquidItem)
|
|
const liquidTotal = ref<number>(2500)
|
|
const liquidPeriod = ref(300)
|
|
|
|
const updateAddLiquidWorkState = (item: Liquid.LiquidData) => {
|
|
liquidAddWorkState.value = item
|
|
liquidStateData.value = item
|
|
}
|
|
|
|
const updateDrainLiquidWorkState = (item: Liquid.LiquidData) => {
|
|
liquidDrainWorkState.value = item
|
|
liquidStateData.value = item
|
|
}
|
|
|
|
const updateLiquidState = (liquidInfo: Liquid.LiquidData) => {
|
|
liquidStateData.value = liquidInfo
|
|
}
|
|
|
|
const initLiquidConfig = async (liquidConfig: Liquid.LiquidConfig) => {
|
|
liquidTotal.value = liquidConfig.maxLiquid
|
|
liquidPeriod.value = liquidConfig.updatePeriod
|
|
}
|
|
|
|
return {
|
|
liquidAddWorkState,
|
|
liquidDrainWorkState,
|
|
liquidTotal,
|
|
liquidPeriod,
|
|
liquidStateData,
|
|
updateAddLiquidWorkState,
|
|
updateDrainLiquidWorkState,
|
|
initLiquidConfig,
|
|
updateLiquidState,
|
|
}
|
|
})
|