LiLongLong 3 months ago
parent
commit
8d4a935082
  1. 2
      src/apis/crafts.ts
  2. 44
      src/components/home/Tube/index.vue
  3. 2
      src/stores/homeStore.ts

2
src/apis/crafts.ts

@ -17,6 +17,8 @@ export const delCraft = (ids: string): Promise<null> => http.delete(`/crafts/${i
// 开始执行工艺
export const startCraft = (params: { heatId: string }): Promise<null> => http.post(`/crafts/start`, params)
export const pauseCraft = (params: { heatId: string }): Promise<null> => http.post(`/crafts/pause`, params)
export const resumeCraft = (params: { heatId: string }): Promise<null> => http.post(`/crafts/resume`, params)
export const stopCraft = (params: { heatId: string }): Promise<null> => http.post(`/crafts/stop`, params)

44
src/components/home/Tube/index.vue

@ -1,4 +1,5 @@
<script setup lang="ts">
import { pauseCraft, resumeCraft, stopCraft } from 'apis/crafts'
import errorIcon from 'assets/images/error.svg'
import ingIcon from 'assets/images/ing.svg'
import successIcon from 'assets/images/success.svg'
@ -54,6 +55,24 @@ const setTemperature = () => {
emits('setTemperature', props.data.moduleCode)
}
const pauseCraftHandle = async () => {
await pauseCraft({
heatId: props.data.moduleCode,
})
}
const resumeCraftHandle = async () => {
await resumeCraft({
heatId: props.data.moduleCode,
})
}
const stopCraftHandle = async () => {
await stopCraft({
heatId: props.data.moduleCode,
})
}
defineExpose({
activeTubeBox,
})
@ -80,6 +99,17 @@ defineExpose({
<span v-if="craft?.state === 'READY'" class="status-text">工艺等待执行</span>
<span v-if="craft?.state === 'ERROR'" class="status-text">工艺执行错误</span>
<span v-if="craft?.state === 'FINISHED'" class="status-text">工艺执行成功</span>
<div class="status-operation">
<ft-button v-if="craft?.state === 'RUNNING'" type="primary" size="small" :click-handle="pauseCraftHandle">
暂停
</ft-button>
<ft-button v-if="craft?.state === 'PAUSED'" type="primary" size="small" :click-handle="resumeCraftHandle">
继续
</ft-button>
<ft-button v-if="craft?.state === 'RUNNING'" size="small" :click-handle="stopCraftHandle">
停止
</ft-button>
</div>
</div>
<div class="header">
<span>{{ hearInfo?.label }}</span>
@ -159,6 +189,16 @@ defineExpose({
font-size: 16px;
font-weight: 700;
}
.status-operation {
width: 100%;
margin-top: auto;
margin-bottom: 10px;
display: flex;
justify-content: center;
.ft-button {
margin-right: 5px;
}
}
}
.status-wait {
background: rgba(242,235,231, 0.9);
@ -173,8 +213,8 @@ defineExpose({
}
.status-ing {
background: rgba(205,223,255, 0.9);
border: 1px solid #3E3A39;
color: #3E3A39;
border: 1px solid #0256FF;
color: #0256FF;
}
.header {
display: flex;

2
src/stores/homeStore.ts

@ -60,5 +60,5 @@ export const useHomeStore = defineStore('home', {
FtMessage.success(`[${cmdName}]已发送`)
},
},
persist: true,
persist: false,
})
Loading…
Cancel
Save