环境排序实现到页面

159 阅读1分钟

//处理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;
}