IHAssociatedCell.swift 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. //
  2. // IHAssociatedCell.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2020/4/10.
  6. // Copyright © 2020 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. let kNotifactionIHAssociatedCellCommandFailure = "kNotifactionIHNotAssociatedCellCommandFailure"
  10. class IHAssociatedCell: UITableViewCell {
  11. var turnonCallback :((Bool)->Void)?
  12. var disconnectCallback:(()->Void)?
  13. var gateDevice:GatewayLamp?{
  14. didSet{
  15. // 教室 设备类型(4 教室灯,5 黑板灯,6 窗帘,7 面板)
  16. /**
  17. devType: 0 -- 3 是别的设备灯控
  18. devType: 4 -- 7 是教室的设备
  19. */
  20. if let data = self.gateDevice {
  21. if let devType = data.type,let image = data.image ,let name = data.name,let devId = data.deviceId,let status = data.status{
  22. if devType == "0" || devType == "1" {
  23. self.lampTurnOnBtn.isHidden = false
  24. //ic_ordinary_light
  25. self.devIcon.netImage(url: image, placeholder: "全开")
  26. }else if devType == "2"{
  27. //Sensor ic_sensor
  28. self.devIcon.netImage(url: image, placeholder: "Sensor")
  29. self.lampTurnOnBtn.isHidden = true
  30. }else if devType == "3"{
  31. self.lampTurnOnBtn.isHidden = true
  32. self.devIcon.netImage(url: image, placeholder: "ic_purifier")
  33. }else if devType == "4"{
  34. //黑板灯
  35. self.lampTurnOnBtn.isHidden = false
  36. //ic_ordinary_light
  37. self.devIcon.netImage(url: image, placeholder: "全开")
  38. }else if devType == "5"{
  39. //教室灯
  40. self.lampTurnOnBtn.isHidden = false
  41. //ic_ordinary_light
  42. self.devIcon.netImage(url: image, placeholder: "全开")
  43. }else if devType == "6"{
  44. //窗帘
  45. self.lampTurnOnBtn.isHidden = false
  46. self.lampTurnOnBtn.setImage(UIImage.init(named: "窗帘"), for: .normal)
  47. self.devIcon.netImage(url: image, placeholder: "全开")
  48. }else if devType == "7"{
  49. //面板
  50. self.lampTurnOnBtn.isHidden = false
  51. self.lampTurnOnBtn.setImage(UIImage.init(named: "面板"), for: .normal)
  52. self.devIcon.netImage(url: image, placeholder: "全开")
  53. }
  54. if status == "0" {
  55. self.lampTurnOnBtn.isSelected = false
  56. }else if status == "1"{
  57. self.lampTurnOnBtn.isSelected = true
  58. }
  59. self.devName.text = name.isBlanck == false ? name : "Unnamed"
  60. self.devId.text = devId
  61. }
  62. }
  63. }
  64. }
  65. @IBOutlet weak var devIcon: UIImageView!
  66. @IBOutlet weak var devName: UILabel!
  67. @IBOutlet weak var devId: UILabel!
  68. @IBOutlet weak var lampTurnOnBtn: UIButton!
  69. override func awakeFromNib() {
  70. super.awakeFromNib()
  71. NotificationCenter.default.addObserver(self, selector: #selector(commandFail), name: NSNotification.Name(kNotifactionIHAssociatedCellCommandFailure), object: nil)
  72. }
  73. deinit {
  74. NotificationCenter.default.removeObserver(self)
  75. }
  76. @objc func commandFail(){
  77. lampTurnOnBtn.isSelected = !lampTurnOnBtn.isSelected //恢复状态
  78. }
  79. override func setSelected(_ selected: Bool, animated: Bool) {
  80. super.setSelected(selected, animated: animated)
  81. // Configure the view for the selected state
  82. }
  83. @IBAction func forbidAction(_ sender: Any) {
  84. if let block = self.disconnectCallback {
  85. block()
  86. }
  87. }
  88. @IBAction func turnOnOrOff(_ sender: UIButton) {
  89. sender.isSelected = !sender.isSelected
  90. log.debug(sender.isSelected)
  91. if let block = self.turnonCallback {
  92. block(sender.isSelected)
  93. }
  94. }
  95. }