干燥机配套车间生产管理系统/云平台前端
bsw215583320
2024-04-16 852e0f0918dc58b616cc81702efbfde3940866bb
src/views/dry/bigScreen/BigEqp.vue
@@ -29,21 +29,21 @@
                              <div class="formulaItem">
                                 <Icon style="color: powderblue" icon="la:box" :size="38" />
                                 <div>
                                    <div class="mainInfo2">{{ realData?.feed }} 筐</div>
                                    <div class="mainInfo2">{{ realData?.feed || 0 }} 筐</div>
                                    <div class="subhead2">投料量</div>
                                 </div>
                              </div>
                              <div class="formulaItem">
                                 <Icon style="color: red" icon="bx:wind" :size="35" />
                                 <div>
                                    <div class="mainInfo2">{{ realData?.windTemp }} °C</div>
                                    <div class="mainInfo2">{{ realData?.windTemp || 0 }} °C</div>
                                    <div class="subhead2">热风</div>
                                 </div>
                              </div>
                              <div class="formulaItem">
                                 <Icon style="color: green" icon="tabler:target-arrow" :size="35" />
                                 <div>
                                    <div class="mainInfo2">{{ realData?.target }} %</div>
                                    <div class="mainInfo2">{{ realData?.target || 0 }} %</div>
                                    <div class="subhead2">目标</div>
                                 </div>
                              </div>
@@ -65,7 +65,7 @@
                              <div class="center" style="height: 50%">
                                 <div class="centerText">
                                    <div class="mainInfo3"
                                       ><span>{{ realData?.target }}</span> %
                                       ><span>{{ realData?.target || 0 }}</span> %
                                    </div>
                                    <div class="subhead2">目标含水率</div>
                                 </div>
@@ -73,7 +73,7 @@
                              <div class="center" style="height: 50%">
                                 <div>
                                    <div class="mainInfo3"
                                       ><span>{{ realData?.initial }}</span> %</div
                                       ><span>{{ realData?.initial || 0 }}</span> %</div
                                    >
                                    <div class="subhead2">来料含水率</div>
                                 </div>
@@ -205,8 +205,8 @@
                        <div class="chartTittle">
                           干燥效率(kg/h)
                           <div class="rightLabel">
                              <div class="label good">&gt;{{ standard.xiaolv }} 优 </div>
                              <div class="label bad">&lt;{{ standard.xlMin }} 差</div>
                              <div class="label good">&gt;{{ eqp.dryEfficiency }} 优 </div>
                              <div class="label bad">&lt;{{ eqp.dryEfficiency * 0.9.toFixed(2) }} 差</div>
                           </div>
                        </div>
                        <div class="outDiv" style="padding-top: 20px">
@@ -228,7 +228,7 @@
                           </div>
                           <div class="rightChart center">
                              <div class="center compareBar">
                                 <div class="barTop">{{ standard.xiaolv }}</div>
                                 <div class="barTop">{{ eqp.dryEfficiency }}</div>
                                 <div class="barBack">
                                    <div class="barDiv" :style="{ height: realData?.xlsHeight }"></div>
                                 </div>
@@ -239,7 +239,7 @@
                                 </div>
                              </div>
                              <div class="center compareBar">
                                 <div class="barTop">{{ realData?.xiaolv | 0 }}</div>
                                 <div class="barTop">{{ realData?.xiaolv || 0 }}</div>
                                 <div class="barBack">
                                    <div
                                       class="barDiv"
@@ -262,8 +262,8 @@
                        <div class="chartTittle"
                           >蒸汽消耗(m³/kg)
                           <div class="rightLabel">
                              <div class="label bad">&gt;{{ standard.zhengqi }} 差</div>
                              <div class="label good">&lt;{{ standard.zqMin }} 优</div>
                              <div class="label bad">&gt;{{ eqp.steamConsumption }} 差</div>
                              <div class="label good">&lt;{{ eqp.steamConsumption * 0.9.toFixed(2) }} 优</div>
                           </div>
                        </div>
                        <div class="outDiv" style="padding-top: 20px">
@@ -279,7 +279,7 @@
                           </div>
                           <div class="rightChart center">
                              <div class="center compareBar">
                                 <div class="barTop">{{ standard.zhengqi }}</div>
                                 <div class="barTop">{{ eqp.steamConsumption }}</div>
                                 <div class="barBack">
                                    <div class="barDiv" :style="{ height: realData?.zqsHeight }"></div>
                                 </div>
@@ -290,7 +290,7 @@
                                 </div>
                              </div>
                              <div class="center compareBar">
                                 <div class="barTop">{{ realData?.zhengqi | 0 }}</div>
                                 <div class="barTop">{{ realData?.zhengqi || 0 }}</div>
                                 <div class="barBack">
                                    <div
                                       class="barDiv"
