浏览代码

修复告警列表显示有延时bug

liling 1 年之前
父节点
当前提交
f656c4b411
共有 1 个文件被更改,包括 36 次插入30 次删除
  1. 36 30
      main.html

+ 36 - 30
main.html

@@ -1398,40 +1398,41 @@
             $("#dev_alarm .content").show();
             var tpl = '<tr style="font-weight:bold" devno="{1}"><td style="width: 30%;">{1}#</td><td style="width: 70%;color:{COLOR}">{2}</td></tr>';
             var lst = [];
-            var noAlarmDevs=[];
-            for(var devcode in modelsMap){
-                if(OFFLINE_DEVS[devcode]==1) continue;
+            for(var devcode in alarmDev){
                 var alarmInfo = alarmDev[devcode];
-                //上一次没有告警,本次有告警,需要设置成告警状态
-                if(alarmInfo!=null){
-                    if(this.LastAlarmDevs[devcode]==null){
-                        var color = "rgb(206,161,94)" //默认告警文本颜色
-                        var typeName = this.AlarmType[alarmInfo];
-                        if (typeName.indexOf("故障") > -1) color = "rgb(195,70,76)" //红色提醒
-                        lst.push(tpl.replace(/\{1\}/gi, devcode.replace(/C_/g, "")).replace(/\{2\}/g, typeName).replace('{COLOR}', color))
-                        if (MODEL_LOADED == 1) {
-                            //机器告警提示
-                            ChangeModelColor(devcode, DEV_ALAR_COLOR, typeName)
-                        } else {
-                            //记录下来,等待模型加载完成时处理
-                            ALARM_DEVS.push(devcode + ">" + typeName)
+                var color = "rgb(206,161,94)" //默认告警文本颜色
+                var typeName = this.AlarmType[alarmInfo];
+                if (typeName.indexOf("故障") > -1) color = "rgb(195,70,76)" //红色提醒
+                lst.push(tpl.replace(/\{1\}/gi, devcode.replace(/C_/g, "")).replace(/\{2\}/g, typeName).replace('{COLOR}', color))
+            }
+            t.html(lst.join(''));
+            var noAlarmDevs=[];
+            if(MODEL_LOADED==1){
+                for(var devcode in modelsMap){
+                    if(OFFLINE_DEVS[devcode]==1) continue;
+                    var alarmInfo = alarmDev[devcode];
+                    //上一次没有告警,本次有告警,需要设置成告警状态
+                    if(alarmInfo!=null){
+                        if(this.LastAlarmDevs[devcode]==null){
+                            var typeName = this.AlarmType[alarmInfo];
+                            if (MODEL_LOADED == 1) {
+                                //机器告警提示
+                                ChangeModelColor(devcode, DEV_ALAR_COLOR, typeName)
+                            } else {
+                                //记录下来,等待模型加载完成时处理
+                                ALARM_DEVS.push(devcode + ">" + typeName)
+                            }
                         }
+                        this.LastAlarmDevs[devcode]=1;
+                    }else{
+                        //上一次有告警,并且没有盘头告警时,本次未告警,需要恢复成未告警状态
+                        if(this.LastAlarmDevs[devcode]==1 && this.PanAlarm[devcode]==null){
+                            noAlarmDevs.push(devcode);
+                        }
+                        this.LastAlarmDevs[devcode]=null;
                     }
-                    this.LastAlarmDevs[devcode]=1;
-                }else{
-                    //上一次有告警,并且没有盘头告警时,本次未告警,需要恢复成未告警状态
-                    if(this.LastAlarmDevs[devcode]==1 && this.PanAlarm[devcode]==null){
-                        noAlarmDevs.push(devcode);
-                    }
-                    this.LastAlarmDevs[devcode]=null;
-                }
-            }
-            if(noAlarmDevs.length>0){
-                for (var i = 0; i < noAlarmDevs.length; i++) {
-                    ChangeModelColor(noAlarmDevs[i]) //还原设备的无告警状态
                 }
-            }
-            t.html(lst.join(''))
+            }            
             t.find("tr").off().on('click', function () {
                 //点击告警行
                 var devno = $.trim($(this).attr('devno'))
@@ -1457,6 +1458,11 @@
                 clearInterval(this.devAlarmAutoLoadTimter)
                 tb.css("top", "0px");
             }
+            if(noAlarmDevs.length>0){
+                for (var i = 0; i < noAlarmDevs.length; i++) {
+                    ChangeModelColor(noAlarmDevs[i]) //还原设备的无告警状态
+                }
+            }
         },
         //告警趋势数据填充
         AlarmLine: function (data) {