Browse Source

重构设备初始化

feature/history-20250108
zhangjiming 7 months ago
parent
commit
b5bdde7977
  1. 97
      src/pages/Index/Index.vue
  2. 1
      src/pages/Index/components/Consumables/Warn/InitWarn.vue

97
src/pages/Index/Index.vue

@ -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); //

1
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 {

Loading…
Cancel
Save