|
|
@ -52,13 +52,18 @@ const hearInfo = computed(() => { |
|
|
|
console.log(hearInfo.value) |
|
|
|
|
|
|
|
const craft = computed(() => { |
|
|
|
return systemStore.systemStatus.tray?.find(item => item.heatModuleId === props.data.moduleCode)?.crafts |
|
|
|
return systemStore.systemStatus.trays?.find(item => item.heatModuleCode === props.data.moduleCode)?.crafts |
|
|
|
}) |
|
|
|
|
|
|
|
const tray = computed(() => { |
|
|
|
return systemStore.systemStatus.trays?.find(item => item.heatModuleCode === props.data.moduleCode) |
|
|
|
}) |
|
|
|
|
|
|
|
const craftSteps = computed(() => { |
|
|
|
const steps = systemStore.systemStatus.trays?.find(item => item.heatModuleCode === props.data.moduleCode)?.crafts?.craft?.steps |
|
|
|
return steps ? JSON.parse(steps) : undefined |
|
|
|
}) |
|
|
|
|
|
|
|
const setTemperature = () => { |
|
|
|
emits('setTemperature', props.data.moduleCode) |
|
|
|
} |
|
|
@ -121,6 +126,12 @@ defineExpose({ |
|
|
|
<span v-if="craft?.state === 'PAUSED'" class="status-text">预设已暂停</span> |
|
|
|
<span v-if="craft?.state === 'ERROR'" class="status-text">预设执行错误</span> |
|
|
|
<span v-if="craft?.state === 'FINISHED'" class="status-text">预设执行成功</span> |
|
|
|
<el-tooltip v-if="craft?.state === 'RUNNING' && craftSteps && craftSteps[craft.currentIndex || 0]?.params?.description" :content="`${(craft.currentIndex || 0) + 1}.${craftSteps[craft.currentIndex || 0].params.description}`" placement="top" trigger="click"> |
|
|
|
<div class="status-description"> |
|
|
|
{{ (craft.currentIndex || 0) + 1 }}. |
|
|
|
{{ craftSteps[craft.currentIndex || 0].params.description }} |
|
|
|
</div> |
|
|
|
</el-tooltip> |
|
|
|
<div class="status-operation"> |
|
|
|
<ft-button v-if="craft?.state === 'RUNNING'" type="primary" size="small" :click-handle="pauseCraftHandle"> |
|
|
|
暂停 |
|
|
@ -151,10 +162,10 @@ defineExpose({ |
|
|
|
<span>{{ data.temperature || '--' }}</span> |
|
|
|
<span>℃</span> |
|
|
|
</span> |
|
|
|
<span v-show="data.fanOpen" style="color: #FE0A0A ">降温中</span> |
|
|
|
<span v-show="data.heatingType === 'heating'" style="color: #1677FF ">加热中</span> |
|
|
|
<span v-show="data.heatingType === 'drying'" style="color: #F2652D ">烘干中</span> |
|
|
|
<span v-show="data.heatingType === 'annealing'" style="color: #14A656 ">退火中</span> |
|
|
|
<span v-show="data.fanOpen" style="color: #1677FF;font-weight: bold">降温中</span> |
|
|
|
<span v-show="data.heatingType === 'heating'" style="color: #FE0A0A;font-weight: bold ">加热中</span> |
|
|
|
<span v-show="data.heatingType === 'drying'" style="color: #F2652D;font-weight: bold ">烘干中</span> |
|
|
|
<span v-show="data.heatingType === 'annealing'" style="color: #14A656;font-weight: bold ">退火中</span> |
|
|
|
</div> |
|
|
|
<div class="footer"> |
|
|
|
<div class="tem-box" @click="setTemperature"> |
|
|
@ -270,7 +281,7 @@ defineExpose({ |
|
|
|
z-index: 1; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
justify-content: flex-start; |
|
|
|
justify-content: center; |
|
|
|
align-items: center; |
|
|
|
border-radius: 10px; |
|
|
|
img { |
|
|
@ -323,4 +334,15 @@ defineExpose({ |
|
|
|
margin-left: 5px; |
|
|
|
} |
|
|
|
} |
|
|
|
.status-description { |
|
|
|
white-space: nowrap; |
|
|
|
overflow: hidden; |
|
|
|
text-overflow: ellipsis; |
|
|
|
max-width: 95%; |
|
|
|
padding: 0 3px; |
|
|
|
display: inline-block; |
|
|
|
background: #fff; |
|
|
|
border-radius: 2px; |
|
|
|
margin-top: auto; |
|
|
|
} |
|
|
|
</style> |