|
@@ -1322,6 +1322,7 @@
|
|
|
});
|
|
|
var sam0023;
|
|
|
var modelsMap = {}
|
|
|
+ var modelsAlarmColorMap={};
|
|
|
var MODEL_LOADED = 0; //模型是否加载完成
|
|
|
var ALARM_DEVS = []; //未提醒的告警设备,将在模型加载完成时提醒
|
|
|
var OFFLINE_DEVS={}; //未接入设备列表
|
|
@@ -1367,6 +1368,42 @@
|
|
|
"10006": "落布米数到达停机",
|
|
|
"10008": "叫料停机"
|
|
|
},
|
|
|
+ //告警指示灯颜色
|
|
|
+ AlarmColorTypeCode:{
|
|
|
+ "1": "ffff00", //黄色
|
|
|
+ "2": "ffff00",
|
|
|
+ "3": "ffff00",
|
|
|
+ "4": "ffff00",
|
|
|
+ "5": "ffff00",
|
|
|
+ "6": "ffff00",
|
|
|
+ "7": "ffff00",
|
|
|
+ "8": "ffff00",
|
|
|
+ "9": "ffff00",
|
|
|
+ "10": "ffff00",
|
|
|
+ "11": "ffff00",
|
|
|
+ "12": "ffff00",
|
|
|
+ "13": "ffff00",
|
|
|
+ "14": "ffff00",
|
|
|
+ "15": "ffff00",
|
|
|
+ "16": "ffff00",
|
|
|
+ "17": "ffff00",
|
|
|
+ "18": "ffff00",
|
|
|
+ "19": "ffff00",
|
|
|
+ "20": "ffff00",
|
|
|
+ "21": "ffff00",
|
|
|
+ "22": "ffff00",
|
|
|
+ "23": "ffff00",
|
|
|
+ "24": "ffff00",
|
|
|
+ "25": "ffff00",
|
|
|
+ "26": "ffff00",
|
|
|
+ "27": "ffff00",
|
|
|
+ "1000":"", //盘头比例低于20%
|
|
|
+ "1001":"", //盘头比例低于50%
|
|
|
+ "10001": "ff0000",
|
|
|
+ "10002": "ff0000",
|
|
|
+ "10006": "ff0000",
|
|
|
+ "10008": "ffff00"
|
|
|
+ },
|
|
|
//停机原因类型
|
|
|
StopType: {
|
|
|
"stop1": "停经片停机",
|
|
@@ -1390,6 +1427,7 @@
|
|
|
if(this.PanAlarm[devcode]==null){
|
|
|
//还原设备状态
|
|
|
ChangeModelColor(devcode);
|
|
|
+ ChangeModelAlarmState(devCode); //"00ff00" 绿色
|
|
|
}
|
|
|
}
|
|
|
return
|
|
@@ -1421,10 +1459,12 @@
|
|
|
var typeName = this.AlarmType[alarmInfo];
|
|
|
if (MODEL_LOADED == 1) {
|
|
|
//机器告警提示
|
|
|
- ChangeModelColor(devcode, DEV_ALAR_COLOR, typeName)
|
|
|
+ //ChangeModelColor(devcode, DEV_ALAR_COLOR, typeName)
|
|
|
+ ChangeModelAlarmState(devcode,DataFill.AlarmColorTypeCode[alarmInfo]);
|
|
|
} else {
|
|
|
//记录下来,等待模型加载完成时处理
|
|
|
- ALARM_DEVS.push(devcode + ">"+DEV_ALAR_COLOR+">" + typeName)
|
|
|
+ //ALARM_DEVS.push(devcode + ">"+DEV_ALAR_COLOR+">" + typeName)
|
|
|
+ ALARM_DEVS.push(devcode + ">"+DataFill.AlarmColorTypeCode[alarmInfo]+">" + typeName)
|
|
|
}
|
|
|
}
|
|
|
this.LastAlarmDevs[devcode]=1;
|
|
@@ -1464,7 +1504,9 @@
|
|
|
}
|
|
|
if(noAlarmDevs.length>0){
|
|
|
for (var i = 0; i < noAlarmDevs.length; i++) {
|
|
|
- ChangeModelColor(noAlarmDevs[i]) //还原设备的无告警状态
|
|
|
+ //还原设备的无告警状态
|
|
|
+ ChangeModelColor(noAlarmDevs[i])
|
|
|
+ ChangeModelAlarmState(noAlarmDevs[i]) //00ff00
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -2324,6 +2366,7 @@
|
|
|
//设备已接入
|
|
|
if(OFFLINE_DEVS[devcode]!=null){
|
|
|
ChangeModelColor(devcode); //恢复原颜色
|
|
|
+ ChangeModelAlarmState(devcode);//"00ff00"
|
|
|
OFFLINE_DEVS[devcode]=null;
|
|
|
console.log('设备上线:',devcode)
|
|
|
}
|
|
@@ -2331,6 +2374,7 @@
|
|
|
if(OFFLINE_DEVS[devcode]==null){
|
|
|
//设备未接入
|
|
|
ChangeModelColor(devcode,DEV_OFFLINE_COLOR);
|
|
|
+ ChangeModelAlarmState(devcode);
|
|
|
OFFLINE_DEVS[devcode]=1
|
|
|
//console.log('离线设备:',devcode)
|
|
|
}
|
|
@@ -2424,10 +2468,23 @@
|
|
|
"minLod": 0.1,
|
|
|
"textColor": parseInt("0xffffffff")
|
|
|
};
|
|
|
- options.pos = [xyz2[0] - 1.5, xyz2[1] - 3, 0]
|
|
|
+ options.pos = [xyz2[0] - 1.5, xyz2[1] - 3, 0]
|
|
|
var markPtr = await player.Native.GisMarker.create(options);
|
|
|
player.Native.GisMarker.update(markPtr, options);
|
|
|
modelsMap[tmp.name] = {item: tmp.item, xyz: xyz2}
|
|
|
+ //创建指示灯标记
|
|
|
+ var alarmColorMarker = {
|
|
|
+ "text":"●",
|
|
|
+ "visible": true,
|
|
|
+ "maxLod": 110,
|
|
|
+ "minLod": 0.1,
|
|
|
+ "textFontSize":14,
|
|
|
+ "textColor": parseInt("0xffffff00") //透明色
|
|
|
+ }
|
|
|
+ alarmColorMarker.pos=[xyz2[0]+0.7, xyz2[1] - 3, 0]
|
|
|
+ var colormarkPtr = await player.Native.GisMarker.create(alarmColorMarker);
|
|
|
+ player.Native.GisMarker.update(colormarkPtr, alarmColorMarker);
|
|
|
+ modelsAlarmColorMap[tmp.name] = {itemPtr:colormarkPtr,options:alarmColorMarker}
|
|
|
}
|
|
|
}
|
|
|
//loadedcnt.innerText=totalcnt.innerText;
|
|
@@ -2435,7 +2492,8 @@
|
|
|
if (ALARM_DEVS.length > 0) {
|
|
|
for (var i = 0; i < ALARM_DEVS.length; i++) {
|
|
|
var s = ALARM_DEVS[i].split(">")
|
|
|
- ChangeModelColor(s[0],s[1] , s[2]);
|
|
|
+ //ChangeModelColor(s[0],s[1] , s[2]);
|
|
|
+ ChangeModelAlarmState(s[0],s[1]);
|
|
|
}
|
|
|
ALARM_DEVS = [];//清除
|
|
|
}
|
|
@@ -2578,6 +2636,22 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //更改指示灯状态
|
|
|
+ async function ChangeModelAlarmState(name,color){
|
|
|
+ var iteminfo = modelsAlarmColorMap[name]
|
|
|
+ if (iteminfo == null) return
|
|
|
+ var colormarkPtr = iteminfo.itemPtr;
|
|
|
+ var alarmColorMarker = iteminfo.options;
|
|
|
+ if (color == null || color == "") {
|
|
|
+ if(OFFLINE_DEVS[name]==1) return; //离线设备无需处理
|
|
|
+ //还原为透明
|
|
|
+ alarmColorMarker["textColor"] = parseInt("0xffffff00");
|
|
|
+ player.Native.GisMarker.update(colormarkPtr, alarmColorMarker);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ alarmColorMarker["textColor"] = parseInt("0x"+color+"ff");
|
|
|
+ player.Native.GisMarker.update(colormarkPtr, alarmColorMarker);
|
|
|
+ }
|
|
|
|
|
|
var LastClickObj = null;
|
|
|
var openState = false;
|