// pages/control/control.js
const {
  postGroup,
  getGroup,
  putGroup,
  delGroup
} = require('../../api/group')
const {
  postDevice,
  getDevice,
  putDevice,
  delDevice,
  getloop,
  loopSwitchstate
} = require('../../api/device')
const {
  getBasic,
  getData,
  postData
} = require('../../api/intell')
const control = require('../../utils/control')
Page({
  /**
   * 页面的初始数据
   */
  data: {
    statu: false,
    status: "离线",
    Title: "",
    quantity: "", //回路数量
    Color: ['#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf', '#d5dbdf',
      '#d5dbdf', '#d5dbdf'
    ], //字体颜色
    Size: ["calc(100vw * 16/375)", "calc(100vw * 16/375)", "calc(100vw * 16/375)", "calc(100vw * 16/375)",
      "calc(100vw * 16/375)", "calc(100vw * 16/375)", "calc(100vw * 16/375)", "calc(100vw * 16/375)",
      "calc(100vw * 16/375)", "calc(100vw * 16/375)", "calc(100vw * 16/375)", "calc(100vw * 16/375)"
    ], //字体大小
    lamp: ['https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png',
      'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
    ], //灯泡图标
    address: ["", "", "", "", "", "", "", "", "", "", "", ""], //修改回路名称图标
    loop: ['回路1', '回路2', '回路3', '回路4', '回路5', '回路6', '回路7', '回路8', '回路9', '回路10', '回路11', '回路12'], //回路名称
    loops: 0, //用于记录回路数量
    Loop: [], //用于向回路界面传递回路名称
    Modecontrol: "",
    groupName: [],
    deviceName: [],
    groupIndex: 0,
    deviceIndex: 0,
    deviceId: '',
    deviceKey: '',
    moudule: 0,
    id: 0,
    play: 0,
    ID:0,//新设备的ID
  },
  //回路开
  Open(e) {
    var that = this
    var moudule = that.data.moudule
    var ID = that.data.ID
    ID = parseInt(ID)
    var opens = e.target.dataset.open
    var loops = that.data.loops
    var status = that.data.status
    if (typeof (loops) == String) {
      loops = parseInt(loops)
    }
    if (status == '在线') {
      if (opens == 1) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R1_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 1,
            operation: 1
          })
        }
      } else if (opens == 2 && loops >= 2) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R2_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 2,
            operation: 1
          })
        }
      } else if (opens == 3 && loops >= 3) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R3_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 3,
            operation: 1
          })
        }
      } else if (opens == 4 && loops >= 4) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R4_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 4,
            operation: 1
          })
        }
      } else if (opens == 5 && loops >= 5) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R5_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 5,
            operation: 1
          })
        }
      } else if (opens == 6 && loops >= 6) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R6_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 6,
            operation: 1
          })
        }
      } else if (opens == 7 && loops >= 7) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R7_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 7,
            operation: 1
          })
        }
      } else if (opens == 8 && loops >= 8) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R8_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 8,
            operation: 1
          })
        }
      } else if (opens == 9 && loops >= 9) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R9_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 9,
            operation: 1
          })
        }
      } else if (opens == 10 && loops >= 10) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R10_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 10,
            operation: 1
          })
        }
      } else if (opens == 11 && loops >= 11) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R11_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 11,
            operation: 1
          })
        }
      } else if (opens == 12 && loops >= 12) {
        if (moudule == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R12_RelayStatus': 13,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 12,
            operation: 1
          })
        }
      }
      setTimeout(function () {
        //旧设备
        if (moudule == 0) {
          var lamp = wx.getStorageSync('lamp')
          getData(that.data.deviceId, that.data.deviceKey).then(bind => {
            let Bind = bind.data.data
            if (bind.data.errno == 0) {
              for (let r1 = 0; r1 < Bind.length; r1++) {
                if (Bind[r1].id == 'R1_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 0)
                } else if (Bind[r1].id == 'R2_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 1)
                } else if (Bind[r1].id == 'R3_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 2)
                } else if (Bind[r1].id == 'R4_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 3)
                } else if (Bind[r1].id == 'R5_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 4)
                } else if (Bind[r1].id == 'R6_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 5)
                } else if (Bind[r1].id == 'R7_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 6)
                } else if (Bind[r1].id == 'R8_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 7)
                } else if (Bind[r1].id == 'R9_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 8)
                } else if (Bind[r1].id == 'R10_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 9)
                } else if (Bind[r1].id == 'R11_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 10)
                } else if (Bind[r1].id == 'R12_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 11)
                }
              }
              wx.setStorageSync('lamp', switchReal)
              that.setData({
                lamp: wx.getStorageSync('lamp')
              })
            }
          })
        }
        //新设备
        else {
          var Switchstate = wx.getStorageSync('lamp')
          loopSwitchstate(ID).then(res => {
            if (res.data.code == 0) {
              var relay = res.data.data
              if (relay[opens - 1].status == 1) {
                Switchstate[opens - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png'
              } else {
                Switchstate[opens - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
              }
            } else {
              wx.showModal({
                title: '错误',
                content: res.data.msg,
                showCancel: false
              })
            }
          })
          setTimeout(function () {
            wx.setStorageSync('lamp', Switchstate)
            that.setData({
              lamp: wx.getStorageSync('lamp')
            })
          }, 500)
        }
      }, 3000)
    } else {
      wx.showModal({
        title: '提示',
        content: '设备处于离线状态',
        showCancel: false
      })
    }
  },
  //回路关
  Shut(e) {
    var that = this
    var play = that.data.play
    var ID = that.data.ID
    ID = parseInt(ID)
    var lamp = wx.getStorageSync('lamp')
    var shuts = e.target.dataset.shut
    var loops = that.data.loops
    var status = that.data.status
    if (typeof (loops) == String) {
      loops = parseInt(loops)
    }
    if (status == '在线') {
      if (shuts == 1) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R1_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 1,
            operation: 0
          })
        }
      } else if (shuts == 2 && loops >= 2) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R2_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 2,
            operation: 0
          })
        }
      } else if (shuts == 3 && loops >= 3) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R3_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 3,
            operation: 0
          })
        }
      } else if (shuts == 4 && loops >= 4) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R4_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 4,
            operation: 0
          })
        }
      } else if (shuts == 5 && loops >= 5) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R5_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 5,
            operation: 0
          })
        }
      } else if (shuts == 6 && loops >= 6) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R6_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 6,
            operation: 0
          })
        }
      } else if (shuts == 7 && loops >= 7) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R7_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 7,
            operation: 0
          })
        }
      } else if (shuts == 8 && loops >= 8) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R8_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 8,
            operation: 0
          })
        }
      } else if (shuts == 9 && loops >= 9) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R9_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 9,
            operation: 0
          })
        }
      } else if (shuts == 10 && loops >= 10) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R10_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 10,
            operation: 0
          })
        }
      } else if (shuts == 11 && loops >= 11) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R11_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 11,
            operation: 0
          })
        }
      } else if (shuts == 12 && loops >= 12) {
        if (play == 0) {
          control.Switch(that.data.deviceId, that.data.deviceKey, {
            'R12_RelayStatus': 12,
            'Reflash': 3
          })
        } else {
          control.newSwitch({
            deviceId: ID,
            relayId: 12,
            operation: 0
          })
        }
      }
      setTimeout(function () {
        if (play == 0) {
          getData(that.data.deviceId, that.data.deviceKey).then(bind => {
            let Bind = bind.data.data
            if (bind.data.errno == 0) {
              for (let r1 = 0; r1 < Bind.length; r1++) {
                if (Bind[r1].id == 'R1_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 0)
                } else if (Bind[r1].id == 'R2_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 1)
                } else if (Bind[r1].id == 'R3_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 2)
                } else if (Bind[r1].id == 'R4_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 3)
                } else if (Bind[r1].id == 'R5_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 4)
                } else if (Bind[r1].id == 'R6_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 5)
                } else if (Bind[r1].id == 'R7_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 6)
                } else if (Bind[r1].id == 'R8_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 7)
                } else if (Bind[r1].id == 'R9_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 8)
                } else if (Bind[r1].id == 'R10_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 9)
                } else if (Bind[r1].id == 'R11_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 10)
                } else if (Bind[r1].id == 'R12_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 11)
                }
              }
              wx.setStorageSync('lamp', switchReal)
              that.setData({
                lamp: wx.getStorageSync('lamp')
              })
            }
          })
        } else {
          var Switchstate = wx.getStorageSync('lamp')
          loopSwitchstate(ID).then(res => {
            if (res.data.code == 0) {
              var relay = res.data.data
              if (relay[shuts - 1].status == 1) {
                Switchstate[shuts - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png'
              } else {
                Switchstate[shuts - 1] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
              }
            } else {
              wx.showModal({
                title: '错误',
                content: res.data.msg,
                showCancel: false
              })
            }
          })
          setTimeout(function () {
            wx.setStorageSync('lamp', Switchstate)
            that.setData({
              lamp: wx.getStorageSync('lamp')
            })
          }, 500)
        }
      }, 3000)
    } else {
      wx.showModal({
        title: '提示',
        content: '设备处于离线状态',
        showCancel: false
      })
    }
  },
  //回路名称调整
  loopname(e) {
    var that = this
    var address = that.data.address //回路名称图标
    var loop = that.data.loop //回路名称
    var slice //截取数组
    var loops = that.data.loops //回路数量
    var group = wx.getStorageSync('group')
    var groupName = that.data.groupName[that.data.groupIndex] //分组名称
    var deviceName = that.data.deviceName[that.data.deviceIndex] //设备名称
    for (let i = 0; i < group.length; i++) {
      if (groupName == group[i].groupName) {
        for (let j = 0; j < group[i].devices.length; j++) {
          if (deviceName == group[i].devices[j].deviceName) {
            var deviceid = group[i].devices[j].id
            var groupid = group[i].devices[j].groupId
          }
        }
      }
    }
    //回路1
    if (e.target.dataset.loopname == 1) {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[0] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路2
    else if (e.target.dataset.loopname == 2 && address[1] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[1] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路3
    else if (e.target.dataset.loopname == 3 && address[2] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[2] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路4
    else if (e.target.dataset.loopname == 4 && address[3] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[3] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路5
    else if (e.target.dataset.loopname == 5 && address[4] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[4] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路6
    else if (e.target.dataset.loopname == 6 && address[5] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[5] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路7
    else if (e.target.dataset.loopname == 7 && address[6] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[6] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路8
    else if (e.target.dataset.loopname == 8 && address[7] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[7] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路9
    else if (e.target.dataset.loopname == 9 && address[8] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[8] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路10
    else if (e.target.dataset.loopname == 10 && address[9] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[9] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路11
    else if (e.target.dataset.loopname == 11 && address[10] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[10] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
    //回路12
    else if (e.target.dataset.loopname == 12 && address[11] != "") {
      wx.showModal({
        title: '修改回路名称',
        editable: true,
        placeholderText: '请输入名称',
        success: res => {
          if (res.confirm) {
            if (res.content == '') {
              wx.showModal({
                title: '提示',
                content: '请输入名称',
                showCancel: false
              })
            } else if (res.content.length > 10) {
              wx.showModal({
                title: '提示',
                content: '回路名称不能大于10个字符',
                showCancel: false
              })
            } else {
              loop[11] = res.content
              slice = loop.slice(0, loops)
              slice = slice.toString()
              putDevice({
                id: deviceid,
                groupId: groupid,
                circuits: slice
              }).then(res => {
                if (res.data.code == 0) {
                  for (let i = 0; i < group.length; i++) {
                    if (groupName == group[i].groupName) {
                      for (let j = 0; j < group[i].devices.length; j++) {
                        if (deviceName == group[i].devices[j].deviceName) {
                          group[i].devices[j].circuits = slice
                          wx.setStorageSync('group', group)
                          that.setData({
                            loop: loop
                          })
                        }
                      }
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
            }
          }
        }
      })
    }
  },
  //全开
  Fullopen: function () {
    var that = this
    var obj = {
      'R1_RelayStatus': 13,
      'R2_RelayStatus': 13,
      'R3_RelayStatus': 13,
      'R4_RelayStatus': 13,
      'R5_RelayStatus': 13,
      'R6_RelayStatus': 13,
      'R7_RelayStatus': 13,
      'R8_RelayStatus': 13,
      'R9_RelayStatus': 13,
      'R10_RelayStatus': 13,
      'R11_RelayStatus': 13,
      'R12_RelayStatus': 13,
      'Reflash': 3
    }
    postData(that.data.deviceId, that.data.deviceKey, obj).then(res => {
      if (res.data.errno == 0) {
        wx.setStorageSync('lamp', [])
        var lamp = wx.getStorageSync('lamp')
        for (let h = 0; h < 12; h++) {
          lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png")
        }
        setTimeout(function () {
          getData(that.data.deviceId, that.data.deviceKey).then(bind => {
            let Bind = bind.data.data
            if (bind.data.errno == 0) {
              for (let r1 = 0; r1 < Bind.length; r1++) {
                if (Bind[r1].id == 'R1_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 0)
                } else if (Bind[r1].id == 'R2_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 1)
                } else if (Bind[r1].id == 'R3_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 2)
                } else if (Bind[r1].id == 'R4_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 3)
                } else if (Bind[r1].id == 'R5_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 4)
                } else if (Bind[r1].id == 'R6_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 5)
                } else if (Bind[r1].id == 'R7_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 6)
                } else if (Bind[r1].id == 'R8_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 7)
                } else if (Bind[r1].id == 'R9_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 8)
                } else if (Bind[r1].id == 'R10_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 9)
                } else if (Bind[r1].id == 'R11_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 10)
                } else if (Bind[r1].id == 'R12_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 11)
                }
              }
              wx.setStorageSync('lamp', switchReal)
              that.setData({
                lamp: wx.getStorageSync('lamp')
              })
            }
          })
        }, 2000)
      } else {
        wx.showModal({
          title: '提示',
          content: res.data.error,
          showCancel: false
        })
      }
    })
  },
  //全关
  Allclosed: function () {
    var that = this
    var obj = {
      'R1_RelayStatus': 12,
      'R2_RelayStatus': 12,
      'R3_RelayStatus': 12,
      'R4_RelayStatus': 12,
      'R5_RelayStatus': 12,
      'R6_RelayStatus': 12,
      'R7_RelayStatus': 12,
      'R8_RelayStatus': 12,
      'R9_RelayStatus': 12,
      'R10_RelayStatus': 12,
      'R11_RelayStatus': 12,
      'R12_RelayStatus': 12,
      'Reflash': 3
    }
    postData(that.data.deviceId, that.data.deviceKey, obj).then(res => {
      if (res.data.errno == 0) {
        wx.setStorageSync('lamp', [])
        var lamp = wx.getStorageSync('lamp')
        for (let h = 0; h < 12; h++) {
          lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png")
        }
        setTimeout(function () {
          getData(that.data.deviceId, that.data.deviceKey).then(bind => {
            let Bind = bind.data.data
            if (bind.data.errno == 0) {
              for (let r1 = 0; r1 < Bind.length; r1++) {
                if (Bind[r1].id == 'R1_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 0)
                } else if (Bind[r1].id == 'R2_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 1)
                } else if (Bind[r1].id == 'R3_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 2)
                } else if (Bind[r1].id == 'R4_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 3)
                } else if (Bind[r1].id == 'R5_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 4)
                } else if (Bind[r1].id == 'R6_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 5)
                } else if (Bind[r1].id == 'R7_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 6)
                } else if (Bind[r1].id == 'R8_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 7)
                } else if (Bind[r1].id == 'R9_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 8)
                } else if (Bind[r1].id == 'R10_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 9)
                } else if (Bind[r1].id == 'R11_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 10)
                } else if (Bind[r1].id == 'R12_RelayStatus') {
                  var switchReal = control.switchReal(Bind[r1].current_value, lamp, 11)
                }
              }
              wx.setStorageSync('lamp', switchReal)
              that.setData({
                lamp: wx.getStorageSync('lamp')
              })
            }
          })
        }, 2000)
      } else {
        wx.showModal({
          title: '提示',
          content: res.data.error,
          showCancel: false
        })
      }
    })
  },
  //分组下拉
  changegroup: function (e) {
    var that = this
    that.setData({
      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 && group[i].devices.length != 0) {
          wx.showToast({
            title: '刷新中',
            icon: 'loading',
            duration: 2000
          })
          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) //将修改设备名放入缓存
          //获取设备信息
          for (let d = 0; d < group.length; d++) {
            if (groupNames == group[d].groupName) {
              var Groupno = group[d].id //分组id
              for (let g = 0; g < group[d].devices.length; g++) {
                if (deviceNames == group[d].devices[g].deviceName) {
                  //旧设备信息
                  if (group[d].devices[g].module == 0) {
                    var id = group[d].devices[g].id
                    var circuitNum = group[d].devices[g].circuitNum
                    var circuits = group[d].devices[g].circuits
                    var deviceId = group[d].devices[g].deviceId
                    var deviceKey = group[d].devices[g].deviceKey
                    var moudule = group[d].devices[g].module
                    that.setData({
                      play: 0
                    })
                  }
                  //新设备信息
                  else {
                    var circuitNum = group[d].devices[g].circuitNum
                    var circuits = group[d].devices[g].circuits
                    var moudule = group[d].devices[g].module
                    var id = group[d].devices[g].id
                    var ID = group[d].devices[g].deviceId
                    that.setData({
                      play: 1,
                      ID:ID
                    })
                  }
                }
              }
            }
          }
          that.setData({
            moudule: moudule,
            id: id,
            loops: circuitNum
          })
          //灯泡图标缓存
          wx.setStorageSync('lamp', [])
          var lamp = wx.getStorageSync('lamp')
          for (let h = 0; h < 12; h++) {
            lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png")
          }
          //旧设备
          if (moudule == 0) {
            //重置状态
            let combination = control.Refresh()
            that.setData({
              loop: combination[0],
              address: combination[1],
              lamp: combination[2],
              size: combination[3],
              Color: combination[4]
            })
            //..............................
            that.setData({
              deviceId: deviceId,
              deviceKey: deviceKey
            })
            var Circuits = circuits.split(',')
            let loop = that.data.loop
            for (let vr = 0; vr < circuitNum; vr++) {
              loop[vr] = Circuits[vr]
            }
            that.setData({
              loop: loop
            })
            postData(deviceId, deviceKey, {
              "Reflash": 3
            }).then(res => {
              setTimeout(function () {
                getBasic(deviceId, deviceKey).then(ever => {
                  if (ever.data.errno == 0) {
                    if (ever.data.data.online == true) {
                      that.setData({
                        status: "在线"
                      })
                    } else {
                      that.setData({
                        status: "离线"
                      })
                    }
                    getData(deviceId, deviceKey).then(ver => {
                      if (ver.data.errno == 0) {
                        let data = ver.data.data
                        for (let i = 0; i < data.length; i++) {
                          if (data[i].id == "RelayCount") {
                            var quantity = data[i].current_value
                            that.setData({
                              loops: quantity
                            })
                          } else if (data[i].id == "ManualStatus") {
                            if (data[i].current_value == 0) {
                              that.setData({
                                Modecontrol: "自动"
                              })
                            } else {
                              that.setData({
                                Modecontrol: "手动"
                              })
                            }
                          }
                          //回路1
                          else if (data[i].id == 'R1_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 0)
                          } else if (data[i].id == 'R2_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 1)
                          } else if (data[i].id == 'R3_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 2)
                          } else if (data[i].id == 'R4_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 3)
                          } else if (data[i].id == 'R5_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 4)
                          } else if (data[i].id == 'R6_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 5)
                          } else if (data[i].id == 'R7_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 6)
                          } else if (data[i].id == 'R8_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 7)
                          } else if (data[i].id == 'R9_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 8)
                          } else if (data[i].id == 'R10_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 9)
                          } else if (data[i].id == 'R11_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 10)
                          } else if (data[i].id == 'R12_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 11)
                          }
                          wx.setStorageSync('lamp', lamps)
                          that.setData({
                            lamp: wx.getStorageSync('lamp')
                          })
                        }
                        for (let i = 0; i < quantity; i++) {
                          var Loop = that.data.Loop
                          var color = that.data.Color
                          var size = that.data.Size
                          var Address = that.data.address
                          Loop[i] = that.data.loop[i]
                          color[i] = "black"
                          size[i] = "calc(100vw * 16/375)",
                            Address[i] = "/image/modify.png"
                          that.setData({
                            Color: color,
                            Size: size,
                            address: Address,
                            Loop: Loop
                          })
                        }
                      } else {
                        wx.showModal({
                          title: '错误',
                          content: ever.data.error,
                          showCancel: false
                        })
                      }
                    })
                  } else {
                    wx.showModal({
                      title: '错误',
                      content: ever.data.error,
                      showCancel: false
                    })
                  }
                })
              }, 2000)

            })
          }
          //新设备
          else {
            //重置状态
            let combination = control.Refresh()
            that.setData({
              loop: combination[0],
              address: combination[1],
              lamp: combination[2],
              size: combination[3],
              Color: combination[4]
            })
            //..............................
            //获取设备在线状态
            getDevice(id, Groupno).then(dve => {
              if (dve.data.code == 0) {
                var state = dve.data.data
                switch (state[0].status) {
                  case 0:
                    that.setData({
                      status: '离线'
                    })
                    break;
                  case 1:
                    that.setData({
                      status: '在线'
                    })
                    break;
                }
              } else {
                wx.showModal({
                  title: '错误',
                  content: dve.data.msg,
                  showCancel: false
                })
              }
            })
            var Circuits = circuits.split(',')
            let loop = that.data.loop
            for (let vr = 0; vr < circuitNum; vr++) {
              loop[vr] = Circuits[vr]
            }
            that.setData({
              loop: loop
            })
            getloop(ID).then(res => {
              if (res.data.code == 0) {
                let loopState = res.data.data
                //loopState.length可以视为回路数量
                for (let n = 0; n < loopState.length; n++) {
                  var Loop = that.data.Loop
                  var color = that.data.Color
                  var size = that.data.Size
                  var Address = that.data.address
                  Loop[n] = that.data.Loop[n]
                  color[n] = "black"
                  size[n] = "calc(100vw * 16/375)",
                    Address[n] = "/image/modify.png"
                  that.setData({
                    Color: color,
                    Size: size,
                    address: Address,
                    Loop: Loop
                  })
                }
              } else {
                wx.showModal({
                  title: '错误',
                  content: res.data.msg,
                  showCancel: false
                })
              }
            })
            loopSwitchstate(ID).then(res => {
              if (res.data.code == 0) {
                var relay = res.data.data
                for (let e = 0; e < relay.length; e++) {
                  if (relay[e].status == 1) {
                    lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png'
                  } else if (relay[e].status == 0) {
                    lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
                  } else {
                    lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
                  }
                }
              } else {
                wx.showModal({
                  title: '错误',
                  content: res.data.msg,
                  showCancel: false
                })
              }
            })
            setTimeout(function () {
              wx.setStorageSync('lamp', lamp)
              that.setData({
                lamp: wx.getStorageSync('lamp')
              })
            }, 2000)
          }
        } else {
          that.setData({
            status: '离线',
            deviceName: []
          })
          wx.setStorageSync('deviceName', '') //清空设备名称缓存
        }
      }
    }
  },
  //设备下拉
  changedevice: function (e) {
    wx.showToast({
      title: '刷新中',
      icon: 'loading',
      duration: 2000
    })
    var that = this
    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) {
        var Groupno = group[index].id //分组id
        for (let t = 0; t < group[index].devices.length; t++) {
          if (deviceName == group[index].devices[t].deviceName) {
            //旧设备信息
            if (group[index].devices[t].module == 0) {
              var id = group[index].devices[t].id
              var circuitNum = group[index].devices[t].circuitNum
              var circuits = group[index].devices[t].circuits
              var deviceId = group[index].devices[t].deviceId
              var deviceKey = group[index].devices[t].deviceKey
              var moudule = group[index].devices[t].module
              that.setData({
                play: 0
              })
            }
            //新设备信息
            else {
              var circuitNum = group[index].devices[t].circuitNum
              var circuits = group[index].devices[t].circuits
              var moudule = group[index].devices[t].module
              var id = group[index].devices[t].id
              var ID = group[index].devices[t].deviceId
              that.setData({
                play: 1,
                ID:ID
              })
            }
          }
        }
      }
    }
    that.setData({
      moudule: moudule,
      id: id,
      loops: circuitNum
    })
    //灯泡图标缓存
    wx.setStorageSync('lamp', [])
    var lamp = wx.getStorageSync('lamp')
    for (let h = 0; h < 12; h++) {
      lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png")
    }
    //旧设备
    if (moudule == 0) {
      //重置状态
      let combination = control.Refresh()
      that.setData({
        loop: combination[0],
        address: combination[1],
        lamp: combination[2],
        size: combination[3],
        Color: combination[4]
      })
      //..............................
      that.setData({
        deviceId: deviceId,
        deviceKey: deviceKey
      })
      var Circuits = circuits.split(',')
      let loop = that.data.loop
      for (let vr = 0; vr < circuitNum; vr++) {
        loop[vr] = Circuits[vr]
      }
      that.setData({
        loop: loop
      })
      postData(deviceId, deviceKey, {
        "Reflash": 3
      }).then(res => {
        setTimeout(function () {
          getBasic(deviceId, deviceKey).then(ever => {
            if (ever.data.errno == 0) {
              if (ever.data.data.online == true) {
                that.setData({
                  status: "在线"
                })
              } else {
                that.setData({
                  status: "离线"
                })
              }
              getData(deviceId, deviceKey).then(ver => {
                if (ver.data.errno == 0) {
                  let data = ver.data.data
                  for (let i = 0; i < data.length; i++) {
                    if (data[i].id == "RelayCount") {
                      var quantity = data[i].current_value
                      that.setData({
                        loops: quantity
                      })
                    } else if (data[i].id == "ManualStatus") {
                      if (data[i].current_value == 0) {
                        that.setData({
                          Modecontrol: "自动"
                        })
                      } else {
                        that.setData({
                          Modecontrol: "手动"
                        })
                      }
                    }
                    //回路1
                    else if (data[i].id == 'R1_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 0)
                    } else if (data[i].id == 'R2_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 1)
                    } else if (data[i].id == 'R3_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 2)
                    } else if (data[i].id == 'R4_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 3)
                    } else if (data[i].id == 'R5_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 4)
                    } else if (data[i].id == 'R6_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 5)
                    } else if (data[i].id == 'R7_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 6)
                    } else if (data[i].id == 'R8_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 7)
                    } else if (data[i].id == 'R9_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 8)
                    } else if (data[i].id == 'R10_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 9)
                    } else if (data[i].id == 'R11_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 10)
                    } else if (data[i].id == 'R12_RelayStatus') {
                      let police = data[i].current_value
                      var lamps = control.switchReal(police, lamp, 11)
                    }
                    wx.setStorageSync('lamp', lamps)
                    that.setData({
                      lamp: wx.getStorageSync('lamp')
                    })
                  }
                  for (let i = 0; i < quantity; i++) {
                    var Loop = that.data.Loop
                    var color = that.data.Color
                    var size = that.data.Size
                    var Address = that.data.address
                    Loop[i] = that.data.loop[i]
                    color[i] = "black"
                    size[i] = "calc(100vw * 16/375)",
                      Address[i] = "/image/modify.png"
                    that.setData({
                      Color: color,
                      Size: size,
                      address: Address,
                      Loop: Loop
                    })
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: ever.data.error,
                    showCancel: false
                  })
                }
              })
            } else {
              wx.showModal({
                title: '错误',
                content: ever.data.error,
                showCancel: false
              })
            }
          })
        }, 2000)

      })
    }
    //新设备
    else {
      //重置状态
      let combination = control.Refresh()
      that.setData({
        loop: combination[0],
        address: combination[1],
        lamp: combination[2],
        size: combination[3],
        Color: combination[4]
      })
      //..............................
      //获取设备在线状态
      getDevice(id, Groupno).then(dve => {
        if (dve.data.code == 0) {
          var state = dve.data.data
          switch (state[0].status) {
            case 0:
              that.setData({
                status: '离线'
              })
              break;
            case 1:
              that.setData({
                status: '在线'
              })
              break;
          }
        } else {
          wx.showModal({
            title: '错误',
            content: dve.data.msg,
            showCancel: false
          })
        }
      })
      var Circuits = circuits.split(',')
      let loop = that.data.loop
      for (let vr = 0; vr < circuitNum; vr++) {
        loop[vr] = Circuits[vr]
      }
      that.setData({
        loop: loop
      })
      getloop(ID).then(res => {
        if (res.data.code == 0) {
          let loopState = res.data.data
          //loopState.length可以视为回路数量
          for (let n = 0; n < loopState.length; n++) {
            var Loop = that.data.Loop
            var color = that.data.Color
            var size = that.data.Size
            var Address = that.data.address
            Loop[n] = that.data.Loop[n]
            color[n] = "black"
            size[n] = "calc(100vw * 16/375)",
              Address[n] = "/image/modify.png"
            that.setData({
              Color: color,
              Size: size,
              address: Address,
              Loop: Loop
            })
          }
        } else {
          wx.showModal({
            title: '错误',
            content: res.data.msg,
            showCancel: false
          })
        }
      })
      loopSwitchstate(ID).then(res => {
        if (res.data.code == 0) {
          var relay = res.data.data
          for (let e = 0; e < relay.length; e++) {
            if (relay[e].status == 1) {
              lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png'
            } else if (relay[e].status == 0) {
              lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
            } else {
              lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
            }
          }
        } else {
          wx.showModal({
            title: '错误',
            content: res.data.msg,
            showCancel: false
          })
        }
      })
      setTimeout(function () {
        wx.setStorageSync('lamp', lamp)
        that.setData({
          lamp: wx.getStorageSync('lamp')
        })
      }, 2000)
    }
  },
  //手动
  manual: function (e) {
    var that = this
    var deviceId = that.data.deviceId
    var deviceKey = that.data.deviceKey
    postData(deviceId, deviceKey, {
      'ManualStatus': 1,
      'Reflash': 3
    }).then(res => {
      if (res.data.errno == 0) {
        that.setData({
          Modecontrol: '手动'
        })
      } else {
        wx.showModal({
          title: '错误',
          content: res.data.error,
          showCancel: false
        })
      }
    })
  },
  //自动
  automatic: function (e) {
    var that = this
    var deviceId = that.data.deviceId
    var deviceKey = that.data.deviceKey
    postData(deviceId, deviceKey, {
      'ManualStatus': 1,
      'Reflash': 3
    }).then(res => {
      if (res.data.errno == 0) {
        that.setData({
          Modecontrol: '自动'
        })
      } else {
        wx.showModal({
          title: '错误',
          content: res.data.error,
          showCancel: false
        })
      }
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {},
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    wx.showToast({
      title: '加载中',
      icon: 'loading',
      duration: 1500
    })
    var that = this
    var group = wx.getStorageSync('group')
    if (group != null && group.length != 0) {
      //获取分组下拉  
      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 = 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 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') != '') {
              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])
            }
            //根据分组名和设备信息
            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) {
                var Groupno = group[d].id //分组id
                for (let g = 0; g < group[d].devices.length; g++) {
                  if (deviceNames == group[d].devices[g].deviceName) {
                    console.log(group[d].devices[g])
                    //旧设备信息
                    if (group[d].devices[g].module == 0) {
                      var id = group[d].devices[g].id //设备的序号
                      var circuitNum = group[d].devices[g].circuitNum
                      var circuits = group[d].devices[g].circuits
                      var deviceId = group[d].devices[g].deviceId
                      var deviceKey = group[d].devices[g].deviceKey
                      var moudule = group[d].devices[g].module
                      that.setData({
                        play: 0
                      })
                    }
                    //新设备信息
                    else {
                      var circuitNum = group[d].devices[g].circuitNum
                      var circuits = group[d].devices[g].circuits
                      var moudule = group[d].devices[g].module
                      var id = group[d].devices[g].id //设备的序号
                      var deviceID = group[d].devices[g].deviceId//设备ID
                      that.setData({
                        play: 1,
                        ID:deviceID
                      })
                    }
                  }
                }
              }
            }
            //用于区分两种设备以及记录回路数量
            that.setData({
              moudule: moudule,
              id: id,
              loops: circuitNum
            })
            //灯泡图标缓存
            wx.setStorageSync('lamp', [])
            var lamp = wx.getStorageSync('lamp')
            for (let h = 0; h < 12; h++) {
              lamp.push("https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png")
            }
            //旧设备
            if (moudule == 0) {
              //重置状态
              let combination = control.Refresh()
              that.setData({
                loop: combination[0],
                address: combination[1],
                lamp: combination[2],
                size: combination[3],
                Color: combination[4]
              })
              //..............................
              that.setData({
                deviceId: deviceId,
                deviceKey: deviceKey
              })
              var Circuits = circuits.split(',')
              let loop = that.data.loop
              for (let vr = 0; vr < circuitNum; vr++) {
                loop[vr] = Circuits[vr]
              }
              that.setData({
                loop: loop
              })
              postData(deviceId, deviceKey, {
                "Reflash": 3
              }).then(res => {
                setTimeout(function () {
                  getBasic(deviceId, deviceKey).then(ever => {
                    if (ever.data.data.online == true) {
                      that.setData({
                        status: "在线"
                      })
                    } else {
                      that.setData({
                        status: "离线"
                      })
                    }
                    getData(deviceId, deviceKey).then(ver => {
                      if (ver.data.errno == 0) {
                        let data = ver.data.data
                        for (let i = 0; i < data.length; i++) {
                          if (data[i].id == "RelayCount") {
                            var quantity = data[i].current_value
                            that.setData({
                              loops: quantity
                            })
                          } else if (data[i].id == "ManualStatus") {
                            if (data[i].current_value == 0) {
                              that.setData({
                                Modecontrol: "自动"
                              })
                            } else {
                              that.setData({
                                Modecontrol: "手动"
                              })
                            }
                          }
                          //回路1
                          else if (data[i].id == 'R1_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 0)
                          } else if (data[i].id == 'R2_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 1)
                          } else if (data[i].id == 'R3_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 2)
                          } else if (data[i].id == 'R4_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 3)
                          } else if (data[i].id == 'R5_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 4)
                          } else if (data[i].id == 'R6_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 5)
                          } else if (data[i].id == 'R7_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 6)
                          } else if (data[i].id == 'R8_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 7)
                          } else if (data[i].id == 'R9_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 8)
                          } else if (data[i].id == 'R10_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 9)
                          } else if (data[i].id == 'R11_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 10)
                          } else if (data[i].id == 'R12_RelayStatus') {
                            let police = data[i].current_value
                            var lamps = control.switchReal(police, lamp, 11)
                          }
                          wx.setStorageSync('lamp', lamps)
                          that.setData({
                            lamp: wx.getStorageSync('lamp')
                          })
                        }
                        for (let i = 0; i < quantity; i++) {
                          var Loop = that.data.Loop
                          var color = that.data.Color
                          var size = that.data.Size
                          var Address = that.data.address
                          Loop[i] = that.data.loop[i]
                          color[i] = "black"
                          size[i] = "calc(100vw * 16/375)",
                            Address[i] = "/image/modify.png"
                          that.setData({
                            Color: color,
                            Size: size,
                            address: Address,
                            Loop: Loop
                          })
                        }
                      } else {
                        wx.showModal({
                          title: '错误',
                          content: ever.data.error,
                          showCancel: false
                        })
                      }
                    })
                  })
                }, 2000)
              })
            }
            //新设备
            else {
              //重置状态
              let combination = control.Refresh()
              that.setData({
                loop: combination[0],
                address: combination[1],
                lamp: combination[2],
                size: combination[3],
                Color: combination[4]
              })
              //..............................
              //获取设备在线状态
              getDevice(id, Groupno).then(dve => {
                if (dve.data.code == 0) {
                  var state = dve.data.data
                  switch (state[0].status) {
                    case 0:
                      that.setData({
                        status: '离线'
                      })
                      break;
                    case 1:
                      that.setData({
                        status: '在线'
                      })
                      break;
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: dve.data.msg,
                    showCancel: false
                  })
                }
              })
              var Circuits = circuits.split(',')
              let loop = that.data.loop
              for (let vr = 0; vr < circuitNum; vr++) {
                loop[vr] = Circuits[vr]
              }
              that.setData({
                loop: loop
              })
              getloop(deviceID).then(res => {
                if (res.data.code == 0) {
                  let loopState = res.data.data
                  //loopState.length可以视为回路数量
                  for (let n = 0; n < loopState.length; n++) {
                    var Loop = that.data.Loop
                    var color = that.data.Color
                    var size = that.data.Size
                    var Address = that.data.address
                    Loop[n] = that.data.Loop[n]
                    color[n] = "black"
                    size[n] = "calc(100vw * 16/375)",
                      Address[n] = "/image/modify.png"
                    that.setData({
                      Color: color,
                      Size: size,
                      address: Address,
                      Loop: Loop
                    })
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: res.data.msg,
                    showCancel: false
                  })
                }
              })
              loopSwitchstate(deviceID).then(ret => {
                if (ret.data.code == 0) {
                  var relay = ret.data.data
                  for (let e = 0; e < relay.length; e++) {
                    if (relay[e].status == 1) {
                      lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp1.png'
                    } else if (relay[e].status == 0) {
                      lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
                    } else {
                      lamp[e] = 'https://cloud.long-chi.com/resource/miniprogram-lightcontrol/image/lamp.png'
                    }
                  }
                } else {
                  wx.showModal({
                    title: '错误',
                    content: ret.data.msg,
                    showCancel: false
                  })
                }
              })
              setTimeout(function () {
                wx.setStorageSync('lamp', lamp)
                that.setData({
                  lamp: wx.getStorageSync('lamp')
                })
              }, 2000)
            }
          } else {
            that.setData({
              status: '离线',
              deviceName: []
            })
          }
        }
      }
    } else {
      that.setData({
        deviceName: [],
        groupName: []
      })
    }
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})