Browse Source

添加小瓶isUsed开关

dev
zhangjiming 7 months ago
parent
commit
1aaf2c2bd6
  1. 42
      src/constant/index.ts
  2. 49
      src/pages/Index/Regular/Consumables.vue

42
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;
export const SCAN_CONSUMABLES_STATE = scan_consumables_state_option

49
src/pages/Index/Regular/Consumables.vue

@ -55,7 +55,7 @@
</div>
<div class="move-liquid-area">
<MoveLiquidArea
:isLoad="isLoad"
:isLoad="isLoadedConsumables"
:isLoading="isLoading"
:moveLiquids="moveLiquids"
:tempTipNum="tempTipNum"
@ -99,6 +99,7 @@ import { MoveLiquidArea, SpttingPlates, MainComponent } from '../Components'
// import SliderAreaEx from '../components/Consumables/SliderAreaEx.vue';
// import DragAreaEx from '../components/Consumables/DragAreaEx.vue';
import { ref, onMounted, onActivated, onBeforeUnmount, watch } from 'vue'
import * as R from 'ramda'
import {
getInitState,
scanConsumables,
@ -116,11 +117,12 @@ import type {
} from '../../../websocket/socket'
import { getServerInfo } from '../../../utils/getServerInfo'
import { formatScanReports } from '../../../utils/errorHandler'
import { devOptions } from '@/constant'
import { ElMessage } from 'element-plus'
const { wsUrl } = getServerInfo('/api/v1/app/ws/state')
const socket = createWebSocket(wsUrl)
const consumableStore = useConsumablesStore()
const emergencyStore = useEmergencyStore()
const deviceStore = useDeviceStore()
@ -128,8 +130,9 @@ const deviceStore = useDeviceStore()
const currentTemperature = ref(40)
//
const wasteStatus = ref(false)
//
const isLoad = ref(false)
// ()
const isLoadedConsumables = ref(false)
// ()
const isLoading = ref(false)
//
const plates = ref<ReactionPlate[]>([])
@ -148,7 +151,7 @@ const moveLiquids = ref<LiquidState[]>([
tipNum: 0,
},
])
//
//
const showScanResults = ref(false)
interface ScanReport {
channel: number
@ -159,8 +162,9 @@ interface ScanReport {
lotId: string | null
}
const formattedReports = ref<ScanReport[]>([])
//
const isAlreadyLoad = ref(false)
const isAlreadyLoad = ref(false) //??
//
const tempTipNum = ref<number[]>([
...moveLiquids.value.map((liquid) => liquid.tipNum),
@ -221,16 +225,18 @@ const bufferBig = ref<BottleGroup[]>(
)
//
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<ConsumablesStateMessage>(
'ConsumablesState',
handleConsumablesState,
)
// moveLiquids tempTipNum
moveLiquids.value = [
{ id: 1, tipNum: 0 },

Loading…
Cancel
Save