|
|
@ -69,7 +69,7 @@ |
|
|
|
<!-- 自动自检失败 --> |
|
|
|
<InitWarn v-if="showFailModal" :visible="showFailModal" title="检测失败" :message="failMessage" |
|
|
|
icon="/src/assets/Warn.svg" cancelText="返回" confirmText="重试" @close="showFailModal = false" |
|
|
|
@confirm="checkIfResetCompleted" /> |
|
|
|
@confirm="startInit" /> |
|
|
|
<InitWarn v-if="idCardInserted" :visible="idCardInserted" title="检测到id卡插入" message="是否保存id卡信息" cancelText="返回" |
|
|
|
icon="/src/assets/update-pin-icon.svg" confirmText="确认保存" @close="idCardInserted = false" @confirm="saveIdInfo" /> |
|
|
|
<InitWarn v-if="showErrorModal" :visible="showErrorModal" title="错误提示" :message="ErrorMessage" |
|
|
@ -204,7 +204,7 @@ const startTest = async () => { |
|
|
|
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); // 试管槽状态标记 |
|
|
|
|
|
|
|