Browse Source

fix: 急停逻辑操作

master
guoapeng 5 days ago
parent
commit
e7ea25cc1b
  1. 58
      src/pages/Index/Index.vue
  2. 11
      src/websocket/socket.ts

58
src/pages/Index/Index.vue

@ -391,6 +391,26 @@
@close="confirmWarn"
@confirm="confirmWarn"
/>
<InitWarn
v-if="stopModal"
:visible="stopModal"
title=""
icon="/src/assets/Warn.svg"
message="急停已按下"
cancelText="返回"
:confirmText="undefined"
/>
<InitWarn
v-if="restoreModel"
:visible="restoreModel"
:title="warnTitle"
message="急停已松开, 是否重新初始化设备"
cancelText="返回"
icon="/src/assets/update-pin-icon.svg"
confirmText="确认"
@close="restoreModel=false"
@confirm="confirmRestore"
/>
<Confirm :isLoading="confirmVisible" :confirmInfo="confirmInfo"></Confirm>
</div>
</template>
@ -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<emergencyKeyTriggeredMessage>(
'emergencyKeyTriggered',
'EmergencyKeyState',
handleEmergencyKeyTriggered,
)
wsState.subscribe<DeviceWorkStateMessage>(
@ -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 = '反应板夹区温度不等于预设温度'

11
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<T extends WebSocketMessage> = (data: T['data']) => void
@ -580,6 +590,7 @@ export type {
TipInfo,
AppFlagStateListMessage,
PreReactionPosGroupStateMessage,
emergencyKeyTriggeredMessage,
}
// 导出 WebSocket 客户端

Loading…
Cancel
Save