//处理61850机房环境数据
classify61850ElementData: function (parElementData) {
// console.log("61850机房环境,",parElementData)
let mxList = [];
let stList = [];
let airList = [];
let humList = [];
let doorList = [];
let smokeList = [];
let waterList = [];
mxList = parElementData[0].mx.length>0&&parElementData[0].mx;
// console.log(mxList,"+++");
stList = parElementData[0].st.length>0&&parElementData[0].st;
// console.log(stList,"____");
mxList.forEach(element => {
let item = {
device: "",
mx:[],
st:[],
co:[]
}
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$MX$")[0];
// console.log(deviceType);
deviceNum = element.code.split("$MX$")[0].replace(/[^0-9]/ig,"");
// console.log(deviceNum);
if(deviceType.indexOf("humGGIO")>-1){
item.device = "HUM"+deviceNum
if(JSON.stringify(humList).indexOf(JSON.stringify(item))==-1){
humList.push(item); // 将对象添加到数组中(后增)
}
}
});
stList.sort((ele1,ele2)=>{//环境数据排序
const deviceNum1 = Number(ele1.code.split("$ST$")[0].replace(/[^0-9]/ig,""));
// console.log(deviceNum1,"-----");
const deviceNum2 = Number(ele2.code.split("$ST$")[0].replace(/[^0-9]/ig,""));
// console.log(deviceNum2,"+++++");
return deviceNum1 - deviceNum2;
}).forEach(element => {
let item = {
device: "",
mx:[],
st:[],
co:[]
}
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$ST$")[0];
// console.log(element);
// console.log(element.code,"---");
// console.log(deviceType,";;;");
deviceNum = element.code.split("$ST$")[0].replace(/[^0-9]/ig,"");
// console.log(deviceNum,"\\\\\\");
// console.log(items);
// console.log(typeof deviceNum);
if(deviceType.indexOf("condGGIO")>-1){
// console.log(item,"===");
item.device = "AIR"+deviceNum
if(JSON.stringify(airList).indexOf(JSON.stringify(item))==-1){
airList.push(item); // 将对象添加到数组中(后增)
}
}else if(deviceType.indexOf("doorGGIO")>-1){
item.device = "DOOR"+deviceNum
if(JSON.stringify(doorList).indexOf(JSON.stringify(item))==-1){
doorList.push(item); // 将对象添加到数组中(后增)
}
}else if(deviceType.indexOf("smokeGGIO")>-1){
item.device = "SMOKE"+deviceNum
if(JSON.stringify(smokeList).indexOf(JSON.stringify(item))==-1){
smokeList.push(item); // 将对象添加到数组中(后增)
}
}else if(deviceType.indexOf("waterGGIO")>-1){
item.device = "WATER"+deviceNum
if(JSON.stringify(waterList).indexOf(JSON.stringify(item))==-1){
waterList.push(item); // 将对象添加到数组中(后增)
}
}
});
airList.forEach(airListElement => {
stList.forEach(element => {
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$ST$")[0];
deviceNum = element.code.split("$ST$")[0].replace(/[^0-9]/ig,"");
if(deviceType.indexOf("condGGIO")>-1){
if(airListElement.device.replace(/[^0-9]/ig,"")==deviceNum){
airListElement.st.push(element)
}
}
});
});
doorList.forEach(doorListElement => {
stList.forEach(element => {
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$ST$")[0];
deviceNum = element.code.split("$ST$")[0].replace(/[^0-9]/ig,"");
if(deviceType.indexOf("doorGGIO")>-1){
if(doorListElement.device.replace(/[^0-9]/ig,"")==deviceNum){
doorListElement.st.push(element)
}
}
});
});
humList.forEach(humListElement => {
mxList.forEach(element => {
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$MX$")[0];
deviceNum = element.code.split("$MX$")[0].replace(/[^0-9]/ig,"");
if(deviceType.indexOf("etmGGIO")>-1||deviceType.indexOf("humGGIO")>-1){
if(humListElement.device.replace(/[^0-9]/ig,"")==deviceNum){
humListElement.mx.push(element)
}
}
});
stList.forEach(element => {
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$ST$")[0];
deviceNum = element.code.split("$ST$")[0].replace(/[^0-9]/ig,"");
if(deviceType.indexOf("etmGGIO")>-1||deviceType.indexOf("humGGIO")>-1){
if(humListElement.device.replace(/[^0-9]/ig,"")==deviceNum){
humListElement.st.push(element)
}
}
});
});
smokeList.forEach(smokeListElement => {
stList.forEach(element => {
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$ST$")[0];
deviceNum = element.code.split("$ST$")[0].replace(/[^0-9]/ig,"");
if(deviceType.indexOf("smokeGGIO")>-1){
if(smokeListElement.device.replace(/[^0-9]/ig,"")==deviceNum){
smokeListElement.st.push(element)
}
}
});
});
waterList.forEach(waterListElement => {
stList.forEach(element => {
let deviceType = "";
let deviceNum = "";
deviceType = element.code.split("$ST$")[0];
deviceNum = element.code.split("$ST$")[0].replace(/[^0-9]/ig,"");
if(deviceType.indexOf("waterGGIO")>-1){
if(waterListElement.device.replace(/[^0-9]/ig,"")==deviceNum){
waterListElement.st.push(element)
}
}
});
});
// console.log("airList,",airList)
// console.log("humList,",humList)
// console.log("doorList,",doorList)
// console.log("smokeList,",smokeList)
// console.log("waterList,",waterList)
this.detail.classify.eleroomData.airList = airList;
this.detail.classify.eleroomData.doorList = doorList;
this.detail.classify.eleroomData.waterList = waterList;
this.detail.classify.eleroomData.humList = humList;
this.detail.classify.eleroomData.smokeList = smokeList;
}