@@ -318,8 +318,8 @@
                        <div class="chartTittle">
                           <div> 电能消耗(kWh/kg)</div>
                           <div class="rightLabel">
                              <div class="label bad">&gt;{{ standard.dian }} 差</div>
                              <div class="label good">&lt;{{ standard.dMin }} 优</div>
                              <div class="label bad">&gt;{{ eqp.powerConsumption }} 差</div>
                              <div class="label good">&lt;{{ eqp.powerConsumption * 0.9.toFixed(2) }} 优</div>
                           </div>
                        </div>
                        <div class="outDiv" style="padding-top: 20px">
@@ -335,7 +335,7 @@
                           </div>
                           <div class="rightChart center">
                              <div class="center compareBar">
                                 <div class="barTop">{{ standard.dian }}</div>
                                 <div class="barTop">{{ eqp.powerConsumption }}</div>
                                 <div class="barBack">
                                    <div class="barDiv" :style="{ height: realData?.dnsHeight }"></div>
                                 </div>
@@ -346,7 +346,7 @@
                                 </div>
                              </div>
                              <div class="center compareBar">
                                 <div class="barTop">{{ realData?.dian | 0 }}</div>
                                 <div class="barTop">{{ realData?.dian || 0 }}</div>
                                 <div class="barBack">
                                    <div
                                       class="barDiv"
@@ -384,6 +384,7 @@
   import { queryById, listAll } from '../api/DryEquipment.api'
   import { dryEquipment } from '../dataDefine/DryEquipment.data'
   import { useUserStore } from '/@/store/modules/user'
   import { getTenantId, getToken } from '/@/utils/auth'
   const domRef = ref<Nullable<HTMLElement>>(null)
   const { enter, toggle, exit, isFullscreen } = useFullscreen()
@@ -634,8 +635,7 @@
               smooth: true,
               symbol: 'none',
               data: [
                  [1, 1],
                  [2, 2],
               ],
               lineStyle: {
                  width: 1,
@@ -663,8 +663,7 @@
               smooth: true,
               symbol: 'none',
               data: [
                  [1, 10],
                  [2, 20],
               ],
               lineStyle: {
                  width: 1,
@@ -715,7 +714,7 @@
               amplitude: 3,
               animationDuration: 5,
               //animationDurationUpdate: 0,
               data: [0.56, 0.44, 0.32],
               data: [0, 0, 0],
               shape:
                  'path://M828.817,706.209C828.817,881.725,686.98,1024,512,1024c-174.98,0-316.817-142.275-316.817-317.791C195.183,530.74,512,0,512,0s316.817,530.74,316.817,706.209z',
               outline: {
@@ -806,7 +805,7 @@
               },
               data: [
                  {
                     value: 20,
                     value: 0,
                  },
               ],
            },
@@ -844,7 +843,7 @@
               },
               data: [
                  {
                     value: 20,
                     value: 0,
                  },
               ],
            },
