Browse Source

停止执行工艺

master
LiLongLong 5 months ago
parent
commit
0a79537efc
  1. 6
      src/services/ore/oreManage.ts
  2. 2
      src/services/txn.ts
  3. 2
      src/views/graphite/components/HeatPosition.vue
  4. 84
      src/views/graphite/index.vue

6
src/services/ore/oreManage.ts

@ -44,4 +44,8 @@ export function craftStart(params:any) {
export function craftStop(params:any) {
return httpRequest<BaseResponse>({ url: `/api/crafts/stop`, method: "POST", params });
}
}
export function craftPause(params:any) {
return httpRequest<BaseResponse>({ url: `/api/crafts/pause`, method: "POST", params });
}

2
src/services/txn.ts

@ -63,7 +63,7 @@ export function getTxnRecord(txn: string, category: TxnRecord["category"]) {
export function peekTxnRecord(txn: string, category: TxnRecord["category"]) {
const record = txnCmdMap[txn];
// 只有属于指定category时,才返回,且返回后删除记录,节约内存
if (record.category === category) {
if (record && record.category === category) {
return record;
}
return undefined;

2
src/views/graphite/components/HeatPosition.vue

@ -39,7 +39,7 @@
<div class="heat_temperature" @click="setTemperature">
<template v-if="trayInfo?.id">
<div class="target_temp">目标温度: {{ trayInfo.temperature }}</div>
<div class="heating" :style="{color:temperature_color}">{{ trayInfo.heatAearStatus.isHeating ? '加热中' : '未加热' }}</div>
<div class="heating" :style="{color:temperature_color}">{{ trayInfo.heatAearStatus?.isHeating ? '加热中' : '未加热' }}</div>
</template>
<template v-else>
<div class="target_temp set_temp">设置目标温度</div>

84
src/views/graphite/index.vue

@ -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,12 +123,24 @@ const craftName = ref("选择工艺");
const exeCraftName = ref("执行工艺");
watch(
() => craftStore.craftInfo,
newVal => {
craftInfo.value = newVal;
if (newVal?.status == 1) {
craftName.value = "暂停工艺";
exeCraftName.value = "停止工艺";
}
(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 = "停止工艺";
}
}
}
});
}
}
);
//
@ -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,29 +212,37 @@ 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 = () => {
//1
if (!selectedTrayList.value.length) {
ElMessage.error("请选择目标加热区");
return;
}
craftVisible.value = true;
//
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;
}
};
//

Loading…
Cancel
Save