|
|
@ -110,7 +110,7 @@ import { injectFluid } from "@/services/task/task"; |
|
|
|
import { setOnGoingStatus, useStatusStore } from "@/stores/status"; |
|
|
|
import { getIngTask, saveTaskName, stopTask } from "@/services/task/task"; |
|
|
|
import { CmdDescMap, taskCmd, type OperationCmd } from "@/services/globalCmd/globalCmd"; |
|
|
|
import { craftStart, craftStop } from "@/services/ore/oreManage"; |
|
|
|
import { craftStart, craftStop, craftPause } from "@/services/ore/oreManage"; |
|
|
|
import { getTxnRecord } from "@/services/txn"; |
|
|
|
import { useSettingStore } from "@/stores/setting"; |
|
|
|
import { useCraftStore } from "@/stores/craft"; |
|
|
@ -123,13 +123,25 @@ const craftName = ref("选择工艺"); |
|
|
|
const exeCraftName = ref("执行工艺"); |
|
|
|
watch( |
|
|
|
() => craftStore.craftInfo, |
|
|
|
newVal => { |
|
|
|
craftInfo.value = newVal; |
|
|
|
if (newVal?.status == 1) { |
|
|
|
(newVal, oldVal) => { |
|
|
|
if(newVal){ |
|
|
|
heatList.value.forEach((item:any) => { |
|
|
|
if(item.id == newVal?.heatId){ |
|
|
|
item.craftInfo.status = newVal?.status |
|
|
|
if(newVal?.status == 3){//停止执行 |
|
|
|
item.executing_craft = false; |
|
|
|
craftName.value = "选择工艺"; |
|
|
|
exeCraftName.value = "执行工艺"; |
|
|
|
}else if(item.executing_craft){//正在执行 |
|
|
|
if (newVal?.status == 1 && item.isSelect) { |
|
|
|
craftName.value = "暂停工艺"; |
|
|
|
exeCraftName.value = "停止工艺"; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
); |
|
|
|
//设备的全局状态 |
|
|
|
const statusStore = useStatusStore(); |
|
|
@ -164,6 +176,7 @@ onMounted(() => { |
|
|
|
if(!globeStatus){//为了只输入一行,不想后台一直打印此处日志 TODO |
|
|
|
console.log('globeStatus====', data) |
|
|
|
} |
|
|
|
|
|
|
|
globeStatus = 1; |
|
|
|
if (data.type === "cmd") { |
|
|
|
const cmdInfo = getTxnRecord(data.data.commandId, "task"); |
|
|
@ -171,7 +184,6 @@ onMounted(() => { |
|
|
|
const command:any = cmdInfo.command; |
|
|
|
//@ts-ignore |
|
|
|
const cmdName = CmdDescMap[command]; |
|
|
|
console.log('data.data--', data.data) |
|
|
|
const result = data.data.success |
|
|
|
? "执行完毕" |
|
|
|
: `执行失败 ${data.data.message}`; |
|
|
@ -200,28 +212,36 @@ const onSelectedTray = (heatAreaItem: any, type: string) => { |
|
|
|
//点击加热区 |
|
|
|
if (ids.includes(heatAreaItem.id)) { |
|
|
|
heatAreaItem.isSelect = false; |
|
|
|
|
|
|
|
selectedTrayList.value = selectedTrayList.value.filter((selectedItem: any) => selectedItem.id != heatAreaItem.id); |
|
|
|
} else { |
|
|
|
heatAreaItem.isSelect = true; |
|
|
|
selectedTrayList.value.push(heatAreaItem); |
|
|
|
} |
|
|
|
onHeadleCraft(heatAreaItem); |
|
|
|
} else { |
|
|
|
heatAreaItem.isSelect = true; |
|
|
|
} |
|
|
|
heatList.value.forEach((item: any) => { |
|
|
|
if (item.id == heatAreaItem.id) { |
|
|
|
item = heatAreaItem; |
|
|
|
onHeadleCraft(item); |
|
|
|
} |
|
|
|
}); |
|
|
|
console.log("hasCraftInfo---", hasCraftInfo.value); |
|
|
|
|
|
|
|
// heatList.value.forEach((item: any) => { |
|
|
|
// if (item.id == heatAreaItem.id) { |
|
|
|
// item = heatAreaItem; |
|
|
|
|
|
|
|
// } |
|
|
|
// }); |
|
|
|
}; |
|
|
|
|
|
|
|
//选择的加热区是否选择了工艺 |
|
|
|
let hasCraftInfo = ref(false); |
|
|
|
const onHeadleCraft = (areaItem: any) => { |
|
|
|
if (areaItem.craftInfo) { |
|
|
|
if (areaItem.executing_craft && areaItem.isSelect) { |
|
|
|
hasCraftInfo.value = true; |
|
|
|
craftName.value = "暂停工艺"; |
|
|
|
exeCraftName.value = "停止工艺"; |
|
|
|
}else{ |
|
|
|
hasCraftInfo.value = false; |
|
|
|
craftName.value = "选择工艺"; |
|
|
|
exeCraftName.value = "执行工艺"; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
@ -247,6 +267,7 @@ const onCraftStart = () => { |
|
|
|
//可能会选择多个加热区执行工艺, 批量发送指令 |
|
|
|
let hasCraft = true; |
|
|
|
let len = selectedTrayList.value.length; |
|
|
|
console.log('selectedTrayList---', selectedTrayList.value) |
|
|
|
for (let i = 0; i < len; i++) { |
|
|
|
let item = selectedTrayList.value[i]; |
|
|
|
if (!item.craftInfo) { |
|
|
@ -258,11 +279,10 @@ const onCraftStart = () => { |
|
|
|
craftId: null, |
|
|
|
heatId: item.id, |
|
|
|
}; |
|
|
|
if (craftInfo.value?.status == 1) { |
|
|
|
if (item.craftInfo.status == 1) { |
|
|
|
craftStop(params).then(res => { |
|
|
|
ElMessage.success("已停止执行工艺的指令"); |
|
|
|
}); |
|
|
|
return; |
|
|
|
} else { |
|
|
|
params.craftId = item.craftInfo.id; |
|
|
|
craftStart(params).then(res => { |
|
|
@ -336,12 +356,26 @@ const changeVisible = () => { |
|
|
|
|
|
|
|
//选择工艺 |
|
|
|
const onChooseCaft = () => { |
|
|
|
//判断是选择工艺还是暂停工艺 |
|
|
|
let isPause = false |
|
|
|
selectedTrayList.value.forEach((item:any) => { |
|
|
|
//有工艺且正在执行可操作【暂停】 |
|
|
|
if(item.craftInfo && item.craftInfo.status == 1){ |
|
|
|
craftPause({heatId:item.id}).then(res => { |
|
|
|
ElMessage.success('暂停指令已发送') |
|
|
|
}) |
|
|
|
isPause = true; |
|
|
|
} |
|
|
|
}) |
|
|
|
if(!isPause){ |
|
|
|
//1、是否选择了加热区 |
|
|
|
if (!selectedTrayList.value.length) { |
|
|
|
ElMessage.error("请选择目标加热区"); |
|
|
|
return; |
|
|
|
} |
|
|
|
craftVisible.value = true; |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
//选择的工艺 |
|
|
|