diff --git a/src/constant/index.ts b/src/constant/index.ts index dc5f1e3..365a944 100644 --- a/src/constant/index.ts +++ b/src/constant/index.ts @@ -1,24 +1,28 @@ -export const DICT = { - +// 开发选项 +export const devOptions = { + // 小瓶缓冲液对象的isUsed属性 + enable_LittleBottle_isUsed: false, } + +export const DICT = {} //扫描状态 -export const SCAN_CONSUMABLES_STATE_MAP:any[] = [ - 'PASS',//通过 - 'EMPTY',//空 - 'EXPIRED',//耗材过期 - 'MISS_REACTION_PLATE',//没有反应板夹 - 'MISS_LITTSB',//缺少小缓冲液 - 'MISS_LARBS',//缺少大缓冲液 - 'MISS_IDCARD',//未找到匹配的项目ID卡 - 'LITTSB_LOTID_MISMATCH',//小缓冲液批号不匹配 - 'LARBS_LOTID_MISMATCH',//大缓冲液批号不匹配 - 'REACTION_PLATE_2D_CODE_FORMATE_ERROR',//反应板二维码格式错误 - 'CODE_ERROR_PROJINFO_IS_ERROR',//代码错误,项目信息异常 - 'UN_SUPPORT_PROJ',//不支持的项目 +export const SCAN_CONSUMABLES_STATE_MAP: any[] = [ + 'PASS', //通过 + 'EMPTY', //空 + 'EXPIRED', //耗材过期 + 'MISS_REACTION_PLATE', //没有反应板夹 + 'MISS_LITTSB', //缺少小缓冲液 + 'MISS_LARBS', //缺少大缓冲液 + 'MISS_IDCARD', //未找到匹配的项目ID卡 + 'LITTSB_LOTID_MISMATCH', //小缓冲液批号不匹配 + 'LARBS_LOTID_MISMATCH', //大缓冲液批号不匹配 + 'REACTION_PLATE_2D_CODE_FORMATE_ERROR', //反应板二维码格式错误 + 'CODE_ERROR_PROJINFO_IS_ERROR', //代码错误,项目信息异常 + 'UN_SUPPORT_PROJ', //不支持的项目 ] -let scan_consumables_state_option:any = {} -SCAN_CONSUMABLES_STATE_MAP.map(el => { - scan_consumables_state_option[el] = el +let scan_consumables_state_option: any = {} +SCAN_CONSUMABLES_STATE_MAP.map((el) => { + scan_consumables_state_option[el] = el }) -export const SCAN_CONSUMABLES_STATE = scan_consumables_state_option; \ No newline at end of file +export const SCAN_CONSUMABLES_STATE = scan_consumables_state_option diff --git a/src/pages/Index/Regular/Consumables.vue b/src/pages/Index/Regular/Consumables.vue index e66cd45..ff69e00 100644 --- a/src/pages/Index/Regular/Consumables.vue +++ b/src/pages/Index/Regular/Consumables.vue @@ -55,7 +55,7 @@
([]) @@ -148,7 +151,7 @@ const moveLiquids = ref([ tipNum: 0, }, ]) -// 新增状态 +// 是否显示扫描报告(列表弹窗) const showScanResults = ref(false) interface ScanReport { channel: number @@ -159,8 +162,9 @@ interface ScanReport { lotId: string | null } const formattedReports = ref([]) + //是否加载 -const isAlreadyLoad = ref(false) +const isAlreadyLoad = ref(false) //?? // 临时状态管理小球激活数量 const tempTipNum = ref([ ...moveLiquids.value.map((liquid) => liquid.tipNum), @@ -221,16 +225,18 @@ const bufferBig = ref( ) //急诊区状态 const emergencyInfo = ref(emergencyStore.$state.emergencyInfo || {}) -//是否处理扫描结果 -const isHandleScan = ref(false) +//提示扫描报告后,是否进一步显示 耗材结果 +const isHandleScan = ref(false) // 确认扫描结果 const handleConfirmScan = () => { showScanResults.value = false - isHandleScan.value = true if (formattedReports.value.some((report) => report.isError)) { - isLoad.value = false + isHandleScan.value = false + isLoadedConsumables.value = false isAlreadyLoad.value = false ElMessage.warning('存在错误,请检查耗材') + } else { + isHandleScan.value = true } } //使用websocket保证数据的实时性 @@ -246,7 +252,6 @@ const handleSensorState = (data: SensorStateMessage['data']) => { // 可以添加温度异常处理逻辑 if (currentTemperature.value > 40) { console.warn('温度过高警告') - // 可以在这里添加其他警告逻辑 } } @@ -258,16 +263,19 @@ const handleConsumablesState = (data: ConsumablesStateMessage['data']) => { moveLiquids.value = data.tips tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)] plates.value = data.reactionPlateGroup as ReactionPlate[] - bufferLittles.value = data.littBottleGroup as BufferLittle[] + if (!devOptions.enable_LittleBottle_isUsed) { + //@ts-ignore + bufferLittles.value = R.map(R.omit(['isUsed']) ,data.littBottleGroup) + } else { + bufferLittles.value = data.littBottleGroup as BufferLittle[] + } bufferBig.value = data.larBottleGroup as BottleGroup[] } else { console.log('正在拖动,不更新耗材') } - } else { - return } } -// 使用事件总线更新状态 +// 使用事件总线更新 反应板和缓冲液状态 const updatePlatesAndBuffers = ({ type, value, @@ -299,7 +307,6 @@ onMounted(() => { 'ConsumablesState', handleConsumablesState, ) - // getEmergencyInfo() }) onBeforeUnmount(() => { // 清除事件总线的监听 @@ -316,7 +323,7 @@ onBeforeUnmount(() => { // 在组件激活时恢复状态 onActivated(() => { emergencyInfo.value = emergencyStore.$state.emergencyInfo || {} - if (!isLoad.value) { + if (!isLoadedConsumables.value) { console.log('组件被激活了') } }) @@ -358,7 +365,7 @@ watch(isHandleScan, (newVal) => { .littBottleGroup as BufferLittle[] bufferBig.value = consumablesData.value.larBottleGroup as BottleGroup[] tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)] - isLoad.value = true + isLoadedConsumables.value = true isAlreadyLoad.value = true consumableStore.setConsumablesData(consumablesData.value) } @@ -368,14 +375,10 @@ watch(isHandleScan, (newVal) => { } }) const handleIsUnload = () => { - isLoad.value = !isLoad.value + isLoadedConsumables.value = !isLoadedConsumables.value isLoading.value = false isAlreadyLoad.value = false isHandleScan.value = false - socket.unsubscribe( - 'ConsumablesState', - handleConsumablesState, - ) // 重置 moveLiquids 和 tempTipNum moveLiquids.value = [ { id: 1, tipNum: 0 },