| | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | data: [ |
| | | { |
| | | name: '额定', |
| | | yAxis: eqp.value.dryEfficiency, |
| | | yAxis: 100, |
| | | }, |
| | | ], |
| | | label: { |
| | |
| | | /**干燥进度、走势与阶段效率和阶段消耗 */ |
| | | 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) |
| | |
| | | data: [ |
| | | { |
| | | name: '额定', |
| | | yAxis: eqp.value.dryEfficiency, |
| | | yAxis: res.efficAvg|0, |
| | | }, |
| | | ], |
| | | label: { |
| | |
| | | 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) |