From 952a77c5eda498c56e5e1d6dc16539feaa7493bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=A2=A6=E8=BF=9C?= <1063331231@qq.com> Date: Mon, 14 Jul 2025 17:55:14 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=AF=E5=A2=83=E8=AE=BE=E7=BD=AE=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=96=B7=E5=A4=B4=E6=B8=A9=E5=BA=A6=E5=92=8C=E8=BD=BD?= =?UTF-8?q?=E7=8E=BB=E5=8F=B0=E6=B8=A9=E5=BA=A6=E7=9A=84=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/stores/useSystemStore.ts | 10 +++ src/views/main/index.vue | 16 +++++ src/views/spraySet/index.vue | 148 +++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 167 insertions(+), 7 deletions(-) diff --git a/src/stores/useSystemStore.ts b/src/stores/useSystemStore.ts index a7ceefc..9720099 100644 --- a/src/stores/useSystemStore.ts +++ b/src/stores/useSystemStore.ts @@ -17,11 +17,15 @@ export const useSystemStore = defineStore('system', { }, systemSensor: { humidity: 0, + slideTemperature: 0, + nozzleTemperature: 0, }, isDebug: import.meta.env.FT_NODE_ENV === 'dev', streamVisible: false, systemList: [{ cmdCode: '' }], targetHumidity: 0, + targetSlideTemperature: 0, + targetNozzleTemperature: 0, cleanRemainingTime: '', // 清洗管道用时 cleanTimerId: null, // 清洗管道定时器 cleanStartTs: 0, // 清洗管道开始时间 @@ -33,6 +37,12 @@ export const useSystemStore = defineStore('system', { updateTargetHumidity(humidity: number) { this.targetHumidity = humidity }, + updateSlideTemperature(slideTemperature: number) { + this.targetSlideTemperature = slideTemperature + }, + updateTargetNozzleTemperature(nozzleTemperature: number) { + this.targetNozzleTemperature = nozzleTemperature + }, updateSystemStatus(status: any) { this.systemStatus = status }, diff --git a/src/views/main/index.vue b/src/views/main/index.vue index a20d178..f6d5f3b 100644 --- a/src/views/main/index.vue +++ b/src/views/main/index.vue @@ -67,6 +67,22 @@ const sensorMessage = async (data: any) => { await sendControl(params) FtMessage.success('当前湿度已达目标湿度,除湿已完成') } + if (systemStore.systemStatus.slidePlatHeating && systemStore.systemSensor.slideTemperature >= systemStore.targetSlideTemperature) { + const params = { + cmdCode: 'slide_plat_heat_stop', + cmdId: '', + } + await sendControl(params) + FtMessage.success('当前温度已达目标温度,加热已完成') + } + if (systemStore.systemStatus.nozzleHeating && systemStore.systemSensor.nozzleTemperature <= systemStore.targetNozzleTemperature) { + const params = { + cmdCode: 'nozzle_heat_stop', + cmdId: '', + } + await sendControl(params) + FtMessage.success('当前温度已达目标温度,加热已完成') + } } socket.init(statusMessage, 'device_status_change') diff --git a/src/views/spraySet/index.vue b/src/views/spraySet/index.vue index 79c9567..df872ad 100644 --- a/src/views/spraySet/index.vue +++ b/src/views/spraySet/index.vue @@ -28,9 +28,93 @@ const startWork = () => { } const humidity = ref() +const slideTemperature = ref() +const nozzleTemperature = ref() const speed = ref() const clearSpeed = ref() +const slideStart = () => { + if (!systemStore.systemSensor.slideTemperature) { + FtMessage.error('未检测到当前温度') + return + } + if (!slideTemperature.value) { + FtMessage.error('请输入目标温度') + return + } + if (slideTemperature.value > 100 || slideTemperature.value < 0) { + FtMessage.error('温度参数有误') + return + } + if (slideTemperature.value <= systemStore.systemSensor.slideTemperature) { + FtMessage.info('当前不需要加热') + return + } + ElMessageBox.confirm('载玻台即将开始加热', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + showCancelButton: true, + showClose: false, + }) + .then(async () => { + slideStartRef.value.setLoading(true) + const params = { + cmdCode: 'slide_plat_heat_start', + cmdId: '', + params: { + temperature: slideTemperature.value, + }, + } + await sendControl(params) + systemStore.updateSlideTemperature(slideTemperature.value) + slideStartRef.value.setLoading(false) + }) + .catch(() => { + FtMessage.error('取消加热') + }) +} +const nozzleStart = () => { + if (!systemStore.systemSensor.nozzleTemperature) { + FtMessage.error('未检测到当前温度') + return + } + if (!nozzleTemperature.value) { + FtMessage.error('请输入目标温度') + return + } + if (nozzleTemperature.value > 100 || nozzleTemperature.value < 0) { + FtMessage.error('温度参数有误') + return + } + if (nozzleTemperature.value <= systemStore.systemSensor.nozzleTemperature) { + FtMessage.info('当前不需要加热') + return + } + ElMessageBox.confirm('即将开始加热', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + showCancelButton: true, + showClose: false, + }) + .then(async () => { + nozzleStartRef.value.setLoading(true) + const params = { + cmdCode: 'nozzle_heat_start', + cmdId: '', + params: { + temperature: nozzleTemperature.value, + }, + } + await sendControl(params) + systemStore.updateTargetNozzleTemperature(nozzleTemperature.value) + nozzleStartRef.value.setLoading(false) + }) + .catch(() => { + FtMessage.error('取消加热') + }) +} +const slideStartRef = ref() +const nozzleStartRef = ref() const dehumidifierStartRef = ref() const dehumidifierStart = () => { if (!systemStore.systemSensor.humidity) { @@ -209,6 +293,20 @@ const dehumidifierStop = async () => { } await sendControl(params) } +const slideStop = async () => { + const params = { + cmdCode: 'slide_plat_heat_stop', + cmdId: '', + } + await sendControl(params) +} +const nozzleStop = async () => { + const params = { + cmdCode: 'nozzle_heat_stop', + cmdId: '', + } + await sendControl(params) +} -
+
清洗速度 @@ -269,7 +367,7 @@ const dehumidifierStop = async () => { 预充管道
-
+
预充速度 @@ -303,13 +401,13 @@ const dehumidifierStop = async () => { 环境设置
-
-
+
+
当前湿度 {{ systemStore.systemSensor.humidity }} %RH
-
+
要求湿度 %RH @@ -321,6 +419,42 @@ const dehumidifierStop = async () => { 停止除湿
+
+
+ 载玻台温度 + {{ systemStore.systemSensor.slideTemperature }} + +
+
+ 要求温度 + + +
+ + 开始加热 + + + 停止加热 + +
+
+
+ 喷头温度 + {{ systemStore.systemSensor.nozzleTemperature }} + +
+
+ 要求温度 + + +
+ + 开始加热 + + + 停止加热 + +