const {getBasic,getData,postData,} = require('../../api/intell') const {getDevice, getloop} = require('../../api/device') const enloop = require('../../utils/loop') // pages/loop/loop.js Page({ /** * 页面的初始数据 */ data: { array: [], //回路调控 crr: [], indexes: 0, //时间调控 time: ["00:00", "00:00", "00:00", "00:00"], //时间调控(开关选择器) state: [false, false, false, false], //控制时控一开关和光控开关的状态 state1: [false, false], //控制时控二开关的状态 fixed1:"固定", fixed2:"固定", fixed3:"固定", fixed4:"固定", type1:"", type2:"", type3:"", type4:"", //时间调控(背景颜色) timecontrolcolor1: "#888888", timecontrolcolor2: "#888888", timecontrolcolor3: "#888888", timecontrolcolor4: "#888888", //时间调控(字体颜色) fontcolor1: "#cccccc", fontcolor2: "#cccccc", fontcolor3: "#cccccc", fontcolor4: "#cccccc", //固定经纬切换 //日期调控 address: ["/image/false.png", "/image/false.png", "/image/false.png", "/image/false.png", "/image/false.png", "/image/false.png", "/image/false.png", "/image/false.png" ], recorddate: "", //记录后台传过来的日期参数 //光控调整 arr: [0], brr: [0], index: 0, indexs: 0, Lightcontrolcolor1: "#888888", Lightcontrolcolor2: "#888888", fontcolor5: "#cccccc", fontcolor6: "#cccccc", select1: "", select2: "", //报警状态 radio1: false, radio2: false, radio3: false, alert: "", //扫码 Title: "", status: "离线", zoom: 0.8, Modecontrol: "", groupName: [], deviceName: [], groupIndex: 0, deviceIndex: 0, deviceId: '', deviceKey: '', num: 0, //记录回路数量 play: 0, //新老设备的页面切换 //新设备数据 timeValue: ['00:00', '00:00','00:00','00:00','00:00','00:00'], weather: ['晴天', '雨天', '阴天', '黑夜'], wIndex: 0, newcolor:["#888888","#888888","#888888"], newfont:["#cccccc","#cccccc","#cccccc"], newSwitch:[false,false,false], newSwitchstate:["","",""], }, //分组下拉 changegroup: function (e) { var that = this that.setData({ groupIndex: e.detail.value }) wx.setStorageSync('groupIndex', e.detail.value) var groupName = that.data.groupName[that.data.groupIndex] //选择的分组名称 wx.setStorageSync('groupName', groupName) //将修改的分组名称放入缓存 //获取设备名称下拉 var group = wx.getStorageSync('group') var deviceName = that.data.deviceName var deviceName = [] for (let i = 0; i < group.length; i++) { if (group[i].groupName == groupName) { if (group[i].devices != null) { wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) for (let j = 0; j < group[i].devices.length; j++) { deviceName.push(group[i].devices[j].deviceName) } } else { wx.showModal({ title: '提示', content: '工程中不存在设备', showCancel: false }) console.log('回路分组下拉到没有设备的工程') that.setData({ status: '离线' }) } } } that.setData({ deviceName: deviceName }) //重新获取设备id和key if (that.data.deviceName.length != 0) { var groupNames = that.data.groupName[that.data.groupIndex] var deviceNames = that.data.deviceName[that.data.deviceIndex] 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) { var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey var loopnum = group[d].devices[g].circuits } } } } wx.setStorageSync('deviceName', deviceNames) //将修改设备名放入缓存 that.setData({ deviceId: deviceId, deviceKey: deviceKey }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId, method: 'GET', header: { "api-key": deviceKey }, success: (res) => { if (res.data.data.online == true) { that.setData({ status: "在线" }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId + '/datastreams', header: { "api-key": deviceKey }, method: 'GET', success: (res) => { let { data } = res.data //以下为回路 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('所有回路') that.setData({ 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 that.setData({ recorddate: weeks }) weeks = parseInt(weeks) weeks = weeks.toString(2) weeks = weeks + '' if (weeks != '0') { weeks = weeks.slice(1) } } //功能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 var trr = that.data.arr for (let i = 0; i < 100; i++) { trr[i] = i } Lightcontrolopen = parseInt(Lightcontrolopen) that.setData({ arr: trr, index: Lightcontrolopen }) } //光控关 else if (data[i].id == "R1_LcOff") { var Lightcontrolshut = data[i].current_value var prr = that.data.brr for (let j = 0; j < 100; j++) { prr[j] = j } Lightcontrolshut = parseInt(Lightcontrolshut) that.setData({ brr: prr, 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++) { var engry = that.data.state switch (par.substring(i, i + 1)) { case "0": switch (i) { case 0: engry[3] = false that.setData({ state: engry }) break; case 1: engry[2] = false that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "固定" }) break; case 3: that.setData({ fixed1: "固定" }) break; case 4: engry[1] = false that.setData({ state: engry }) break; case 5: engry[0] = false that.setData({ state: engry }) break; } break; case "1": switch (i) { case 0: engry[3] = true that.setData({ state: engry }) break; case 1: engry[2] = true that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "经纬" }) break; case 3: that.setData({ fixed1: "经纬" }) break; case 4: engry[1] = true that.setData({ state: engry }) break; case 5: engry[0] = true that.setData({ state: engry }) break; } break; } } //功能2 for (let j = 0; j < qur.length; j++) { var Engry = that.data.state1 switch (qur.substring(j, j + 1)) { case "0": switch (j) { case 0: that.setData({ fixed4: "固定" }) break; case 1: that.setData({ fixed3: "固定" }) break; case 2: Engry[1] = false that.setData({ state1: Engry }) break; case 3: Engry[0] = false that.setData({ state1: Engry }) break; } break; case "1": switch (j) { case 0: that.setData({ fixed4: "经纬" }) break; case 1: that.setData({ fixed3: "经纬" }) break; case 2: Engry[1] = true that.setData({ state1: Engry }) break; case 3: Engry[0] = true that.setData({ state1: Engry }) break; } break; } } //日期调控 var controladdress = that.data.address if (weeks == '0') { for (let x = 0; x < weeks.length; x++) { controladdress[x] = "/image/false.png" } that.setData({ address: controladdress, }) } else { for (let i = 0; i < weeks.length; i++) { switch (weeks.substring(i, i + 1)) { case '0': controladdress[weeks.length - i - 1] = "/image/false.png" that.setData({ address: controladdress, }) break; case '1': controladdress[weeks.length - i - 1] = "/image/true.png" that.setData({ address: controladdress, }) 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') { that.setData({ radio1: true }) } else if (police.substring(1, 2) == '1' && police.substring(0, 1) == '0') { that.setData({ radio2: true }) } else if (police.substring(1, 2) == '0' && police.substring(0, 1) == '1') { that.setData({ radio3: true }) } var time = that.data.time time[0] = timeOpen1 time[1] = timeShut1 time[2] = timeOpen2 time[3] = timeShut2 that.setData({ time: time, }) //监视开关状态(改变颜色,调整功能) switch (that.data.state[0]) { case true: that.setData({ type1: "time", timecontrolcolor1: "blue", fontcolor1: "white", }) break; default: that.setData({ type1: "", timecontrolcolor1: "#888888", fontcolor1: "#cccccc", }) break; } switch (that.data.state[1]) { case true: that.setData({ type2: "time", timecontrolcolor2: "blue", fontcolor2: "white", }) break; default: that.setData({ type2: "", timecontrolcolor2: "#888888", fontcolor2: "#cccccc", }) break; } switch (that.data.state1[0]) { case true: that.setData({ type3: "time", timecontrolcolor3: "blue", fontcolor3: "white", }) break; default: that.setData({ type3: "", timecontrolcolor3: "#888888", fontcolor3: "#cccccc", }) break; } switch (that.data.state1[1]) { case true: that.setData({ type4: "time", timecontrolcolor4: "blue", fontcolor4: "white", }) break; default: that.setData({ type4: "", timecontrolcolor4: "#888888", fontcolor4: "#cccccc", }) break; } switch (that.data.state[2]) { case true: that.setData({ Lightcontrolcolor1: "blue", fontcolor5: "white", select1: "selector" }) break; default: that.setData({ Lightcontrolcolor1: "#888888", fontcolor5: "#cccccc", select1: "" }) break; } switch (that.data.state[3]) { case true: that.setData({ Lightcontrolcolor2: "blue", fontcolor6: "white", select2: "selector" }) break; default: that.setData({ Lightcontrolcolor2: "#888888", fontcolor6: "#cccccc", select2: "" }) break; } } }) } else { that.setData({ status: "离线" }) } } }) } else { wx.setStorageSync('deviceName', '') //清空设备名称缓存 } }, //设备下拉 changedevice: function (e) { var that = this wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) that.setData({ deviceIndex: e.detail.value }) var group = wx.getStorageSync('group') var groupName = that.data.groupName[that.data.groupIndex] var deviceName = that.data.deviceName[that.data.deviceIndex] wx.setStorageSync('groupName', groupName) //分组名称 wx.setStorageSync('deviceName', deviceName) //设备名称 for (let index = 0; index < group.length; index++) { if (groupName == group[index].groupName) { for (let t = 0; t < group[index].devices.length; t++) { if (deviceName == group[index].devices[t].deviceName) { var deviceId = group[index].devices[t].deviceId var deviceKey = group[index].devices[t].deviceKey var loopnum = group[index].devices[t].circuits } } } } that.setData({ deviceId: deviceId, deviceKey: deviceKey }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId, method: 'GET', header: { "api-key": deviceKey }, success: (res) => { if (res.data.data.online == true) { that.setData({ status: "在线" }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId + '/datastreams', header: { "api-key": deviceKey }, method: 'GET', success: (res) => { let { data } = res.data //以下为回路 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('所有回路') that.setData({ 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 that.setData({ recorddate: weeks }) weeks = parseInt(weeks) weeks = weeks.toString(2) weeks = weeks + '' if (weeks != '0') { weeks = weeks.slice(1) } } //功能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 var trr = that.data.arr for (let i = 0; i < 100; i++) { trr[i] = i } Lightcontrolopen = parseInt(Lightcontrolopen) that.setData({ arr: trr, index: Lightcontrolopen }) } //光控关 else if (data[i].id == "R1_LcOff") { var Lightcontrolshut = data[i].current_value var prr = that.data.brr for (let j = 0; j < 100; j++) { prr[j] = j } Lightcontrolshut = parseInt(Lightcontrolshut) that.setData({ brr: prr, 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++) { var engry = that.data.state switch (par.substring(i, i + 1)) { case "0": switch (i) { case 0: engry[3] = false that.setData({ state: engry }) break; case 1: engry[2] = false that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "固定" }) break; case 3: that.setData({ fixed1: "固定" }) break; case 4: engry[1] = false that.setData({ state: engry }) break; case 5: engry[0] = false that.setData({ state: engry }) break; } break; case "1": switch (i) { case 0: engry[3] = true that.setData({ state: engry }) break; case 1: engry[2] = true that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "经纬" }) break; case 3: that.setData({ fixed1: "经纬" }) break; case 4: engry[1] = true that.setData({ state: engry }) break; case 5: engry[0] = true that.setData({ state: engry }) break; } break; } } //功能2 for (let j = 0; j < qur.length; j++) { var Engry = that.data.state1 switch (qur.substring(j, j + 1)) { case "0": switch (j) { case 0: that.setData({ fixed4: "固定" }) break; case 1: that.setData({ fixed3: "固定" }) break; case 2: Engry[1] = false that.setData({ state1: Engry }) break; case 3: Engry[0] = false that.setData({ state1: Engry }) break; } break; case "1": switch (j) { case 0: that.setData({ fixed4: "经纬" }) break; case 1: that.setData({ fixed3: "经纬" }) break; case 2: Engry[1] = true that.setData({ state1: Engry }) break; case 3: Engry[0] = true that.setData({ state1: Engry }) break; } break; } } //日期调控 var controladdress = that.data.address if (weeks == '0') { for (let x = 0; x < weeks.length; x++) { controladdress[x] = "/image/false.png" } that.setData({ address: controladdress, }) } else { for (let i = 0; i < weeks.length; i++) { switch (weeks.substring(i, i + 1)) { case '0': controladdress[weeks.length - i - 1] = "/image/false.png" that.setData({ address: controladdress, }) break; case '1': controladdress[weeks.length - i - 1] = "/image/true.png" that.setData({ address: controladdress, }) 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') { that.setData({ radio1: true }) } else if (police.substring(1, 2) == '1' && police.substring(0, 1) == '0') { that.setData({ radio2: true }) } else if (police.substring(1, 2) == '0' && police.substring(0, 1) == '1') { that.setData({ radio3: true }) } var time = that.data.time time[0] = timeOpen1 time[1] = timeShut1 time[2] = timeOpen2 time[3] = timeShut2 that.setData({ time: time, }) //监视开关状态(改变颜色,调整功能) switch (that.data.state[0]) { case true: that.setData({ type1: "time", timecontrolcolor1: "blue", fontcolor1: "white", }) break; default: that.setData({ type1: "", timecontrolcolor1: "#888888", fontcolor1: "#cccccc", }) break; } switch (that.data.state[1]) { case true: that.setData({ type2: "time", timecontrolcolor2: "blue", fontcolor2: "white", }) break; default: that.setData({ type2: "", timecontrolcolor2: "#888888", fontcolor2: "#cccccc", }) break; } switch (that.data.state1[0]) { case true: that.setData({ type3: "time", timecontrolcolor3: "blue", fontcolor3: "white", }) break; default: that.setData({ type3: "", timecontrolcolor3: "#888888", fontcolor3: "#cccccc", }) break; } switch (that.data.state1[1]) { case true: that.setData({ type4: "time", timecontrolcolor4: "blue", fontcolor4: "white", }) break; default: that.setData({ type4: "", timecontrolcolor4: "#888888", fontcolor4: "#cccccc", }) break; } switch (that.data.state[2]) { case true: that.setData({ Lightcontrolcolor1: "blue", fontcolor5: "white", select1: "selector" }) break; default: that.setData({ Lightcontrolcolor1: "#888888", fontcolor5: "#cccccc", select1: "" }) break; } switch (that.data.state[3]) { case true: that.setData({ Lightcontrolcolor2: "blue", fontcolor6: "white", select2: "selector" }) break; default: that.setData({ Lightcontrolcolor2: "#888888", fontcolor6: "#cccccc", select2: "" }) break; } } }) } else { that.setData({ status: "离线" }) } } }) }, //回路调控 bindPickerChange3: function (e) { this.setData({ indexes: e.detail.value }) var that = this var crr = that.data.crr.length wx.request({ url: 'https://api.heclouds.com/devices/' + that.data.deviceId + '/datastreams', header: { "api-key": that.data.deviceKey }, method: 'GET', success: (res) => { let { data } = res.data var Indexes = that.data.indexes Indexes = parseInt(Indexes) Indexes = Indexes + 1 if (Indexes == crr) { } else { //以下为回路 for (let i = 1; i < data.length; i++) { //时控一开时间 if (data[i].id == "R" + Indexes + "_DayOpenTime1") { var timeopen1 = data[i].current_value } //时控一关时间 else if (data[i].id == "R" + Indexes + "_DayCloseTime1") { var timeshut1 = data[i].current_value } //时控二开时间 else if (data[i].id == "R" + Indexes + "_DayOpenTime2") { var timeopen2 = data[i].current_value } //时控二关时间 else if (data[i].id == "R" + Indexes + "_DayCloseTime2") { var timeshut2 = data[i].current_value } //日期调控 else if (data[i].id == "R" + Indexes + "_Week") { var weeks = data[i].current_value that.setData({ recorddate: weeks }) weeks = parseInt(weeks) weeks = weeks.toString(2) weeks = weeks + '' if (weeks != '0') { weeks = weeks.slice(1) } } //功能一 else if (data[i].id == "R" + Indexes + "_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 == "R" + Indexes + "_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 == "R" + Indexes + "_RelayStatus") { var police = data[i].current_value } //光控开 else if (data[i].id == "R" + Indexes + "_LcOn") { var Lightcontrolopen = data[i].current_value var trr = that.data.arr for (let i = 0; i < 100; i++) { trr[i] = i } Lightcontrolopen = parseInt(Lightcontrolopen) that.setData({ arr: trr, index: Lightcontrolopen }) } //光控关 else if (data[i].id == "R" + Indexes + "_LcOff") { var Lightcontrolshut = data[i].current_value var prr = that.data.brr for (let j = 0; j < 100; j++) { prr[j] = j } Lightcontrolshut = parseInt(Lightcontrolshut) that.setData({ brr: prr, 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++) { var engry = that.data.state switch (par.substring(i, i + 1)) { case "0": switch (i) { case 0: engry[3] = false that.setData({ state: engry }) break; case 1: engry[2] = false that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "固定" }) break; case 3: that.setData({ fixed1: "固定" }) break; case 4: engry[1] = false that.setData({ state: engry }) break; case 5: engry[0] = false that.setData({ state: engry }) break; } break; case "1": switch (i) { case 0: engry[3] = true that.setData({ state: engry }) break; case 1: engry[2] = true that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "经纬" }) break; case 3: that.setData({ fixed1: "经纬" }) break; case 4: engry[1] = true that.setData({ state: engry }) break; case 5: engry[0] = true that.setData({ state: engry }) break; } break; } } //功能2 for (let j = 0; j < qur.length; j++) { var Engry = that.data.state1 switch (qur.substring(j, j + 1)) { case "0": switch (j) { case 0: that.setData({ fixed4: "固定" }) break; case 1: that.setData({ fixed3: "固定" }) break; case 2: Engry[1] = false that.setData({ state1: Engry }) break; case 3: Engry[0] = false that.setData({ state1: Engry }) break; } break; case "1": switch (j) { case 0: that.setData({ fixed4: "经纬" }) break; case 1: that.setData({ fixed3: "经纬" }) break; case 2: Engry[1] = true that.setData({ state1: Engry }) break; case 3: Engry[0] = true that.setData({ state1: Engry }) break; } break; } } //日期调控 var controladdress = that.data.address if (weeks == '0') { for (let x = 0; x < 7; x++) { controladdress[x] = "/image/false.png" } that.setData({ address: controladdress, }) } else { for (let i = 0; i < weeks.length; i++) { switch (weeks.substring(i, i + 1)) { case '0': controladdress[weeks.length - i - 1] = "/image/false.png" that.setData({ address: controladdress, }) break; case '1': controladdress[weeks.length - i - 1] = "/image/true.png" that.setData({ address: controladdress, }) 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') { that.setData({ radio1: true }) } else if (police.substring(1, 2) == '1' && police.substring(0, 1) == '0') { that.setData({ radio2: true }) } else if (police.substring(1, 2) == '0' && police.substring(0, 1) == '1') { that.setData({ radio3: true }) } var time = that.data.time time[0] = timeOpen1 time[1] = timeShut1 time[2] = timeOpen2 time[3] = timeShut2 that.setData({ time: time }) switch (that.data.state[0]) { case true: that.setData({ type1: "time", timecontrolcolor1: "blue", fontcolor1: "white", }) break; default: that.setData({ type1: "", timecontrolcolor1: "#888888", fontcolor1: "#cccccc", }) break; } switch (that.data.state[1]) { case true: that.setData({ type2: "time", timecontrolcolor2: "blue", fontcolor2: "white", }) break; default: that.setData({ type2: "", timecontrolcolor2: "#888888", fontcolor2: "#cccccc", }) break; } switch (that.data.state1[0]) { case true: that.setData({ type3: "time", timecontrolcolor3: "blue", fontcolor3: "white", }) break; default: that.setData({ type3: "", timecontrolcolor3: "#888888", fontcolor3: "#cccccc", }) break; } switch (that.data.state1[1]) { case true: that.setData({ type4: "time", timecontrolcolor4: "blue", fontcolor4: "white", }) break; default: that.setData({ type4: "", timecontrolcolor4: "#888888", fontcolor4: "#cccccc", }) break; } switch (that.data.state[2]) { case true: that.setData({ Lightcontrolcolor1: "blue", fontcolor5: "white", select1: "selector" }) break; default: that.setData({ Lightcontrolcolor1: "#888888", fontcolor5: "#cccccc", select1: "" }) break; } switch (that.data.state[3]) { case true: that.setData({ Lightcontrolcolor2: "blue", fontcolor6: "white", select2: "selector" }) break; default: that.setData({ Lightcontrolcolor2: "#888888", fontcolor6: "#cccccc", select2: "" }) break; } } } }) }, //时间调控 //时控开关选择器(1-4旧设备,5-6新设备) Controltime1: function () { var obtain1 = this.data.state obtain1[0] = !obtain1[0] if (obtain1[0] == true) { this.setData({ type1: "time", timecontrolcolor1: "blue", fontcolor1: "white", state: obtain1 }) } else { this.setData({ type1: "", timecontrolcolor1: "#888888", fontcolor1: "#cccccc", state: obtain1 }) } }, Controltime2: function () { var obtain2 = this.data.state obtain2[1] = !obtain2[1] if (obtain2[1] == true) { this.setData({ type2: "time", timecontrolcolor2: "blue", fontcolor2: "white", state: obtain2 }) } else { this.setData({ type2: "", timecontrolcolor2: "#888888", fontcolor2: "#cccccc", state: obtain2 }) } }, Controltime3: function () { var obtain3 = this.data.state1 obtain3[0] = !obtain3[0] if (obtain3[0] == true) { this.setData({ type3: "time", timecontrolcolor3: "blue", fontcolor3: "white", state1: obtain3 }) } else { this.setData({ type3: "", timecontrolcolor3: "#888888", fontcolor3: "#cccccc", state1: obtain3 }) } }, Controltime4: function () { var obtain4 = this.data.state1 obtain4[1] = !obtain4[1] if (obtain4[1] == true) { this.setData({ type4: "time", timecontrolcolor4: "blue", fontcolor4: "white", state1: obtain4 }) } else { this.setData({ type4: "", timecontrolcolor4: "#888888", fontcolor4: "#cccccc", state1: obtain4 }) } }, Controltime5:function(){ console.log(2131131) let newSwitch = this.data.newSwitch let newcolor = this.data.newcolor let newfont = this.data.newfont let newSwitchstate =this.data.newSwitchstate newSwitch[0] = !newSwitch[0] if(newSwitch[0] == true){ newcolor[0] = "blue" newfont[0] = "white" newSwitchstate[0] = "time" } else{ newcolor[0] = "#888888" newfont[0] = "#cccccc" newSwitchstate[0] = "" } that.setData({newSwitch:newSwitch,newcolor:newcolor,newfont,newfont,newSwitchstate:newSwitchstate}) }, //固定与经纬的切换 change1: function () { var change1 = this.data.fixed1 if (change1 == "固定" && this.data.state[0] == true) { this.setData({ fixed1: "经纬" }) } else if (change1 == "经纬" && this.data.state[0] == true) { this.setData({ fixed1: "固定" }) } }, change2: function () { var change2 = this.data.fixed2 if (change2 == "固定" && this.data.state[1] == true) { this.setData({ fixed2: "经纬" }) } else if (change2 == "经纬" && this.data.state[1] == true) { this.setData({ fixed2: "固定" }) } }, change3: function () { var change3 = this.data.fixed3 if (change3 == "固定") { this.setData({ fixed3: "经纬" }) } else { this.setData({ fixed3: "固定" }) } }, change4: function () { var change4 = this.data.fixed4 if (change4 == "固定") { this.setData({ fixed4: "经纬" }) } else { this.setData({ fixed4: "固定" }) } }, //显示改变后的时间的值(1-4旧设备,5-10新设备) bindTimeChange1: function (e) { let time = this.data.time time[0] = e.detail.value this.setData({time: time}) }, bindTimeChange2: function (e) { let time = this.data.time time[1] = e.detail.value this.setData({time: time}) }, bindTimeChange3: function (e) { let time = this.data.time time[2] = e.detail.value this.setData({time: time}) }, bindTimeChange4: function (e) { let time = this.data.time time[3] = e.detail.value this.setData({time: time}) }, bindTimeChange5:function(e){ let time = this.data.timeValue time[0] = e.detail.value this.setData({timeValue:time}) }, bindTimeChange6:function(e){ let time = this.data.timeValue time[1] = e.detail.value this.setData({timeValue:time}) }, bindTimeChange7:function(e){ let time = this.data.timeValue time[2] = e.detail.value this.setData({timeValue:time}) }, bindTimeChange8:function(e){ let time = this.data.timeValue time[3] = e.detail.value this.setData({timeValue:time}) }, bindTimeChange9:function(e){ let time = this.data.timeValue time[4] = e.detail.value this.setData({timeValue:time}) }, bindTimeChange10:function(e){ let time = this.data.timeValue time[5] = e.detail.value this.setData({timeValue:time}) }, //日期调控(图片切换) setbuty0: function () { var that = this var a0 = that.data.address if (that.data.address[0] == "/image/true.png") { a0[0] = "/image/false.png" this.setData({ address: a0, }) } else { a0[0] = "/image/true.png" this.setData({ address: a0, }) } }, setbuty1: function () { var that = this var a1 = that.data.address if (that.data.address[1] == "/image/true.png") { a1[1] = "/image/false.png" this.setData({ address: a1, }) } else { a1[1] = "/image/true.png" this.setData({ address: a1, }) } }, setbuty2: function () { var that = this var a2 = that.data.address if (that.data.address[2] == "/image/true.png") { a2[2] = "/image/false.png" this.setData({ address: a2, }) } else { a2[2] = "/image/true.png" this.setData({ address: a2, }) } }, setbuty3: function () { var that = this var a3 = that.data.address if (that.data.address[3] == "/image/true.png") { a3[3] = "/image/false.png" this.setData({ address: a3, }) } else { a3[3] = "/image/true.png" this.setData({ address: a3, }) } }, setbuty4: function () { var that = this var a4 = that.data.address if (that.data.address[4] == "/image/true.png") { a4[4] = "/image/false.png" this.setData({ address: a4, }) } else { a4[4] = "/image/true.png" this.setData({ address: a4, }) } }, setbuty5: function () { var that = this var a5 = that.data.address if (that.data.address[5] == "/image/true.png") { a5[5] = "/image/false.png" this.setData({ address: a5, }) } else { a5[5] = "/image/true.png" this.setData({ address: a5, }) } }, setbuty6: function () { var that = this var a6 = that.data.address if (that.data.address[6] == "/image/true.png") { a6[6] = "/image/false.png" this.setData({ address: a6, }) } else { a6[6] = "/image/true.png" this.setData({ address: a6, }) } }, //光控 //光控开关选择器 Controltime5: function () { var Lightstatus = this.data.state Lightstatus[2] = !Lightstatus[2] if (Lightstatus[2] == true) { for (let a = 0; a < 100; a++) { var arr1 = this.data.arr arr1[a] = a } this.setData({ arr: arr1, fontcolor5: "white", Lightcontrolcolor1: "blue", select1: "selector" }) } else { this.setData({ Lightcontrolcolor1: "#888888", fontcolor5: "#cccccc", select1: "" }) } }, Controltime6: function () { var Lightstatus = this.data.state Lightstatus[3] = !Lightstatus[3] if (Lightstatus[3] == true) { for (let a = 0; a < 100; a++) { var arr1 = this.data.arr arr1[a] = a } this.setData({ arr: arr1, fontcolor6: "white", Lightcontrolcolor2: "blue", select2: "selector" }) } else { this.setData({ Lightcontrolcolor2: "#888888", fontcolor6: "#cccccc", select2: "" }) } }, //调整光控显示的值 bindPickerChange1: function (e) { this.setData({ index: e.detail.value }) }, bindPickerChange2: function (e) { this.setData({ indexs: e.detail.value }) }, //报警状态 Changestate1: function () { this.setData({ radio1: true, radio2: false, radio3: false, alert: "1" }) }, Changestate2: function () { this.setData({ radio1: false, radio2: true, radio3: false, alert: "5" }) }, Changestate3: function () { this.setData({ radio1: false, radio2: false, radio3: true, alert: "9" }) }, //刷新页面 RefreshPage: function () { wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) var that = this //获取机型改变switch大小 wx.getSystemInfo({ success: function (res) { if (res.model == 'iPad' || res.model == 'iPad Pro 10.5-inch' || res.model == 'iPad Pro 12.9-inch') { that.setData({ zoom: 1 }) } } }) var group = wx.getStorageSync('group') //获取分组下拉 var groups = [] var device = [] for (let i = 0; i < group.length; i++) { groups.push(group[i].groupName) } that.setData({ groupName: groups }) //改变分组下标 if (wx.getStorageSync('groupName') != '') { let GroupName = that.data.groupName for (let n = 0; n < GroupName.length; n++) { if (GroupName[n] == wx.getStorageSync('groupName')) { that.setData({ groupIndex: n }) } } } else { wx.setStorageSync('groupName', that.data.groupName[that.data.groupIndex]) } //获取设备下拉 var groupName = that.data.groupName var groupIndex = that.data.groupIndex 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) } that.setData({ deviceName: device }) if (wx.getStorageSync('deviceName') != '') { var DeviceName = that.data.deviceName for (let m = 0; m < DeviceName.length; m++) { if (DeviceName[m] == wx.getStorageSync('deviceName')) { that.setData({ deviceIndex: m }) } } } else { wx.setStorageSync('deviceName', that.data.deviceName[that.data.deviceIndex]) } //根据分组名和设备名获取key和id以及回路名称 var groupNames = that.data.groupName[that.data.groupIndex] var deviceNames = that.data.deviceName[that.data.deviceIndex] 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) { var loopnum = group[d].devices[g].circuits var deviceId = group[d].devices[g].deviceId var deviceKey = group[d].devices[g].deviceKey } } } } that.setData({ deviceId: deviceId, deviceKey: deviceKey }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId, method: 'GET', header: { "api-key": deviceKey }, success: (res) => { if (res.data.data.online == true) { that.setData({ status: "在线" }) wx.request({ url: 'https://api.heclouds.com/devices/' + deviceId + '/datastreams', header: { "api-key": deviceKey }, method: 'GET', success: (res) => { let { data } = res.data //以下为回路 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('所有回路') that.setData({ 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 that.setData({ recorddate: weeks }) weeks = parseInt(weeks) weeks = weeks.toString(2) weeks = weeks + '' if (weeks != '0') { weeks = weeks.slice(1) } } //功能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 var trr = that.data.arr for (let i = 0; i < 100; i++) { trr[i] = i } Lightcontrolopen = parseInt(Lightcontrolopen) that.setData({ arr: trr, index: Lightcontrolopen }) } //光控关 else if (data[i].id == "R1_LcOff") { var Lightcontrolshut = data[i].current_value var prr = that.data.brr for (let j = 0; j < 100; j++) { prr[j] = j } Lightcontrolshut = parseInt(Lightcontrolshut) that.setData({ brr: prr, 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++) { var engry = that.data.state switch (par.substring(i, i + 1)) { case "0": switch (i) { case 0: engry[3] = false that.setData({ state: engry }) break; case 1: engry[2] = false that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "固定" }) break; case 3: that.setData({ fixed1: "固定" }) break; case 4: engry[1] = false that.setData({ state: engry }) break; case 5: engry[0] = false that.setData({ state: engry }) break; } break; case "1": switch (i) { case 0: engry[3] = true that.setData({ state: engry }) break; case 1: engry[2] = true that.setData({ state: engry }) break; case 2: that.setData({ fixed2: "经纬" }) break; case 3: that.setData({ fixed1: "经纬" }) break; case 4: engry[1] = true that.setData({ state: engry }) break; case 5: engry[0] = true that.setData({ state: engry }) break; } break; } } //功能2 for (let j = 0; j < qur.length; j++) { var Engry = that.data.state1 switch (qur.substring(j, j + 1)) { case "0": switch (j) { case 0: that.setData({ fixed4: "固定" }) break; case 1: that.setData({ fixed3: "固定" }) break; case 2: Engry[1] = false that.setData({ state1: Engry }) break; case 3: Engry[0] = false that.setData({ state1: Engry }) break; } break; case "1": switch (j) { case 0: that.setData({ fixed4: "经纬" }) break; case 1: that.setData({ fixed3: "经纬" }) break; case 2: Engry[1] = true that.setData({ state1: Engry }) break; case 3: Engry[0] = true that.setData({ state1: Engry }) break; } break; } } //日期调控 var controladdress = that.data.address if (weeks == '0') { for (let x = 0; x < weeks.length; x++) { controladdress[x] = "/image/false.png" } that.setData({ address: controladdress, }) } else { for (let i = 0; i < weeks.length; i++) { switch (weeks.substring(i, i + 1)) { case '0': controladdress[weeks.length - i - 1] = "/image/false.png" that.setData({ address: controladdress, }) break; case '1': controladdress[weeks.length - i - 1] = "/image/true.png" that.setData({ address: controladdress, }) 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') { that.setData({ radio1: true }) } else if (police.substring(1, 2) == '1' && police.substring(0, 1) == '0') { that.setData({ radio2: true }) } else if (police.substring(1, 2) == '0' && police.substring(0, 1) == '1') { that.setData({ radio3: true }) } var time = that.data.time time[0] = timeOpen1 time[1] = timeShut1 time[2] = timeOpen2 time[3] = timeShut2 that.setData({ time: time, }) //监视开关状态(改变颜色,调整功能) switch (that.data.state[0]) { case true: that.setData({ type1: "time", timecontrolcolor1: "blue", fontcolor1: "white", }) break; default: that.setData({ type1: "", timecontrolcolor1: "#888888", fontcolor1: "#cccccc", }) break; } switch (that.data.state[1]) { case true: that.setData({ type2: "time", timecontrolcolor2: "blue", fontcolor2: "white", }) break; default: that.setData({ type2: "", timecontrolcolor2: "#888888", fontcolor2: "#cccccc", }) break; } switch (that.data.state1[0]) { case true: that.setData({ type3: "time", timecontrolcolor3: "blue", fontcolor3: "white", }) break; default: that.setData({ type3: "", timecontrolcolor3: "#888888", fontcolor3: "#cccccc", }) break; } switch (that.data.state1[1]) { case true: that.setData({ type4: "time", timecontrolcolor4: "blue", fontcolor4: "white", }) break; default: that.setData({ type4: "", timecontrolcolor4: "#888888", fontcolor4: "#cccccc", }) break; } switch (that.data.state[2]) { case true: that.setData({ Lightcontrolcolor1: "blue", fontcolor5: "white", select1: "selector" }) break; default: that.setData({ Lightcontrolcolor1: "#888888", fontcolor5: "#cccccc", select1: "" }) break; } switch (that.data.state[3]) { case true: that.setData({ Lightcontrolcolor2: "blue", fontcolor6: "white", select2: "selector" }) break; default: that.setData({ Lightcontrolcolor2: "#888888", fontcolor6: "#cccccc", select2: "" }) break; } } }) } else { that.setData({ status: "离线" }) } } }) } else { that.setData({ status: '离线' }) } } } }, //存储数据 Storedata: function () { var that = this var indexes = that.data.indexes var lamp = wx.getStorageSync('lamp') var radio1 = that.data.radio1 var radio2 = that.data.radio2 var radio3 = that.data.radio3 var jude if (lamp[indexes] == '/image/lamp.png' && radio1 == true) { jude = 0 } else if (lamp[indexes] == '/image/lamp.png' && radio2 == true) { jude = 4 } else if (lamp[indexes] == '/image/lamp.png' && radio3 == true) { jude = 8 } else if (lamp[indexes] == '/image/lamp1.png' && radio1 == true) { jude = 1 } else if (lamp[indexes] == '/image/lamp1.png' && radio2 == true) { jude = 5 } else if (lamp[indexes] == '/image/lamp1.png' && radio3 == true) { jude = 9 } //功能一 var Storagetimeopen1 var Storagetimeshut1 var Storagetimeopenstate1 var Storagetimeshutstate1 var Storageopticalopen var Storageopticalshut //时控一开 switch (that.data.state[0]) { case true: Storagetimeopen1 = "1" break; case false: Storagetimeopen1 = "0" break; } //时控一关 switch (that.data.state[1]) { case true: Storagetimeshut1 = "1" break; case false: Storagetimeshut1 = "0" break; } //时控一开经纬 switch (that.data.fixed1) { case "经纬": Storagetimeopenstate1 = "1" break; case "固定": Storagetimeopenstate1 = "0" break; } //时控一关经纬 switch (that.data.fixed2) { case "经纬": Storagetimeshutstate1 = "1" break; case "固定": Storagetimeshutstate1 = "0" break; } //光控开 switch (that.data.state[2]) { case true: Storageopticalopen = "1" break; case false: Storageopticalopen = "0" break; } //光控关 switch (that.data.state[3]) { case true: Storageopticalshut = "1" break; case false: Storageopticalshut = "0" break; } var use1 = Storageopticalshut + Storageopticalopen + Storagetimeshutstate1 + Storagetimeopenstate1 + Storagetimeshut1 + Storagetimeopen1 use1 = parseInt(use1, 2) use1 = use1 //传给后台的功能一数据 //功能二 var Storagetimeopen2 var Storagetimeshut2 var Storagetimeopenstate2 var Storagetimeshutstate2 //时控二开 switch (that.data.state1[0]) { case true: Storagetimeopen2 = "1" break; case false: Storagetimeopen2 = "0" break; } //时控二关 switch (that.data.state1[1]) { case true: Storagetimeshut2 = "1" break; case false: Storagetimeshut2 = "0" break; } //时控二开经纬 switch (that.data.fixed3) { case "经纬": Storagetimeopenstate2 = "1" break; case "固定": Storagetimeopenstate2 = "0" break; } //时控二关经纬 switch (that.data.fixed4) { case "经纬": Storagetimeshutstate2 = "1" break; case "固定": Storagetimeshutstate2 = "0" break; } var use2 = Storagetimeshutstate2 + Storagetimeopenstate2 + Storagetimeshut2 + Storagetimeopen2 use2 = parseInt(use2, 2) use2 = use2 //传给后台的功能二数据 //时控一开时间 var Ontime1 = that.data.time[0] var ontime1 //传给后台的时控一开时间 if (Ontime1.substring(0, 2) == '00' && Ontime1.substring(3, 5) == '00') { ontime1 = '0' } else if (Ontime1.substring(0, 1) != '0') { ontime1 = Ontime1.substring(0, 2) + Ontime1.substring(3, 5) } else if (Ontime1.substring(0, 1) == '0' && Ontime1.substring(1, 2) != '0') { ontime1 = Ontime1.substring(1, 2) + Ontime1.substring(3, 5) } else if (Ontime1.substring(0, 2) == '00' && Ontime1.substring(3, 4) != '0') { ontime1 = Ontime1.substring(3, 5) } else { ontime1 = Ontime1.substring(4, 5) } ontime1 = parseInt(ontime1) //时控一关时间 var Closingtime1 = that.data.time[1] var closingtime1 //传给后台的时控一关时间 if (Closingtime1.substring(0, 2) == '00' && Closingtime1.substring(3, 5) == '00') { closingtime1 = '0' } else if (Closingtime1.substring(0, 1) != '0') { closingtime1 = Closingtime1.substring(0, 2) + Closingtime1.substring(3, 5) } else if (Closingtime1.substring(0, 1) == '0' && Closingtime1.substring(1, 2) != '0') { closingtime1 = Closingtime1.substring(1, 2) + Closingtime1.substring(3, 5) } else if (Closingtime1.substring(0, 2) == '00' && Closingtime1.substring(3, 4) != '0') { closingtime1 = Closingtime1.substring(3, 5) } else { closingtime1 = Closingtime1.substring(4, 5) } closingtime1 = parseInt(closingtime1) //时控二开时间 var Ontime2 = that.data.time[2] var ontime2 //传给后台的时控二开时间 if (Ontime2.substring(0, 2) == '00' && Ontime2.substring(3, 5) == '00') { ontime2 = '0' } else if (Ontime2.substring(0, 1) != '0') { ontime2 = Ontime2.substring(0, 2) + Ontime2.substring(3, 5) } else if (Ontime2.substring(0, 1) == '0' && Ontime2.substring(1, 2) != '0') { ontime2 = Ontime2.substring(1, 2) + Ontime2.substring(3, 5) } else if (Ontime2.substring(0, 2) == '00' && Ontime2.substring(3, 4) != '0') { ontime2 = Ontime2.substring(3, 5) } else { ontime2 = Ontime2.substring(4, 5) } ontime2 = parseInt(ontime2) //时控二关时间 var Closingtime2 = that.data.time[3] var closingtime2 //传给后台的时控二关时间 if (Closingtime2.substring(0, 2) == '00' && Closingtime2.substring(3, 5) == '00') { closingtime2 = '0' } else if (Closingtime2.substring(0, 1) != '0') { closingtime2 = Closingtime2.substring(0, 2) + Closingtime2.substring(3, 5) } else if (Closingtime2.substring(0, 1) == '0' && Closingtime2.substring(1, 2) != '0') { closingtime2 = Closingtime2.substring(1, 2) + Closingtime2.substring(3, 5) } else if (Closingtime2.substring(0, 2) == '00' && Closingtime2.substring(3, 4) != '0') { closingtime2 = Closingtime2.substring(3, 5) } else { closingtime2 = Closingtime2.substring(4, 5) } closingtime2 = parseInt(closingtime2) //报警状态 var alerts = that.data.alert //光控开 var Lightcontrolon = that.data.arr[that.data.index] Lightcontrolon = Lightcontrolon //光控关 var Lightcontroloff = that.data.brr[that.data.indexs] Lightcontroloff = Lightcontroloff //星期 var myweek = "" for (let w = 0; w < that.data.address.length; w++) { switch (that.data.address[w]) { case "/image/false.png": myweek = myweek.concat("0") break; default: myweek = myweek.concat("1") break; } } if (myweek == "0000000") { myweek = 0 } else { myweek = "1" + myweek.split("").reverse().join("") myweek = parseInt(myweek, 2) myweek = myweek } //发起post请求 if (that.data.status == "在线") { wx.showToast({ title: '存储数据中', icon: 'success', duration: 4000 }) var indexes = that.data.indexes indexes = parseInt(indexes) var crr = that.data.crr if (crr[indexes] != '所有回路') { var reflash = [11, 12, 13, 14, 15, 16, 17, 18] var i = indexes + 1 var week = "R" + i + "_Week" var FunctionStatus1 = 'R' + i + '_FunctionStatus1' var FunctionStatus2 = 'R' + i + '_FunctionStatus2' var DayOpenTime1 = 'R' + i + '_DayOpenTime1' var DayCloseTime1 = 'R' + i + '_DayCloseTime1' var DayOpenTime2 = 'R' + i + '_DayOpenTime2' var DayCloseTime2 = 'R' + i + '_DayCloseTime2' var LcOn = 'R' + i + '_LcOn' var LcOff = 'R' + i + '_LcOff' var RelayStatus = 'R' + i + '_RelayStatus' var object = { "Reflash": reflash[indexes], [week]: myweek, [FunctionStatus1]: use1, [FunctionStatus2]: use2, [DayOpenTime1]: ontime1, [DayCloseTime1]: closingtime1, [DayOpenTime2]: ontime2, [DayCloseTime2]: closingtime2, [LcOn]: Lightcontrolon, [LcOff]: Lightcontroloff, [RelayStatus]: jude, } wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object), success: function (res) {} }) } else { var object1 = { "Reflash": 11, "R1_Week": myweek, //星期 "R1_FunctionStatus1": use1, //功能1 "R1_FunctionStatus2": use2, //功能2 "R1_DayOpenTime1": ontime1, //时控1开 "R1_DayCloseTime1": closingtime1, //时控1关 "R1_DayOpenTime2": ontime2, //时控2开 "R1_DayCloseTime2": closingtime2, //时控2关 "R1_LcOn": Lightcontrolon, //光控开 "R1_LcOff": Lightcontroloff, //光控关 "R1_RelayStatus": jude, //开关状态 } var object2 = { "Reflash": 12, "R2_FunctionStatus1": use1, //功能1 "R2_FunctionStatus2": use2, //功能2 "R2_DayOpenTime1": ontime1, //时控1开 "R2_DayCloseTime1": closingtime1, //时控1关 "R2_DayOpenTime2": ontime2, //时控2开 "R2_DayCloseTime2": closingtime2, //时控2关 "R2_Week": myweek, //星期 "R2_LcOn": Lightcontrolon, //光控开 "R2_LcOff": Lightcontroloff, //光控关 "R2_RelayStatus": jude, //开关状态 } var object3 = { "Reflash": 13, "R3_FunctionStatus1": use1, //功能1 "R3_FunctionStatus2": use2, //功能2 "R3_DayOpenTime1": ontime1, //时控1开 "R3_DayCloseTime1": closingtime1, //时控1关 "R3_DayOpenTime2": ontime2, //时控2开 "R3_DayCloseTime2": closingtime2, //时控2关 "R3_Week": myweek, //星期 "R3_LcOn": Lightcontrolon, //光控开 "R3_LcOff": Lightcontroloff, //光控关 "R3_RelayStatus": jude, //开关状态 } var object4 = { "Reflash": 14, "R4_FunctionStatus1": use1, //功能1 "R4_FunctionStatus2": use2, //功能2 "R4_DayOpenTime1": ontime1, //时控1开 "R4_DayCloseTime1": closingtime1, //时控1关 "R4_DayOpenTime2": ontime2, //时控2开 "R4_DayCloseTime2": closingtime2, //时控2关 "R4_Week": myweek, //星期 "R4_LcOn": Lightcontrolon, //光控开 "R4_LcOff": Lightcontroloff, //光控关 "R4_RelayStatus": jude, //开关状态 } var object5 = { "Reflash": 15, "R5_FunctionStatus1": use1, //功能1 "R5_FunctionStatus2": use2, //功能2 "R5_DayOpenTime1": ontime1, //时控1开 "R5_DayCloseTime1": closingtime1, //时控1关 "R5_DayOpenTime2": ontime2, //时控2开 "R5_DayCloseTime2": closingtime2, //时控2关 "R5_Week": myweek, //星期 "R5_LcOn": Lightcontrolon, //光控开 "R5_LcOff": Lightcontroloff, //光控关 "R5_RelayStatus": jude, //开关状态 } var object6 = { "Reflash": 16, "R6_FunctionStatus1": use1, //功能1 "R6_FunctionStatus2": use2, //功能2 "R6_DayOpenTime1": ontime1, //时控1开 "R6_DayCloseTime1": closingtime1, //时控1关 "R6_DayOpenTime2": ontime2, //时控2开 "R6_DayCloseTime2": closingtime2, //时控2关 "R6_Week": myweek, //星期 "R6_LcOn": Lightcontrolon, //光控开 "R6_LcOff": Lightcontroloff, //光控关 "R6_RelayStatus": jude, //开关状态 } var object7 = { "Reflash": 17, "R7_FunctionStatus1": use1, //功能1 "R7_FunctionStatus2": use2, //功能2 "R7_DayOpenTime1": ontime1, //时控1开 "R7_DayCloseTime1": closingtime1, //时控1关 "R7_DayOpenTime2": ontime2, //时控2开 "R7_DayCloseTime2": closingtime2, //时控2关 "R7_Week": myweek, //星期 "R7_LcOn": Lightcontrolon, //光控开 "R7_LcOff": Lightcontroloff, //光控关 "R7_RelayStatus": jude, //开关状态 } var object8 = { "Reflash": 18, "R8_FunctionStatus1": use1, //功能1 "R8_FunctionStatus2": use2, //功能2 "R8_DayOpenTime1": ontime1, //时控1开 "R8_DayCloseTime1": closingtime1, //时控1关 "R8_DayOpenTime2": ontime2, //时控2开 "R8_DayCloseTime2": closingtime2, //时控2关 "R8_Week": myweek, //星期 "R8_LcOn": Lightcontrolon, //光控开 "R8_LcOff": Lightcontroloff, //光控关 "R8_RelayStatus": jude, //开关状态 } wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object1), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object2), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object3), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object4), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object5), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object6), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object7), }) wx.request({ url: 'https://api.heclouds.com/cmds?device_id=' + that.data.deviceId, method: 'POST', header: { "api-key": that.data.deviceKey }, data: JSON.stringify(object8), }) } } else { wx.showModal({ title: '提示', content: '存储数据失败,请检查设备是否在线或者刷新页面', showCancel: false, }) } }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { wx.showToast({ title: '获取数据中', icon: 'loading', duration: 2000 }) var that = this //获取机型改变switch大小 wx.getSystemInfo({ success: function (res) { if (res.model == 'iPad' || res.model == 'iPad Pro 10.5-inch' || res.model == 'iPad Pro 12.9-inch') { that.setData({zoom: 1}) } } }) if (wx.getStorageSync('group') != null) { //分组下拉 var groupName = enloop.Groupdrop() if (groupName.n != '') { that.setData({ groupIndex: groupName.n, groupName: groupName.groups }) } else { that.setData({groupName: groupName.groups}) } //设备下拉 var deviceName = enloop.Devicedrop(that.data.groupName, that.data.groupIndex) if (deviceName == '离线') { that.setData({ status: '离线' }) } else { if (deviceName.m != '') { that.setData({ deviceIndex: deviceName.m, deviceName: deviceName.device }) } else { that.setData({deviceName: deviceName.device}) } //获取设备信息 var currentGroup = that.data.groupName[that.data.groupIndex] var currentDevice = that.data.deviceName[that.data.deviceIndex] var message = enloop.deviceMessage(currentGroup, currentDevice) if(message.modules == 0){ getBasic(message.deviceId, message.deviceKey).then(res => { if (res.data.data.online == true) { that.setData({status: '在线'}) } else { that.setData({status: '离线'}) } getData(message.deviceId, message.deviceKey).then(ever => { let {data} = ever.data let loopnum = message.loopnum var Summary = enloop.deviceinfo(data,loopnum,that.data.arr,that.data.brr,that.data.time,that.data.state, that.data.state1,that.data.fixed1,that.data.fixed2,that.data.fixed3, that.data.fixed4,that.data.address,that.data.radio1,that.data.radio2, that.data.radio3,that.data.index,that.data.indexs) that.setData({ crr:Summary.crr,arr:Summary.arr,brr:Summary.brr,fixed1:Summary.fixed1, fixed2:Summary.fixed2,fixed3:Summary.fixed3,fixed4:Summary.fixed4, index:Summary.index,indexs:Summary.indexs,radio1:Summary.radio1,radio2:Summary.radio2, radio3:Summary.radio3,recorddate:Summary.recorddate,state:Summary.state, state1:Summary.state1,time:Summary.time,address:Summary.address,play:0 }) //监视开关状态(改变颜色,调整功能) switch (that.data.state[0]) { case true: that.setData({ type1:"time", timecontrolcolor1:"blue", fontcolor1:"white", }) break; default: that.setData({ type1:"", timecontrolcolor1:"#888888", fontcolor1:"#cccccc", }) break; } switch (that.data.state[1]) { case true: that.setData({ type2:"time", timecontrolcolor2:"blue", fontcolor2:"white", }) break; default: that.setData({ type2:"", timecontrolcolor2:"#888888", fontcolor2:"#cccccc", }) break; } switch (that.data.state1[0]) { case true: that.setData({ type3:"time", timecontrolcolor3:"blue", fontcolor3:"white", }) break; default: that.setData({ type3:"", timecontrolcolor3:"#888888", fontcolor3:"#cccccc", }) break; } switch (that.data.state1[1]) { case true: that.setData({ type4:"time", timecontrolcolor4:"blue", fontcolor4:"white", }) break; default: that.setData({ type4:"", timecontrolcolor4:"#888888", fontcolor4:"#cccccc", }) break; } switch (that.data.state[2]) { case true: that.setData({ Lightcontrolcolor1:"blue", fontcolor5:"white", select1:"selector" }) break; default: that.setData({ Lightcontrolcolor1:"#888888", fontcolor5:"#cccccc", select1:"" }) break; } switch (that.data.state[3]) { case true: that.setData({ Lightcontrolcolor2:"blue", fontcolor6:"white", select2:"selector" }) break; default: that.setData({ Lightcontrolcolor2:"#888888", fontcolor6:"#cccccc", select2:"" }) break; } }) }) } else{ //新设备在线状态 getDevice(message.Device,message.id).then(nrg => { if(nrg.data.code == 0){ var nrg = nrg.data.data if(nrg[0].status == 1){ that.setData({status:'在线'}) } else{ that.setData({status:'离线'}) } getloop(message.Device).then(suc =>{ if(suc.data.code == 0){ that.setData({crr:message.loopnum,play:1}) } else{ console.log('获取新设备回路参数失败') wx.showModal({ title:'错误', content:suc.data.msg, showCancel:false }) } }) } else{ console.log('新设备获取信息失败') wx.showModal({ title:'错误', content:nrg.data.msg, showCancel:false }) } }) } } } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })