安琪酵母(西藏)益生菌信息采集中心智能实验室
longyvfengyun
2023-08-24 91a371d14923904bdf88dd22995f1470eac3f809
src/views/home/js/homeInfoModule.js
@@ -1,6 +1,32 @@
import {reactive} from "vue";
import {onMounted, reactive} from "vue";
import createWs from "@/assets/js/tools/websocket/createWs";
import regEquipType from "@/assets/js/tools/regEquipType";
const homeInfoModule = ()=>{
  const {
    SOCKET
  } = createWs("homePageSocket");
  const handleOpen = ()=>{};
  const handleMessage = (res=>{
    const rs = JSON.parse(res.data);
    if(rs.code === 1 && rs.data) {
      const data = rs.data2;
      for(let i=0; i<data.length;i++) {
        let iData = data[i];
        for(let j=0; j<homeInfo.length; j++) {
          let jData = homeInfo[j];
          if(iData.roomName === jData.name && regEquipType(iData.devId, 'env')) {
            jData.info.tmp = iData.envirState.devTemp.toHold(2);
            jData.info.hum = iData.envirState.devHumid.toHold(2);
            jData.info.diff = iData.envirState.devPresss.toHold(2);
          }
        }
      }
    }
  });
  const homeInfo = reactive([
    {
      name: "数据机房",
@@ -8,18 +34,34 @@
      hum: 7,
      diffPre: 1,
      pos: {
        x: 446,
        y: 355
        visible: true,
        placement: "left",
        x: 710,
        y: 690
      },
      info: {
        num: 99,
        tmp: 20,
        hum: 35,
        diff: 5
      }
    },
    {
      name: "培养间",
      name: "无菌室",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        x: 555,
        y: 385
        visible: true,
        placement: "top",
        x: 916,
        y: 690
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
@@ -28,8 +70,16 @@
      hum: 7,
      diffPre: 1,
      pos: {
        x: 765,
        y: 450
        visible: true,
        placement: "left",
        x: 1212,
        y: 690
      },
      info: {
        num: 3,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
@@ -38,21 +88,262 @@
      hum: 7,
      diffPre: 1,
      pos: {
        x: 910,
        y: 495
        visible: true,
        placement: "top",
        x: 1395,
        y: 690
      },
      info: {
        num: 5,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "文库扩展",
      name: "文库扩增室",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        x: 1105,
        y: 530
        visible: true,
        placement: "top",
        x: 1576,
        y: 650
      },
      info: {
        num: 1,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    }
    },
    {
      name: "样品及文库制备室",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        visible: true,
        placement: "top",
        x: 1495,
        y: 337
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "试剂准备室",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        visible: true,
        placement: "top",
        x: 1190,
        y: 355
      },
      info: {
        num: 4,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "电泳室",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        visible: true,
        placement: "top",
        x: 1000,
        y: 378
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "库房",
      temp: 0,
      hum: 0,
      diffPre: 0,
      pos: {
        visible: true,
        placement: "top",
        x: 550,
        y: 380
      },
      info: {
        num: 99,
        tmp: 20,
        hum: 35,
        diff: 5
      }
    },
    {
      name: "灭菌室",
      temp: 0,
      hum: 0,
      diffPre: 0,
      pos: {
        visible: true,
        placement: "top",
        x: 750,
        y: 360
      },
      info: {
        num: 99,
        tmp: 20,
        hum: 35,
        diff: 5
      }
    },
    {
      name: "理化间",
      temp: 0,
      hum: 0,
      diffPre: 0,
      pos: {
        visible: true,
        placement: "top",
        x: 420,
        y: 700
      },
      info: {
        num: 99,
        tmp: 20,
        hum: 35,
        diff: 5
      }
    },
    {
      name: "空调机房",
      temp: 0,
      hum: 0,
      diffPre: 0,
      pos: {
        visible: true,
        placement: "top",
        x: 420,
        y: 1100
      },
      info: {
        num: 99,
        tmp: 20,
        hum: 35,
        diff: 5
      }
    },
    {
      name: "缓冲间",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        visible: true,
        placement: "left",
        x: 820,
        y: 490
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "洁净走廊",
      temp: 32,
      hum: 7,
      diffPre: 1,
      pos: {
        visible: true,
        placement: "left",
        x: 1200,
        y: 490
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "会议室",
      temp: 32,
      hum: 7,
      diffPre: 1,
      noInfo: true,
      pos: {
        visible: true,
        placement: "top",
        x: 1900,
        y: 450
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "茶水间",
      temp: 32,
      hum: 7,
      diffPre: 1,
      noInfo: true,
      pos: {
        visible: true,
        placement: "top",
        x: 1790,
        y: 730
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
    {
      name: "仓库",
      temp: 32,
      hum: 7,
      diffPre: 1,
      noInfo: true,
      pos: {
        visible: true,
        placement: "top",
        x: 2180,
        y: 730
      },
      info: {
        num: 99,
        tmp: 0,
        hum: 0,
        diff: 0
      }
    },
  ]);
  onMounted(()=>{
    SOCKET.value.addEventListener("open", handleOpen, false);
    SOCKET.value.addEventListener("message", handleMessage, false);
  });
  return {homeInfo};
};
export default homeInfoModule;