Browse Source

fix: 工艺状态变更

feature/three
guoapeng 3 months ago
parent
commit
c2fff089f0
  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 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) 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"> <script setup lang="ts">
import { pauseCraft, resumeCraft, stopCraft } from 'apis/crafts'
import errorIcon from 'assets/images/error.svg' import errorIcon from 'assets/images/error.svg'
import ingIcon from 'assets/images/ing.svg' import ingIcon from 'assets/images/ing.svg'
import successIcon from 'assets/images/success.svg' import successIcon from 'assets/images/success.svg'
@ -54,6 +55,24 @@ const setTemperature = () => {
emits('setTemperature', props.data.moduleCode) 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({ defineExpose({
activeTubeBox, activeTubeBox,
}) })
@ -80,6 +99,17 @@ defineExpose({
<span v-if="craft?.state === 'READY'" class="status-text">工艺等待执行</span> <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 === 'ERROR'" class="status-text">工艺执行错误</span>
<span v-if="craft?.state === 'FINISHED'" 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>
<div class="header"> <div class="header">
<span>{{ hearInfo?.label }}</span> <span>{{ hearInfo?.label }}</span>
@ -159,6 +189,16 @@ defineExpose({
font-size: 16px; font-size: 16px;
font-weight: 700; 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 { .status-wait {
background: rgba(242,235,231, 0.9); background: rgba(242,235,231, 0.9);
@ -173,8 +213,8 @@ defineExpose({
} }
.status-ing { .status-ing {
background: rgba(205,223,255, 0.9); background: rgba(205,223,255, 0.9);
border: 1px solid #3E3A39;
color: #3E3A39;
border: 1px solid #0256FF;
color: #0256FF;
} }
.header { .header {
display: flex; display: flex;

2
src/stores/homeStore.ts

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