diff --git a/src/pages/Index/Index.vue b/src/pages/Index/Index.vue index a22e6fa..99071f2 100644 --- a/src/pages/Index/Index.vue +++ b/src/pages/Index/Index.vue @@ -391,6 +391,26 @@ @close="confirmWarn" @confirm="confirmWarn" /> + + @@ -459,6 +479,25 @@ import { SystemInfo } from '@/types/Index/System.ts' const systemStore = useSystemStore() // 使用 systemStore +const stopModal = ref(false) +const restoreModel = ref(false) + +const stopEmergencyKey = ref(false) + +watch(stopEmergencyKey, (newVal, oldValue) => { + if (newVal) { + stopModal.value = true + } + if (!newVal && oldValue) { + stopModal.value = false + restoreModel.value = true + } +}) + +const confirmRestore = () => { + restoreModel.value = false + eventBus.emit('initDevice') +} const router = useRouter() const route = useRoute() @@ -836,8 +875,13 @@ const handleConsumablesState = (data: ConsumablesStateMessage['data']) => { consumableStore.setConsumablesData(data) } + + const handleEmergencyKeyTriggered = (data: emergencyKeyTriggeredMessage['data']) => { - console.log('data---emergencyKeyTriggered-', data) + if (data.emergencyKeyTrigger !== stopEmergencyKey.value){ + stopEmergencyKey.value = data.emergencyKeyTrigger + console.log('stopEmergencyKey.value', stopEmergencyKey.value) + } } //未测试,先注释 @@ -907,7 +951,7 @@ onMounted(() => { handleConsumablesState, ) wsState.subscribe( - 'emergencyKeyTriggered', + 'EmergencyKeyState', handleEmergencyKeyTriggered, ) wsState.subscribe( @@ -999,11 +1043,11 @@ const untilDeviceReady = async () => { // 开始测试 const startTest = async () => { - // const res = await getInitState() - // if (res.ecode === 'SUC' && !res.data.deviceInited) { - // eventBus.emit('initDevice') - // return - // } + const res = await getInitState() + if (res.ecode === 'SUC' && !res.data.deviceInited) { + eventBus.emit('initDevice') + return + } try { if (deviceStore.sensorState?.pboxTemperature !== plateBoxTemperature.value) { warnMessage.value = '反应板夹区温度不等于预设温度' diff --git a/src/websocket/socket.ts b/src/websocket/socket.ts index 2a1c5a7..ae681b8 100644 --- a/src/websocket/socket.ts +++ b/src/websocket/socket.ts @@ -396,6 +396,15 @@ interface ConsumablesStateMessage extends BaseMessage { timestamp: number } +interface emergencyKeyTriggeredMessage extends BaseMessage { + messageType: 'Report' + dataType: 'EmergencyKeyState' + data: { + emergencyKeyTrigger: boolean + } + timestamp: number +} + // 消息类型联合 type WebSocketMessage = | OptScanModuleStateMessage @@ -411,6 +420,7 @@ type WebSocketMessage = | ConsumablesStateMessage | AppFlagStateListMessage | PreReactionPosGroupStateMessage +| emergencyKeyTriggeredMessage // 消息处理器类型 type MessageHandler = (data: T['data']) => void @@ -580,6 +590,7 @@ export type { TipInfo, AppFlagStateListMessage, PreReactionPosGroupStateMessage, + emergencyKeyTriggeredMessage, } // 导出 WebSocket 客户端