| | |
| | | <div class="leftTop1"> |
| | | <Icon icon="bi:fan" :size="50" /> |
| | | <div> |
| | | <div class="mainInfo">{{ realData.trendVo?.fanFrequency | 0 }} Hz</div> |
| | | <div class="mainInfo">{{ realData?.trendVo?.fanFrequency | 0 }} Hz</div> |
| | | <div class="subhead">风机频率</div> |
| | | </div> |
| | | </div> |
| | |
| | | > |
| | | {{ statusTxt }} |
| | | </div> |
| | | <div v-if="realData?.warning" style=" |
| | | margin-left: 100px; |
| | | font-size: 22px; |
| | | background: sandybrown; |
| | | <!-- <div v-if="realData?.warning" style=" --> |
| | | <!-- margin-left: 100px;--> |
| | | <!-- font-size: 22px;--> |
| | | <!-- background: sandybrown;--> |
| | | |
| | | border-radius: 10px; |
| | | line-height: 25px; |
| | | max-width: 500px; |
| | | padding: 15px; |
| | | font-weight: bold;" > |
| | | {{ realData?.warnMsg }} |
| | | </div> |
| | | |
| | | |
| | | |
| | | <div |
| | | v-if="realData?.isError" |
| | | class="eqpInfoText blingbling outDiv" |
| | | style=" |
| | | position: absolute; |
| | | font-size: 30px; |
| | | max-height: 200px; |
| | | max-width: 720px; |
| | | margin-top: 300px; |
| | | border-radius: 10px; |
| | | background-color: #ce0000; |
| | | color: white; |
| | | padding: 10px 30px; |
| | | " |
| | | > |
| | | <div class="outDiv"> |
| | | <div><Icon icon="bx:error" :size="30" /> </div> |
| | | <div |
| | | ><span>{{ realData?.errorMsg }}</span></div |
| | | > |
| | | </div> |
| | | </div> |
| | | <!-- border-radius: 10px;--> |
| | | <!-- line-height: 25px;--> |
| | | <!-- max-width: 500px;--> |
| | | <!-- padding: 15px;--> |
| | | <!-- font-weight: bold;" >--> |
| | | <!-- {{ realData?.warnMsg }}--> |
| | | <!-- </div>--> |
| | | <!-- --> |
| | | |
| | | |
| | | <!-- <div--> |
| | | <!-- v-if="realData?.isError"--> |
| | | <!-- class="eqpInfoText blingbling outDiv"--> |
| | | <!-- style="--> |
| | | <!-- position: absolute;--> |
| | | <!-- font-size: 30px;--> |
| | | <!-- max-height: 200px;--> |
| | | <!-- max-width: 720px;--> |
| | | <!-- margin-top: 300px;--> |
| | | <!-- border-radius: 10px;--> |
| | | <!-- background-color: #ce0000;--> |
| | | <!-- color: white;--> |
| | | <!-- padding: 10px 30px;--> |
| | | <!-- "--> |
| | | <!-- >--> |
| | | <!-- <div class="outDiv">--> |
| | | <!-- <div><Icon icon="bx:error" :size="30" /> </div>--> |
| | | <!-- <div--> |
| | | <!-- ><span>{{ realData?.errorMsg }}</span></div--> |
| | | <!-- >--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </div> |
| | | <div style="width: 848px; height: 485px; position: absolute;" @click="showFault"> |
| | | <div v-if="zuoqianjiting" class="error-div" style=" top:309px; left:418px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style="width: 70px;"> |
| | | 左前急停 |
| | | </div> |
| | | </div> |
| | | <div v-if="shebeijiting" class="error-div" style=" top:111px; left:484px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 106px;"> |
| | | 设备急停(总) |
| | | </div> |
| | | </div> |
| | | <div v-if="chuliaojiting" class="error-div" style=" top:300px; left:129px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 70px;"> |
| | | 出料急停 |
| | | </div> |
| | | </div> |
| | | <div v-if="mianbanjiting" class="error-div" style=" top:258px; left:659px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 70px;"> |
| | | 面板急停 |
| | | </div> |
| | | </div> |
| | | <div v-if="fengxiangsheng" class="error-div" style=" top:294px; left:517px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 86px;"> |
| | | 风箱升异常 |
| | | </div> |
| | | </div> |
| | | <div v-if="fengxiangjiang" class="error-div" style=" top:319px; left:517px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 86px;"> |
| | | 风箱降异常 |
| | | </div> |
| | | </div> |
| | | <div v-if="fengjiguoliu" class="error-div" style=" top:335px; left:655px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 70px;"> |
| | | 风机过流 |
| | | </div> |
| | | </div> |
| | | <div v-if="guntongsheng" class="error-div" style=" top:198px; left:517px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 86px;"> |
| | | 滚筒升异常 |
| | | </div> |
| | | </div> |
| | | <div v-if="guntongjiang" class="error-div" style=" top:223px; left:517px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 86px;"> |
| | | 滚筒降异常 |
| | | </div> |
| | | </div> |
| | | <div v-if="guntongguoliu" class="error-div" style=" top:209px; left:642px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 70px;"> |
| | | 滚筒过流 |
| | | </div> |
| | | </div> |
| | | <div v-if="wendubaojing" class="error-div" style=" top:234px; left:659px"> |
| | | <div class="blingbling error-marker" ></div> |
| | | <div class="error-msg" style=" width: 70px;"> |
| | | 温度报警 |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="zuoqianmen" class="error-div" style=" top:388px; left:415px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 80px;"> |
| | | 左前门报警 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuohoumen" class="error-div" style=" top:367px; left:587px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 80px;"> |
| | | 左后门报警 |
| | | </div> |
| | | </div> |
| | | <div v-if="youqianmen" class="error-div" style=" top:388px; left:284px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 80px;"> |
| | | 右前门报警 |
| | | </div> |
| | | </div> |
| | | <div v-if="youhoumen" class="error-div" style=" top:367px; left:478px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 80px;"> |
| | | 右后门报警 |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-if="guntongbuzaigaowei" class="error-div" style=" top:173px; left:517px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 100px;"> |
| | | 滚筒不在高位 |
| | | </div> |
| | | </div> |
| | | <div v-if="fengxiangbuzaigaowei" class="error-div" style=" top:269px; left:517px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 100px;"> |
| | | 风箱不在高位 |
| | | </div> |
| | | </div> |
| | | <div v-if="fengxiangbuzaidiwei" class="error-div" style=" top:343px; left:517px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 100px;"> |
| | | 风箱不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="jiareweichuanganqi" class="error-div" style=" top:283px; left:642px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 加热位传感器报警 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuoqianfengxianggaowei" class="error-div" style=" top:334px; left:362px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 左前风箱不在高位 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuoqianfengxiangdiwei" class="error-div" style=" top:334px; left:362px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 左前风箱不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuohoufengxianggaowei" class="error-div" style=" top:309px; left:642px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 左后风箱不在高位 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuohoufengxiangdiwei" class="error-div" style=" top:309px; left:642px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 左后风箱不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="youqianfengxianggaowei" class="error-div" style=" top:272px; left:300px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 右前风箱不在高位 |
| | | </div> |
| | | </div> |
| | | <div v-if="youqianfengxiangdiwei" class="error-div" style=" top:272px; left:300px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 右前风箱不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="youhoufengxianggaowei" class="error-div" style=" top:246px; left:506px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 右后风箱不在高位 |
| | | </div> |
| | | </div> |
| | | <div v-if="youhoufengxiangdiwei" class="error-div" style=" top:246px; left:506px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 右后风箱不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuoqianguntongdiwei" class="error-div" style=" top:175px; left:358px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 左前滚筒不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="zuohouguntongdiwei" class="error-div" style=" top:158px; left:643px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 左后滚筒不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="youqianguntongdiwei" class="error-div" style=" top:150px; left:268px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 右前滚筒不在低位 |
| | | </div> |
| | | </div> |
| | | <div v-if="youhouguntongdiwei" class="error-div" style=" top:135px; left:506px"> |
| | | <div class="blingbling warn-marker" ></div> |
| | | <div class="warn-msg" style=" width: 126px;"> |
| | | 右后滚筒不在低位 |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </dv-border-box7> |
| | | <dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px"> |
| | | <div class="chartTittle">风箱温度</div> |
| | |
| | | <div class="chartTittle">实时进度</div> |
| | | <div id="efficiencyLine" style="width: 848px; height: 180px; margin-top: -10px"></div> |
| | | <div style="height: 10px; display: flex; width: 848px; padding: 0 60px; justify-content: space-between"> |
| | | <div style="width: 100px; height: 20px">{{ realData.dryTime | 0 }} min</div> |
| | | <div style="width: 100px; height: 20px">{{ realData?.dryTime | 0 }} min</div> |
| | | <div style="width: 100px; height: 20px; text-align: right">{{ realData?.totalTime | 0 }} min</div> |
| | | </div> |
| | | <div id="progressBar" style="width: 848px; height: 80px"></div> |
| | |
| | | <div class="chartTittle"> |
| | | 干燥效率(kg/h) |
| | | <div class="rightLabel"> |
| | | <div class="label good">>{{ eqp.dryEfficiency }} 优 </div> |
| | | <div class="label bad"><{{ eqp.dryEfficiency * 0.9.toFixed(2) }} 差</div> |
| | | <div class="label good">>{{ realData?.efficAvg?.toFixed(2) }} 优 </div> |
| | | <div class="label bad"><{{ ((realData?.efficAvg|0) * 0.9)?.toFixed(2) }} 差</div> |
| | | </div> |
| | | </div> |
| | | <div class="outDiv" style="padding-top: 20px"> |
| | |
| | | </div> |
| | | <div class="rightChart center"> |
| | | <div class="center compareBar"> |
| | | <div class="barTop">{{ eqp.dryEfficiency }}</div> |
| | | <div class="barTop">{{ realData?.efficAvg?.toFixed(2) }}</div> |
| | | <div class="barBack"> |
| | | <div class="barDiv" :style="{ height: realData?.xlsHeight }"></div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="center compareBar"> |
| | | <div class="barTop">{{ realData?.xiaolv || 0 }}</div> |
| | | <div class="barTop">{{ realData?.xiaolv?.toFixed(2) || 0 }}</div> |
| | | <div class="barBack"> |
| | | <div |
| | | class="barDiv" |
| | |
| | | <div class="chartTittle" |
| | | >蒸汽消耗(m³/kg) |
| | | <div class="rightLabel"> |
| | | <div class="label bad">>{{ eqp.steamConsumption }} 差</div> |
| | | <div class="label good"><{{ eqp.steamConsumption * 0.9.toFixed(2) }} 优</div> |
| | | <div class="label bad">>{{ realData?.steamAvg?.toFixed(2) }} 差</div> |
| | | <div class="label good"><{{ ((realData?.steamAvg|0) * 0.9).toFixed(2) }} 优</div> |
| | | </div> |
| | | </div> |
| | | <div class="outDiv" style="padding-top: 20px"> |
| | |
| | | </div> |
| | | <div class="rightChart center"> |
| | | <div class="center compareBar"> |
| | | <div class="barTop">{{ eqp.steamConsumption }}</div> |
| | | <div class="barTop">{{ realData?.steamAvg?.toFixed(2) }}</div> |
| | | <div class="barBack"> |
| | | <div class="barDiv" :style="{ height: realData?.zqsHeight }"></div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="center compareBar"> |
| | | <div class="barTop">{{ realData?.zhengqi || 0 }}</div> |
| | | <div class="barTop">{{ realData?.zhengqi?.toFixed(2) || 0 }}</div> |
| | | <div class="barBack"> |
| | | <div |
| | | class="barDiv" |
| | |
| | | <div class="chartTittle"> |
| | | <div> 电能消耗(kWh/kg)</div> |
| | | <div class="rightLabel"> |
| | | <div class="label bad">>{{ eqp.powerConsumption }} 差</div> |
| | | <div class="label good"><{{ eqp.powerConsumption * 0.9.toFixed(2) }} 优</div> |
| | | <div class="label bad">>{{ realData?.wattAvg?.toFixed(3) }} 差</div> |
| | | <div class="label good"><{{ ((realData?.wattAvg|0) * 0.9).toFixed(3) }} 优</div> |
| | | </div> |
| | | </div> |
| | | <div class="outDiv" style="padding-top: 20px"> |
| | |
| | | </div> |
| | | <div class="rightChart center"> |
| | | <div class="center compareBar"> |
| | | <div class="barTop">{{ eqp.powerConsumption }}</div> |
| | | <div class="barTop">{{ realData?.wattAvg?.toFixed(3) }}</div> |
| | | <div class="barBack"> |
| | | <div class="barDiv" :style="{ height: realData?.dnsHeight }"></div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | <div class="center compareBar"> |
| | | <div class="barTop">{{ realData?.dian || 0 }}</div> |
| | | <div class="barTop">{{ realData?.dian?.toFixed(3) || 0 }}</div> |
| | | <div class="barBack"> |
| | | <div |
| | | class="barDiv" |
| | |
| | | var efficiencyLineChart: echarts.ECharts |
| | | |
| | | var compareChart: echarts.ECharts |
| | | |
| | | //----------------error---------------- |
| | | const shebeijiting = ref(false) |
| | | const chuliaojiting = ref(false) |
| | | const zuoqianjiting = ref(false) |
| | | const mianbanjiting = ref(false) |
| | | const fengxiangsheng = ref(false) |
| | | const fengxiangjiang = ref(false) |
| | | const fengjiguoliu = ref(false) |
| | | const guntongsheng = ref(false) |
| | | const guntongjiang = ref(false) |
| | | const guntongguoliu = ref(false) |
| | | const wendubaojing = ref(false) |
| | | //--------------warning------------ |
| | | const zuoqianmen = ref(false) |
| | | const zuohoumen = ref(false) |
| | | const youqianmen = ref(false) |
| | | const youhoumen = ref(false) |
| | | const guntongbuzaigaowei = ref(false) |
| | | const fengxiangbuzaigaowei = ref(false) |
| | | const fengxiangbuzaidiwei = ref(false) |
| | | const jiareweichuanganqi = ref(false) |
| | | const zuoqianfengxianggaowei = ref(false) |
| | | const zuohoufengxianggaowei = ref(false) |
| | | const youqianfengxianggaowei = ref(false) |
| | | const youhoufengxianggaowei = ref(false) |
| | | const zuoqianfengxiangdiwei = ref(false) |
| | | const zuohoufengxiangdiwei = ref(false) |
| | | const youqianfengxiangdiwei = ref(false) |
| | | const youhoufengxiangdiwei = ref(false) |
| | | const zuoqianguntongdiwei = ref(false) |
| | | const zuohouguntongdiwei = ref(false) |
| | | const youqianguntongdiwei = ref(false) |
| | | const youhouguntongdiwei = ref(false) |
| | | |
| | | function initCharts() { |
| | | let domId = 'moisChart' |
| | |
| | | width: 1, |
| | | }, |
| | | // [[15,10], [15,11], [10,6], [7.5,12], [5,12], [2.5,5], [2.5,9], [1,7]] |
| | | data: [ |
| | | |
| | | ], |
| | | data: [], |
| | | markPoint: { |
| | | data: [ |
| | | { type: 'max', name: 'Max' }, |
| | |
| | | data: [ |
| | | { |
| | | name: '额定', |
| | | yAxis: eqp.value.dryEfficiency, |
| | | yAxis: 100, |
| | | }, |
| | | ], |
| | | label: { |
| | |
| | | statusGif = 'chaiwangban-1' |
| | | setTimeout(shangliao, 7000) |
| | | } |
| | | function showFault () { |
| | | console.log('showFault') |
| | | router.push({ path: '/bigFault', query: { num: num } }) |
| | | |
| | | } |
| | | function shangliao() { |
| | | statusGif = 'shangliao-N' |
| | | setTimeout(() => { |
| | |
| | | /**干燥进度、走势与阶段效率和阶段消耗 */ |
| | | if (res && res.detailList) { |
| | | var progressSeries = [] |
| | | var ganZaoXiaoLv = [] |
| | | |
| | | var zhengQiXiaoHao = [] |
| | | var dianNengXiaoHao = [] |
| | | var totalTime = 1 |
| | | var ganZaoXiaoLv = [] |
| | | var totalTime = 0 |
| | | var beforeWeight = 0 |
| | | res.moisList = [] |
| | | beforeWeight = res.originWeight |
| | |
| | | //console.log(`output->bef`, beforeWeight) |
| | | //console.log(`output->cur`, item.weight) |
| | | res.moisList.push([item.totalTime, item.moisture]) |
| | | //console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime) |
| | | // console.log(`output->totalTime,item.totalTime`, totalTime, item.totalTime) |
| | | var curDryTime = item.totalTime - totalTime |
| | | |
| | | if (curDryTime > 0) { |
| | |
| | | } |
| | | |
| | | res.totalTime = totalTime + res.remain |
| | | console.log("efficAvg::",res.efficAvg); |
| | | /**干燥效率、消耗 */ |
| | | if (efficiencyLineChart) { |
| | | //console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv) |
| | |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '干燥效率', |
| | | data: ganZaoXiaoLv, |
| | | markLine: { |
| | | symbol: 'none', |
| | | data: [ |
| | | { |
| | | name: '额定', |
| | | yAxis: eqp.value.dryEfficiency, |
| | | yAxis: res.efficAvg|0, |
| | | }, |
| | | ], |
| | | label: { |
| | |
| | | }, |
| | | }, |
| | | }, |
| | | { data: zhengQiXiaoHao }, |
| | | { data: dianNengXiaoHao }, |
| | | // { data: zhengQiXiaoHao }, |
| | | // { data: dianNengXiaoHao }, |
| | | ], |
| | | }) |
| | | } |
| | |
| | | if (res.originWeight - lastTrend.weight <= 0) { |
| | | res.xiaolv = 0 |
| | | } else { |
| | | res.xiaolv = (((res.originWeight - lastTrend.weight) / lastTrend.totalTime) * 60).toFixed(2) |
| | | res.xiaolv = ((res.originWeight - lastTrend.weight) / lastTrend.totalTime) * 60 |
| | | } |
| | | res.xiaolv = Number(res.xiaolv) |
| | | eqp.value.dryEfficiency = Number(eqp.value.dryEfficiency) |
| | | if (res.xiaolv > eqp.value.dryEfficiency) { |
| | | //eqp.value.dryEfficiency = Number(eqp.value.dryEfficiency) |
| | | if (res.xiaolv > res.efficAvg) { |
| | | console.log("xiaolv:",res , eqp); |
| | | res.xlgood = true |
| | | res.xlsHeight = (eqp.value.dryEfficiency / res.xiaolv) * 100 + '%' |
| | | res.xlsHeight = (res.efficAvg / res.xiaolv) * 100 + '%' |
| | | res.xlrHeight = '100%' |
| | | } else if (res.xiaolv < eqp.value.dryEfficiency * 0.9) { |
| | | } else if (res.xiaolv < res.efficAvg * 0.9) { |
| | | res.xlbad = true |
| | | res.xlsHeight = '100%' |
| | | res.xlrHeight = (res.xiaolv / eqp.value.dryEfficiency) * 100 + '%' |
| | | res.xlrHeight = (res.xiaolv / res.efficAvg) * 100 + '%' |
| | | } else { |
| | | res.xlsHeight = '100%' |
| | | res.xlrHeight = (res.xiaolv / eqp.value.dryEfficiency) * 100 + '%' |
| | | res.xlrHeight = (res.xiaolv / res.efficAvg) * 100 + '%' |
| | | } |
| | | |
| | | /** 蒸汽消耗 */ |
| | | if (res.originWeight - lastTrend.weight <= 0) { |
| | | res.zhengqi = 0 |
| | | } else { |
| | | res.zhengqi = (lastTrend.steam / (res.originWeight - lastTrend.weight)).toFixed(2) |
| | | res.zhengqi = lastTrend.steam / (res.originWeight - lastTrend.weight) |
| | | } |
| | | res.zhengqi = Number(res.zhengqi) |
| | | eqp.value.steamConsumption = Number(eqp.value.steamConsumption) |
| | | //eqp.value.steamConsumption = Number(eqp.value.steamConsumption) |
| | | // res.zhengqi = eqp.value.steamConsumption - 3 |
| | | // console.log(res); |
| | | // console.log('zhengqi:', res.zhengqi); |
| | | if (res.zhengqi > eqp.value.steamConsumption) { |
| | | if (res.zhengqi > res.steamAvg) { |
| | | res.zqbad = true |
| | | res.zqsHeight = (eqp.value.steamConsumption / res.zhengqi) * 100 + '%' |
| | | res.zqsHeight = (res.steamAvg / res.zhengqi) * 100 + '%' |
| | | res.zqrHeight = '100%' |
| | | } else if (res.zhengqi < eqp.value.steamConsumption * 0.9) { |
| | | } else if (res.zhengqi < res.steamAvg * 0.9) { |
| | | res.zqgood = true |
| | | res.zqsHeight = '100%' |
| | | res.zqrHeight = (res.zhengqi / eqp.value.steamConsumption) * 100 + '%' |
| | | res.zqrHeight = (res.zhengqi / res.steamAvg) * 100 + '%' |
| | | } else { |
| | | res.zqsHeight = '100%' |
| | | res.zqrHeight = (res.zhengqi / eqp.value.steamConsumption) * 100 + '%' |
| | | res.zqrHeight = (res.zhengqi / res.steamAvg) * 100 + '%' |
| | | } |
| | | |
| | | /** 电能消耗 */ |
| | | if (res.originWeight - lastTrend.weight <= 0) { |
| | | res.dian = 0 |
| | | } else { |
| | | res.dian = (lastTrend.watt / (res.originWeight - lastTrend.weight)).toFixed(2) |
| | | res.dian = lastTrend.watt / (res.originWeight - lastTrend.weight) |
| | | } |
| | | // res.dian = eqp.value.powerConsumption - 1.5 |
| | | res.dian = Number(res.dian) |
| | | eqp.value.powerConsumption = Number(eqp.value.powerConsumption) |
| | | if (res.dian > eqp.value.powerConsumption) { |
| | | console.log("dian::", res.dian,eqp.value.powerConsumption ) |
| | | //eqp.value.powerConsumption = Number(eqp.value.powerConsumption) |
| | | if (res.dian > res.wattAvg) { |
| | | console.log("dian::", res.dian,res.wattAvg ) |
| | | res.dnbad = true |
| | | res.dnsHeight = (eqp.value.powerConsumption / res.dian) * 100 + '%' |
| | | res.dnsHeight = (res.wattAvg / res.dian) * 100 + '%' |
| | | res.dnrHeight = '100%' |
| | | } else if (res.dian < eqp.value.powerConsumption * 0.9) { |
| | | } else if (res.dian < res.wattAvg * 0.9) { |
| | | res.dngood = true |
| | | res.dnsHeight = '100%' |
| | | res.dnrHeight = (res.dian / eqp.value.powerConsumption) * 100 + '%' |
| | | res.dnrHeight = (res.dian / res.wattAvg) * 100 + '%' |
| | | } else { |
| | | res.dnsHeight = '100%' |
| | | res.dnrHeight = (res.dian / eqp.value.powerConsumption) * 100 + '%' |
| | | res.dnrHeight = (res.dian / res.wattAvg) * 100 + '%' |
| | | } |
| | | |
| | | //console.log('state:::fan::', res.state_fan, 'roller::', res.state_roller, 'windbox::', res.state_windbox) |
| | |
| | | } else if (res.herbName == '桑白皮') { |
| | | res.herbImage = 'sangbaipi.png' |
| | | } |
| | | |
| | | res.isError = false |
| | | if (res.fault) { |
| | | res.isError = true |
| | | res.errorMsg = res.fault |
| | | } |
| | | |
| | | if (res.warning) { |
| | | res.isWarning = true |
| | | res.warnMsg = res.warning |
| | | } |
| | | res.isError = false |
| | | if (res.fault) { |
| | | res.isError = true |
| | | res.errorMsg = res.fault; |
| | | const faults = res.fault; |
| | | console.log('errorMsg:', res.fault) |
| | | if (faults.includes('急停报警')) { |
| | | shebeijiting.value = true; |
| | | } else { |
| | | shebeijiting.value = false; |
| | | } |
| | | if (faults.includes('左前急停')) { |
| | | zuoqianjiting.value = true; |
| | | } else { |
| | | zuoqianjiting.value = false; |
| | | } |
| | | if (faults.includes('面板急停')) { |
| | | mianbanjiting.value = true; |
| | | } else { |
| | | mianbanjiting.value = false; |
| | | } |
| | | if (faults.includes('出料急停')) { |
| | | chuliaojiting.value = true; |
| | | } else { |
| | | chuliaojiting.value = false; |
| | | } |
| | | if (faults.includes('温度失控')) { |
| | | wendubaojing.value = true; |
| | | } else { |
| | | wendubaojing.value = false; |
| | | } |
| | | if (faults.includes('滚筒升')) { |
| | | guntongsheng.value = true; |
| | | } else { |
| | | guntongjiang.value = false; |
| | | } |
| | | if (faults.includes('滚筒降')) { |
| | | guntongjiang.value = true; |
| | | } else { |
| | | guntongjiang.value = false; |
| | | } |
| | | if (faults.includes('滚筒电机过流')) { |
| | | guntongguoliu.value = true; |
| | | } else { |
| | | guntongguoliu.value = false; |
| | | } |
| | | if (faults.includes('风箱升')) { |
| | | fengxiangsheng.value = true; |
| | | } else { |
| | | fengxiangsheng.value = false; |
| | | } |
| | | if (faults.includes('风箱降')) { |
| | | fengxiangjiang.value = true; |
| | | } else { |
| | | fengxiangjiang.value = false; |
| | | } |
| | | if (faults.includes('风箱风机过流')) { |
| | | fengjiguoliu.value = true; |
| | | } else { |
| | | fengjiguoliu.value = false; |
| | | } |
| | | } |
| | | else { |
| | | shebeijiting.value = false |
| | | chuliaojiting.value = false |
| | | zuoqianjiting.value = false |
| | | mianbanjiting.value = false |
| | | fengxiangsheng.value = false |
| | | fengxiangjiang.value = false |
| | | fengjiguoliu.value = false |
| | | guntongsheng.value = false |
| | | guntongjiang.value = false |
| | | guntongguoliu.value = false |
| | | wendubaojing.value = false |
| | | } |
| | | |
| | | if (res.warning) { |
| | | res.isWarning = true |
| | | res.warnMsg = res.warning |
| | | const warnings = res.warning; |
| | | console.log('warnMsg:', res.warning) |
| | | if (warnings.includes('左前门')) { |
| | | zuoqianmen.value = true; |
| | | } else { |
| | | zuoqianmen.value = false; |
| | | } |
| | | if (warnings.includes('右前门')) { |
| | | youqianmen.value = true; |
| | | } else { |
| | | youqianmen.value = false; |
| | | } |
| | | if (warnings.includes('左后门')) { |
| | | zuohoumen.value = true; |
| | | } else { |
| | | zuohoumen.value = false; |
| | | } |
| | | if (warnings.includes('右后门')) { |
| | | youhoumen.value = true; |
| | | } else { |
| | | youhoumen.value = false; |
| | | } |
| | | if (warnings.includes('滚筒不在高位')) { |
| | | guntongbuzaigaowei.value = true; |
| | | } else { |
| | | guntongbuzaigaowei.value = false; |
| | | } |
| | | if (warnings.includes('风箱不在低位')) { |
| | | fengxiangbuzaidiwei.value = true; |
| | | } else { |
| | | fengxiangbuzaidiwei.value = false; |
| | | } |
| | | if (warnings.includes('风箱不在高位')) { |
| | | fengxiangbuzaigaowei.value = true; |
| | | } else { |
| | | fengxiangbuzaigaowei.value = false; |
| | | } |
| | | if (warnings.includes('加热位传感器')) { |
| | | jiareweichuanganqi.value = true; |
| | | } else { |
| | | jiareweichuanganqi.value = false; |
| | | } |
| | | if (warnings.includes('左前风箱高位传感器')) { |
| | | zuoqianfengxianggaowei.value = true; |
| | | } else { |
| | | zuoqianfengxianggaowei.value = false; |
| | | } |
| | | if (warnings.includes('右前风箱高位传感器')) { |
| | | youqianfengxianggaowei.value = true; |
| | | } else { |
| | | youqianfengxianggaowei.value = false; |
| | | } |
| | | if (warnings.includes('左后风箱高位传感器')) { |
| | | zuohoufengxianggaowei.value = true; |
| | | } else { |
| | | zuohoufengxianggaowei.value = false; |
| | | } |
| | | if (warnings.includes('右后风箱高位传感器')) { |
| | | youhoufengxianggaowei.value = true; |
| | | } else { |
| | | youhoufengxianggaowei.value = false; |
| | | } |
| | | if (warnings.includes('左前风箱低位传感器')) { |
| | | zuoqianfengxiangdiwei.value = true; |
| | | } else { |
| | | zuoqianfengxiangdiwei.value = false; |
| | | } |
| | | if (warnings.includes('右前风箱低位传感器')) { |
| | | youqianfengxiangdiwei.value = true; |
| | | } else { |
| | | youqianfengxiangdiwei.value = false; |
| | | } |
| | | if (warnings.includes('左后风箱低位传感器')) { |
| | | zuohoufengxiangdiwei.value = true; |
| | | } else { |
| | | zuohoufengxiangdiwei.value = false; |
| | | } |
| | | if (warnings.includes('右后风箱低位传感器')) { |
| | | youhoufengxiangdiwei.value = true; |
| | | } else { |
| | | youhoufengxiangdiwei.value = false; |
| | | } |
| | | if (warnings.includes('左前滚筒低位传感器')) { |
| | | zuoqianguntongdiwei.value = true; |
| | | } else { |
| | | zuoqianguntongdiwei.value = false; |
| | | } |
| | | if (warnings.includes('右前滚筒低位传感器')) { |
| | | youqianguntongdiwei.value = true; |
| | | } else { |
| | | youqianguntongdiwei.value = false; |
| | | } |
| | | if (warnings.includes('左后滚筒低位传感器')) { |
| | | zuohouguntongdiwei.value = true; |
| | | } else { |
| | | zuohouguntongdiwei.value = false; |
| | | } |
| | | if (warnings.includes('右后滚筒低位传感器')) { |
| | | youhouguntongdiwei.value = true; |
| | | } else { |
| | | youhouguntongdiwei.value = false; |
| | | } |
| | | } |
| | | else { |
| | | zuoqianmen.value = false; |
| | | zuohoumen.value = false; |
| | | youqianmen.value = false; |
| | | youhoumen.value = false; |
| | | guntongbuzaigaowei.value = false; |
| | | fengxiangbuzaigaowei.value = false; |
| | | fengxiangbuzaidiwei.value = false; |
| | | jiareweichuanganqi.value = false; |
| | | zuoqianfengxianggaowei.value = false; |
| | | zuohoufengxianggaowei.value = false; |
| | | youqianfengxianggaowei.value = false; |
| | | youhoufengxianggaowei.value = false; |
| | | zuoqianfengxiangdiwei.value = false; |
| | | zuohoufengxiangdiwei.value = false; |
| | | youqianfengxiangdiwei.value = false; |
| | | youhoufengxiangdiwei.value = false; |
| | | zuoqianguntongdiwei.value = false; |
| | | zuohouguntongdiwei.value = false; |
| | | youqianguntongdiwei.value = false; |
| | | youhouguntongdiwei.value = false; |
| | | } |
| | | } else { |
| | | res = { |
| | | mois: [], |
| | |
| | | margin-top: -30px; |
| | | } |
| | | .leftTop0 { |
| | | height: 600px; |
| | | height: 260px; |
| | | width: 848px; |
| | | display: flex; |
| | | justify-content: center; |
| | |
| | | opacity: 0; |
| | | } |
| | | } |
| | | |
| | | .error-div { |
| | | position: absolute; display: flex; align-items: center; |
| | | } |
| | | .error-marker { |
| | | width: 18px; height: 18px; background: red; border-radius: 50%; |
| | | } |
| | | .error-msg { |
| | | margin-left: 6px; |
| | | height: 24px; |
| | | background: gray; border-radius: 5px; font-weight: bold; color: red |
| | | } |
| | | .warn-marker { |
| | | width: 18px; height: 18px; background: orange; border-radius: 50%; |
| | | } |
| | | .warn-msg { |
| | | margin-left: 6px; |
| | | height: 24px; |
| | | background: gray; border-radius: 5px; font-weight: bold; color: orange; |
| | | } |
| | | </style> |