@@ -1158,7 +1157,7 @@
            axisLabel: {
               formatter: '{value} °C',
            },
            // max: standard.value.xiaolv + 3,
            // max: eqp.value.dryEfficiency + 3,
         },
         series: [
            {
@@ -1169,10 +1168,7 @@
               },
               // [[15,10], [15,11], [10,6], [7.5,12], [5,12], [2.5,5], [2.5,9], [1,7]]
               data: [
                  [0, 1],
                  [15, 10],
                  [45, 11],
                  [70, 6],
               ],
               markPoint: {
                  data: [
@@ -1185,7 +1181,7 @@
                  data: [
                     {
                        name: '额定',
                        yAxis: standard.value.xiaolv,
                        yAxis: eqp.value.dryEfficiency,
                     },
                  ],
                  label: {
@@ -1230,7 +1226,7 @@
               name: '2011',
               type: 'bar',
               barWidth: 10,
               data: [190, 89, 34, 70, 44, 30],
               data: [0, 0, 0, 0, 0, 0],
               label: {
                  show: true,
                  position: 'right',
@@ -1270,6 +1266,9 @@
      queryById({ id: router.currentRoute.value.params.id }).then((res) => {
         // console.log(`output->res`, res)
         eqp.value = res
         eqp.value.dryEfficiency = res.dryEfficiency
         eqp.value.steamConsumption = res.steamConsumption
         eqp.value.powerConsumption = res.powerConsumption
         queryRealTime()
         setTimeout(initCharts, 500)
      })
@@ -1346,7 +1345,7 @@
      if (eqp.value) {
         eqp.value = eqps.value[eqpNum.value]
         // console.log("888",eqp.value);
         let tenantId = 1003
         let tenantId = getTenantId()
         let eqpCode = eqp.value.code
         let queryRealTimeUrl = '/dry/real/getRealTimeData'
         defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode } }).then((res) => {
@@ -1379,7 +1378,7 @@
               /**温度环形图 */
               if (bellowsTempChart) {
                  bellowsTempChart.setOption({
                     series: [{ data: [{ value: res.windTemp }] }, { data: [{ value: res.windTemp }] }],
                     series: [{ data: [{ value: res.trendVo.bellowsTemp }] }, { data: [{ value: res.trendVo.bellowsTemp }] }],
                  })
               }
               /**风机频率环形图 */
@@ -1454,7 +1453,7 @@
                        })
                     }
                     // ganZaoXiaoLv.push([totalTime + res.remain,standard.value.xiaolv])
                     // ganZaoXiaoLv.push([totalTime + res.remain,eqp.value.dryEfficiency])
                     // console.log(`output->res.remain`, res.remain)
                     // console.log(`output->res.dryTime`, res.dryTime)
                     // console.log(`output->totalTime`, totalTime)
@@ -1511,7 +1510,7 @@
                                 data: [
                                    {
                                       name: '额定',
                                       yAxis: standard.value.xiaolv,
                                       yAxis: eqp.value.dryEfficiency,
                                    },
                                 ],
                                 label: {
@@ -1570,66 +1569,74 @@
                  })
               }
               let lastTrend = res.detailList[res.detailList.length-1]
               /**效率对比图 */
               if (res.originWeight - res.yield <= 0) {
                  res.xiaolv = standard.value.xiaolv + 6
               if (res.originWeight - lastTrend.weight <= 0) {
                  res.xiaolv = 0
               } else {
                  res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2)
                  res.xiaolv = (((res.originWeight - lastTrend.weight) / lastTrend.totalTime) * 60).toFixed(2)
               }
               if (res.xiaolv > standard.value.xiaolv) {
               res.xiaolv = Number(res.xiaolv)
               eqp.value.dryEfficiency = Number(eqp.value.dryEfficiency)
               if (res.xiaolv > eqp.value.dryEfficiency) {
                  console.log("xiaolv:",res , eqp);
                  res.xlgood = true
                  res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%'
                  res.xlsHeight = (eqp.value.dryEfficiency / res.xiaolv) * 100 + '%'
                  res.xlrHeight = '100%'
               } else if (res.xiaolv < standard.value.xlMin) {
               } else if (res.xiaolv < eqp.value.dryEfficiency * 0.9) {
                  res.xlbad = true
                  res.xlsHeight = '100%'
                  res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
                  res.xlrHeight = (res.xiaolv / eqp.value.dryEfficiency) * 100 + '%'
               } else {
                  res.xlsHeight = '100%'
                  res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%'
                  res.xlrHeight = (res.xiaolv / eqp.value.dryEfficiency) * 100 + '%'
               }
               /** 蒸汽消耗 */
               if (res.originWeight - res.yield <= 0) {
                  res.zhengqi = standard.value.zhengqi - 3
               if (res.originWeight - lastTrend.weight <= 0) {
                  res.zhengqi = 0
               } else {
                  res.zhengqi = (res.steam / (res.originWeight - res.yield)).toFixed(1)
                  res.zhengqi = (lastTrend.steam / (res.originWeight - lastTrend.weight)).toFixed(2)
               }
               res.zhengqi = standard.value.zhengqi - 3
               console.log(res);
               console.log('zhengqi:', res.zhengqi);
               if (res.zhengqi > standard.value.zhengqi) {
               res.zhengqi = Number(res.zhengqi)
               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) {
                  res.zqbad = true
                  res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%'
                  res.zqsHeight = (eqp.value.steamConsumption / res.zhengqi) * 100 + '%'
                  res.zqrHeight = '100%'
               } else if (res.zhengqi < standard.value.zqMin) {
               } else if (res.zhengqi < eqp.value.steamConsumption * 0.9) {
                  res.zqgood = true
                  res.zqsHeight = '100%'
                  res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
                  res.zqrHeight = (res.zhengqi / eqp.value.steamConsumption) * 100 + '%'
               } else {
                  res.zqsHeight = '100%'
                  res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%'
                  res.zqrHeight = (res.zhengqi / eqp.value.steamConsumption) * 100 + '%'
               }
               /** 电能消耗 */
               if (res.originWeight - res.yield <= 0) {
                  res.dian = standard.value.dian - 1.5
               if (res.originWeight - lastTrend.weight <= 0) {
                  res.dian = 0
               } else {
                  res.dian = (res.watt / (res.originWeight - res.yield)).toFixed(1)
                  res.dian = (lastTrend.watt / (res.originWeight - lastTrend.weight)).toFixed(2)
               }
               res.dian = standard.value.dian - 1.5
               if (res.dian > standard.value.dian) {
               // 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 )
                  res.dnbad = true
                  res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%'
                  res.dnsHeight = (eqp.value.powerConsumption / res.dian) * 100 + '%'
                  res.dnrHeight = '100%'
               } else if (res.dian < standard.value.dMin) {
               } else if (res.dian < eqp.value.powerConsumption * 0.9) {
                  res.dngood = true
                  res.dnsHeight = '100%'
                  res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
                  res.dnrHeight = (res.dian / eqp.value.powerConsumption) * 100 + '%'
               } else {
                  res.dnsHeight = '100%'
                  res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%'
                  res.dnrHeight = (res.dian / eqp.value.powerConsumption) * 100 + '%'
               }
               //console.log('state:::fan::', res.state_fan, 'roller::', res.state_roller, 'windbox::', res.state_windbox)
@@ -1732,7 +1739,7 @@
               }
            }
            //console.log(`output->res`, res)
            // console.log(`output->res`, res.detailList[res.detailList.length-1])
            realData.value = res
         })
      }