diff --git a/src/pages/Index/Index.vue b/src/pages/Index/Index.vue index 6dd55e3..64166ac 100644 --- a/src/pages/Index/Index.vue +++ b/src/pages/Index/Index.vue @@ -238,6 +238,7 @@ import { useConsumablesStore, useDeviceStore, useSettingTestTubeStore, + useTestTubeStore, } from '../../store' import { createWebSocket } from '../../websocket/socket' import type { @@ -247,6 +248,7 @@ import type { IncubationPlateStateMessage, OptScanModuleStateMessage, SensorStateMessage, + TubeHolderSettingMessage, TubeHolderStateMessage, } from '../../websocket/socket' import { getServerInfo } from '../../utils/getServerInfo' @@ -269,6 +271,7 @@ const consumableStore = useConsumablesStore() const deviceStore = useDeviceStore() const runningStore = useRunningStore() const settingTubeStore = useSettingTestTubeStore() +const tubeRackStore = useTestTubeStore() // 新增的变量 const user = ref( @@ -367,6 +370,9 @@ const handleFooterState = (data: FooterMessageState['data']) => { const handleTubeHolderStateMessage = (data: TubeHolderStateMessage['data']) => { runningStore.setTubeHolderState(data) } +const handleTubeHolderSettingMessage = (data: TubeHolderSettingMessage['data']) => { + tubeRackStore.setTubeRacks(data) +} const handleOptScanModuleStateMessage = ( data: OptScanModuleStateMessage['data'], @@ -406,6 +412,7 @@ onMounted(() => { 'TubeHolderState', handleTubeHolderStateMessage, ) + wsState.subscribe('TubeHolderSetting', handleTubeHolderSettingMessage) wsState.subscribe( 'IncubationPlateState', handleIncubationPlateStateMessage, @@ -454,10 +461,10 @@ const startTest = async () => { try { showDeviceWaitingModal.value = true const res = await startWork() + showDeviceWaitingModal.value = false if (res.success) { await untilDeviceReady() } else { - showDeviceWaitingModal.value = false ElMessage({ message: res.data.info, type: 'error', @@ -473,10 +480,10 @@ const startTest = async () => { const pauseTest = async () => { showDeviceWaitingModal.value = true const res = await pauseWork() + showDeviceWaitingModal.value = false if (res.success) { await untilDeviceReady() } else { - showDeviceWaitingModal.value = false ElMessage({ message: res.data.info, type: 'error', @@ -489,10 +496,10 @@ const pauseTest = async () => { const stopTest = async () => { showDeviceWaitingModal.value = true const res = await stopWork() + showDeviceWaitingModal.value = false if (res.success) { await untilDeviceReady() } else { - showDeviceWaitingModal.value = false ElMessage({ message: res.data.info, type: 'error', @@ -504,10 +511,10 @@ const stopTest = async () => { const continueTest = async () => { showDeviceWaitingModal.value = true const res = await continueWork() + showDeviceWaitingModal.value = false if (res.success) { await untilDeviceReady() } else { - showDeviceWaitingModal.value = false ElMessage({ message: res.data.info, type: 'error', @@ -546,55 +553,11 @@ const pollingInitState = async () => { showFailModal.value = true // 显示失败弹窗 } } + } else { + showDeviceResettingModal.value = false } } -// const checkIfResetCompleted = async () => { -// if (showFailModal.value) { -// showFailModal.value = false; -// } -// showLoadingModal.value = true; // 显示 LoadingModal -// // 模拟 2 秒延时 -// await new Promise(resolve => setTimeout(resolve, 2000)); -// //通过获取初始化状态来判断是否初始化成功 -// const initState = await getInitState(); -// if (initState.ecode === "SUC") { -// //检测初始化是否成功 -// if (initState.data.passed) { -// console.log("初始化成功") -// sessionStorage.setItem('deviceResetFinished', "true"); -// showLoadingModal.value = false; -// showAlreadyModal.value = true; -// } else { -// console.log("初始化失败") -// await getCheckData(); // 获取检查数据找到错误项 -// const failedItems = checkData.value.filter(item => !item.pass); -// if (failedItems.length > 0) { -// const errorMessages = generateErrorMessages(failedItems); -// console.log('生成的错误信息:', errorMessages); -// failItems.value = failedItems; // 更新失败的检查项 -// failMessage.value = errorMessages.join('\n'); // 更新错误信息 -// showLoadingModal.value = false; // 隐藏 LoadingModal -// showFailModal.value = true; // 显示失败弹窗 -// } else { -// console.log("初始化失败,但是没有失败项") -// showLoadingModal.value = false; // 隐藏 LoadingModal -// showAlreadyModal.value = true; // 显示已完成弹窗 -// sessionStorage.setItem('deviceResetFinished', "true"); -// } -// } -// } -// }; - -// const isTestTubeSlotReady = ref(false); // 试管槽状态标记 - -// 在获取检测数据后,判断试管槽状态 -// const checkTestTubeSlotStatus = (data: CheckItem[]) => { -// const slotCheck = data.find(item => item.type === 'CHECK_TEST_TUBE_SLOT_READY'); -// isTestTubeSlotReady.value = slotCheck?.pass ?? false; -// console.log('试管槽状态:', isTestTubeSlotReady.value ? '准备就绪' : '未准备好'); -// }; - const handleAlreadyConfirm = () => { console.log('用户确认操作') showAlreadyModal.value = false diff --git a/src/pages/Index/Regular/TestTube.vue b/src/pages/Index/Regular/TestTube.vue index 5da939a..245715c 100644 --- a/src/pages/Index/Regular/TestTube.vue +++ b/src/pages/Index/Regular/TestTube.vue @@ -3,15 +3,15 @@
-

项目选择

-
+
{{ proj.projName }} {{ - `${projIdCntMap[proj.projId] || 0}/${proj.num}` + `${projIdCntMap[proj.projId || 1] || 0}/${proj.num}` }}
@@ -48,7 +51,7 @@

血液类型

-
+
-