|
|
@ -6,7 +6,8 @@ |
|
|
|
:heatInfo="{ ...item, index }" |
|
|
|
:tubeIndex="index + 1" |
|
|
|
@onSelectedTray="onSelectedTray" |
|
|
|
@onSetHeatAreaTemp = "onSetHeatAreaTemp" |
|
|
|
@onSetHeatAreaTemp = "onSetHeatAreaTemp" |
|
|
|
@onSelectCraft="(craftData)=>{onSelectCraft(item, craftData)}" |
|
|
|
></HeatPosition> |
|
|
|
</div> |
|
|
|
<!--执行中状态的遮罩层--> |
|
|
@ -52,7 +53,7 @@ |
|
|
|
@click="onChooseCaft" |
|
|
|
>选择工艺</van-button |
|
|
|
> |
|
|
|
<van-button size="large" class="btn_size op_exec_craft" |
|
|
|
<van-button size="large" class="btn_size op_exec_craft" @click="onCraftStart" |
|
|
|
>执行工艺</van-button |
|
|
|
> |
|
|
|
<van-button |
|
|
@ -82,7 +83,7 @@ |
|
|
|
> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<van-overlay :show="liquidVisible" style="z-index: 9999"> |
|
|
|
<van-overlay :show="liquidVisible" v-if="liquidVisible" style="z-index: 9999"> |
|
|
|
<div class="liquid"> |
|
|
|
<div class="addLiquid"> |
|
|
|
<AddLiquid |
|
|
@ -132,6 +133,7 @@ import { |
|
|
|
taskCmd, |
|
|
|
type OperationCmd, |
|
|
|
} from "@/services/globalCmd/globalCmd"; |
|
|
|
import { craftStart } from "@/services/ore/oreManage"; |
|
|
|
import { getTxnRecord } from "@/services/txn"; |
|
|
|
import { useSettingStore } from "@/stores/setting"; |
|
|
|
|
|
|
@ -183,24 +185,24 @@ onMounted(() => { |
|
|
|
//选中的托盘 |
|
|
|
const selectedTrayList = ref<any>([]); |
|
|
|
const selectedTrayObj: any = {}; |
|
|
|
const onSelectedTray = (tubeItem: any, type:string) => { |
|
|
|
heatList.value[tubeItem.index] = tubeItem; |
|
|
|
const onSelectedTray = (heatAreaItem: any, type:string) => { |
|
|
|
heatList.value[heatAreaItem.index] = heatAreaItem; |
|
|
|
//取消选中,已经存在selectedTrayList中 |
|
|
|
let ids = selectedTrayList.value.map((tube:any) =>tube.id) |
|
|
|
if(type == 'isClick'){//点击加热区 |
|
|
|
if(ids.includes(tubeItem.id)){ |
|
|
|
tubeItem.isSelect = false; |
|
|
|
selectedTrayList.value = selectedTrayList.value.filter((selectedItem:any) => selectedItem.id != tubeItem.id) |
|
|
|
if(ids.includes(heatAreaItem.id)){ |
|
|
|
heatAreaItem.isSelect = false; |
|
|
|
selectedTrayList.value = selectedTrayList.value.filter((selectedItem:any) => selectedItem.id != heatAreaItem.id) |
|
|
|
}else{ |
|
|
|
tubeItem.isSelect = true; |
|
|
|
selectedTrayList.value.push(tubeItem) |
|
|
|
heatAreaItem.isSelect = true; |
|
|
|
selectedTrayList.value.push(heatAreaItem) |
|
|
|
} |
|
|
|
}else{ |
|
|
|
tubeItem.isSelect = true; |
|
|
|
heatAreaItem.isSelect = true; |
|
|
|
} |
|
|
|
heatList.value.forEach((item:any) => { |
|
|
|
if(item.id == tubeItem.id){ |
|
|
|
item = tubeItem |
|
|
|
if(item.id == heatAreaItem.id){ |
|
|
|
item = heatAreaItem |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
@ -214,6 +216,34 @@ const onSetHeatAreaTemp = (dataInfo:any) => { |
|
|
|
selectedTrayList.value = Object.values(selectedTrayObj); |
|
|
|
} |
|
|
|
|
|
|
|
//加热区选择的工艺 |
|
|
|
const onSelectCraft = (item:any, craftInfo:any) => { |
|
|
|
item.isSelect = true; |
|
|
|
item.craftInfo = craftInfo |
|
|
|
onSelectedTray(item,'isMove') |
|
|
|
console.log('加热区选择的工艺===', item,craftInfo) |
|
|
|
} |
|
|
|
//开始执行工艺 |
|
|
|
const onCraftStart = () => { |
|
|
|
if (!selectedTrayList.value.length) { |
|
|
|
ElMessage.error("请选择目标加热区"); |
|
|
|
return; |
|
|
|
} |
|
|
|
//判断是否选择了工艺 |
|
|
|
|
|
|
|
//可能会选择多个加热区执行工艺, 批量发送指令 |
|
|
|
selectedTrayList.value.forEach((item:any) => { |
|
|
|
const params = { |
|
|
|
craftId: item.craftInfo.id, |
|
|
|
heatId: item.id |
|
|
|
} |
|
|
|
craftStart(params).then(res => { |
|
|
|
ElMessage.success('执行工艺的指令已发送') |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
const tubeBaseConfig = () => { |
|
|
|
//默认为16个 |
|
|
|
for (let i = 0; i < 16; i++) { |
|
|
@ -234,11 +264,14 @@ const onAddLiquid = () => { |
|
|
|
//选择的工艺 |
|
|
|
const onHandleSelectedCraft = (craftData:any) => { |
|
|
|
changeVisible(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
const onAddSolution = (data: any) => { |
|
|
|
let ids = data.map((item: any) => item.id); |
|
|
|
//批量发送加液指令 |
|
|
|
data.forEach((item:any) => { |
|
|
|
onSendCmd('injectFluid', item) |
|
|
|
}); |
|
|
|
tubeList.forEach((item: any) => { |
|
|
|
if (ids.includes(item.id)) { |
|
|
|
item.default = defaultColor; |
|
|
@ -279,7 +312,7 @@ const onMoveToHeat = () => { |
|
|
|
//1、是否选择了加热区 |
|
|
|
if (!selectedTrayList.value.length) { |
|
|
|
ElMessage.error("请选择目标加热区"); |
|
|
|
return; |
|
|
|
return; |
|
|
|
} |
|
|
|
//2、只能选择一个加热区 |
|
|
|
if (selectedTrayList.value.length != 1) { |
|
|
@ -289,7 +322,7 @@ const onMoveToHeat = () => { |
|
|
|
|
|
|
|
let selectedDataItem = selectedTrayList.value[0]; |
|
|
|
//2、判断选择的加热区是否已经有了试管架, 加热区是否有试管是通过设备上报的数据获取的。此处为mock的数据。 TODO |
|
|
|
let heatAearStatus: any = statusStore.status?.trayStatus || graphiteMock.heatAreaStatus; |
|
|
|
let heatAearStatus: any = statusStore.status?.heater ? statusStore.status?.heater[selectedDataItem.index].trayStatus : graphiteMock.heatAreaStatus; |
|
|
|
if (!heatAearStatus[selectedDataItem.index]) { |
|
|
|
ElMessage.error("选择的加热区已有试管架,重新选择加热区"); |
|
|
|
return; |
|
|
@ -473,7 +506,7 @@ const onStartHeat = () => { |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
onSendCmd("startHeat", cmdList) |
|
|
|
// onSendCmd("startHeat", cmdList) |
|
|
|
} |
|
|
|
|
|
|
|
const onSendCmd = (command:OperationCmd,params:any)=> { |
|
|
|