From d5b77e6f03d8477cbae9bc097f888caf939de00f Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期二, 24 十二月 2024 13:48:52 +0800 Subject: [PATCH] 修改报警解除后界面仍显示问题 --- src/views/dry/bigScreen/BigEqp.vue | 2070 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 1,276 insertions(+), 794 deletions(-) diff --git a/src/views/dry/bigScreen/BigEqp.vue b/src/views/dry/bigScreen/BigEqp.vue index d72d34e..584a7c7 100644 --- a/src/views/dry/bigScreen/BigEqp.vue +++ b/src/views/dry/bigScreen/BigEqp.vue @@ -1,144 +1,355 @@ <template> - <dv-full-screen-container> - <div class="eqpBox"> - <div class="eqpRow"> - <div class="eqpImage" :style="{'background-position':position + 'px'}"> - - <div class="leftEqp"> - <div style="width: 350px; "> - <div class="herbInfo"> - - <dv-border-box7 class="curEqp"> - <div class="eqpName" style="padding: 30px" @click="changeEqp"> - <div class="mainInfo" style="font-size: 26px">{{ eqp?.name }}</div> - <div class="subhead">{{ eqp?.type }}</div> - <dv-decoration-1 style="width:300px;height:90px; margin-left: 20px;" /> - <!-- 璁惧锛歿{ eqp.name }}</div> + <dv-full-screen-container> + <div class="eqpBox"> + <div class="eqpRow"> + <div class="eqpImage" :style="{ 'background-position': position + 'px' }"> + <div class="leftEqp"> + <div style="width: 350px"> + <div class="herbInfo"> + <dv-border-box7 class="curEqp"> + <div style="display: flex"> + <div style="padding-top: 20px; padding-left: 10px" @click="back"> + <Icon style="color: powderblue" icon="ion:caret-back-sharp" :size="35" /> + </div> + <div class="eqpName" style="text-align: right" @click="changeEqp"> + <div class="mainInfo" style="font-size: 26px">{{ eqp?.name }}</div> + <div class="subhead">{{ eqp?.type }}</div> + <dv-decoration-1 style="width: 240px; height: 90px; margin-left: 20px" /> + <!-- 璁惧锛歿{ eqp.name }}</div> <div class="eqpName">鍨嬪彿锛歿{ eqp.type }}</div> --> - </div> - </dv-border-box7> - <dv-border-box7 class="curHerb" :style="{'background-image': 'url('+getHerbImageUrl(realData?.herbImage)+')'}"> - <div class="eqpName" style="margin-left: 176px; height: 190px"> - <div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div> - <div class="subhead">骞茬嚗閰嶆柟</div> - </div> - <div class="formula"> - <div class="formulaItem"> - <Icon style="color: powderblue" icon="icon-park-twotone:box" :size="35" /> - <div> - <div class="mainInfo2">{{ realData?.feed }} 绛�</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="subhead2">鐑</div> + </dv-border-box7> + <dv-border-box7 class="curHerb" :style="{ 'background-image': 'url(' + getHerbImageUrl(realData?.herbImage) + ')' }"> + <div class="eqpName" style="margin-left: 156px; height: 190px"> + <div class="mainInfo" style="font-size: 26px">{{ realData?.herbName }}</div> + <div class="subhead">骞茬嚗閰嶆柟</div> + </div> + <div class="formula"> + <div class="formulaItem"> + <Icon style="color: powderblue" icon="la:box" :size="38" /> + <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 || 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 || 0 }} %</div> + <div class="subhead2">鐩爣</div> + </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="subhead2">鐩爣</div> - </div> - </div> - </div> - <!-- <div class="eqpName">{{ realData?.herbName }}</div> + <!-- <div class="eqpName">{{ realData?.herbName }}</div> <div class="eqpName">{{ realData?.feed }} 绛�</div> --> - </dv-border-box7> - </div> - <!-- <dv-border-box7 class="infoChart" style="margin-left: 0px;"> + </dv-border-box7> + </div> + <!-- <dv-border-box7 class="infoChart" style="margin-left: 0px;"> <div class="chartTittle">椋庢満棰戠巼</div> <div class="outDiv" style="padding-top: 10px"> <div id="fanFreq" style="width: 240px; height: 240px"></div> </div> </dv-border-box7> --> - <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 - > % + <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 || 0 }}</span> % + </div> + <div class="subhead2">鐩爣鍚按鐜�</div> </div> - <div class="subhead2">鐩爣鍚按鐜�</div> + </div> + <div class="center" style="height: 50%"> + <div> + <div class="mainInfo3" + ><span>{{ realData?.initial || 0 }}</span> %</div + > + <div class="subhead2">鏉ユ枡鍚按鐜�</div> + </div> </div> </div> - <div class="center" style="height: 50%"> - <div> - <div class="mainInfo3" - ><span>{{ realData?.initial }}</span - > %</div - > - <div class="subhead2">鏉ユ枡鍚按鐜�</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> + </dv-border-box7> + </div> + <dv-border-box7 class="leftTop"> + <div class="leftTop0"> + <div class="leftTop1"> + <Icon icon="emojione:hourglass-with-flowing-sand" :size="50" /> + <div> + <div class="mainInfo">{{ realData?.totalRemain | 0 }} Min</div> + <div class="subhead">鍓╀綑鏃堕棿</div> </div> </div> - <div id="moisture" style="width: 170px; height: 170px"></div> + <div class="leftTop1"> + <Icon icon="bi:fan" :size="50" /> + <div> + <div class="mainInfo">{{ realData?.trendVo?.fanFrequency | 0 }} Hz</div> + <div class="subhead">椋庢満棰戠巼</div> + </div> + </div> + <div class="leftTop3" :style="{ 'background-image': 'url(' + getStatusImageUrl(statusGif) + ')' }"></div> + <div class="outDiv eqpStatus"> + <div + style=" + font-size: 28px; + + color: white; + background-color: #1595ea; + height: 60px; + width: 180px; + line-height: 60px; + text-align: center; + 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 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 class="subhead2" style="margin-top: -37px; padding-left: 205px; font-weight: bold;">瀹炴椂鍚按鐜�</div> + <div style="width: 848px; height: 485px; position: absolute;" @click="showFault"> + <div v-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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-show="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> - </div> - <dv-border-box7 class="leftTop"> - <div class="leftTop0"> - <div class="leftTop1"> - <Icon icon="emojione:hourglass-with-flowing-sand" :size="50" /> - <div> - <div class="mainInfo">{{ realData?.totalRemain | 0 }} Min</div> - <div class="subhead">鍓╀綑鏃堕棿</div> - </div> - </div> - <div class="leftTop1"> - <Icon icon="bi:fan" :size="50" /> - <div> - <div class="mainInfo">{{ realData.trendVo?.fanFrequency | 0 }} Hz</div> - <div class="subhead">椋庢満棰戠巼</div> - </div> - </div> - <div class="leftTop3" :style="{ 'background-image': 'url(' + getStatusImageUrl(statusGif) + ')' }"></div> - <div class="outDiv eqpStatus"> - <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; - 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> - </div> - </dv-border-box7> - <dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px;"> + <dv-border-box7 class="infoChart" style="margin-left: 0px; margin-right: 10px"> <div class="chartTittle">椋庣娓╁害</div> <div class="outDiv"> <div id="bellowsTemp" style="width: 230px; height: 230px"> @@ -146,17 +357,17 @@ </div> </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 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; text-align: right">{{ realData?.totalTime | 0 }} min</div> - </div> - <div id="progressBar" style="width: 848px; height: 80px"></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 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; text-align: right">{{ realData?.totalTime | 0 }} min</div> + </div> + <div id="progressBar" style="width: 848px; height: 80px"></div> + </dv-border-box7> - <!-- <div class="outDiv"> + <!-- <div class="outDiv"> <div style="height: 100px; width: 400px"> <Progress :stroke-color="{ @@ -173,181 +384,186 @@ </div> </div> </div> --> - </div> - <div class="rightInfo"> - <div class="rightTop"> - - <dv-border-box7 class="tempMoisChart"> - <div :id="'moisChart'" style="width: 690px; height: 420px"></div> - </dv-border-box7> </div> - <div class="rightTwo"> - <dv-border-box7 class="infoChart"> - <div class="chartTittle"> - 骞茬嚗鏁堢巼(kg/h) - <div class="rightLabel"> - <div class="label good">>{{ standard.xiaolv }} 浼� </div> - <div class="label bad"><{{ standard.xlMin }} 宸�</div> - </div> - </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?.originWeight - realData?.yield) | 0 }}</span - > kg - </div> - <div class="subhead2">姘村垎钂稿彂</div> - </div> - </div> - <div class="center" style="height: 50%"> - <div> - <div class="mainInfo3">{{ realData?.dryTime | 0 }} min</div> - <div class="subhead2">骞茬嚗鐢ㄦ椂</div> - </div> + <div class="rightInfo"> + <div class="rightTop"> + <dv-border-box7 class="tempMoisChart"> + <div :id="'moisChart'" style="width: 690px; height: 420px"></div> + </dv-border-box7> + </div> + <div class="rightTwo"> + <dv-border-box7 class="infoChart"> + <div class="chartTittle"> + 骞茬嚗鏁堢巼(kg/h) + <div class="rightLabel"> + <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="rightChart center"> - <div class="center compareBar"> - <div class="barTop">{{ standard.xiaolv }}</div> - <div class="barBack"> - <div class="barDiv" :style="{ height: realData?.xlsHeight }"></div> - </div> - <div style="line-height: 20px"> - 棰濆畾 - <br /> - 鏁堢巼 - </div> - </div> - <div class="center compareBar"> - <div class="barTop">{{ realData?.xiaolv | 0 }}</div> - <div class="barBack"> - <div - class="barDiv" - :class="{ good: realData?.xlgood, bad: realData?.xlbad }" - :style="[realData?.xlrHeight && { height: realData?.xlrHeight }]" - > + <div class="outDiv" style="padding-top: 20px"> + <div class="leftData"> + <div class="center" style="height: 50%"> + <div class="centerText"> + <div class="mainInfo3" + ><span>{{ (realData?.originWeight - realData?.yield) | 0 }}</span> kg + </div> + <div class="subhead2">姘村垎钂稿彂</div> </div> </div> - <div style="line-height: 20px"> - 瀹炴椂 - <br /> - 鏁堢巼 + <div class="center" style="height: 50%"> + <div> + <div class="mainInfo3">{{ realData?.dryTime | 0 }} min</div> + <div class="subhead2">骞茬嚗鐢ㄦ椂</div> + </div> + </div> + </div> + <div class="rightChart center"> + <div class="center compareBar"> + <div class="barTop">{{ realData?.efficAvg?.toFixed(2) }}</div> + <div class="barBack"> + <div class="barDiv" :style="{ height: realData?.xlsHeight }"></div> + </div> + <div style="line-height: 20px"> + 棰濆畾 + <br /> + 鏁堢巼 + </div> + </div> + <div class="center compareBar"> + <div class="barTop">{{ realData?.xiaolv?.toFixed(2) || 0 }}</div> + <div class="barBack"> + <div + class="barDiv" + :class="{ good: realData?.xlgood, bad: realData?.xlbad }" + :style="[realData?.xlrHeight && { height: realData?.xlrHeight }]" + > + </div> + </div> + <div style="line-height: 20px"> + 瀹炴椂 + <br /> + 鏁堢巼 + </div> </div> </div> </div> - </div> - </dv-border-box7> - - - - - <dv-border-box7 class="infoChart"> - <div class="chartTittle" - >钂告苯娑堣��(m鲁/kg) - <div class="rightLabel"> - <div class="label bad">>{{ standard.zhengqi }} 宸�</div> - <div class="label good"><{{ standard.zqMin }} 浼�</div> + </dv-border-box7> + + <dv-border-box7 class="infoChart"> + <div class="chartTittle" + >钂告苯娑堣��(m鲁/kg) + <div class="rightLabel"> + <div class="label bad">>{{ realData?.steamAvg?.toFixed(2) }} 宸�</div> + <div class="label good"><{{ ((realData?.steamAvg|0) * 0.9).toFixed(2) }} 浼�</div> + </div> </div> - </div> - <div class="outDiv" style="padding-top: 20px"> - <div class="leftData"> - <div class="center" style="height: 100%"> - <div class="centerText"> - <div class="mainInfo3"><span>{{realData?.steam}}</span> m鲁 </div> - <div class="subhead2">钂告苯鐢ㄩ噺</div> + <div class="outDiv" style="padding-top: 20px"> + <div class="leftData"> + <div class="center" style="height: 100%"> + <div class="centerText"> + <div class="mainInfo3" + ><span>{{ realData?.steam }}</span> m鲁 + </div> + <div class="subhead2">钂告苯鐢ㄩ噺</div> + </div> + </div> + </div> + <div class="rightChart center"> + <div class="center compareBar"> + <div class="barTop">{{ realData?.steamAvg?.toFixed(2) }}</div> + <div class="barBack"> + <div class="barDiv" :style="{ height: realData?.zqsHeight }"></div> + </div> + <div style="line-height: 20px"> + 棰濆畾 + <br /> + 娑堣�� + </div> + </div> + <div class="center compareBar"> + <div class="barTop">{{ realData?.zhengqi?.toFixed(2) || 0 }}</div> + <div class="barBack"> + <div + class="barDiv" + :class="{ good: realData?.zqgood, bad: realData?.zqbad }" + :style="[realData?.zqrHeight && { height: realData?.zqrHeight }]" + > + </div> + </div> + <div style="line-height: 20px"> + 瀹炴椂 + <br /> + 娑堣�� + </div> </div> </div> </div> - <div class="rightChart center"> - <div class="center compareBar"> - <div class="barTop">{{standard.zhengqi}}</div> - <div class="barBack"> - <div class="barDiv" :style="{ height: realData?.zqsHeight }"></div> - </div> - <div style="line-height: 20px"> - 棰濆畾 - <br /> - 娑堣�� + </dv-border-box7> + <dv-border-box7 class="infoChart"> + <div class="chartTittle">鏁堢巼瀵规瘮</div> + <div class="outDiv" style="padding-top: 10px"> + <div id="compare" style="width: 300px; height: 250px"></div> + </div> + </dv-border-box7> + <dv-border-box7 class="infoChart"> + <div class="chartTittle"> + <div> 鐢佃兘娑堣��(kWh/kg)</div> + <div class="rightLabel"> + <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 class="leftData"> + <div class="center" style="height: 100%"> + <div class="centerText"> + <div class="mainInfo3" + ><span>{{ realData?.watt }}</span> kWh + </div> + <div class="subhead2">鐢佃兘鐢ㄩ噺</div> + </div> </div> </div> - <div class="center compareBar"> - <div class="barTop">{{realData?.zhengqi | 0 }}</div> - <div class="barBack"> - <div class="barDiv" :class="{ good: realData?.zqgood, bad: realData?.zqbad }" - :style="[realData?.zqrHeight && { height: realData?.zqrHeight }]"> </div> + <div class="rightChart center"> + <div class="center compareBar"> + <div class="barTop">{{ realData?.wattAvg?.toFixed(3) }}</div> + <div class="barBack"> + <div class="barDiv" :style="{ height: realData?.dnsHeight }"></div> + </div> + <div style="line-height: 20px"> + 棰濆畾 + <br /> + 娑堣�� + </div> </div> - <div style="line-height: 20px"> - 瀹炴椂 - <br /> - 娑堣�� + <div class="center compareBar"> + <div class="barTop">{{ realData?.dian?.toFixed(3) || 0 }}</div> + <div class="barBack"> + <div + class="barDiv" + :class="{ good: realData?.dngood, bad: realData?.dnbad }" + :style="[realData?.dnrHeight && { height: realData?.dnrHeight }]" + ></div> + </div> + <div style="line-height: 20px"> + 瀹炴椂 + <br /> + 娑堣�� + </div> </div> </div> </div> - </div> - </dv-border-box7> - <dv-border-box7 class="infoChart" > - <div class="chartTittle">鏁堢巼瀵规瘮</div> - <div class="outDiv" style="padding-top: 10px"> - <div id="compare" style="width: 300px; height: 250px"></div> - </div> - </dv-border-box7> - <dv-border-box7 class="infoChart"> - <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> - </div> - <div class="outDiv" style="padding-top: 20px"> - <div class="leftData"> - <div class="center" style="height: 100%"> - <div class="centerText"> - <div class="mainInfo3"><span>{{realData?.watt}}</span> kWh </div> - <div class="subhead2">鐢佃兘鐢ㄩ噺</div> - </div> - </div> - </div> - <div class="rightChart center"> - <div class="center compareBar"> - <div class="barTop">{{standard.dian}}</div> - <div class="barBack"> - <div class="barDiv" :style="{ height: realData?.dnsHeight }"></div> - </div> - <div style="line-height: 20px"> - 棰濆畾 - <br /> - 娑堣�� - </div> - </div> - <div class="center compareBar"> - <div class="barTop">{{realData?.dian | 0}}</div> - <div class="barBack"> - <div class="barDiv" :class="{ good: realData?.dngood, bad: realData?.dnbad }" - :style="[realData?.dnrHeight && { height: realData?.dnrHeight }]"></div> - </div> - <div style="line-height: 20px"> - 瀹炴椂 - <br /> - 娑堣�� - </div> - </div> - </div> - </div> - </dv-border-box7> - + </dv-border-box7> + </div> </div> </div> </div> </div> - </div> -</dv-full-screen-container> + </dv-full-screen-container> </template> <script setup lang="ts"> - import { useFullscreen } from '@vueuse/core'; + import { useFullscreen } from '@vueuse/core' import { BorderBox7 as DvBorderBox7 } from '@kjgl77/datav-vue3' import { router } from '/@/router' import { onMounted, ref, onUnmounted } from 'vue' @@ -356,19 +572,17 @@ import 'echarts-liquidfill' import { Icon, IconPicker, SvgIcon } from '/@/components/Icon/index' import { defHttp } from '/@/utils/http/axios' - import { queryById,listAll } from '../api/DryEquipment.api' + 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 domRef = ref<Nullable<HTMLElement>>(null); - const { enter, toggle, exit, isFullscreen } = useFullscreen(); - -const { toggle: toggleDom } = useFullscreen(domRef); + const { toggle: toggleDom } = useFullscreen(domRef) const Timer = ref() - const Timer2 = ref() + const Timer2 = ref() const marks = ref<Record<number, any>>({ 0: '0掳C', 1: '', @@ -472,10 +686,10 @@ 99: '', 100: '100掳C', }) - const eqps = ref([] as dryEquipment[]) - - const eqp = ref({} as dryEquipment) - const eqpNum = ref(1) + const eqps = ref([] as dryEquipment[]) + 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() const realData = ref({}) const standard = ref({ @@ -487,7 +701,7 @@ dMin: 7.5, }) - const position = ref(1) + const position = ref(1) //realData.value.tempValue = [0, 100] realData.value.mois = [0.5, 0.35, 0.2] statusGif = 'tmrefeng2' @@ -501,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' @@ -526,9 +774,8 @@ text: '鍚按鐜�/娓╁害瓒嬪娍', textStyle: { color: '#fff', - fontSize: 15 + fontSize: 15, }, - }, tooltip: { trigger: 'axis', @@ -542,8 +789,8 @@ legend: { right: 60, textStyle: { - color: '#fff' - } + color: '#fff', + }, }, // toolbox: { // show: true, @@ -559,8 +806,8 @@ // }, xAxis: { type: 'value', - axisLabel:{ - color: '#fff' + axisLabel: { + color: '#fff', }, //boundaryGap: false, // data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'], @@ -575,22 +822,22 @@ splitLine: { lineStyle: { type: 'dashed', - color: ['#2b2b2b'] - } - } + color: ['#2b2b2b'], + }, + }, }, yAxis: { type: 'value', boundaryGap: ['10%', '10%'], - axisLabel:{ - color: '#fff' + axisLabel: { + color: '#fff', }, splitLine: { lineStyle: { type: 'dashed', - color: ['#2b2b2b'] - } - } + color: ['#2b2b2b'], + }, + }, // min: 0, // max: function (value) { // if (value.max < 100) { @@ -613,8 +860,7 @@ smooth: true, symbol: 'none', data: [ - [1, 1], - [2, 2], + ], lineStyle: { width: 1, @@ -625,15 +871,15 @@ areaStyle: { opacity: 0.2, color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: 'rgb(128, 255, 165)' - }, - { - offset: 1, - color: 'rgb(1, 191, 236)' - } - ]) + { + offset: 0, + color: 'rgb(128, 255, 165)', + }, + { + offset: 1, + color: 'rgb(1, 191, 236)', + }, + ]), }, }, { @@ -642,8 +888,7 @@ smooth: true, symbol: 'none', data: [ - [1, 10], - [2, 20], + ], lineStyle: { width: 1, @@ -651,15 +896,15 @@ areaStyle: { opacity: 0.2, color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [ - { - offset: 0, - color: 'rgb(255, 0, 135)' - }, - { - offset: 1, - color: 'rgb(135, 0, 157)' - } - ]) + { + offset: 0, + color: 'rgb(255, 0, 135)', + }, + { + offset: 1, + color: 'rgb(135, 0, 157)', + }, + ]), }, // markLine: { // data: [ @@ -694,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: { @@ -785,7 +1030,7 @@ }, data: [ { - value: 20, + value: 0, }, ], }, @@ -823,7 +1068,7 @@ }, data: [ { - value: 20, + value: 0, }, ], }, @@ -955,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', @@ -1109,8 +1354,8 @@ legend: { right: 60, textStyle: { - color: '#fff' - } + color: '#fff', + }, }, xAxis: { show: false, @@ -1137,7 +1382,7 @@ axisLabel: { formatter: '{value} 掳C', }, - // max: standard.value.xiaolv + 3, + // max: eqp.value.dryEfficiency + 3, }, series: [ { @@ -1147,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' }, @@ -1160,18 +1400,18 @@ ], }, markLine: { - symbol: 'none', - data: [ - { - name: '棰濆畾', - yAxis: standard.value.xiaolv, - }, - ], - label: { - formatter: '{b}\n{c}', - color: '#fff' - }, - }, + symbol: 'none', + data: [ + { + name: '棰濆畾', + yAxis: 100, + }, + ], + label: { + formatter: '{b}\n{c}', + color: '#fff', + }, + }, // markLine: { // data: [{ type: 'average', name: 'Avg' }], // }, @@ -1180,50 +1420,46 @@ } const compareOption = { - tooltip: { trigger: 'axis', - }, grid: { top: '6%', left: '3%', right: '10%', bottom: '3%', - containLabel: true + containLabel: true, }, xAxis: { show: false, type: 'value', - }, yAxis: { axisLine: { - show:false, + show: false, }, axisTick: { show: false, }, type: 'category', - data: ['1#', '2#', '3#', '4#', '5#', '6#'] + data: ['1#', '2#', '3#', '4#', '5#', '6#'], }, series: [ { 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', valueAnimation: true, - - color: '#fff' - } - }, - ] - } + color: '#fff', + }, + }, + ], + } option && moisChart.setOption(option) waterOption && waterChart.setOption(waterOption) @@ -1236,24 +1472,33 @@ } // 鍔ㄦ�佽鍙栧浘鐗� -function getHerbImageUrl(name: string) { - return new URL(`/src/assets/images/dry/yaocai/${name}`, import.meta.url).href; -} + function getHerbImageUrl(name: string) { + //return new URL(`/src/assets/images/dry/yaocai/${name}`, import.meta.url).href + return ""; + } // 鍔ㄦ�佽鍙栧浘鐗� 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) }) } - function listAllEqp() { + function listAllEqp() { listAll({ enable: 'Y' }) .then((result) => { //console.log(`output->result`, result) @@ -1262,168 +1507,189 @@ // eqpCodes.push(item.code) // }) queryRealTime() - setTimeout(initCharts, 500) - + setTimeout(initCharts, 500) }) .catch((err) => { //console.log(`output->err`, err) }) } - - var num = eqpNum.value; + var num = eqpNum.value function changeEqp() { //console.log("changeEqp::",eqps.value.length); - num ++; - if (eqps.value.length > 0) { - var i = num%eqps.value.length - //eqp.value = eqps.value[i] - // console.log("777",i); - eqpNum.value = i; - //console.log("888",eqp.value); - queryRealTime() + num++ + if (eqps.value.length > 0) { + var i = num % eqps.value.length + //eqp.value = eqps.value[i] + // console.log("777",i); + eqpNum.value = i + //console.log("888",eqp.value); + queryRealTime() //setTimeout(initCharts, 500) - } - + } } - // function queryEqpsReal() { - - // if (eqps.value.length > 0) { - // var i = num%eqps.value.length - // eqp.value = eqps[i] - // console.log("777",i); - // console.log("888",eqp.value); - // queryRealTime() - // //setTimeout(initCharts, 500) - // } - // num ++; - // } + // function queryEqpsReal() { - var shangliaoFlag = false; - var statusGif = 'tmrefeng2'; + // if (eqps.value.length > 0) { + // var i = num%eqps.value.length + // eqp.value = eqps[i] + // console.log("777",i); + // console.log("888",eqp.value); + // queryRealTime() + // //setTimeout(initCharts, 500) + // } + // num ++; + // } + + var shangliaoFlag = false + var statusGif = 'tmrefeng2' var statusTxt = '姝e湪骞茬嚗' function chaiwangban() { statusGif = 'chaiwangban-1' - setTimeout(shangliao,7000) - + setTimeout(shangliao, 7000) } + function showFault () { + console.log('showFault') + router.push({ path: '/bigFault', query: { num: num } }) + } function shangliao() { - statusGif = "shangliao-N" - setTimeout(()=>{ - statusGif = "zhuangwangban" - setTimeout(()=>{ - statusGif = "guanmen1" - setTimeout(()=>{ + statusGif = 'shangliao-N' + setTimeout(() => { + statusGif = 'zhuangwangban' + setTimeout(() => { + statusGif = 'guanmen1' + setTimeout(() => { shangliaoFlag = false - },4000) - - },7000) - },15000) + }, 4000) + }, 7000) + }, 15000) } - function queryRealTime() { - - if (eqp.value) { - eqp.value = eqps.value[eqpNum.value] - // console.log("888",eqp.value); - let tenantId = 1003 - let eqpCode = eqp.value.code - let queryRealTimeUrl = '/dry/real/getRealTimeData' - defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode} }).then((res) => { - - if (res && res.trendVo) { - //console.log(`output->re11s`, res) - // res.tempValue = [res.windTemp, 100] - //res.percent = ((res.dryTime / res.et) * 100).toFixed(2) - /**姘存淮鍥惧惈姘撮噺 */ - res.mois = [ - (res.trendVo.moisture / 100).toFixed(2), - (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 + '%' + if (eqp.value) { + eqp.value = eqps.value[eqpNum.value] + // console.log("888",eqp.value); + let tenantId = getTenantId() + let eqpCode = eqp.value.code + let queryRealTimeUrl = '/dry/real/getRealTimeData' + defHttp.get({ url: queryRealTimeUrl, params: { tenantid: tenantId, machineid: eqpCode } }).then((res) => { + if (res && res.trendVo) { + //console.log(`output->re11s`, res) + // res.tempValue = [res.windTemp, 100] + //res.percent = ((res.dryTime / res.et) * 100).toFixed(2) + /**姘存淮鍥惧惈姘撮噺 */ + res.mois = [ + (res.trendVo.moisture / 100).toFixed(2), + (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, }, - fontSize: 20, }, - }, - ], - }) - } + ], + }) + } - /**娓╁害鐜舰鍥� */ - if (bellowsTempChart) { - bellowsTempChart.setOption({ - series: [{ data: [{ value: res.windTemp }] }, { data: [{ value: res.windTemp }] }], - }) - } - /**椋庢満棰戠巼鐜舰鍥� */ - // if (fanFreqChart) { - // fanFreqChart.setOption({ - // series: [ - // { - // data: [ - // { - // value: res.trendVo.fanFrequency, - // }, - // ], - // }, - // ], - // }) - // } - /**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */ - if (res && res.detailList) { - var progressSeries = [] - var ganZaoXiaoLv = [] - var zhengQiXiaoHao = [] - var dianNengXiaoHao = [] - var totalTime = 0 - var beforeWeight = 0 - res.moisList = [] - beforeWeight = res.originWeight - //console.log(`output->res`, res) - res.detailList.forEach((item) => { - //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) - var curDryTime = item.totalTime - totalTime + /**娓╁害鐜舰鍥� */ + if (bellowsTempChart) { + bellowsTempChart.setOption({ + series: [{ data: [{ value: res.trendVo.bellowsTemp }] }, { data: [{ value: res.trendVo.bellowsTemp }] }], + }) + } + /**椋庢満棰戠巼鐜舰鍥� */ + // if (fanFreqChart) { + // fanFreqChart.setOption({ + // series: [ + // { + // data: [ + // { + // value: res.trendVo.fanFrequency, + // }, + // ], + // }, + // ], + // }) + // } + /**骞茬嚗杩涘害銆佽蛋鍔夸笌闃舵鏁堢巼鍜岄樁娈垫秷鑰� */ + if (res && res.detailList) { + var progressSeries = [] + + var zhengQiXiaoHao = [] + var dianNengXiaoHao = [] + var ganZaoXiaoLv = [] + var totalTime = 0 + var beforeWeight = 0 + res.moisList = [] + beforeWeight = res.originWeight + //console.log(`output->res`, res) + res.detailList.forEach((item) => { + //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) + var curDryTime = item.totalTime - totalTime - if (curDryTime > 0) { + if (curDryTime > 0) { + progressSeries.push({ + name: item.moisture, + type: 'bar', + stack: 'total', + label: { + show: true, + }, + emphasis: { + focus: 'series', + }, + data: [item.totalTime - totalTime], + }) + ganZaoXiaoLv.push([curDryTime / 2 + totalTime, (((beforeWeight - item.weight) / curDryTime) * 60).toFixed(1)]) + + totalTime = item.totalTime + } + beforeWeight = item.weight + }) + + if (res.remain) { + if (res.dryTime - totalTime > 0) { + progressSeries.push({ + name: '褰撳墠', + type: 'bar', + stack: 'total', + label: { + show: true, + }, + emphasis: { + focus: 'series', + }, + data: [ + { + value: res.dryTime - totalTime, + }, + ], + }) + } + + // 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: item.moisture, - type: 'bar', - stack: 'total', - label: { - show: true, - }, - emphasis: { - focus: 'series', - }, - data: [item.totalTime - totalTime], - }) - ganZaoXiaoLv.push([curDryTime / 2 + totalTime, (((beforeWeight - item.weight) / curDryTime) * 60).toFixed(1)]) - - totalTime = item.totalTime - } - beforeWeight = item.weight - }) - - if (res.remain) { - if (res.dryTime - totalTime > 0) { - progressSeries.push({ - name: '褰撳墠', + name: '鍓╀綑', type: 'bar', stack: 'total', label: { @@ -1434,308 +1700,508 @@ }, data: [ { - value: res.dryTime - totalTime, + value: res.remain - (res.dryTime - totalTime), + itemStyle: { + color: '#c0c0c0', + }, }, ], }) } - // ganZaoXiaoLv.push([totalTime + res.remain,standard.value.xiaolv]) - - res.totalRemain = res.remain - (res.dryTime - totalTime)>0?res.remain - (res.dryTime - totalTime):0 - progressSeries.push({ - name: '鍓╀綑', - type: 'bar', - stack: 'total', - label: { - show: true, - }, - emphasis: { - focus: 'series', - }, - data: [ + /**骞茬嚗杩涘害 */ + if (progressBarChart) { + //console.log(`output->progressSeries`, progressSeries) + progressBarChart.setOption( { - value: res.remain - (res.dryTime - totalTime), - itemStyle: { - color: '#c0c0c0', + xAxis: { + max: totalTime + res.remain, }, + series: progressSeries, }, - ], - }) + { replaceMerge: ['series'] } + ) + } - - - } - - /**骞茬嚗杩涘害 */ - if (progressBarChart) { - //console.log(`output->progressSeries`, progressSeries) - progressBarChart.setOption( - { + 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: progressSeries, - }, - { replaceMerge: ['series'] } - ) + series: [ + { + name: '骞茬嚗鏁堢巼', + 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]) } - res.totalTime = totalTime + res.remain - /**骞茬嚗鏁堢巼銆佹秷鑰� */ - 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, + /**娓╁害瓒嬪娍 */ + if (res && res.bellowsTemp) { + Array.from(Object.entries(res.bellowsTemp)) + var arr = Object.keys(res.bellowsTemp) + var temArr = [] + arr.forEach((item) => { + temArr.push([item * 1, res.bellowsTemp[item]]) + }) + + //console.log(`output->arr` + JSON.stringify(temArr)) + res.tempArr = temArr + } + + /**骞茬嚗杩囩▼瓒嬪娍 */ + if (moisChart) { + //console.log(`output->鏇存柊chart`) + moisChart.setOption({ + series: [ + { + data: res.moisList, + markLine: { + symbol: 'none', + data: [ + { + name: '鐩爣', + yAxis: res.target, + }, + ], + label: { + formatter: '{b}\n{c}%', + color: '#fff', }, - ], - label: { - formatter: '{b}\n{c}', - color: '#fff' }, - } }, - { data: zhengQiXiaoHao }, - { data: dianNengXiaoHao }], + }, + { + data: res.tempArr, + }, + ], }) } - res.moisList.push([res.dryTime, res.trendVo.moisture]) - } - - /**娓╁害瓒嬪娍 */ - if (res && res.bellowsTemp) { - Array.from(Object.entries(res.bellowsTemp)) - var arr = Object.keys(res.bellowsTemp) - var temArr = [] - arr.forEach((item) => { - temArr.push([item * 1, res.bellowsTemp[item]]) - }) - - //console.log(`output->arr` + JSON.stringify(temArr)) - res.tempArr = temArr - } - - /**骞茬嚗杩囩▼瓒嬪娍 */ - if (moisChart) { - //console.log(`output->鏇存柊chart`) - moisChart.setOption({ - series: [ - { - data: res.moisList, - markLine: { - symbol: 'none', - data: [ - { - name: '鐩爣', - yAxis: res.target, - }, - ], - label: { - formatter: '{b}\n{c}%', - color: '#fff' - }, - }, - }, - { - data: res.tempArr, - }, - ], - }) - } - - /**鏁堢巼瀵规瘮鍥� */ - if( (res.originWeight - res.yield) <= 0) { - res.xiaolv = standard.value.xiaolv + 6 - } else { - res.xiaolv = (((res.originWeight - res.yield) / res.dryTime) * 60).toFixed(2) - } - - if (res.xiaolv > standard.value.xiaolv) { - res.xlgood = true - res.xlsHeight = (standard.value.xiaolv / res.xiaolv) * 100 + '%' - res.xlrHeight = '100%' - } else if (res.xiaolv < standard.value.xlMin) { - res.xlbad = true - res.xlsHeight = '100%' - res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%' - } else { - res.xlsHeight = '100%' - res.xlrHeight = (res.xiaolv / standard.value.xiaolv) * 100 + '%' - } - - - - /** 钂告苯娑堣�� */ - if( (res.originWeight - res.yield) <= 0) { - res.zhengqi = standard.value.zhengqi -3 - } else { - res.zhengqi = (res.steam / (res.originWeight - res.yield)).toFixed(1) - } - //console.log('zhengqi:', res.zhengqi); - if (res.zhengqi > standard.value.zhengqi) { - res.zqbad = true - res.zqsHeight = (standard.value.zhengqi / res.zhengqi) * 100 + '%' - res.zqrHeight = '100%' - } else if (res.zhengqi < standard.value.zqMin) { - res.zqgood = true - res.zqsHeight = '100%' - res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%' - } else { - res.zqsHeight = '100%' - res.zqrHeight = (res.zhengqi / standard.value.zhengqi) * 100 + '%' - } - - - - /** 鐢佃兘娑堣�� */ - if( (res.originWeight - res.yield) <= 0) { - res.dian = standard.value.dian -1.5 - } else { - res.dian = (res.watt / (res.originWeight - res.yield)).toFixed(1) - } - - if (res.dian > standard.value.dian) { - res.dnbad = true - res.dnsHeight = (standard.value.dian / res.dian) * 100 + '%' - res.dnrHeight = '100%' - } else if (res.dian < standard.value.dMin) { - - res.dngood = true - res.dnsHeight = '100%' - res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%' - } else { - res.dnsHeight = '100%' - res.dnrHeight = (res.dian / standard.value.dian) * 100 + '%' - } - - console.log("state:::fan::", res.state_fan,"roller::", res.state_roller,"windbox::", res.state_windbox); - console.log("==========================="); - //console.log("state:::state_windbox::", res.state_windbox); - - /**鐘舵��/gif鍔ㄥ浘 */ - if (!shangliaoFlag) { - if (res.orderStatus == 0) { - statusGif = 'zanting' - statusTxt = '鍑嗗' - } else if (res.orderStatus == 1) { - shangliaoFlag = true - statusGif = 'kaimen1' - statusTxt = '涓婃枡' - setTimeout(chaiwangban,4000) - } else if (res.orderStatus == 2) { - if(res.state_fan == 1) { - statusGif = 'tmrefeng2' - statusTxt = '姝e湪骞茬嚗' + let lastTrend = res.detailList[res.detailList.length-1] + /**鏁堢巼瀵规瘮鍥� */ + if (res.originWeight - lastTrend.weight <= 0) { + res.xiaolv = 0 + } else { + res.xiaolv = ((res.originWeight - lastTrend.weight) / lastTrend.totalTime) * 60 + } + 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 = (res.efficAvg / res.xiaolv) * 100 + '%' + res.xlrHeight = '100%' + } else if (res.xiaolv < res.efficAvg * 0.9) { + res.xlbad = true + res.xlsHeight = '100%' + res.xlrHeight = (res.xiaolv / res.efficAvg) * 100 + '%' + } else { + res.xlsHeight = '100%' + res.xlrHeight = (res.xiaolv / res.efficAvg) * 100 + '%' } - if(res.state_roller == 4) { - statusGif = 'fanliao-N' - statusTxt = '姝e湪缈绘枡' + /** 钂告苯娑堣�� */ + if (res.originWeight - lastTrend.weight <= 0) { + res.zhengqi = 0 + } else { + res.zhengqi = lastTrend.steam / (res.originWeight - lastTrend.weight) + } + 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 = (res.steamAvg / res.zhengqi) * 100 + '%' + res.zqrHeight = '100%' + } else if (res.zhengqi < res.steamAvg * 0.9) { + res.zqgood = true + res.zqsHeight = '100%' + res.zqrHeight = (res.zhengqi / res.steamAvg) * 100 + '%' + } else { + res.zqsHeight = '100%' + res.zqrHeight = (res.zhengqi / res.steamAvg) * 100 + '%' } - if (res.state_roller == 5) { - statusGif = 'chuliao-N' - statusTxt = '姝e湪鍑烘枡' + /** 鐢佃兘娑堣�� */ + if (res.originWeight - lastTrend.weight <= 0) { + res.dian = 0 + } else { + res.dian = lastTrend.watt / (res.originWeight - lastTrend.weight) } - - if (res.state_windbox == 2 || res.state_windbox == 3) { - statusGif = 'fengxiangsheng-1' - statusTxt = '姝e湪骞茬嚗' + // 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 = (res.wattAvg / res.dian) * 100 + '%' + res.dnrHeight = '100%' + } else if (res.dian < res.wattAvg * 0.9) { + res.dngood = true + res.dnsHeight = '100%' + res.dnrHeight = (res.dian / res.wattAvg) * 100 + '%' + } else { + res.dnsHeight = '100%' + res.dnrHeight = (res.dian / res.wattAvg) * 100 + '%' } - } else if(res.orderStatus == 3) { - statusGif = 'zanting' - statusTxt = '鏆傚仠' - } else if(res.orderStatus == 4) { - statusGif = 'zanting' - statusTxt = '骞茬嚗瀹屾垚' - } - } - - - if (compareChart) { - compareChart.setOption({ - yAxis: { - data: res.compEqpNum - }, - series: { - data: res.compEqpEffic + //console.log('state:::fan::', res.state_fan, 'roller::', res.state_roller, 'windbox::', res.state_windbox) + //console.log('===========================') + //console.log("state:::state_windbox::", res.state_windbox); + + /**鐘舵��/gif鍔ㄥ浘 */ + if (!shangliaoFlag) { + if (res.orderStatus == 0) { + statusGif = 'zanting' + statusTxt = '鍑嗗' + } else if (res.orderStatus == 1) { + shangliaoFlag = true + statusGif = 'kaimen1' + statusTxt = '涓婃枡' + setTimeout(chaiwangban, 4000) + } else if (res.orderStatus == 2) { + statusTxt = res.level + statusGif = 'zanting' + if (res.level === '鍑嗗闃舵') { + console.log("鍑嗗闃舵" + statusGif); + statusGif = 'zanting' + } else if (res.level === '骞茬嚗闃舵' || res.level === '姝e湪骞茬嚗') { + statusGif = 'tmrefeng2' + } else if (res.level === '缈绘枡闃舵') { + statusGif = 'fanliao-N' + } else if (res.level === '鍑烘枡闃舵') { + statusGif = 'chuliao-N' + } + // if (res.state_fan == 1) { + // statusGif = 'tmrefeng2' + // 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 = '鏆傚仠' + } else if (res.orderStatus == 4) { + statusGif = 'zanting' + statusTxt = '骞茬嚗瀹屾垚' } - }) + } + + if (compareChart) { + compareChart.setOption({ + yAxis: { + data: res.compEqpNum, + }, + series: { + data: res.compEqpEffic, + }, + }) + } + + res.herbImage = 'yaocai1.png' + + if (res.herbName == '鐧借姳铔囪垖鑽�') { + res.herbImage = 'baihuasheshecao.png' + } else if (res.herbName == '绯ョɑ鏍�') { + res.herbImage = 'nuodaogen.png' + } else if (res.herbName == '娣緤钘�') { + res.herbImage = 'yinyanghuo.png' + } else if (res.herbName == '椹娇鑻�') { + res.herbImage = 'machixian.png' + } else if (res.herbName == '澧ㄦ棻鑾�') { + res.herbImage = 'mohanlian.png' + } else if (res.herbName == '妗戠櫧鐨�') { + res.herbImage = 'sangbaipi.png' + } + + 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: [], + gif: 'tmrefeng2', + herbImage: 'yaocai1.png', + } } - res.herbImage = 'yaocai1.png' - - if (res.herbName == '鐧借姳铔囪垖鑽�') { - res.herbImage = 'baihuasheshecao.png' - } else if (res.herbName == '绯ョɑ鏍�') { - res.herbImage = 'nuodaogen.png' - } else if (res.herbName == '娣緤钘�') { - res.herbImage = 'yinyanghuo.png' - } else if (res.herbName == '椹娇鑻�') { - res.herbImage = 'machixian.png' - } else if (res.herbName == '澧ㄦ棻鑾�') { - res.herbImage = 'mohanlian.png' - } else if (res.herbName == '妗戠櫧鐨�') { - res.herbImage = 'sangbaipi.png' - } - res.isError = false - - res.errorMsg = '鏈変竴涓晠闅滐紝璇锋鏌ャ��' - } else { - res = { - mois: [], - gif: 'tmrefeng2', - herbImage: 'yaocai1.png' - } - } - - //console.log(`output->res`, res) - realData.value = res - }) - } + // console.log(`output->res`, res.detailList[res.detailList.length-1]) + realData.value = res + }) + } } - var move = true; - function moveImage() { - - if (move) { - position.value -= 0.3 - } else { - position.value += 0.3 - } - if(position.value < -240 ) { - move = false - } - if (position.value > -1) { - move = true - } + var move = true + function moveImage() { + if (move) { + position.value -= 0.3 + } else { + position.value += 0.3 + } + if (position.value < -240) { + move = false + } + if (position.value > -1) { + move = true + } + } - - } + function back() { + router.back() + } - listAllEqp() + listAllEqp() //queryEqp() // DOM鎸傝浇瀹屾垚鍚庢覆鏌撳浘琛� onMounted(() => { Timer.value = setInterval(queryRealTime, 3000) - Timer2.value = setInterval(moveImage, 50) + Timer2.value = setInterval(moveImage, 50) }) onUnmounted(() => { clearInterval(Timer.value) - clearInterval(Timer2.value) + clearInterval(Timer2.value) Timer.value = null - Timer2.value = null + Timer2.value = null }) </script> @@ -1748,12 +2214,12 @@ .eqpImage { height: 1080px; width: 1920px; - background-image: url(/src/assets/images/dry/bg.png); + background-image: url(/src/assets/images/dry/bg.png); background-repeat: no-repeat; - color: white; + color: white; /*background-position: 160px 280px; */ /* background-color: red; */ - background-size: 120%; + background-size: 120%; padding: 10px; display: flex; flex-wrap: wrap; @@ -1765,8 +2231,8 @@ width: 1200px; display: flex; flex-wrap: wrap; - align-content: flex-start; - + align-content: flex-start; + /* background-color: white; background-image: url(/src/assets/images/dry/shebei1.png); background-repeat: no-repeat; @@ -1777,24 +2243,22 @@ .leftTop { height: 750px; - width: 850px; - display: flex; - justify-content: center; - align-content: flex-start; - background-image: url(/src/assets/images/dry/ganzaoji-x.png); - background-repeat: no-repeat; - background-size: 79%; - border-radius: 10px; - flex-wrap: wrap; - background-position: 85px 279px; - + width: 850px; + display: flex; + justify-content: center; + align-content: flex-start; + background-image: url(/src/assets/images/dry/ganzaoji-x.png); + background-repeat: no-repeat; + background-size: 79%; + border-radius: 10px; + flex-wrap: wrap; + background-position: 85px 279px; } .leftMid { - width: 850px; height: 300px; /* border: 1px solid; */ - margin-top: 10px; + margin-top: 10px; border-radius: 10px; /* background: white; */ } @@ -1802,7 +2266,7 @@ line-height: 33px; padding-left: 10px; font-size: 30px; - color: white; + color: white; } .subhead { color: #a19f9c; @@ -1842,7 +2306,7 @@ margin-top: -30px; } .leftTop0 { - height: 600px; + height: 260px; width: 848px; display: flex; justify-content: center; @@ -1858,7 +2322,6 @@ align-items: center; font-size: 30px; color: #727272; - } .leftTop2 { width: 250px; @@ -1882,9 +2345,7 @@ .eqpStatus { width: 848px; - height: 300px; - - padding: 100px; + } .rightInfo { display: flex; @@ -1983,6 +2444,7 @@ .curEqp { width: 340px; height: 170px; + /* background: white; border-radius: 10px; */ } @@ -1992,7 +2454,7 @@ height: 260px; /* background: white; border-radius: 10px; */ - + background-repeat: no-repeat; background-size: 200px; background-position: 0px 10px; @@ -2001,7 +2463,7 @@ width: 690px; height: 440px; /* background: white; */ - + padding: 20px; border-radius: 10px; } @@ -2213,4 +2675,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