|
|
@ -87,7 +87,7 @@ |
|
|
|
gridWidth="240px" |
|
|
|
gridHeight="240px" |
|
|
|
:activeColor="item.color" |
|
|
|
:inUse="item.isUsed" |
|
|
|
:inUse="item.isInstall" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -163,8 +163,6 @@ interface ScanReport { |
|
|
|
} |
|
|
|
const formattedReports = ref<ScanReport[]>([]) |
|
|
|
|
|
|
|
//是否加载 |
|
|
|
const isAlreadyLoad = ref(false) //?? |
|
|
|
// 临时状态管理小球激活数量 |
|
|
|
const tempTipNum = ref<number[]>([ |
|
|
|
...moveLiquids.value.map((liquid) => liquid.tipNum), |
|
|
@ -179,7 +177,7 @@ interface BufferLittle { |
|
|
|
type?: string |
|
|
|
projId?: number |
|
|
|
projName?: string |
|
|
|
isUsed?: boolean |
|
|
|
isInstall?: boolean |
|
|
|
} |
|
|
|
const bufferLittles = ref<BufferLittle[]>([ |
|
|
|
{ |
|
|
@ -233,7 +231,6 @@ const handleConfirmScan = () => { |
|
|
|
if (formattedReports.value.some((report) => report.isError)) { |
|
|
|
isHandleScan.value = false |
|
|
|
isLoadedConsumables.value = false |
|
|
|
isAlreadyLoad.value = false |
|
|
|
ElMessage.warning('存在错误,请检查耗材') |
|
|
|
} else { |
|
|
|
isHandleScan.value = true |
|
|
@ -257,18 +254,13 @@ const handleSensorState = (data: SensorStateMessage['data']) => { |
|
|
|
|
|
|
|
//处理耗材状态 |
|
|
|
const handleConsumablesState = (data: ConsumablesStateMessage['data']) => { |
|
|
|
if (isAlreadyLoad.value && isHandleScan.value) { |
|
|
|
if (isHandleScan.value) { |
|
|
|
consumableStore.setConsumablesData(data) |
|
|
|
if (!isDragging.value) { |
|
|
|
moveLiquids.value = data.tips |
|
|
|
tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)] |
|
|
|
plates.value = data.reactionPlateGroup as ReactionPlate[] |
|
|
|
if (!devOptions.enable_LittleBottle_isUsed) { |
|
|
|
//@ts-ignore |
|
|
|
bufferLittles.value = R.map(R.omit(['isUsed']) ,data.littBottleGroup) |
|
|
|
} else { |
|
|
|
bufferLittles.value = data.littBottleGroup as BufferLittle[] |
|
|
|
} |
|
|
|
bufferLittles.value = data.littBottleGroup as BufferLittle[] |
|
|
|
bufferBig.value = data.larBottleGroup as BottleGroup[] |
|
|
|
} else { |
|
|
|
console.log('正在拖动,不更新耗材') |
|
|
@ -296,7 +288,7 @@ const updatePlatesAndBuffers = ({ |
|
|
|
bufferLittles.value[index].num = value |
|
|
|
} |
|
|
|
if (type === 'BigBuf' && bufferBig.value && bufferBig.value[index]) { |
|
|
|
bufferBig.value[index].isUse = value > 0 |
|
|
|
bufferBig.value[index].isInstall = value > 0 |
|
|
|
} |
|
|
|
} |
|
|
|
onMounted(() => { |
|
|
@ -351,7 +343,7 @@ const handleIsLoad = async () => { |
|
|
|
} catch (error) { |
|
|
|
console.error('加载耗材失败:', error) |
|
|
|
isLoading.value = false |
|
|
|
isAlreadyLoad.value = false |
|
|
|
isHandleScan.value = false |
|
|
|
ElMessage.error('加载耗材失败') |
|
|
|
} |
|
|
|
} |
|
|
@ -366,7 +358,6 @@ watch(isHandleScan, (newVal) => { |
|
|
|
bufferBig.value = consumablesData.value.larBottleGroup as BottleGroup[] |
|
|
|
tempTipNum.value = [...moveLiquids.value.map((liquid) => liquid.tipNum)] |
|
|
|
isLoadedConsumables.value = true |
|
|
|
isAlreadyLoad.value = true |
|
|
|
consumableStore.setConsumablesData(consumablesData.value) |
|
|
|
} |
|
|
|
} else { |
|
|
@ -377,7 +368,6 @@ watch(isHandleScan, (newVal) => { |
|
|
|
const handleIsUnload = () => { |
|
|
|
isLoadedConsumables.value = !isLoadedConsumables.value |
|
|
|
isLoading.value = false |
|
|
|
isAlreadyLoad.value = false |
|
|
|
isHandleScan.value = false |
|
|
|
// 重置 moveLiquids 和 tempTipNum |
|
|
|
moveLiquids.value = [ |
|
|
@ -428,7 +418,7 @@ const handleIsUnload = () => { |
|
|
|
color: '#4caf50', |
|
|
|
}, |
|
|
|
] |
|
|
|
bufferBig.value = Array.from({ length: 6 }, () => ({ num: 0, isUse: false })) |
|
|
|
bufferBig.value = Array.from({ length: 6 }, () => ({ num: 0, isInstall: false })) |
|
|
|
} |
|
|
|
|
|
|
|
const isDragging = ref(false) |
|
|
@ -442,6 +432,7 @@ const updateTipNum = async ({ |
|
|
|
tipNum: number |
|
|
|
sync: boolean |
|
|
|
}) => { |
|
|
|
if (tipNum < 0) { return } |
|
|
|
if (deviceStore.status === 'IDLE') { |
|
|
|
tempTipNum.value[index] = tipNum |
|
|
|
//调用接口 |
|
|
|