hxz 2 anni fa
parent
commit
442c8c8f8d
2 ha cambiato i file con 2486 aggiunte e 2340 eliminazioni
  1. 2088 2340
      pages/loop/loop.js
  2. 398 0
      utils/loop.js

File diff suppressed because it is too large
+ 2088 - 2340
pages/loop/loop.js


+ 398 - 0
utils/loop.js

@@ -0,0 +1,398 @@
+// 分组下拉
+function Groupdrop() {
+  var group = wx.getStorageSync('group')
+  var groups = []
+  for (let i = 0; i < group.length; i++) {
+    groups.push(group[i].groupName)
+  }
+  //改变分组下标
+  if (wx.getStorageSync('groupName') != '') {
+    let GroupName = groups
+    for (let n = 0; n < GroupName.length; n++) {
+      if (GroupName[n] == wx.getStorageSync('groupName')) {
+        return {
+          n,
+          groups
+        }
+      }
+    }
+  } else {
+    wx.setStorageSync('groupName', groups[0])
+    return {
+      groups
+    }
+  }
+}
+
+//设备下拉
+function Devicedrop(groupName, groupIndex) {
+  var group = wx.getStorageSync('group')
+  var device = []
+  for (let j = 0; j < group.length; j++) {
+    if (groupName[groupIndex] == group[j].groupName) {
+      if (group[j].devices != null && group[j].devices.length != 0) {
+        for (let p = 0; p < group[j].devices.length; p++) {
+          device.push(group[j].devices[p].deviceName)
+        }
+        if (wx.getStorageSync('deviceName') != '') {
+          for (let m = 0; m < device.length; m++) {
+            if (device[m] == wx.getStorageSync('deviceName')) {
+              return {
+                m,
+                device
+              }
+            }
+          }
+        } else {
+          wx.setStorageSync('deviceName', device[0])
+          return {
+            device
+          }
+        }
+      } else {
+        return '离线'
+      }
+    }
+  }
+}
+
+//设备id,key
+function deviceMessage(groupNames, deviceNames) {
+  var group = wx.getStorageSync('group')
+  for (let d = 0; d < group.length; d++) {
+    if (groupNames == group[d].groupName) {
+      for (let g = 0; g < group[d].devices.length; g++) {
+        if (deviceNames == group[d].devices[g].deviceName) {
+          console.log(group[d].devices[g].module)
+          if (group[d].devices[g].module == 0) {
+            var loopnum = group[d].devices[g].circuits
+            var deviceId = group[d].devices[g].deviceId
+            var deviceKey = group[d].devices[g].deviceKey
+            return [loopnum, deviceId, deviceKey]
+          } else {
+
+          }
+        }
+      }
+    }
+  }
+}
+
+//设备信息
+function deviceinfo(data,arr,brr,time,state,state1,
+                    fixed1,fixed2,fixed3,fixed4,address,
+                    radio1,radio2,radio3,index,indexs) {
+  //以下为回路
+  for (let i = 1; i < data.length; i++) {
+    //回路数量
+    if (data[i].id == "RelayCount") {
+      var num = data[i].current_value
+      num = parseInt(num)
+      loopnum = loopnum.split(',')
+      var num1 = []
+      for (let a = 0; a < num; a++) {
+        num1.push(loopnum[a])
+      }
+      num1.push('所有回路')
+      var crr = num1
+    }
+    //时控一开时间
+    else if (data[i].id == "R1_DayOpenTime1") {
+      var timeopen1 = data[i].current_value
+    }
+    //时控一关时间
+    else if (data[i].id == "R1_DayCloseTime1") {
+      var timeshut1 = data[i].current_value
+    }
+    //时控二开时间
+    else if (data[i].id == "R1_DayOpenTime2") {
+      var timeopen2 = data[i].current_value
+    }
+    //时控二关时间
+    else if (data[i].id == "R1_DayCloseTime2") {
+      var timeshut2 = data[i].current_value
+    }
+    //日期调控
+    else if (data[i].id == "R1_Week") {
+      var weeks = data[i].current_value
+      var recorddate = weeks
+      weeks = parseInt(weeks)
+      weeks = weeks.toString(2)
+      weeks = weeks + ''
+    }
+    //功能1
+    else if (data[i].id == "R1_FunctionStatus1") {
+      var Function1 = data[i].current_value
+      var par = parseInt(Function1)
+      par = par.toString(2)
+      par = par + ''
+      switch (par.length) {
+        case 1:
+          par = '00000' + par
+          break;
+        case 2:
+          par = '0000' + par
+          break;
+        case 3:
+          par = '000' + par
+          break;
+        case 4:
+          par = '00' + par
+          break;
+        case 5:
+          par = '0' + par
+          break;
+        default:
+          par = par
+      }
+    }
+    //功能二
+    else if (data[i].id == "R1_FunctionStatus2") {
+      var Function2 = data[i].current_value
+      var qur = parseInt(Function2)
+      qur = qur.toString(2)
+      qur = qur + ''
+      switch (qur.length) {
+        case 1:
+          qur = '000' + qur
+          break;
+        case 2:
+          qur = '00' + qur
+          break;
+        case 3:
+          qur = '0' + qur
+          break;
+        case 4:
+          qur = qur
+          break;
+      }
+    }
+    //报警
+    else if (data[i].id == "R1_RelayStatus") {
+      var police = data[i].current_value
+    }
+    //光控开
+    else if (data[i].id == "R1_LcOn") {
+      var Lightcontrolopen = data[i].current_value
+      for (let i = 0; i < 100; i++) {
+        arr[i] = i
+      }
+      Lightcontrolopen = parseInt(Lightcontrolopen)
+      var index = Lightcontrolopen
+    }
+    //光控关
+    else if (data[i].id == "R1_LcOff") {
+      var Lightcontrolshut = data[i].current_value
+      for (let j = 0; j < 100; j++) {
+        brr[j] = j
+      }
+      Lightcontrolshut = parseInt(Lightcontrolshut)
+      var indexs = Lightcontrolshut
+    }
+  }
+  //时控一开时间
+  var timeOpen1
+  switch (timeopen1.length) {
+    case 1:
+      timeOpen1 = '00' + ':' + '0' + timeopen1.substring(0, 1)
+      break;
+    case 2:
+      timeOpen1 = '00' + ':' + timeopen1.substring(0, 2)
+      break;
+    case 3:
+      var timeOpen1 = '0' + timeopen1.substring(0, 1) + ':' + timeopen1.substring(1, 3)
+      break;
+    case 4:
+      var timeOpen1 = timeopen1.substring(0, 2) + ':' + timeopen1.substring(2, 4)
+      break;
+  }
+  //时控一关时间
+  var timeShut1
+  switch (timeshut1.length) {
+    case 1:
+      timeShut1 = '00' + ':' + '0' + timeshut1.substring(0, 1)
+      break;
+    case 2:
+      timeShut1 = '00' + ':' + timeshut1.substring(0, 2)
+      break;
+    case 3:
+      var timeShut1 = '0' + timeshut1.substring(0, 1) + ':' + timeshut1.substring(1, 3)
+      break;
+    case 4:
+      var timeShut1 = timeshut1.substring(0, 2) + ':' + timeshut1.substring(2, 4)
+      break;
+  }
+  //时控二开时间
+  var timeOpen2
+  switch (timeopen2.length) {
+    case 1:
+      timeOpen2 = '00' + ':' + '0' + timeopen2.substring(0, 1)
+      break;
+    case 2:
+      timeOpen2 = '00' + ':' + timeopen2.substring(0, 2)
+      break;
+    case 3:
+      var timeOpen2 = '0' + timeopen2.substring(0, 1) + ':' + timeopen2.substring(1, 3)
+      break;
+    case 4:
+      var timeOpen2 = timeopen2.substring(0, 2) + ':' + timeopen2.substring(2, 4)
+      break;
+  }
+  //时控二关时间
+  var timeShut2
+  switch (timeshut2.length) {
+    case 1:
+      timeShut2 = '00' + ':' + '0' + timeshut2.substring(0, 1)
+      break;
+    case 2:
+      timeShut2 = '00' + ':' + timeshut2.substring(0, 2)
+      break;
+    case 3:
+      var timeShut2 = '0' + timeshut2.substring(0, 1) + ':' + timeshut2.substring(1, 3)
+      break;
+    case 4:
+      var timeShut2 = timeshut2.substring(0, 2) + ':' + timeshut2.substring(2, 4)
+      break;
+  }
+  //功能1
+  for (var i = 0; i < par.length; i++) {
+    switch (par.substring(i, i + 1)) {
+      case "0":
+        switch (i) {
+          case 0:
+            state[3] = false
+            break;
+          case 1:
+            state[2] = false
+            break;
+          case 2:
+            fixed2 = "固定"
+            break;
+          case 3:
+            fixed1 = "固定"
+            break;
+          case 4:
+            state[1] = false
+            break;
+          case 5:
+            state[0] = false
+            break;
+        }
+        break;
+      case "1":
+        switch (i) {
+          case 0:
+            state[3] = true
+            break;
+          case 1:
+            state[2] = true
+            break;
+          case 2:
+            fixed2 = "经纬"
+            break;
+          case 3:
+            fixed1 = "经纬"
+            break;
+          case 4:
+            state[1] = true
+            break;
+          case 5:
+            state[0] = true
+            break;
+        }
+        break;
+    }
+  }
+  //功能2
+  for (let j = 0; j < qur.length; j++) {
+    switch (qur.substring(j, j + 1)) {
+      case "0":
+        switch (j) {
+          case 0:
+            fixed4 = "固定"
+            break;
+          case 1:
+            fixed3 =  "固定"
+            break;
+          case 2:
+            state1[1] = false
+            break;
+          case 3:
+            state1[0] = false
+            break;
+        }
+        break;
+      case "1":
+        switch (j) {
+          case 0:
+            fixed4 = "经纬"
+            break;
+          case 1:
+            fixed3 = "经纬"
+            break;
+          case 2:
+            state1[1] = true
+            break;
+          case 3:
+            state1[0] = true
+            break;
+        }
+        break;
+    }
+  }
+  //日期调控
+  if (weeks == '0') {
+    for (let x = 0; x < weeks.length; x++) {
+      address[x] = "/image/false.png"
+    }
+  } else {
+    for (let i = 0; i < weeks.length; i++) {
+      switch (weeks.substring(i, i + 1)) {
+        case '0':
+          address[weeks.length - i - 1] = "/image/false.png"
+          break;
+        case '1':
+          address[weeks.length - i - 1] = "/image/true.png"
+          break;
+      }
+    }
+  }
+  //报警状态
+  police = parseInt(police)
+  police = police.toString(2)
+  switch (police.length) {
+    case 1:
+      police = '000' + police
+      break;
+    case 2:
+      police = '00' + police
+      break;
+    case 3:
+      police = '0' + police
+      break;
+    default:
+      police = police
+      break;
+  }
+  if (police.substring(1, 2) == '0' && police.substring(0, 1) == '0') {
+      radio1 = true
+  } else if (police.substring(1, 2) == '1' && police.substring(0, 1) == '0') {
+      radio2 = true
+  } else if (police.substring(1, 2) == '0' && police.substring(0, 1) == '1') {
+    radio3 = true
+  }
+  time[0] = timeOpen1
+  time[1] = timeShut1
+  time[2] = timeOpen2
+  time[3] = timeShut2
+  return {crr,recorddate,arr,brr,time,state,state1,
+          fixed1,fixed2,fixed3,fixed4,address,
+          radio1,radio2,radio3,index,indexs}
+}
+
+module.exports = {
+  Groupdrop: Groupdrop,
+  Devicedrop: Devicedrop,
+  deviceMessage: deviceMessage,
+  deviceinfo:deviceinfo
+}