Browse Source

添加小瓶isUsed开关

dev
zhangjiming 7 months ago
parent
commit
1aaf2c2bd6
  1. 42
      src/constant/index.ts
  2. 47
      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

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

@ -55,7 +55,7 @@
</div> </div>
<div class="move-liquid-area"> <div class="move-liquid-area">
<MoveLiquidArea <MoveLiquidArea
:isLoad="isLoad"
:isLoad="isLoadedConsumables"
:isLoading="isLoading" :isLoading="isLoading"
:moveLiquids="moveLiquids" :moveLiquids="moveLiquids"
:tempTipNum="tempTipNum" :tempTipNum="tempTipNum"
@ -99,6 +99,7 @@ import { MoveLiquidArea, SpttingPlates, MainComponent } from '../Components'
// import SliderAreaEx from '../components/Consumables/SliderAreaEx.vue'; // import SliderAreaEx from '../components/Consumables/SliderAreaEx.vue';
// import DragAreaEx from '../components/Consumables/DragAreaEx.vue'; // import DragAreaEx from '../components/Consumables/DragAreaEx.vue';
import { ref, onMounted, onActivated, onBeforeUnmount, watch } from 'vue' import { ref, onMounted, onActivated, onBeforeUnmount, watch } from 'vue'
import * as R from 'ramda'
import { import {
getInitState, getInitState,
scanConsumables, scanConsumables,
@ -116,11 +117,12 @@ import type {
} from '../../../websocket/socket' } from '../../../websocket/socket'
import { getServerInfo } from '../../../utils/getServerInfo' import { getServerInfo } from '../../../utils/getServerInfo'
import { formatScanReports } from '../../../utils/errorHandler' import { formatScanReports } from '../../../utils/errorHandler'
import { devOptions } from '@/constant'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
const { wsUrl } = getServerInfo('/api/v1/app/ws/state') const { wsUrl } = getServerInfo('/api/v1/app/ws/state')
const socket = createWebSocket(wsUrl) const socket = createWebSocket(wsUrl)
const consumableStore = useConsumablesStore() const consumableStore = useConsumablesStore()
const emergencyStore = useEmergencyStore() const emergencyStore = useEmergencyStore()
const deviceStore = useDeviceStore() const deviceStore = useDeviceStore()
@ -128,8 +130,9 @@ const deviceStore = useDeviceStore()
const currentTemperature = ref(40) const currentTemperature = ref(40)
// //
const wasteStatus = ref(false) const wasteStatus = ref(false)
//
const isLoad = ref(false)
// ()
const isLoadedConsumables = ref(false)
// ()
const isLoading = ref(false) const isLoading = ref(false)
// //
const plates = ref<ReactionPlate[]>([]) const plates = ref<ReactionPlate[]>([])
@ -148,7 +151,7 @@ const moveLiquids = ref<LiquidState[]>([
tipNum: 0, tipNum: 0,
}, },
]) ])
//
//
const showScanResults = ref(false) const showScanResults = ref(false)
interface ScanReport { interface ScanReport {
channel: number channel: number
@ -159,8 +162,9 @@ interface ScanReport {
lotId: string | null lotId: string | null
} }
const formattedReports = ref<ScanReport[]>([]) const formattedReports = ref<ScanReport[]>([])
// //
const isAlreadyLoad = ref(false)
const isAlreadyLoad = ref(false) //??
// //
const tempTipNum = ref<number[]>([ const tempTipNum = ref<number[]>([
...moveLiquids.value.map((liquid) => liquid.tipNum), ...moveLiquids.value.map((liquid) => liquid.tipNum),
@ -221,16 +225,18 @@ const bufferBig = ref<BottleGroup[]>(
) )
// //
const emergencyInfo = ref(emergencyStore.$state.emergencyInfo || {}) const emergencyInfo = ref(emergencyStore.$state.emergencyInfo || {})
//
//
const isHandleScan = ref(false) const isHandleScan = ref(false)
// //
const handleConfirmScan = () => { const handleConfirmScan = () => {
showScanResults.value = false showScanResults.value = false
isHandleScan.value = true
if (formattedReports.value.some((report) => report.isError)) { if (formattedReports.value.some((report) => report.isError)) {
isLoad.value = false
isHandleScan.value = false
isLoadedConsumables.value = false
isAlreadyLoad.value = false isAlreadyLoad.value = false
ElMessage.warning('存在错误,请检查耗材') ElMessage.warning('存在错误,请检查耗材')
} else {
isHandleScan.value = true
} }
} }
//使websocket //使websocket
@ -246,7 +252,6 @@ const handleSensorState = (data: SensorStateMessage['data']) => {
// //
if (currentTemperature.value > 40) { if (currentTemperature.value > 40) {
console.warn('温度过高警告') console.warn('温度过高警告')
//
} }
} }
@ -258,16 +263,19 @@ const handleConsumablesState = (data: ConsumablesStateMessage['data']) => {
moveLiquids.value = data.tips moveLiquids.value = data.tips
tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)] tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)]
plates.value = data.reactionPlateGroup as ReactionPlate[] 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[] bufferBig.value = data.larBottleGroup as BottleGroup[]
} else { } else {
console.log('正在拖动,不更新耗材') console.log('正在拖动,不更新耗材')
} }
} else {
return
} }
} }
// 使线
// 使线
const updatePlatesAndBuffers = ({ const updatePlatesAndBuffers = ({
type, type,
value, value,
@ -299,7 +307,6 @@ onMounted(() => {
'ConsumablesState', 'ConsumablesState',
handleConsumablesState, handleConsumablesState,
) )
// getEmergencyInfo()
}) })
onBeforeUnmount(() => { onBeforeUnmount(() => {
// 线 // 线
@ -316,7 +323,7 @@ onBeforeUnmount(() => {
// //
onActivated(() => { onActivated(() => {
emergencyInfo.value = emergencyStore.$state.emergencyInfo || {} emergencyInfo.value = emergencyStore.$state.emergencyInfo || {}
if (!isLoad.value) {
if (!isLoadedConsumables.value) {
console.log('组件被激活了') console.log('组件被激活了')
} }
}) })
@ -358,7 +365,7 @@ watch(isHandleScan, (newVal) => {
.littBottleGroup as BufferLittle[] .littBottleGroup as BufferLittle[]
bufferBig.value = consumablesData.value.larBottleGroup as BottleGroup[] bufferBig.value = consumablesData.value.larBottleGroup as BottleGroup[]
tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)] tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)]
isLoad.value = true
isLoadedConsumables.value = true
isAlreadyLoad.value = true isAlreadyLoad.value = true
consumableStore.setConsumablesData(consumablesData.value) consumableStore.setConsumablesData(consumablesData.value)
} }
@ -368,14 +375,10 @@ watch(isHandleScan, (newVal) => {
} }
}) })
const handleIsUnload = () => { const handleIsUnload = () => {
isLoad.value = !isLoad.value
isLoadedConsumables.value = !isLoadedConsumables.value
isLoading.value = false isLoading.value = false
isAlreadyLoad.value = false isAlreadyLoad.value = false
isHandleScan.value = false isHandleScan.value = false
socket.unsubscribe<ConsumablesStateMessage>(
'ConsumablesState',
handleConsumablesState,
)
// moveLiquids tempTipNum // moveLiquids tempTipNum
moveLiquids.value = [ moveLiquids.value = [
{ id: 1, tipNum: 0 }, { id: 1, tipNum: 0 },

Loading…
Cancel
Save