Browse Source

fix:状态样式变更

master
guoapeng 2 months ago
parent
commit
567958a9e9
  1. 1
      src/app.vue
  2. 6
      src/components/home/AddLiquid/index.vue
  3. 13
      src/components/home/Tube/index.vue
  4. 30
      src/stores/systemStore.ts
  5. 2
      src/types/system.d.ts

1
src/app.vue

@ -14,6 +14,7 @@ onMounted(async () => {
})
socket.init((data: System.SystemStatus) => {
console.log(data)
systemStore.updateSystemStatus(data)
}, 'status')

6
src/components/home/AddLiquid/index.vue

@ -1,4 +1,5 @@
<script setup lang="ts">
import { getContainerList } from 'apis/container'
import { getSolsList } from 'apis/solution'
import emptyIcon from 'assets/images/empty.svg'
import { FtMessage } from 'libs/message'
@ -109,9 +110,12 @@ const cancel = () => {
const solsList = ref<Solution.SolutionItem[]>([])
const containerList = ref<Container.ContainerItem[]>([])
const getSols = async () => {
const res = await getSolsList()
solsList.value = res.list
containerList.value = (await getContainerList()).filter(item => item.type === 0)
}
const mousedownHandle = async (e: Event) => {
@ -158,7 +162,7 @@ const checkChange = () => {
</el-form-item>
<el-form-item label="选择溶液" prop="solutionId">
<el-select v-model="form.solutionId" placeholder="请选择溶液">
<el-option v-for="item in solsList" :key="item.id" :label="item.name" :value="item.id" />
<el-option v-for="item in containerList" :key="item.id" :label="solsList.find(sol => sol.id === item.solutionId)?.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="容量" prop="volume">

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

@ -115,7 +115,7 @@ defineExpose({
<span v-show="data.trayStatus === 0">空置</span>
<span v-show="data.trayStatus === 1">已放置</span>
</div>
<div class="tube-item" @click.prevent="mousedownHandle" @touch.prevent="mousedownHandle">
<div class="tube-item" :class="{ 'tube-item-heat': ['warm_up', 'thermostatic', 'constant'].includes(data.heatingType), 'tube-item-fan': data.fanOpen }" @click.prevent="mousedownHandle" @touch.prevent="mousedownHandle">
<div v-if="data.trayStatus === 0" class="tube-disable" />
<div
v-if="data.trayStatus !== 0 && craft?.state"
@ -162,7 +162,9 @@ defineExpose({
<span>{{ data.temperature || '--' }}</span>
<span></span>
</span>
<span v-show="data.heating" style="color: #FE0A0A ">加热中</span>
<span v-show="data.heatingType === 'warm_up'" style="color: #ee290f ">预热中</span>
<span v-show="data.heatingType === 'thermostatic'" style="color: #FE0A0A ">加热中</span>
<span v-show="data.heatingType === 'constant'" style="color: #FE0A0A ">恒温中</span>
<span v-show="data.fanOpen" style="color: #14A656 ">降温中</span>
</div>
<div v-if="numList.find(item => item.heatModuleCode === data.moduleCode)?.countdownStr" style="text-align: center;font-size: 12px;color:#FE0A0A ">
@ -208,6 +210,12 @@ defineExpose({
align-items: center;
color: #4D6882;
}
.tube-item-heat {
background: #FE0A0A !important;
}
.tube-item-fan {
background: #14A656 !important;
}
.tube-item {
padding: 5px;
background: #384D5D;
@ -237,6 +245,7 @@ defineExpose({
}
.tube-inner-active {
background: #26D574;
border: 1px solid #fff;
}
}
.temperature-box {

30
src/stores/systemStore.ts

@ -83,9 +83,9 @@ export const useSystemStore = defineStore('system', {
heatModule: [
{
moduleCode: 'heat_module_01',
trayUp: 0,
trayStatus: 0,
heating: false,
trayUp: 1,
trayStatus: 1,
heatingType: 'stop',
fanOpen: true,
capExist: false,
temperature: 0,
@ -95,7 +95,7 @@ export const useSystemStore = defineStore('system', {
moduleCode: 'heat_module_02',
trayUp: 1,
trayStatus: 1,
heating: false,
heatingType: 'stop',
fanOpen: false,
capExist: false,
temperature: 100,
@ -104,9 +104,9 @@ export const useSystemStore = defineStore('system', {
{
moduleCode: 'heat_module_03',
trayUp: 0,
trayStatus: 0,
heating: true,
fanOpen: false,
trayStatus: 1,
heatingType: 'stop',
fanOpen: true,
capExist: false,
temperature: 130,
targetTemperature: 200,
@ -115,7 +115,7 @@ export const useSystemStore = defineStore('system', {
moduleCode: 'heat_module_04',
trayUp: 1,
trayStatus: 1,
heating: false,
heatingType: 'stop',
fanOpen: true,
capExist: false,
temperature: 0,
@ -125,7 +125,7 @@ export const useSystemStore = defineStore('system', {
moduleCode: 'heat_module_05',
trayUp: 1,
trayStatus: 1,
heating: false,
heatingType: 'stop',
fanOpen: false,
capExist: false,
temperature: 0,
@ -135,7 +135,7 @@ export const useSystemStore = defineStore('system', {
moduleCode: 'heat_module_06',
trayUp: 1,
trayStatus: 0,
heating: false,
heatingType: 'stop',
fanOpen: false,
capExist: false,
temperature: 0,
@ -166,7 +166,7 @@ export const useSystemStore = defineStore('system', {
},
{
uuid: '',
heatModuleId: 'heat_module_02',
heatModuleId: 'heat_module_03',
inSolutionArea: false,
inHeatModule: true,
tubes: [
@ -176,14 +176,6 @@ export const useSystemStore = defineStore('system', {
exists: true,
},
],
crafts: {
state: 'RUNNING',
craft: {
id: 1,
name: '菱锌矿硫酸溶解法',
steps: '',
},
},
},
{
uuid: '',

2
src/types/system.d.ts

@ -59,7 +59,7 @@ declare namespace System {
moduleCode: 'heat_module_01' | 'heat_module_02' | 'heat_module_03' | 'heat_module_04' | 'heat_module_05' | 'heat_module_06'
trayUp: 0 | 1
trayStatus: 0 | 1
heating: boolean
heatingType: 'stop' | 'warm_up' | 'thermostatic' | 'constant'
fanOpen: boolean
capExist: boolean
temperature: number

Loading…
Cancel
Save