消毒机设备
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.
 
 
 
 
 

81 lines
2.2 KiB

import { defineStore } from 'pinia'
import { ref } from 'vue'
const liquidItem: Liquid.LiquidData = {
nowLiquid: 840,
workState: 'idle',
workStateDisplay: '空闲',
}
/**
* 液体管理模块状态仓库
* @module useLiquidStore
*/
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 inputedStopatg = ref<number>(0)
/**
* @function updateAddLiquidWorkState
* @param {Liquid.LiquidData} item - 加液工作状态数据
* @desc 更新加液工作状态并同步到总状态
*/
const updateAddLiquidWorkState = (item: Liquid.LiquidData) => {
liquidAddWorkState.value = item
liquidStateData.value = item
}
/**
* @function updateDrainLiquidWorkState
* @param {Liquid.LiquidData} item - 排液工作状态数据
* @desc 更新排液工作状态并同步到总状态
*/
const updateDrainLiquidWorkState = (item: Liquid.LiquidData) => {
liquidDrainWorkState.value = item
liquidStateData.value = item
}
/**
* @function updateLiquidState
* @param {Liquid.LiquidData} liquidInfo - 液体状态信息
* @desc 直接更新液体总体状态
*/
const updateLiquidState = (liquidInfo: Liquid.LiquidData) => {
liquidStateData.value = liquidInfo
}
/**
* @function initLiquidConfig
* @param {Liquid.LiquidConfig} liquidConfig - 液体配置信息
* @desc 初始化液体配置参数(总容量和更新周期)
*/
const initLiquidConfig = async (liquidConfig: Liquid.LiquidConfig) => {
liquidTotal.value = liquidConfig.maxLiquid
liquidPeriod.value = liquidConfig.updatePeriod
}
const updateinputedStopatg = (inputVal: number) => {
inputedStopatg.value = inputVal
}
return {
// 状态属性
liquidAddWorkState,
liquidDrainWorkState,
liquidTotal,
liquidPeriod,
liquidStateData,
inputedStopatg,
// 操作方法
updateAddLiquidWorkState,
updateDrainLiquidWorkState,
initLiquidConfig,
updateLiquidState,
updateinputedStopatg,
}
})