From b1d02b024d353597483b4bb32e24ebd776008e0e Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期四, 09 一月 2025 15:21:58 +0800 Subject: [PATCH] 修改报警解除后界面仍显示问题 --- src/views/dry/bigScreen/BigEqp.vue | 733 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 614 insertions(+), 119 deletions(-) diff --git a/src/views/dry/bigScreen/BigEqp.vue b/src/views/dry/bigScreen/BigEqp.vue index c609eae..37c7b7b 100644 --- a/src/views/dry/bigScreen/BigEqp.vue +++ b/src/views/dry/bigScreen/BigEqp.vue @@ -27,23 +27,23 @@ </div> <div class="formula"> <div class="formulaItem"> - <Icon style="color: powderblue" icon="icon-park-twotone:box" :size="35" /> + <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> @@ -96,7 +96,7 @@ <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> @@ -105,42 +105,249 @@ <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?.isError" - class="eqpInfoText blingbling" - style=" - position: absolute; - font-size: 30px; - max-height: 200px; - max-width: 720px; - border-radius: 10px; - background-color: #ce0000; - color: white; - padding: 10px; - " - > - <div class="outDiv"> - <div><Icon icon="bx:error" :size="30" /> </div> - <div - ><span>{{ realData?.errorMsg }}</span></div - > - </div> - </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 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> @@ -154,7 +361,7 @@ <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">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> @@ -189,8 +396,8 @@ <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"> @@ -212,7 +419,7 @@ </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> @@ -223,7 +430,7 @@ </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" @@ -246,8 +453,8 @@ <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"> @@ -263,7 +470,7 @@ </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> @@ -274,7 +481,7 @@ </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" @@ -302,8 +509,8 @@ <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"> @@ -319,7 +526,7 @@ </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> @@ -330,7 +537,7 @@ </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" @@ -368,6 +575,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() @@ -479,7 +687,7 @@ 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() @@ -507,6 +715,40 @@ 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' @@ -618,8 +860,7 @@ smooth: true, symbol: 'none', data: [ - [1, 1], - [2, 2], + ], lineStyle: { width: 1, @@ -647,8 +888,7 @@ smooth: true, symbol: 'none', data: [ - [1, 10], - [2, 20], + ], lineStyle: { width: 1, @@ -699,7 +939,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: { @@ -790,7 +1030,7 @@ }, data: [ { - value: 20, + value: 0, }, ], }, @@ -828,7 +1068,7 @@ }, data: [ { - value: 20, + value: 0, }, ], }, @@ -960,7 +1200,7 @@ // '#DBE165', // ], animation: false, // 鍏抽棴鍔ㄧ敾 - color: ['#397FD7', '#2D8CDE', '#239CE5', '#1DA4E8', '#14B2EF', '#0BC4FA', '#02D2FF', '#19EEFF', '#33FAFF', '#5EFFF8'], + 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', @@ -1142,7 +1382,7 @@ axisLabel: { formatter: '{value} 掳C', }, - // max: standard.value.xiaolv + 3, + // max: eqp.value.dryEfficiency + 3, }, series: [ { @@ -1152,12 +1392,7 @@ 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], - ], + data: [], markPoint: { data: [ { type: 'max', name: 'Max' }, @@ -1169,7 +1404,7 @@ data: [ { name: '棰濆畾', - yAxis: standard.value.xiaolv, + yAxis: 100, }, ], label: { @@ -1214,7 +1449,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', @@ -1243,12 +1478,20 @@ // 鍔ㄦ�佽鍙栧浘鐗� 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) }) @@ -1307,7 +1550,11 @@ statusGif = 'chaiwangban-1' setTimeout(shangliao, 7000) } + function showFault () { + console.log('showFault') + router.push({ path: '/bigFault', query: { num: num } }) + } function shangliao() { statusGif = 'shangliao-N' setTimeout(() => { @@ -1325,7 +1572,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) => { @@ -1358,7 +1605,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 }] }], }) } /**椋庢満棰戠巼鐜舰鍥� */ @@ -1378,9 +1625,10 @@ /**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */ if (res && res.detailList) { var progressSeries = [] - var ganZaoXiaoLv = [] + var zhengQiXiaoHao = [] var dianNengXiaoHao = [] + var ganZaoXiaoLv = [] var totalTime = 0 var beforeWeight = 0 res.moisList = [] @@ -1390,7 +1638,7 @@ //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) { @@ -1433,8 +1681,11 @@ }) } - // 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) + // 骞茬嚗鍓╀綑鏃堕棿=宸ュ崟棰勮鍓╀綑-锛堝綋鍓嶅共鐕ユ椂闂�-鏈�鍚庝竴娆¤褰曞共鐕ユ椂闂达級 res.totalRemain = res.remain - (res.dryTime - totalTime) > 0 ? res.remain - (res.dryTime - totalTime) : 0 progressSeries.push({ name: '鍓╀綑', @@ -1472,6 +1723,7 @@ } res.totalTime = totalTime + res.remain + console.log("efficAvg::",res.efficAvg); /**骞茬嚗鏁堢巼銆佹秷鑰� */ if (efficiencyLineChart) { //console.log(`output->ganZaoXiaoLv`, ganZaoXiaoLv) @@ -1481,13 +1733,14 @@ }, series: [ { + name: '骞茬嚗鏁堢巼', data: ganZaoXiaoLv, markLine: { symbol: 'none', data: [ { name: '棰濆畾', - yAxis: standard.value.xiaolv, + yAxis: res.efficAvg|0, }, ], label: { @@ -1496,8 +1749,8 @@ }, }, }, - { data: zhengQiXiaoHao }, - { data: dianNengXiaoHao }, + // { data: zhengQiXiaoHao }, + // { data: dianNengXiaoHao }, ], }) } @@ -1546,64 +1799,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 } - - 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) @@ -1621,25 +1884,37 @@ 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 === '姝e湪骞茬嚗') { statusGif = 'tmrefeng2' - statusTxt = '姝e湪骞茬嚗' - } - - if (res.state_roller == 4) { + } else if (res.level === '缈绘枡闃舵') { statusGif = 'fanliao-N' - statusTxt = '姝e湪缈绘枡' - } - - if (res.state_roller == 5) { + } else if (res.level === '鍑烘枡闃舵') { statusGif = 'chuliao-N' - statusTxt = '姝e湪鍑烘枡' } + // if (res.state_fan == 1) { + // statusGif = 'tmrefeng2' + // statusTxt = '姝e湪骞茬嚗' + // } - if (res.state_windbox == 2 || res.state_windbox == 3) { - statusGif = 'fengxiangsheng-1' - statusTxt = '姝e湪骞茬嚗' - } + // if (res.state_roller == 4) { + // statusGif = 'fanliao-N' + // statusTxt = '姝e湪缈绘枡' + // } + + // if (res.state_roller == 5) { + // statusGif = 'chuliao-N' + // statusTxt = '姝e湪鍑烘枡' + // } + + // if (res.state_windbox == 2 || res.state_windbox == 3) { + // statusGif = 'fengxiangsheng-1' + // statusTxt = '姝e湪骞茬嚗' + // } } else if (res.orderStatus == 3) { statusGif = 'zanting' statusTxt = '鏆傚仠' @@ -1675,9 +1950,211 @@ } else if (res.herbName == '妗戠櫧鐨�') { res.herbImage = 'sangbaipi.png' } - res.isError = false - res.errorMsg = '鏈変竴涓晠闅滐紝璇锋鏌ャ��' + 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: [], @@ -1686,7 +2163,7 @@ } } - //console.log(`output->res`, res) + // console.log(`output->res`, res.detailList[res.detailList.length-1]) realData.value = res }) } @@ -1828,7 +2305,7 @@ margin-top: -30px; } .leftTop0 { - height: 600px; + height: 260px; width: 848px; display: flex; justify-content: center; @@ -1867,9 +2344,7 @@ .eqpStatus { width: 848px; - height: 300px; - - padding: 100px; + } .rightInfo { display: flex; @@ -2199,4 +2674,24 @@ 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> -- Gitblit v1.9.3