| | |
| | | <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> |
| | | </div> |
| | | <div class="formula"> |
| | | <div class="formulaItem"> |
| | | <Icon style="color: yellow" icon="mdi:weight-kilogram" :size="35" /> |
| | | <div style="width: 4px"></div> |
| | | <div> |
| | | <div class="mainInfo2">{{ realData?.originWeight }} kg</div> |
| | | <div class="subhead2">初始重量</div> |
| | | </div> |
| | | </div> |
| | | <div class="formulaItem"> |
| | | <Icon style="color: deepskyblue" icon="ion:water-outline" :size="35" /> |
| | | <div> |
| | | <div class="mainInfo2">{{ realData?.initial }} %</div> |
| | | <div class="subhead2">初始含水</div> |
| | | </div> |
| | | </div> |
| | | <div class="formulaItem"> |
| | | <Icon style="color: chocolate" icon="ps:clock" :size="32" /> |
| | | <div style="width: 4px"></div> |
| | | <div> |
| | | <div class="mainInfo2">{{ realData?.et }} 分</div> |
| | | <div class="subhead2">预计时间</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div id="fanFreq" style="width: 240px; height: 240px"></div> |
| | | </div> |
| | | </dv-border-box7> --> |
| | | <dv-border-box7 style="margin-left: 0px; width: 340px; height: 240px"> |
| | | <!-- <div class="chartTittle">含水率</div> |
| | | <dv-border-box7 class="infoChart" style="margin-left: 0px"> |
| | | <div class="chartTittle">含水率</div> |
| | | <div class="outDiv" style="padding-top: 20px"> |
| | | <div class="leftData"> |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </div> |
| | | <div id="moisture" style="width: 170px; height: 170px"></div> |
| | | </div> |
| | | <div class="subhead2" style="margin-top: -37px; padding-left: 205px; font-weight: bold">实时含水率</div> --> |
| | | |
| | | <div> |
| | | <div class="timeProgress"> |
| | | <div class="flex"> |
| | | <div class="leftLabel">预计时间</div> |
| | | <Progress :percent="30" size="small" status="active" /> |
| | | </div> |
| | | </div> |
| | | <div class="timeProgress"> |
| | | <div class="flex"> |
| | | <div class="leftLabel">当前阶段</div> |
| | | <Progress :percent="50" size="small" status="active" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="subhead2" style="margin-top: -37px; padding-left: 205px; font-weight: bold">实时含水率</div> |
| | | </dv-border-box7> |
| | | </div> |
| | | <dv-border-box7 class="leftTop"> |
| | |
| | | <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 |
| | | style=" |
| | | font-size: 28px; |
| | | margin-top: 190px; |
| | | |
| | | color: white; |
| | | background-color: #1595ea; |
| | | height: 60px; |
| | | width: 180px; |
| | | line-height: 60px; |
| | | text-align: center; |
| | | border-radius: 5px; |
| | | border-radius: 10px; |
| | | font-weight: bold; |
| | | " |
| | | > |
| | | {{ statusTxt }} |
| | | </div> |
| | | <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" |
| | | 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; |
| | | padding: 10px 30px; |
| | | " |
| | | > |
| | | <div class="outDiv"> |
| | |
| | | </div> |
| | | </dv-border-box7> |
| | | <dv-border-box7 class="leftMid"> |
| | | <!-- <div class="chartTittle">实时进度</div> --> |
| | | <!-- <div id="efficiencyLine" style="width: 848px; height: 180px; margin-top: -10px"></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="flex"> |
| | | <div style="width: 200px; height: 100px; border: 1px solid red; margin-top: -40px"> </div> |
| | | </div> |
| | | <div id="progressBar" style="width: 848px; height: 80px"></div> |
| | | </dv-border-box7> |
| | | |
| | | <!-- <div class="outDiv"> |
| | |
| | | <div class="chartTittle"> |
| | | 干燥效率(kg/h) |
| | | <div class="rightLabel"> |
| | | <div class="label good">>{{ standard.xiaolv }} 优 </div> |
| | | <div class="label bad"><{{ standard.xlMin }} 差</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">{{ standard.xiaolv }}</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">>{{ standard.zhengqi }} 差</div> |
| | | <div class="label good"><{{ standard.zqMin }} 优</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">{{ standard.zhengqi }}</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">>{{ standard.dian }} 差</div> |
| | | <div class="label good"><{{ standard.dMin }} 优</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">{{ standard.dian }}</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" |
| | |
| | | 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() |
| | |
| | | const { toggle: toggleDom } = useFullscreen(domRef) |
| | | const Timer = ref() |
| | | const Timer2 = ref() |
| | | // const marks = ref<Record<number, any>>({ |
| | | // 0: '0°C', |
| | | // 1: '', |
| | | // 2: '', |
| | | // 3: '', |
| | | // 4: '', |
| | | // 5: '', |
| | | // 6: '', |
| | | // 7: '', |
| | | // 8: '', |
| | | // 9: '', |
| | | // 10: '', |
| | | // 11: '', |
| | | // 12: '', |
| | | // 13: '', |
| | | // 14: '', |
| | | // 15: '', |
| | | // 16: '', |
| | | // 17: '', |
| | | // 18: '', |
| | | // 19: '', |
| | | // 20: '', |
| | | // 21: '', |
| | | // 22: '', |
| | | // 23: '', |
| | | // 24: '', |
| | | // 25: '25°C', |
| | | // 26: '', |
| | | // 27: '', |
| | | // 28: '', |
| | | // 29: '', |
| | | // 30: '', |
| | | // 31: '', |
| | | // 32: '', |
| | | // 33: '', |
| | | // 34: '', |
| | | // 35: '', |
| | | // 36: '', |
| | | // 37: '', |
| | | // 38: '', |
| | | // 39: '', |
| | | // 40: '', |
| | | // 41: '', |
| | | // 42: '', |
| | | // 43: '', |
| | | // 44: '', |
| | | // 45: '', |
| | | // 46: '', |
| | | // 47: '', |
| | | // 48: '', |
| | | // 49: '', |
| | | // 50: '50°C', |
| | | // 51: '', |
| | | // 52: '', |
| | | // 53: '', |
| | | // 54: '', |
| | | // 55: '', |
| | | // 56: '', |
| | | // 57: '', |
| | | // 58: '', |
| | | // 59: '', |
| | | // 60: '', |
| | | // 61: '', |
| | | // 62: '', |
| | | // 63: '', |
| | | // 64: '', |
| | | // 65: '', |
| | | // 66: '', |
| | | // 67: '', |
| | | // 68: '', |
| | | // 69: '', |
| | | // 70: '', |
| | | // 71: '', |
| | | // 72: '', |
| | | // 73: '', |
| | | // 74: '', |
| | | // 75: '75°C', |
| | | // 76: '', |
| | | // 77: '', |
| | | // 78: '', |
| | | // 79: '', |
| | | // 80: '', |
| | | // 81: '', |
| | | // 82: '', |
| | | // 83: '', |
| | | // 84: '', |
| | | // 85: '', |
| | | // 86: '', |
| | | // 87: '', |
| | | // 88: '', |
| | | // 89: '', |
| | | // 90: '', |
| | | // 91: '', |
| | | // 92: '', |
| | | // 93: '', |
| | | // 94: '', |
| | | // 95: '', |
| | | // 96: '', |
| | | // 97: '', |
| | | // 98: '', |
| | | // 99: '', |
| | | // 100: '100°C', |
| | | // }) |
| | | const marks = ref<Record<number, any>>({ |
| | | 0: '0°C', |
| | | 1: '', |
| | | 2: '', |
| | | 3: '', |
| | | 4: '', |
| | | 5: '', |
| | | 6: '', |
| | | 7: '', |
| | | 8: '', |
| | | 9: '', |
| | | 10: '', |
| | | 11: '', |
| | | 12: '', |
| | | 13: '', |
| | | 14: '', |
| | | 15: '', |
| | | 16: '', |
| | | 17: '', |
| | | 18: '', |
| | | 19: '', |
| | | 20: '', |
| | | 21: '', |
| | | 22: '', |
| | | 23: '', |
| | | 24: '', |
| | | 25: '25°C', |
| | | 26: '', |
| | | 27: '', |
| | | 28: '', |
| | | 29: '', |
| | | 30: '', |
| | | 31: '', |
| | | 32: '', |
| | | 33: '', |
| | | 34: '', |
| | | 35: '', |
| | | 36: '', |
| | | 37: '', |
| | | 38: '', |
| | | 39: '', |
| | | 40: '', |
| | | 41: '', |
| | | 42: '', |
| | | 43: '', |
| | | 44: '', |
| | | 45: '', |
| | | 46: '', |
| | | 47: '', |
| | | 48: '', |
| | | 49: '', |
| | | 50: '50°C', |
| | | 51: '', |
| | | 52: '', |
| | | 53: '', |
| | | 54: '', |
| | | 55: '', |
| | | 56: '', |
| | | 57: '', |
| | | 58: '', |
| | | 59: '', |
| | | 60: '', |
| | | 61: '', |
| | | 62: '', |
| | | 63: '', |
| | | 64: '', |
| | | 65: '', |
| | | 66: '', |
| | | 67: '', |
| | | 68: '', |
| | | 69: '', |
| | | 70: '', |
| | | 71: '', |
| | | 72: '', |
| | | 73: '', |
| | | 74: '', |
| | | 75: '75°C', |
| | | 76: '', |
| | | 77: '', |
| | | 78: '', |
| | | 79: '', |
| | | 80: '', |
| | | 81: '', |
| | | 82: '', |
| | | 83: '', |
| | | 84: '', |
| | | 85: '', |
| | | 86: '', |
| | | 87: '', |
| | | 88: '', |
| | | 89: '', |
| | | 90: '', |
| | | 91: '', |
| | | 92: '', |
| | | 93: '', |
| | | 94: '', |
| | | 95: '', |
| | | 96: '', |
| | | 97: '', |
| | | 98: '', |
| | | 99: '', |
| | | 100: '100°C', |
| | | }) |
| | | const eqps = ref([] as dryEquipment[]) |
| | | //console.log(`output->router.currentRoute.value.params.num `, router.currentRoute.value.query) |
| | | console.log(`output->router.currentRoute.value.params.num `, router.currentRoute.value.query) |
| | | const eqp = ref({} as dryEquipment) |
| | | const eqpNum = ref(router.currentRoute.value.query.num || 1) |
| | | const userStore = useUserStore() |
| | |
| | | statusGif = 'tmrefeng2' |
| | | realData.value.herbImage = 'yaocai1.png' |
| | | var moisChart: echarts.ECharts |
| | | // var waterChart: echarts.ECharts |
| | | var waterChart: echarts.ECharts |
| | | |
| | | var bellowsTempChart: echarts.ECharts |
| | | // var fanFreqChart: echarts.ECharts |
| | | // var progressBarChart: echarts.ECharts |
| | | var progressBarChart: echarts.ECharts |
| | | var efficiencyLineChart: echarts.ECharts |
| | | |
| | | var compareChart: echarts.ECharts |
| | |
| | | function initCharts() { |
| | | let domId = 'moisChart' |
| | | let chartDom: HTMLElement = document.getElementById(domId) as HTMLElement |
| | | // let waterDom: HTMLElement = document.getElementById('moisture') as HTMLElement |
| | | let waterDom: HTMLElement = document.getElementById('moisture') as HTMLElement |
| | | let bellowsTempDom: HTMLElement = document.getElementById('bellowsTemp') as HTMLElement |
| | | // let fanFreqDom: HTMLElement = document.getElementById('fanFreq') as HTMLElement |
| | | // let progressBarDom: HTMLElement = document.getElementById('progressBar') as HTMLElement |
| | | // let efficiencyLineDom: HTMLElement = document.getElementById('efficiencyLine') as HTMLElement |
| | | let progressBarDom: HTMLElement = document.getElementById('progressBar') as HTMLElement |
| | | let efficiencyLineDom: HTMLElement = document.getElementById('efficiencyLine') as HTMLElement |
| | | // let weightDom: HTMLElement = document.getElementById('weight') as HTMLElement |
| | | let compaerDom: HTMLElement = document.getElementById('compare') as HTMLElement |
| | | moisChart = echarts.init(chartDom) |
| | | // waterChart = echarts.init(waterDom) |
| | | waterChart = echarts.init(waterDom) |
| | | bellowsTempChart = echarts.init(bellowsTempDom) |
| | | // fanFreqChart = echarts.init(fanFreqDom) |
| | | // progressBarChart = echarts.init(progressBarDom) |
| | | // efficiencyLineChart = echarts.init(efficiencyLineDom) |
| | | progressBarChart = echarts.init(progressBarDom) |
| | | efficiencyLineChart = echarts.init(efficiencyLineDom) |
| | | compareChart = echarts.init(compaerDom) |
| | | |
| | | const option = { |
| | |
| | | smooth: true, |
| | | symbol: 'none', |
| | | data: [ |
| | | [1, 1], |
| | | [2, 2], |
| | | |
| | | ], |
| | | lineStyle: { |
| | | width: 1, |
| | |
| | | smooth: true, |
| | | symbol: 'none', |
| | | data: [ |
| | | [1, 10], |
| | | [2, 20], |
| | | |
| | | ], |
| | | lineStyle: { |
| | | width: 1, |
| | |
| | | }, |
| | | ], |
| | | } |
| | | // const waterOption = { |
| | | // series: [ |
| | | // { |
| | | // type: 'liquidFill', |
| | | // radius: '100%', |
| | | // //waveAnimation: false, |
| | | // amplitude: 3, |
| | | // animationDuration: 5, |
| | | // //animationDurationUpdate: 0, |
| | | // data: [0.56, 0.44, 0.32], |
| | | // 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: { |
| | | // show: false, |
| | | // }, |
| | | // label: { |
| | | // // formatter: function () { |
| | | // // //console.log(`output->params`,params,mois.value) |
| | | const waterOption = { |
| | | series: [ |
| | | { |
| | | type: 'liquidFill', |
| | | radius: '100%', |
| | | //waveAnimation: false, |
| | | amplitude: 3, |
| | | animationDuration: 5, |
| | | //animationDurationUpdate: 0, |
| | | 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: { |
| | | show: false, |
| | | }, |
| | | label: { |
| | | // formatter: function () { |
| | | // //console.log(`output->params`,params,mois.value) |
| | | |
| | | // // return ( |
| | | // // '' + |
| | | // // // +'初始'+(mois.value[0]*100).toFixed(2) + '%\n\n\n' |
| | | // // (mois.value[1] * 100).toFixed(2) + |
| | | // // '%' |
| | | // // // + '\n\n\n目标'+(mois.value[2]*100).toFixed(2) + '%' |
| | | // // ) |
| | | // // }, |
| | | // fontSize: 20, |
| | | // //position: ['50%',(100-mois.value[1]*100).toFixed(2) + '%'], |
| | | // }, |
| | | // }, |
| | | // ], |
| | | // } |
| | | // return ( |
| | | // '' + |
| | | // // +'初始'+(mois.value[0]*100).toFixed(2) + '%\n\n\n' |
| | | // (mois.value[1] * 100).toFixed(2) + |
| | | // '%' |
| | | // // + '\n\n\n目标'+(mois.value[2]*100).toFixed(2) + '%' |
| | | // ) |
| | | // }, |
| | | fontSize: 20, |
| | | //position: ['50%',(100-mois.value[1]*100).toFixed(2) + '%'], |
| | | }, |
| | | }, |
| | | ], |
| | | } |
| | | |
| | | const bellowsOption = { |
| | | series: [ |
| | |
| | | }, |
| | | data: [ |
| | | { |
| | | value: 20, |
| | | value: 0, |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | }, |
| | | data: [ |
| | | { |
| | | value: 20, |
| | | value: 0, |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | // ], |
| | | // } |
| | | |
| | | // const progressBarOption = { |
| | | // // tooltip: { |
| | | // // trigger: 'axis', |
| | | // // axisPointer: { |
| | | // // // Use axis to trigger tooltip |
| | | // // type: 'shadow', // 'shadow' as default; can also be 'line' or 'shadow' |
| | | // // }, |
| | | // // }, |
| | | // // color: [ |
| | | // // '#0653F6', |
| | | // // // '#1B61E7', |
| | | // // '#3673D5', |
| | | // // // '#4A80C8', |
| | | // // '#608FB8', |
| | | // // // '#719BAD', |
| | | // // '#82A6A1', |
| | | // // // '#8DAD9A', |
| | | // // '#9CB790', |
| | | // // // '#A7BE88', |
| | | // // '#B3C681', |
| | | // // '#CAD671', |
| | | // // '#DBE165', |
| | | // // ], |
| | | // animation: false, // 关闭动画 |
| | | // color: ['#397FD7', '#2D8CDE', '#239CE5', '#1DA4E8', '#14B2EF', '#0BC4FA', '#02D2FF', '#19EEFF', '#33FAFF', '#5EFFF8'], |
| | | // grid: { |
| | | // top: '12%', |
| | | // left: '20', |
| | | // right: '55', |
| | | // bottom: '3%', |
| | | // containLabel: true, |
| | | // }, |
| | | // xAxis: { |
| | | // min: 0, |
| | | // max: 150, |
| | | // show: false, |
| | | // type: 'value', |
| | | // axisLine: { |
| | | // show: false, |
| | | // }, |
| | | // axisTick: { |
| | | // show: false, |
| | | // }, |
| | | // }, |
| | | // yAxis: { |
| | | // show: false, |
| | | // axisLine: { |
| | | // show: false, |
| | | // }, |
| | | // axisTick: { |
| | | // show: false, |
| | | // }, |
| | | // type: 'category', |
| | | // data: ['时间'], |
| | | // }, |
| | | // series: [ |
| | | // // { |
| | | // // name: '第一阶段', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // barWidth: 26, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [30], |
| | | // // }, |
| | | // // { |
| | | // // name: '第二阶段', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [30], |
| | | // // }, |
| | | // // { |
| | | // // name: 'Affiliate Ad', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [20], |
| | | // // }, |
| | | // // { |
| | | // // name: 'Video Ad', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [15], |
| | | // // }, |
| | | // // { |
| | | // // name: 'Search Engine', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [10], |
| | | // // }, |
| | | // // { |
| | | // // name: 'df Engine', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [5], |
| | | // // }, |
| | | // // { |
| | | // // name: 'df Engine', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [5], |
| | | // // }, |
| | | // // { |
| | | // // name: 'df Engine', |
| | | // // type: 'bar', |
| | | // // stack: 'total', |
| | | // // label: { |
| | | // // show: true, |
| | | // // }, |
| | | // // emphasis: { |
| | | // // focus: 'series', |
| | | // // }, |
| | | // // data: [ |
| | | // // { |
| | | // // value: 35, |
| | | // // itemStyle: { |
| | | // // color: '#c0c0c0', |
| | | // // }, |
| | | // // }, |
| | | // // ], |
| | | // // }, |
| | | // ], |
| | | // } |
| | | const progressBarOption = { |
| | | // tooltip: { |
| | | // trigger: 'axis', |
| | | // axisPointer: { |
| | | // // Use axis to trigger tooltip |
| | | // type: 'shadow', // 'shadow' as default; can also be 'line' or 'shadow' |
| | | // }, |
| | | // }, |
| | | // color: [ |
| | | // '#0653F6', |
| | | // // '#1B61E7', |
| | | // '#3673D5', |
| | | // // '#4A80C8', |
| | | // '#608FB8', |
| | | // // '#719BAD', |
| | | // '#82A6A1', |
| | | // // '#8DAD9A', |
| | | // '#9CB790', |
| | | // // '#A7BE88', |
| | | // '#B3C681', |
| | | // '#CAD671', |
| | | // '#DBE165', |
| | | // ], |
| | | animation: false, // 关闭动画 |
| | | color: ['#397FD7', '#2D8CDE', '#239CE5', '#1DA4E8', '#14B2EF', '#0BC4FA', '#02D2FF', '#19EEFF', '#33FAFF', '#5EFFF8', '#60FFFE', '#64FAFF', '#70FFFF', '#7BFFFF', '#88FFFD', '#97FFFF', '#A5FFFD', '#B1FFFF', '#BFFFFF', '#CAFFFF'], |
| | | grid: { |
| | | top: '12%', |
| | | left: '20', |
| | | right: '55', |
| | | bottom: '3%', |
| | | containLabel: true, |
| | | }, |
| | | xAxis: { |
| | | min: 0, |
| | | max: 150, |
| | | show: false, |
| | | type: 'value', |
| | | axisLine: { |
| | | show: false, |
| | | }, |
| | | axisTick: { |
| | | show: false, |
| | | }, |
| | | }, |
| | | yAxis: { |
| | | show: false, |
| | | axisLine: { |
| | | show: false, |
| | | }, |
| | | axisTick: { |
| | | show: false, |
| | | }, |
| | | type: 'category', |
| | | data: ['时间'], |
| | | }, |
| | | series: [ |
| | | // { |
| | | // name: '第一阶段', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // barWidth: 26, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [30], |
| | | // }, |
| | | // { |
| | | // name: '第二阶段', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [30], |
| | | // }, |
| | | // { |
| | | // name: 'Affiliate Ad', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [20], |
| | | // }, |
| | | // { |
| | | // name: 'Video Ad', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [15], |
| | | // }, |
| | | // { |
| | | // name: 'Search Engine', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [10], |
| | | // }, |
| | | // { |
| | | // name: 'df Engine', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [5], |
| | | // }, |
| | | // { |
| | | // name: 'df Engine', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [5], |
| | | // }, |
| | | // { |
| | | // name: 'df Engine', |
| | | // type: 'bar', |
| | | // stack: 'total', |
| | | // label: { |
| | | // show: true, |
| | | // }, |
| | | // emphasis: { |
| | | // focus: 'series', |
| | | // }, |
| | | // data: [ |
| | | // { |
| | | // value: 35, |
| | | // itemStyle: { |
| | | // color: '#c0c0c0', |
| | | // }, |
| | | // }, |
| | | // ], |
| | | // }, |
| | | ], |
| | | } |
| | | |
| | | // const efficiencyLineOption = { |
| | | // title: {}, |
| | | // tooltip: { |
| | | // trigger: 'axis', |
| | | // }, |
| | | // grid: { |
| | | // top: '30%', |
| | | // left: '17', |
| | | // right: '57', |
| | | // bottom: '0%', |
| | | // containLabel: true, |
| | | // }, |
| | | // legend: { |
| | | // right: 60, |
| | | // textStyle: { |
| | | // color: '#fff', |
| | | // }, |
| | | // }, |
| | | // xAxis: { |
| | | // show: false, |
| | | // axisLine: { |
| | | // show: false, |
| | | // }, |
| | | // axisTick: { |
| | | // show: false, |
| | | // }, |
| | | // type: 'value', |
| | | // min: 0, |
| | | // max: 150, |
| | | // // data: [15, 15, 10, 7.5, 5, 2.5, 2.5, 1], |
| | | // }, |
| | | // yAxis: { |
| | | // show: false, |
| | | // axisLine: { |
| | | // show: false, |
| | | // }, |
| | | // axisTick: { |
| | | // show: false, |
| | | // }, |
| | | // type: 'value', |
| | | // axisLabel: { |
| | | // formatter: '{value} °C', |
| | | // }, |
| | | // // max: standard.value.xiaolv + 3, |
| | | // }, |
| | | // series: [ |
| | | // { |
| | | // name: '干燥效率', |
| | | // type: 'line', |
| | | // lineStyle: { |
| | | // width: 1, |
| | | // }, |
| | | // // [[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: [ |
| | | // { type: 'max', name: 'Max' }, |
| | | // { type: 'min', name: 'Min' }, |
| | | // ], |
| | | // }, |
| | | // markLine: { |
| | | // symbol: 'none', |
| | | // data: [ |
| | | // { |
| | | // name: '额定', |
| | | // yAxis: standard.value.xiaolv, |
| | | // }, |
| | | // ], |
| | | // label: { |
| | | // formatter: '{b}\n{c}', |
| | | // color: '#fff', |
| | | // }, |
| | | // }, |
| | | // // markLine: { |
| | | // // data: [{ type: 'average', name: 'Avg' }], |
| | | // // }, |
| | | // }, |
| | | // ], |
| | | // } |
| | | const efficiencyLineOption = { |
| | | title: {}, |
| | | tooltip: { |
| | | trigger: 'axis', |
| | | }, |
| | | grid: { |
| | | top: '30%', |
| | | left: '17', |
| | | right: '57', |
| | | bottom: '0%', |
| | | containLabel: true, |
| | | }, |
| | | legend: { |
| | | right: 60, |
| | | textStyle: { |
| | | color: '#fff', |
| | | }, |
| | | }, |
| | | xAxis: { |
| | | show: false, |
| | | axisLine: { |
| | | show: false, |
| | | }, |
| | | axisTick: { |
| | | show: false, |
| | | }, |
| | | type: 'value', |
| | | min: 0, |
| | | max: 150, |
| | | // data: [15, 15, 10, 7.5, 5, 2.5, 2.5, 1], |
| | | }, |
| | | yAxis: { |
| | | show: false, |
| | | axisLine: { |
| | | show: false, |
| | | }, |
| | | axisTick: { |
| | | show: false, |
| | | }, |
| | | type: 'value', |
| | | axisLabel: { |
| | | formatter: '{value} °C', |
| | | }, |
| | | // max: eqp.value.dryEfficiency + 3, |
| | | }, |
| | | series: [ |
| | | { |
| | | name: '干燥效率', |
| | | type: 'line', |
| | | lineStyle: { |
| | | width: 1, |
| | | }, |
| | | // [[15,10], [15,11], [10,6], [7.5,12], [5,12], [2.5,5], [2.5,9], [1,7]] |
| | | data: [ |
| | | |
| | | ], |
| | | markPoint: { |
| | | data: [ |
| | | { type: 'max', name: 'Max' }, |
| | | { type: 'min', name: 'Min' }, |
| | | ], |
| | | }, |
| | | markLine: { |
| | | symbol: 'none', |
| | | data: [ |
| | | { |
| | | name: '额定', |
| | | yAxis: 100, |
| | | }, |
| | | ], |
| | | label: { |
| | | formatter: '{b}\n{c}', |
| | | color: '#fff', |
| | | }, |
| | | }, |
| | | // markLine: { |
| | | // data: [{ type: 'average', name: 'Avg' }], |
| | | // }, |
| | | }, |
| | | ], |
| | | } |
| | | |
| | | const compareOption = { |
| | | tooltip: { |
| | |
| | | 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', |
| | |
| | | } |
| | | |
| | | option && moisChart.setOption(option) |
| | | // waterOption && waterChart.setOption(waterOption) |
| | | waterOption && waterChart.setOption(waterOption) |
| | | bellowsOption && bellowsTempChart.setOption(bellowsOption) |
| | | // fanFreqOption && fanFreqChart.setOption(fanFreqOption) |
| | | |
| | | // progressBarOption && progressBarChart.setOption(progressBarOption) |
| | | // efficiencyLineOption && efficiencyLineChart.setOption(efficiencyLineOption) |
| | | progressBarOption && progressBarChart.setOption(progressBarOption) |
| | | efficiencyLineOption && efficiencyLineChart.setOption(efficiencyLineOption) |
| | | compareOption && compareChart.setOption(compareOption) |
| | | } |
| | | |
| | |
| | | |
| | | // 动态读取图片 |
| | | function getStatusImageUrl(name: string) { |
| | | return new URL(`/src/assets/images/dry/${name}.gif`, import.meta.url).href |
| | | if (name =='zanting') { |
| | | return new URL(`/src/assets/images/dry/${name}.png`, import.meta.url).href |
| | | } else { |
| | | return new URL(`/src/assets/images/dry/${name}.gif`, import.meta.url).href |
| | | } |
| | | |
| | | } |
| | | function queryEqp() { |
| | | 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) |
| | | }) |
| | |
| | | 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) => { |
| | |
| | | (res.trendVo.moisture / 100 / 1.5).toFixed(2), |
| | | (res.trendVo.moisture / 100 / 3).toFixed(2), |
| | | ] |
| | | // if (waterChart) { |
| | | // waterChart.setOption({ |
| | | // series: [ |
| | | // { |
| | | // data: res.mois, |
| | | // label: { |
| | | // formatter: function () { |
| | | // return res.trendVo.moisture + '%' |
| | | // }, |
| | | // fontSize: 20, |
| | | // }, |
| | | // }, |
| | | // ], |
| | | // }) |
| | | // } |
| | | if (waterChart) { |
| | | waterChart.setOption({ |
| | | series: [ |
| | | { |
| | | data: res.mois, |
| | | label: { |
| | | formatter: function () { |
| | | return res.trendVo.moisture + '%' |
| | | }, |
| | | fontSize: 20, |
| | | }, |
| | | }, |
| | | ], |
| | | }) |
| | | } |
| | | |
| | | /**温度环形图 */ |
| | | if (bellowsTempChart) { |
| | | bellowsTempChart.setOption({ |
| | | series: [{ data: [{ value: res.windTemp }] }, { data: [{ value: res.windTemp }] }], |
| | | series: [{ data: [{ value: res.trendVo.bellowsTemp }] }, { data: [{ value: res.trendVo.bellowsTemp }] }], |
| | | }) |
| | | } |
| | | /**风机频率环形图 */ |
| | |
| | | /**干燥进度、走势与阶段效率和阶段消耗 */ |
| | | if (res && res.detailList) { |
| | | var progressSeries = [] |
| | | var ganZaoXiaoLv = [] |
| | | |
| | | var zhengQiXiaoHao = [] |
| | | var dianNengXiaoHao = [] |
| | | var ganZaoXiaoLv = [] |
| | | var totalTime = 0 |
| | | var beforeWeight = 0 |
| | | res.moisList = [] |
| | |
| | | //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) { |
| | |
| | | }) |
| | | } |
| | | |
| | | // 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) |
| | |
| | | } |
| | | |
| | | /**干燥进度 */ |
| | | // if (progressBarChart) { |
| | | // //console.log(`output->progressSeries`, progressSeries) |
| | | // progressBarChart.setOption( |
| | | // { |
| | | // xAxis: { |
| | | // max: totalTime + res.remain, |
| | | // }, |
| | | // series: progressSeries, |
| | | // }, |
| | | // { replaceMerge: ['series'] } |
| | | // ) |
| | | // } |
| | | if (progressBarChart) { |
| | | //console.log(`output->progressSeries`, progressSeries) |
| | | progressBarChart.setOption( |
| | | { |
| | | xAxis: { |
| | | max: totalTime + res.remain, |
| | | }, |
| | | series: progressSeries, |
| | | }, |
| | | { replaceMerge: ['series'] } |
| | | ) |
| | | } |
| | | |
| | | res.totalTime = totalTime + res.remain |
| | | console.log("efficAvg::",res.efficAvg); |
| | | /**干燥效率、消耗 */ |
| | | // if (efficiencyLineChart) { |
| | | // //console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv) |
| | | // efficiencyLineChart.setOption({ |
| | | // xAxis: { |
| | | // max: totalTime + res.remain, |
| | | // }, |
| | | // series: [ |
| | | // { |
| | | // data: ganZaoXiaoLv, |
| | | // markLine: { |
| | | // symbol: 'none', |
| | | // data: [ |
| | | // { |
| | | // name: '额定', |
| | | // yAxis: standard.value.xiaolv, |
| | | // }, |
| | | // ], |
| | | // label: { |
| | | // formatter: '{b}\n{c}', |
| | | // color: '#fff', |
| | | // }, |
| | | // }, |
| | | // }, |
| | | // { data: zhengQiXiaoHao }, |
| | | // { data: dianNengXiaoHao }, |
| | | // ], |
| | | // }) |
| | | // } |
| | | if (efficiencyLineChart) { |
| | | //console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv) |
| | | efficiencyLineChart.setOption({ |
| | | xAxis: { |
| | | max: totalTime + res.remain, |
| | | }, |
| | | series: [ |
| | | { |
| | | data: ganZaoXiaoLv, |
| | | markLine: { |
| | | symbol: 'none', |
| | | data: [ |
| | | { |
| | | name: '额定', |
| | | yAxis: res.efficAvg|0, |
| | | }, |
| | | ], |
| | | label: { |
| | | formatter: '{b}\n{c}', |
| | | color: '#fff', |
| | | }, |
| | | }, |
| | | }, |
| | | { data: zhengQiXiaoHao }, |
| | | { data: dianNengXiaoHao }, |
| | | ], |
| | | }) |
| | | } |
| | | |
| | | res.moisList.push([res.dryTime, res.trendVo.moisture]) |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | 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 |
| | | } |
| | | |
| | | if (res.xiaolv > standard.value.xiaolv) { |
| | | res.xiaolv = Number(res.xiaolv) |
| | | //eqp.value.dryEfficiency = Number(eqp.value.dryEfficiency) |
| | | if (res.xiaolv > res.efficAvg) { |
| | | console.log("xiaolv:",res , eqp); |
| | | res.xlgood = true |
| | | res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%' |
| | | res.xlsHeight = (res.efficAvg / res.xiaolv) * 100 + '%' |
| | | res.xlrHeight = '100%' |
| | | } else if (res.xiaolv < standard.value.xlMin) { |
| | | } else if (res.xiaolv < res.efficAvg * 0.9) { |
| | | res.xlbad = true |
| | | res.xlsHeight = '100%' |
| | | res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%' |
| | | res.xlrHeight = (res.xiaolv / res.efficAvg) * 100 + '%' |
| | | } else { |
| | | res.xlsHeight = '100%' |
| | | res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%' |
| | | res.xlrHeight = (res.xiaolv / res.efficAvg) * 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) |
| | | } |
| | | //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 > res.steamAvg) { |
| | | res.zqbad = true |
| | | res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%' |
| | | res.zqsHeight = (res.steamAvg / res.zhengqi) * 100 + '%' |
| | | res.zqrHeight = '100%' |
| | | } else if (res.zhengqi < standard.value.zqMin) { |
| | | } else if (res.zhengqi < res.steamAvg * 0.9) { |
| | | res.zqgood = true |
| | | res.zqsHeight = '100%' |
| | | res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%' |
| | | res.zqrHeight = (res.zhengqi / res.steamAvg) * 100 + '%' |
| | | } else { |
| | | res.zqsHeight = '100%' |
| | | res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%' |
| | | res.zqrHeight = (res.zhengqi / res.steamAvg) * 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) |
| | | } |
| | | |
| | | 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 > res.wattAvg) { |
| | | console.log("dian::", res.dian,res.wattAvg ) |
| | | res.dnbad = true |
| | | res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%' |
| | | res.dnsHeight = (res.wattAvg / res.dian) * 100 + '%' |
| | | res.dnrHeight = '100%' |
| | | } else if (res.dian < standard.value.dMin) { |
| | | } else if (res.dian < res.wattAvg * 0.9) { |
| | | res.dngood = true |
| | | res.dnsHeight = '100%' |
| | | res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%' |
| | | res.dnrHeight = (res.dian / res.wattAvg) * 100 + '%' |
| | | } else { |
| | | res.dnsHeight = '100%' |
| | | res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%' |
| | | res.dnrHeight = (res.dian / res.wattAvg) * 100 + '%' |
| | | } |
| | | |
| | | //console.log('state:::fan::', res.state_fan, 'roller::', res.state_roller, 'windbox::', res.state_windbox) |
| | |
| | | statusTxt = '上料' |
| | | setTimeout(chaiwangban, 4000) |
| | | } else if (res.orderStatus == 2) { |
| | | if (res.state_fan == 1) { |
| | | statusTxt = res.level |
| | | statusGif = 'zanting' |
| | | if (res.level === '准备阶段') { |
| | | console.log("准备阶段" + statusGif); |
| | | statusGif = 'zanting' |
| | | } else if (res.level === '干燥阶段' || res.level === '正在干燥') { |
| | | statusGif = 'tmrefeng2' |
| | | statusTxt = '正在干燥' |
| | | } |
| | | |
| | | if (res.state_roller == 4) { |
| | | } else if (res.level === '翻料阶段') { |
| | | statusGif = 'fanliao-N' |
| | | statusTxt = '正在翻料' |
| | | } |
| | | |
| | | if (res.state_roller == 5) { |
| | | } else if (res.level === '出料阶段') { |
| | | statusGif = 'chuliao-N' |
| | | statusTxt = '正在出料' |
| | | } |
| | | // if (res.state_fan == 1) { |
| | | // statusGif = 'tmrefeng2' |
| | | // statusTxt = '正在干燥' |
| | | // } |
| | | |
| | | if (res.state_windbox == 2 || res.state_windbox == 3) { |
| | | statusGif = 'fengxiangsheng-1' |
| | | statusTxt = '正在干燥' |
| | | } |
| | | // if (res.state_roller == 4) { |
| | | // statusGif = 'fanliao-N' |
| | | // statusTxt = '正在翻料' |
| | | // } |
| | | |
| | | // if (res.state_roller == 5) { |
| | | // statusGif = 'chuliao-N' |
| | | // statusTxt = '正在出料' |
| | | // } |
| | | |
| | | // if (res.state_windbox == 2 || res.state_windbox == 3) { |
| | | // statusGif = 'fengxiangsheng-1' |
| | | // statusTxt = '正在干燥' |
| | | // } |
| | | } else if (res.orderStatus == 3) { |
| | | statusGif = 'zanting' |
| | | statusTxt = '暂停' |
| | |
| | | } else if (res.herbName == '桑白皮') { |
| | | res.herbImage = 'sangbaipi.png' |
| | | } |
| | | |
| | | res.isError = false |
| | | if (res.fault) { |
| | | res.isError = true |
| | | res.errorMsg = res.fault |
| | | } |
| | | |
| | | res.errorMsg = '有一个故障,请检查。' |
| | | if (res.warning) { |
| | | res.isWarning = true |
| | | res.warnMsg = res.warning |
| | | } |
| | | } else { |
| | | res = { |
| | | mois: [], |
| | |
| | | } |
| | | } |
| | | |
| | | //console.log(`output->res`, res) |
| | | // console.log(`output->res`, res.detailList[res.detailList.length-1]) |
| | | realData.value = res |
| | | }) |
| | | } |
| | |
| | | |
| | | .eqpStatus { |
| | | width: 848px; |
| | | height: 300px; |
| | | |
| | | padding: 100px; |
| | | |
| | | } |
| | | .rightInfo { |
| | | display: flex; |
| | |
| | | } |
| | | .herbInfo { |
| | | width: 340px; |
| | | height: 510px; |
| | | height: 440px; |
| | | color: #727272; |
| | | } |
| | | |
| | |
| | | .curHerb { |
| | | margin-top: 10px; |
| | | width: 340px; |
| | | height: 320px; |
| | | height: 260px; |
| | | /* background: white; |
| | | border-radius: 10px; */ |
| | | |
| | |
| | | .formula { |
| | | display: flex; |
| | | width: 340px; |
| | | height: 60px; |
| | | height: 40px; |
| | | padding: 0 20px; |
| | | justify-content: space-around; |
| | | justify-items: center; |
| | |
| | | .formulaItem { |
| | | display: flex; |
| | | justify-content: center; |
| | | width: 100px; |
| | | width: 85px; |
| | | height: 40px; |
| | | } |
| | | |
| | |
| | | position: absolute; |
| | | top: 10px; |
| | | left: 0px; |
| | | } |
| | | |
| | | :deep() .ant-progress-text { |
| | | color: white; |
| | | } |
| | | :deep() .ant-slider-rail { |
| | | width: 10px !important; |
| | |
| | | border: none; |
| | | background: #ce0000; |
| | | } |
| | | /* :deep() .progress { |
| | | padding: 15px 15px; |
| | | :deep() .progress { |
| | | padding: 25px 25px; |
| | | |
| | | width: 360px; |
| | | display: flex; |
| | | } */ |
| | | } |
| | | :deep() .ant-progress-bg { |
| | | height: 15px !important; |
| | | height: 25px !important; |
| | | } |
| | | .outDiv { |
| | | display: flex; |
| | |
| | | text-align: center; |
| | | } |
| | | |
| | | .flex { |
| | | display: flex; |
| | | } |
| | | .centerText { |
| | | width: 100%; |
| | | text-align: center; |
| | |
| | | -webkit-transform: scale(1.1); |
| | | opacity: 0; |
| | | } |
| | | } |
| | | .timeProgress { |
| | | width: 260px; |
| | | height: 60px; |
| | | margin-left: 40px; |
| | | margin-top: 50px; |
| | | } |
| | | .leftLabel { |
| | | width: 50px; |
| | | margin-top: -10px; |
| | | } |
| | | </style> |