From b5bdde7977a4b8432288d2e05ce55d37cae64ba5 Mon Sep 17 00:00:00 2001 From: zhangjiming Date: Fri, 3 Jan 2025 11:38:54 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E8=AE=BE=E5=A4=87=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/Index/Index.vue | 97 ++++++++++++++-------- .../Index/components/Consumables/Warn/InitWarn.vue | 1 + 2 files changed, 63 insertions(+), 35 deletions(-) diff --git a/src/pages/Index/Index.vue b/src/pages/Index/Index.vue index 3850be9..310f36e 100644 --- a/src/pages/Index/Index.vue +++ b/src/pages/Index/Index.vue @@ -69,7 +69,7 @@ + @confirm="startInit" /> { const isCheck = sessionStorage.getItem('testStarted'); if (!isCheck) { isTesting.value = false; - await checkIfResetCompleted() + await startInit() } }; @@ -236,47 +236,74 @@ const continueTest = async () => { }; const handleConfirm = async () => { showModal.value = false; // 关闭初始弹窗 - await initDevice(); // 初始化设备 - await checkIfResetCompleted(); // 检测是否复位完成 + + await startInit() }; -// 检查是否复位完成 -const checkIfResetCompleted = async () => { - if (showFailModal.value) { - showFailModal.value = false; - } +const startInit = async () => { + await initDevice() + await pollingInitState() +} + +const pollingInitState = async () => { 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('testStarted', "true"); - showLoadingModal.value = false; - showAlreadyModal.value = true; + const res = await getInitState(); + if (res.ecode === "SUC") { + if (res.data.isBusy) { + setTimeout(async () => await pollingInitState(), 500) } 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 + showLoadingModal.value = false; + if (res.data.passed) { + console.log("初始化成功") + // sessionStorage.setItem('testStarted', "true"); + showAlreadyModal.value = true; + } + else { + const infos = res.data.promopt.detailInfos + failMessage.value= infos && infos.length > 0 ? infos.map(d => d.name).join('\n') : res.data.promopt.info showFailModal.value = true; // 显示失败弹窗 - } else { - console.log("初始化失败,但是没有失败项") - showLoadingModal.value = false; // 隐藏 LoadingModal - showAlreadyModal.value = true; // 显示已完成弹窗 - sessionStorage.setItem('testStarted', "true"); } } } -}; +} + + +// 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('testStarted', "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('testStarted', "true"); +// } +// } +// } +// }; const isTestTubeSlotReady = ref(false); // 试管槽状态标记 diff --git a/src/pages/Index/components/Consumables/Warn/InitWarn.vue b/src/pages/Index/components/Consumables/Warn/InitWarn.vue index d4e289f..2d2cd84 100644 --- a/src/pages/Index/components/Consumables/Warn/InitWarn.vue +++ b/src/pages/Index/components/Consumables/Warn/InitWarn.vue @@ -137,6 +137,7 @@ const onConfirm = () => { font-size: 28px; // 增加消息字体 color: #555; // 使用更柔和的颜色 line-height: 1.5; // 增加行距 + white-space: pre-wrap; } .modal-error {