const { getBasic, getData, postData, } = require('../../api/intell') const { getDevice, getloop, postloop, looplightlist, } = 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" ], 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'], newcolor: ["#888888", "#888888", "#888888"], newfont: ["#cccccc", "#cccccc", "#cccccc"], newSwitch: [false, false, false], newSwitchstate: ["", "", ""], equipment: 0, //记录当前设备的序号(服务器传的id) subset: 0, //记录当前分组的id ID: 0, //记录设备的ID // 启动条件(多选框) disabled: false, choice: [], lightlist: [], //新设备回路开启条件, popup: false, //开启条件弹窗 openModal:'手动', shutModal:'手动', beginTime:'', closeTimes:'' }, //分组下拉 changegroup: function(e) { wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) 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 = [] for (let i = 0; i < group.length; i++) { if (group[i].groupName == groupName) { if (group[i].devices != null && group[i].devices.length != 0) { for (let j = 0; j < group[i].devices.length; j++) { deviceName.push(group[i].devices[j].deviceName) } that.setData({ deviceName: deviceName, deviceIndex: 0 }) var groupNames = that.data.groupName[that.data.groupIndex] var deviceNames = that.data.deviceName[that.data.deviceIndex] wx.setStorageSync('deviceName', deviceNames) //将修改的设备名放入缓存 //获取设备信息 var Message = enloop.deviceMessage(groupNames, deviceNames) that.setData({ equipment: Message.Device, subset: Message.id, ID: Message.ID, indexes: 0 }) //记录当前的设备id和分组id if (Message.modules == 0) { that.setData({ play: 0, deviceKey: Message.deviceKey, deviceId: Message.deviceId }) getBasic(Message.deviceId, Message.deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getData(Message.deviceId, Message.deviceKey).then(ever => { if (ever.data.errno == 0) { let { data } = ever.data //判断设备是否处于初始化状态 var initialization = true for (let t = 0; t < data.length; t++) { if ('current_value' in data[t] == false) { initialization = false } } if (initialization == true) { 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( rgb => { if (rgb.data.code == 0) { var rgbs = rgb.data.data .circuits rgbs = rgbs.split(',') that.setData({ crr: rgbs }) } else { wx.showModal({ title: '错误', content: rgb.data .msg, showCancel: false }) } }) } } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } else { that.setData({ play: 1 }) //新设备在线状态 getDevice(Message.Device, Message.id).then(nrg => { if (nrg.data.code == 0) { var nrg = nrg.data.data if (nrg.status == 1) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getloop(Message.Device).then(suc => { if (suc.data.code == 0) { var suc = suc.data.data var index = that.data.indexes for (let i = 0; i < suc.length; i++) { if (index == i) { let Suc = suc[i] var newSwitch = that.data.newSwitch var timeValue = that.data.timeValue var newSwitchstate = that.data.newSwitchstate var choice = that.data.choice var model = Suc.ctlMode var beginTime = Suc.realTimeCondition1OnTime var closeTimes = Suc.realTimeCondition1OffTime //光控启动条件 if (Suc.lightControlCondition.includes( ',') == true) { var light = Suc.lightControlCondition .split(',') for (let i = 0; i < light.length; i++) { switch (light[i]) { case '晴天': choice[0] = true break; case '多云': choice[1] = true break; case '阴天': choice[2] = true break; case '大阴天': choice[3] = true break; } } } else { choice = [false, false, false, false] switch (Suc.lightControlCondition) { case '晴天': choice[0] = true break; case '多云': choice[1] = true break; case '阴天': choice[2] = true break; case '大阴天': choice[3] = true break; } } that.setData({ choice: choice }) var lightCondition = Suc .lightControlCondition //光控启动条件 looplightlist().then(res => { if (res.data.code == 0) { var lightlist = res.data .data that.setData({ lightlist: lightlist }) for (let i = 0; i < lightlist.length; i++) { choice[i] = false } if (lightCondition.includes( ',') == true) { lightCondition = lightCondition .split(',') for (let j = 0; j < lightCondition .length; j++) { if (lightCondition[ j] == '1') { choice[0] = true } else if ( lightCondition[ j] == '2') { choice[1] = true } else if ( lightCondition[ j] == '3') { choice[2] = true } else if ( lightCondition[ j] == '4') { choice[3] = true } } } else { if (lightCondition == '1') { choice[0] = true } else if ( lightCondition == '2') { choice[1] = true } else if ( lightCondition == '3') { choice[2] = true } else if ( lightCondition == '4') { choice[3] = true } } that.setData({ choice: choice }) } else { wx.showModal({ title: '错误', content: res .data.msg, showCancel: false }) } }) //时控1 if (Suc.timeCondition1Switch == 1) { newSwitch[0] = true newSwitchstate[0] = 'time' } else { newSwitch[0] = false newSwitchstate[0] = '' } timeValue[0] = Suc.timeCondition1OnTime timeValue[1] = Suc.timeCondition1OffTime //时控2 if (Suc.timeCondition2Switch == 1) { newSwitch[1] = true newSwitchstate[1] = 'time' } else { newSwitch[1] = false newSwitchstate[1] = '' } timeValue[2] = Suc.timeCondition2OnTime timeValue[3] = Suc.timeCondition2OffTime //光控 if (Suc.lightControlSwitch == 1) { newSwitch[2] = true newSwitchstate[2] = 'time' } else { newSwitch[2] = false newSwitchstate[2] = '' } timeValue[4] = Suc.lightControlStart timeValue[5] = Suc.lightControlEnd for (let j = 0; j < timeValue.length; j++) { if (timeValue[j] == "") { timeValue[j] = '00:00' } } var messageNum = Message.loopnum messageNum.push('所有回路') that.setData({ crr: messageNum, timeValue: timeValue, newSwitch: newSwitch, newChange:model, beginTime:beginTime, closeTimes:closeTimes }) //监视新设备开关状态 var newSwitchs = that.data.newSwitch var newfonts = that.data.newfont var newcolors = that.data.newcolor var newSwitchstates = that.data .newSwitchstate var disableds = that.data.disabled if (newSwitchs[0] == true) { newfonts[0] = "white" newcolors[0] = "blue" newSwitchstates[0] = "time" } else { newfonts[0] = "#cccccc" newcolors[0] = "#888888" newSwitchstates[0] = "" } if (newSwitchs[1] == true) { newfonts[1] = "white" newcolors[1] = "blue" newSwitchstates[1] = "time" } else { newfonts[1] = "#cccccc" newcolors[1] = "#888888" newSwitchstates[1] = "" } if (newSwitchs[2] == true) { newfonts[2] = "white" newcolors[2] = "blue" newSwitchstates[2] = "time" disableds = false } else { newfonts[2] = "#cccccc" newcolors[2] = "#888888" newSwitchstates[2] = "" disableds = true } that.setData({ newcolor: newcolors, newfont: newfonts, newSwitch: newSwitchs, newSwitchstate: newSwitchstates, disabled: disableds }) } } } else { console.log('获取新设备回路参数失败') wx.showModal({ title: '错误', content: suc.data.msg, showCancel: false }) } }) } else { console.log('新设备获取信息失败') wx.showModal({ title: '错误', content: nrg.data.msg, showCancel: false }) } }) } } else { wx.setStorageSync('deviceName', '') that.setData({ status: '离线', deviceName: [] }) } } } }, //设备下拉 changedevice: function(e) { var that = this wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) that.setData({ deviceIndex: e.detail.value }) var groupName = that.data.groupName[that.data.groupIndex] var deviceName = that.data.deviceName[that.data.deviceIndex] wx.setStorageSync('groupName', groupName) //分组名称 wx.setStorageSync('deviceName', deviceName) //设备名称 //获取设备信息 var Message = enloop.deviceMessage(groupName, deviceName) that.setData({ equipment: Message.Device, subset: Message.id, ID: Message.ID, indexes: 0 }) //记录当前的设备id和分组id if (Message.modules == 0) { that.setData({ play: 0, deviceKey: Message.deviceKey, deviceId: Message.deviceId }) getBasic(Message.deviceId, Message.deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getData(Message.deviceId, Message.deviceKey).then(ever => { if (ever.data.errno == 0) { let { data } = ever.data //判断设备是否处于初始化状态 var initialization = true for (let t = 0; t < data.length; t++) { if ('current_value' in data[t] == false) { initialization = false } } if (initialization == true) { 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(rgb => { if (rgb.data.code == 0) { var rgbs = rgb.data.data.circuits rgbs = rgbs.split(',') that.setData({ crr: rgbs }) } else { wx.showModal({ title: '错误', content: rgb.data.msg, showCancel: false }) } }) } } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } else { that.setData({ play: 1 }) //新设备在线状态 getDevice(Message.Device, Message.id).then(nrg => { if (nrg.data.code == 0) { var nrg = nrg.data.data if (nrg.status == 1) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getloop(Message.Device).then(suc => { if (suc.data.code == 0) { var suc = suc.data.data var index = that.data.indexes for (let i = 0; i < suc.length; i++) { if (index == i) { let Suc = suc[i] var newSwitch = that.data.newSwitch var timeValue = that.data.timeValue var newSwitchstate = that.data.newSwitchstate var choice = that.data.choice var lightCondition = Suc.lightControlCondition var model = Suc.ctlMode var beginTime = Suc.realTimeCondition1OnTime var closeTimes = Suc.realTimeCondition1OffTime //光控启动条件 looplightlist().then(res => { if (res.data.code == 0) { var lightlist = res.data.data that.setData({ lightlist: lightlist }) for (let i = 0; i < lightlist .length; i++) { choice[i] = false } if (lightCondition.includes(',') == true) { lightCondition = lightCondition .split(',') for (let j = 0; j < lightCondition .length; j++) { if (lightCondition[j] == '1') { choice[0] = true } else if (lightCondition[j] == '2') { choice[1] = true } else if (lightCondition[j] == '3') { choice[2] = true } else if (lightCondition[j] == '4') { choice[3] = true } } } else { if (lightCondition == '1') { choice[0] = true } else if (lightCondition == '2') { choice[1] = true } else if (lightCondition == '3') { choice[2] = true } else if (lightCondition == '4') { choice[3] = true } } that.setData({ choice: choice }) } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) //时控1 if (Suc.timeCondition1Switch == 1) { newSwitch[0] = true newSwitchstate[0] = 'time' } else { newSwitch[0] = false newSwitchstate[0] = '' } timeValue[0] = Suc.timeCondition1OnTime timeValue[1] = Suc.timeCondition1OffTime //时控2 if (Suc.timeCondition2Switch == 1) { newSwitch[1] = true newSwitchstate[1] = 'time' } else { newSwitch[1] = false newSwitchstate[1] = '' } timeValue[2] = Suc.timeCondition2OnTime timeValue[3] = Suc.timeCondition2OffTime //光控 if (Suc.lightControlSwitch == 1) { newSwitch[2] = true newSwitchstate[2] = 'time' } else { newSwitch[2] = false newSwitchstate[2] = '' } timeValue[4] = Suc.lightControlStart timeValue[5] = Suc.lightControlEnd for (let j = 0; j < timeValue.length; j++) { if (timeValue[j] == "") { timeValue[j] = '00:00' } } var messageNum = Message.loopnum messageNum.push('所有回路') that.setData({ crr:messageNum, timeValue: timeValue, newSwitch: newSwitch, }) //监视新设备开关状态 var newSwitchs = that.data.newSwitch var newfonts = that.data.newfont var newcolors = that.data.newcolor var newSwitchstates = that.data.newSwitchstate var disableds = that.data.disabled if (newSwitchs[0] == true) { newfonts[0] = "white" newcolors[0] = "blue" newSwitchstates[0] = "time" } else { newfonts[0] = "#cccccc" newcolors[0] = "#888888" newSwitchstates[0] = "" } if (newSwitchs[1] == true) { newfonts[1] = "white" newcolors[1] = "blue" newSwitchstates[1] = "time" } else { newfonts[1] = "#cccccc" newcolors[1] = "#888888" newSwitchstates[1] = "" } if (newSwitchs[2] == true) { newfonts[2] = "white" newcolors[2] = "blue" newSwitchstates[2] = "time" disableds = false } else { newfonts[2] = "#cccccc" newcolors[2] = "#888888" newSwitchstates[2] = "" disableds = true } that.setData({ newcolor: newcolors, newfont: newfonts, newSwitch: newSwitchs, newSwitchstate: newSwitchstates, disabled: disableds, newChange:model, beginTime:beginTime, closeTimes:closeTimes }) } } } else { console.log('获取新设备回路参数失败') wx.showModal({ title: '错误', content: suc.data.msg, showCancel: false }) } }) } else { console.log('新设备获取信息失败') wx.showModal({ title: '错误', content: nrg.data.msg, showCancel: false }) } }) } }, //回路调控 bindPickerChange3: function(e) { wx.showToast({ title: '刷新中', icon: 'loading', duration: 2000 }) var that = this var play = that.data.play var indexes = parseInt(e.detail.value) that.setData({ indexes: indexes }) //旧设备 if (play == 0) { getData(that.data.deviceId, that.data.deviceKey).then(res => { if (res.data.errno == 0) { var { data } = res.data var Indexes = that.data.indexes Indexes = Indexes + 1 var crr = that.data.crr.length 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; } } } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } //新设备 else { var Equip = that.data.equipment //设备id var crr = that.data.crr if(crr[indexes] == '所有回路'){ return } getloop(Equip).then(suc => { if (suc.data.code == 0) { var suc = suc.data.data var index = that.data.indexes for (let i = 0; i < suc.length; i++) { if (index == i) { let Suc = suc[i] var newSwitch = that.data.newSwitch var timeValue = that.data.timeValue var newSwitchstate = that.data.newSwitchstate var choice = that.data.choice var lightCondition = Suc.lightControlCondition var model = Suc.ctlMode var beginTime = Suc.realTimeCondition1OnTime var closeTimes = Suc.realTimeCondition1OffTime //光控启动条件 looplightlist().then(res => { if (res.data.code == 0) { var lightlist = res.data.data that.setData({ lightlist: lightlist }) for (let i = 0; i < lightlist.length; i++) { choice[i] = false } if (lightCondition.includes(',') == true) { lightCondition = lightCondition.split(',') for (let j = 0; j < lightCondition.length; j++) { if (lightCondition[j] == '1') { choice[0] = true } else if (lightCondition[j] == '2') { choice[1] = true } else if (lightCondition[j] == '3') { choice[2] = true } else if (lightCondition[j] == '4') { choice[3] = true } } } else { if (lightCondition == '1') { choice[0] = true } else if (lightCondition == '2') { choice[1] = true } else if (lightCondition == '3') { choice[2] = true } else if (lightCondition == '4') { choice[3] = true } } that.setData({ choice: choice }) } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) //时控1 if (Suc.timeCondition1Switch == 1) { newSwitch[0] = true newSwitchstate[0] = 'time' } else { newSwitch[0] = false newSwitchstate[0] = '' } timeValue[0] = Suc.timeCondition1OnTime timeValue[1] = Suc.timeCondition1OffTime //时控2 if (Suc.timeCondition2Switch == 1) { newSwitch[1] = true newSwitchstate[1] = 'time' } else { newSwitch[1] = false newSwitchstate[1] = '' } timeValue[2] = Suc.timeCondition2OnTime timeValue[3] = Suc.timeCondition2OffTime //光控 if (Suc.lightControlSwitch == 1) { newSwitch[2] = true newSwitchstate[2] = 'time' newSwitchstate[3] = 'selector' } else { newSwitch[2] = false newSwitchstate[2] = '' newSwitchstate[3] = '' } timeValue[4] = Suc.lightControlStart timeValue[5] = Suc.lightControlEnd for (let j = 0; j < timeValue.length; j++) { if (timeValue[j] == "") { timeValue[j] = '00:00' } } that.setData({ timeValue: timeValue, newSwitch: newSwitch, newChange:model, beginTime:beginTime, closeTimes:closeTimes }) //监视新设备开关状态 var newSwitchs = that.data.newSwitch var newfonts = that.data.newfont var newcolors = that.data.newcolor var newSwitchstates = that.data.newSwitchstate var disableds = that.data.disabled if (newSwitchs[0] == true) { newfonts[0] = "white" newcolors[0] = "blue" newSwitchstates[0] = "time" } else { newfonts[0] = "#cccccc" newcolors[0] = "#888888" newSwitchstates[0] = "" } if (newSwitchs[1] == true) { newfonts[1] = "white" newcolors[1] = "blue" newSwitchstates[1] = "time" } else { newfonts[1] = "#cccccc" newcolors[1] = "#888888" newSwitchstates[1] = "" } if (newSwitchs[2] == true) { newfonts[2] = "white" newcolors[2] = "blue" newSwitchstates[2] = "time" disableds = false } else { newfonts[2] = "#cccccc" newcolors[2] = "#888888" newSwitchstates[2] = "" disableds = true } that.setData({ newcolor: newcolors, newfont: newfonts, newSwitch: newSwitchs, newSwitchstate: newSwitchstates, disabled: disableds }) } } } else { console.log('获取新设备回路参数失败') wx.showModal({ title: '错误', content: suc.data.msg, showCancel: false }) } }) } }, //新设备模式切换 openModal(){ var that = this var openModal = that.data.openModal openModal = openModal == '手动' ? '经纬' : '手动' that.setData({openModal:openModal}) }, shutModal(){ var that = this var shutModal = that.data.shutModal shutModal = shutModal == '手动' ? '经纬' : '手动' that.setData({shutModal:shutModal}) }, //时间调控 //时控开关选择器(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 }) } }, Controltime6: function() { let newSwitch = this.data.newSwitch let newcolor = this.data.newcolor let newfont = this.data.newfont let newSwitchstate = this.data.newSwitchstate newSwitch[1] = !newSwitch[1] if (newSwitch[1] == true) { newcolor[1] = "blue" newfont[1] = "white" newSwitchstate[1] = "time" } else { newcolor[1] = "#888888" newfont[1] = "#cccccc" newSwitchstate[1] = "" } this.setData({ newSwitch: newSwitch, newcolor: newcolor, newfont: newfont, newSwitchstate: newSwitchstate }) }, Controltime7: function() { let newSwitch = this.data.newSwitch let newcolor = this.data.newcolor let newfont = this.data.newfont let newSwitchstate = this.data.newSwitchstate let disabled = this.data.disabled newSwitch[2] = !newSwitch[2] if (newSwitch[2] == true) { newcolor[2] = "blue" newfont[2] = "white" newSwitchstate[2] = "time" newSwitchstate[3] = "selector" disabled = false } else { newcolor[2] = "#888888" newfont[2] = "#cccccc" newSwitchstate[2] = "" newSwitchstate[3] = "" disabled = true } this.setData({ newSwitch: newSwitch, newcolor: newcolor, newfont: newfont, newSwitchstate: newSwitchstate, disabled: disabled }) }, //固定与经纬的切换 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-11新设备) 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, }) } }, //光控 //光控开关选择器 Controllight1: 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: "" }) } }, Controllight2: 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') if (group != null && group.length != 0) { //分组下拉 var group = wx.getStorageSync('group') var groups = [] for (let i = 0; i < group.length; i++) { groups.push(group[i].groupName) } that.setData({ groupName: groups }) //改变分组下标 if (wx.getStorageSync('groupName') != '') { let GroupName = groups for (let n = 0; n < GroupName.length; n++) { if (GroupName[n] == wx.getStorageSync('groupName')) { that.setData({ groupIndex: n }) } } } else { wx.setStorageSync('groupName', groups[0]) } //设备下拉 var device = [] 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') != '') { for (let m = 0; m < device.length; m++) { if (device[m] == wx.getStorageSync('deviceName')) { that.setData({ deviceIndex: m }) } } } else { wx.setStorageSync('deviceName', device[0]) } //获取设备信息 var currentGroup = that.data.groupName[that.data.groupIndex] var currentDevice = that.data.deviceName[that.data.deviceIndex] var message = enloop.deviceMessage(currentGroup, currentDevice) that.setData({ equipment: message.Device, subset: message.id, }) //记录当前的设备id和分组id //旧设备 if (message.modules == 0) { that.setData({ play: 0, deviceKey: message.deviceKey, deviceId: message.deviceId }) getBasic(message.deviceId, message.deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getData(message.deviceId, message.deviceKey).then(ever => { if (ever.data.errno == 0) { var { data } = ever.data //判断设备是否处于初始化状态 var initialization = true for (let t = 0; t < data.length; t++) { if ('current_value' in data[t] == false) { initialization = false } } if (initialization == true) { var Indexes = that.data.indexes Indexes = Indexes + 1 var crr = that.data.crr.length 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; } } } else { getDevice(message.Device, message.id).then( rgb => { if (rgb.data.code == 0) { var rgbs = rgb.data.data .circuits rgbs = rgbs.split(',') that.setData({ crr: rgbs }) } else { wx.showModal({ title: '错误', content: rgb .data.msg, showCancel: false }) } }) } } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } //新设备 else { that.setData({ play: 1 }) //新设备在线状态 getDevice(message.Device, message.id).then(nrg => { if (nrg.data.code == 0) { var nrg = nrg.data.data if (nrg.status == 1) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getloop(message.Device).then(suc => { if (suc.data.code == 0) { var suc = suc.data.data var index = that.data.indexes for (let i = 0; i < suc.length; i++) { if (index == i) { let Suc = suc[i] var newSwitch = that.data.newSwitch var timeValue = that.data.timeValue var newSwitchstate = that.data.newSwitchstate var choice = that.data.choice var lightCondition = Suc.lightControlCondition var model = Suc.ctlMode var beginTime = Suc.realTimeCondition1OnTime var closeTimes = Suc.realTimeCondition1OffTime //光控启动条件 looplightlist().then(res => { if (res.data.code == 0) { var lightlist = res.data.data that.setData({ lightlist: lightlist }) for (let i = 0; i < lightlist .length; i++) { choice[i] = false } if (lightCondition .includes(',') == true) { lightCondition = lightCondition .split(',') for (let j = 0; j < lightCondition .length; j++) { if (lightCondition[ j] == '1') { choice[0] = true } else if ( lightCondition[ j] == '2') { choice[1] = true } else if ( lightCondition[ j] == '3') { choice[2] = true } else if ( lightCondition[ j] == '4') { choice[3] = true } } } else { if (lightCondition == '1') { choice[0] = true } else if ( lightCondition == '2') { choice[1] = true } else if ( lightCondition == '3') { choice[2] = true } else if ( lightCondition == '4') { choice[3] = true } } that.setData({ choice: choice }) } else { wx.showModal({ title: '错误', content: res .data .msg, showCancel: false }) } }) //时控1 if (Suc.timeCondition1Switch == 1) { newSwitch[0] = true newSwitchstate[0] = 'time' } else { newSwitch[0] = false newSwitchstate[0] = '' } timeValue[0] = Suc.timeCondition1OnTime timeValue[1] = Suc.timeCondition1OffTime //时控2 if (Suc.timeCondition2Switch == 1) { newSwitch[1] = true newSwitchstate[1] = 'time' } else { newSwitch[1] = false newSwitchstate[1] = '' } timeValue[2] = Suc.timeCondition2OnTime timeValue[3] = Suc.timeCondition2OffTime //光控 if (Suc.lightControlSwitch == 1) { newSwitch[2] = true newSwitchstate[2] = 'time' newSwitchstate[3] = 'selector' } else { newSwitch[2] = false newSwitchstate[2] = '' newSwitchstate[3] = '' } timeValue[4] = Suc.lightControlStart timeValue[5] = Suc.lightControlEnd for (let j = 0; j < timeValue .length; j++) { if (timeValue[j] == "") { timeValue[j] = '00:00' } } var messageNum = message.loopnum messageNum.push('所有回路') that.setData({ crr: messageNum, timeValue: timeValue, newSwitch: newSwitch }) //监视新设备开关状态 var newSwitchs = that.data.newSwitch var newfonts = that.data.newfont var newcolors = that.data.newcolor var newSwitchstates = that.data .newSwitchstate var disableds = that.data.disabled if (newSwitchs[0] == true) { newfonts[0] = "white" newcolors[0] = "blue" newSwitchstates[0] = "time" } else { newfonts[0] = "#cccccc" newcolors[0] = "#888888" newSwitchstates[0] = "" } if (newSwitchs[1] == true) { newfonts[1] = "white" newcolors[1] = "blue" newSwitchstates[1] = "time" } else { newfonts[1] = "#cccccc" newcolors[1] = "#888888" newSwitchstates[1] = "" } if (newSwitchs[2] == true) { newfonts[2] = "white" newcolors[2] = "blue" newSwitchstates[2] = "time" disableds = false } else { newfonts[2] = "#cccccc" newcolors[2] = "#888888" newSwitchstates[2] = "" disableds = true } that.setData({ newcolor: newcolors, newfont: newfonts, newSwitch: newSwitchs, newSwitchstate: newSwitchstates, disabled: disableds, newChange:model, beginTime:beginTime, closeTimes:closeTimes }) } } } else { console.log('获取新设备回路参数失败') wx.showModal({ title: '错误', content: suc.data.msg, showCancel: false }) } }) } else { console.log('新设备获取信息失败') wx.showModal({ title: '错误', content: nrg.data.msg, showCancel: false }) } }) } } else { that.setData({ status: '离线', deviceName: [] }) } } } } else { that.setData({ deviceName: [], groupName: [] }) } }, //新设备多选框 point1: function() { var choice = this.data.choice if (choice[0] == true) { choice[0] = false } else { choice[0] = true } this.setData({ choice: choice }) }, point2: function() { var choice = this.data.choice if (choice[1] == true) { choice[1] = false } else { choice[1] = true } this.setData({ choice: choice }) }, point3: function() { var choice = this.data.choice if (choice[2] == true) { choice[2] = false } else { choice[2] = true } this.setData({ choice: choice }) }, point4: function() { var choice = this.data.choice if (choice[3] == true) { choice[3] = false } else { choice[3] = true } this.setData({ choice: choice }) }, //存储数据 Storedata: function() { wx.showToast({ title: '存储数据中', icon: 'loading', duration: 3000 }) var that = this var play = that.data.play //旧设备 if (play == 0) { 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] == 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' && radio1 == true) { jude = 0 } else if (lamp[indexes] == 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' && radio2 == true) { jude = 4 } else if (lamp[indexes] == 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png' && radio3 == true) { jude = 8 } else if (lamp[indexes] == 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' && radio1 == true) { jude = 1 } else if (lamp[indexes] == 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png' && radio2 == true) { jude = 5 } else if (lamp[indexes] == 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/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 Lightcontrolon = that.data.arr[that.data.index] Lightcontrolon = Lightcontrolon //光控关 var Lightcontroloff = that.data.brr[that.data.indexs] Lightcontroloff = Lightcontroloff //星期 var myweek = "" var address = that.data.address for (let w = 0; w < address.length; w++) { switch (address[w]) { case "/image/false.png": myweek += '0' break; default: myweek += '1' break; } } if (myweek == "0000000") { myweek = 0 } else { myweek = "1" + myweek.split("").reverse().join("") myweek = parseInt(myweek, 2) myweek = myweek } //发起post请求 getBasic(that.data.deviceId, that.data.deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) if (that.data.status == "在线") { 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, } postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } 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, //开关状态 } postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object1)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object2)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object3)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object4)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object5)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object6)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object7)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) postData(that.data.deviceId, that.data.deviceKey, JSON.stringify(object8)).then(res => { if (res.data.errno != 0) { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } } else { setTimeout(function() { wx.showModal({ title: '提示', content: '存储数据失败,请检查设备是否在线或者刷新页面', showCancel: false, }) }, 3000) } } //新设备 else { getDevice(that.data.equipment, that.data.subset).then(nrg => { if (nrg.data.code == 0) { var nrg = nrg.data.data if (nrg.status == 1) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } } else { wx.showModal({ title: '错误', content: res.data.msg, showCancel: false }) } }) if (that.data.status == "在线") { var timeValues = that.data.timeValue //时间 var newChange = that.data.newChange var crrs = that.data.crr //回路名称集合 var Crrindex = that.data.indexes //回路下标 Crrindex = Crrindex + 1 var ID = that.data.equipment ID = parseInt(ID) var newSwitch = that.data.newSwitch //设备开关 for (let x = 0; x < newSwitch.length; x++) { if (newSwitch[x] == true) { newSwitch[x] = 1 } else { newSwitch[x] = 0 } } //开启条件(天气) var choice = that.data.choice var Choice = '' for (let q = 0; q < choice.length; q++) { if (choice[q] == true) { Choice += ((q + 1) + ',') } } if (Choice.length > 0) { Choice = Choice.slice(0, Choice.length - 1) } if(crrs[Crrindex - 1] != '所有回路'){ var postobject = { "deviceId": ID, "relays": [{ "relayId": Crrindex, "name": crrs[Crrindex - 1], "timeCondition1Switch": newSwitch[0], "timeCondition1OnTime": timeValues[0], "timeCondition1OffTime": timeValues[1], "timeCondition2Switch": newSwitch[1], "timeCondition2OnTime": timeValues[2], "timeCondition2OffTime": timeValues[3], "lightControlSwitch": newSwitch[2], "lightControlStart": timeValues[4], "lightControlEnd": timeValues[5], "lightControlCondition": Choice, "ctlMode":newChange }] } } else{ var postobject = { "deviceId": ID } var relays = [] for(let e = 0; e < crrs.length - 1; e++){ relays.push( { "relayId": e+1, "timeCondition1Switch": newSwitch[0], "timeCondition1OnTime": timeValues[0], "timeCondition1OffTime": timeValues[1], "timeCondition2Switch": newSwitch[1], "timeCondition2OnTime": timeValues[2], "timeCondition2OffTime": timeValues[3], "lightControlSwitch": newSwitch[2], "lightControlStart": timeValues[4], "lightControlEnd": timeValues[5], "lightControlCondition": Choice, "ctlMode":newChange } ) } postobject.relays = relays } console.log(postobject) postloop(postobject).then(upload => { if (upload.data.code != 0) { wx.showModal({ title: '错误', content: upload.data.msg, showCancel: false }) } }) } else { wx.showModal({ title: '提示', content: '存储数据失败,请检查设备是否在线或者刷新页面', showCancel: false, }) } } }, //开启条件按钮 Opening: function() { var disabled = this.data.disabled if (disabled == true) { this.setData({ popup: false }) } else { this.setData({ popup: true }) } }, //对话框确定回调 complete: function() { this.setData({ popup: 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 }) } } }) var group = wx.getStorageSync('group') if (group != null && group.length != 0) { //分组下拉 var group = wx.getStorageSync('group') var groups = [] for (let i = 0; i < group.length; i++) { groups.push(group[i].groupName) } that.setData({ groupName: groups }) //改变分组下标 if (wx.getStorageSync('groupName') != '') { let GroupName = groups for (let n = 0; n < GroupName.length; n++) { if (GroupName[n] == wx.getStorageSync('groupName')) { that.setData({ groupIndex: n }) } } } else { that.setData({ groupIndex: 0 }) wx.setStorageSync('groupName', that.data.groupName[that.data.groupIndex]) } //设备下拉 var device = [] 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') != '') { for (let m = 0; m < device.length; m++) { if (device[m] == wx.getStorageSync('deviceName')) { that.setData({ deviceIndex: m }) } } } else { that.setData({ deviceIndex: 0 }) wx.setStorageSync('deviceName', that.data.deviceName[that.data.deviceIndex]) } //获取设备信息 var currentGroup = that.data.groupName[that.data.groupIndex] var currentDevice = that.data.deviceName[that.data.deviceIndex] var message = enloop.deviceMessage(currentGroup, currentDevice) that.setData({ equipment: message.Device, subset: message.id, ID: message.ID, indexes: 0 //将回路重新调回回路1 }) //记录当前的设备id和分组id //旧设备 if (message.modules == 0) { that.setData({ play: 0, deviceKey: message.deviceKey, deviceId: message.deviceId }) getBasic(message.deviceId, message.deviceKey).then(res => { if (res.data.errno == 0) { if (res.data.data.online == true) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getData(message.deviceId, message.deviceKey).then(ever => { if (ever.data.errno == 0) { let { data } = ever.data //判断设备是否处于初始化状态 var initialization = true for (let t = 0; t < data.length; t++) { if ('current_value' in data[t] == false) { initialization = false } } if (initialization == true) { 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( rgb => { if (rgb.data.code == 0) { var rgbs = rgb.data.data .circuits rgbs = rgbs.split(',') that.setData({ crr: rgbs }) } else { wx.showModal({ title: '错误', content: rgb.data .msg, showCancel: false }) } }) } } else { wx.showModal({ title: '错误', content: ever.data.error, showCancel: false }) } }) } else { wx.showModal({ title: '错误', content: res.data.error, showCancel: false }) } }) } //新设备 else { that.setData({ play: 1 }) //新设备在线状态 getDevice(message.Device, message.id).then(nrg => { if (nrg.data.code == 0) { var nrg = nrg.data.data if (nrg.status == 1) { that.setData({ status: '在线' }) } else { that.setData({ status: '离线' }) } getloop(message.Device).then(suc => { if (suc.data.code == 0) { var suc = suc.data.data var index = that.data.indexes for (let i = 0; i < suc.length; i++) { if (index == i) { let Suc = suc[i] var newSwitch = that.data.newSwitch var timeValue = that.data.timeValue var newSwitchstate = that.data.newSwitchstate var choice = that.data.choice var lightCondition = Suc.lightControlCondition var model = Suc.ctlMode //光控启动条件 looplightlist().then(res => { if (res.data.code == 0) { var lightlist = res.data.data that.setData({ lightlist: lightlist }) for (let i = 0; i < lightlist.length; i++) { choice[i] = false } if (lightCondition.includes(',') == true) { lightCondition = lightCondition.split(',') for (let j = 0; j < lightCondition.length; j++) { if (lightCondition[j] == '1') { choice[0] = true } else if ( lightCondition[ j] == '2') { choice[1] = true } else if ( lightCondition[ j] == '3') { choice[2] = true } else if ( lightCondition[ j] == '4') { choice[3] = true } } } else { if (lightCondition == '1') { choice[0] = true } else if ( lightCondition == '2') { choice[1] = true } else if ( lightCondition == '3') { choice[2] = true } else if ( lightCondition == '4') { choice[3] = true } } that.setData({ choice: choice }) } else { wx.showModal({ title: '错误', content: res .data.msg, showCancel: false }) } }) //时控1 if (Suc.timeCondition1Switch == 1) { newSwitch[0] = true newSwitchstate[0] = 'time' } else { newSwitch[0] = false newSwitchstate[0] = '' } timeValue[0] = Suc.timeCondition1OnTime timeValue[1] = Suc.timeCondition1OffTime //时控2 if (Suc.timeCondition2Switch == 1) { newSwitch[1] = true newSwitchstate[1] = 'time' } else { newSwitch[1] = false newSwitchstate[1] = '' } timeValue[2] = Suc.timeCondition2OnTime timeValue[3] = Suc.timeCondition2OffTime //光控 if (Suc.lightControlSwitch == 1) { newSwitch[2] = true newSwitchstate[2] = 'time' newSwitchstate[3] = 'selector' } else { newSwitch[2] = false newSwitchstate[2] = '' newSwitchstate[3] = '' } timeValue[4] = Suc.lightControlStart timeValue[5] = Suc.lightControlEnd for (let j = 0; j < timeValue.length; j++) { if (timeValue[j] == "") { timeValue[j] = '00:00' } } var messageNum = message.loopnum messageNum.push('所有回路') that.setData({ crr: messageNum, timeValue: timeValue, newSwitch: newSwitch, beginTime:Suc.realTimeCondition1OnTime, closeTimes:Suc.realTimeCondition1OffTime, newChange:model }) //监视新设备开关状态 var newSwitchs = that.data.newSwitch var newfonts = that.data.newfont var newcolors = that.data.newcolor var newSwitchstates = that.data .newSwitchstate var disableds = that.data.disabled if (newSwitchs[0] == true) { newfonts[0] = "white" newcolors[0] = "blue" newSwitchstates[0] = "time" } else { newfonts[0] = "#cccccc" newcolors[0] = "#888888" newSwitchstates[0] = "" } if (newSwitchs[1] == true) { newfonts[1] = "white" newcolors[1] = "blue" newSwitchstates[1] = "time" } else { newfonts[1] = "#cccccc" newcolors[1] = "#888888" newSwitchstates[1] = "" } if (newSwitchs[2] == true) { newfonts[2] = "white" newcolors[2] = "blue" newSwitchstates[2] = "time" disableds = false } else { newfonts[2] = "#cccccc" newcolors[2] = "#888888" newSwitchstates[2] = "" disableds = true } that.setData({ newcolor: newcolors, newfont: newfonts, newSwitch: newSwitchs, newSwitchstate: newSwitchstates, disabled: disableds }) } } } else { console.log('获取新设备回路参数失败') wx.showModal({ title: '错误', content: suc.data.msg, showCancel: false }) } }) } else { console.log('新设备获取信息失败') wx.showModal({ title: '错误', content: nrg.data.msg, showCancel: false }) } }) } } else { that.setData({ status: '离线', deviceName: [] }) } } } } else { that.setData({ status: '离线', deviceName: [], groupName: [] }) } }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })