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