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.
|
|
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, } })
|