SBTSetLoadVCtr.swift 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. //
  2. // SBTSetLoadVCtr.swift
  3. // SolarBT
  4. //
  5. // Created by weclouds on 2019/3/20.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import SwiftPopup
  10. class SBTSetLoadVCtr: SwiftPopup {
  11. var isDemo :Bool?
  12. var peripheralName :String?
  13. //完成回调
  14. var completehandle:(()->Void)?
  15. @IBOutlet weak var saveBtn: UIButton!
  16. @IBOutlet weak var cancelBtn: UIButton!
  17. var selectedIndex : Int?
  18. var dataSource:[String]? = [String](){
  19. didSet{
  20. }
  21. }
  22. var load_mode_type:Int? = -1
  23. var cmdArr: [String]? = [String]()
  24. @IBOutlet weak var loadSettintLabel: UILabel!
  25. @IBOutlet weak var loadworkModeLabel: UILabel!
  26. @IBOutlet weak var lightVoltageLabel: UILabel!
  27. @IBOutlet weak var lightDelayTimeLabel: UILabel!
  28. @IBOutlet weak var lightDelayTimeBox: UIView!
  29. @IBOutlet weak var lightDelayTime: UITextField!
  30. @IBOutlet weak var loadWorkModeBox: UIView!
  31. @IBOutlet weak var loadWorkmode: UILabel!
  32. @IBOutlet weak var lightVoltageBox: UIView!
  33. @IBOutlet weak var lightVoltage: UITextField!
  34. @IBOutlet weak var closeLabel: UILabel!
  35. func loadModeCMD(_ type:Int) -> String {
  36. var loadmode = ""
  37. switch type {
  38. case 0:
  39. loadmode = "0000"
  40. case 1:
  41. loadmode = "0001"
  42. case 2:
  43. loadmode = "0002"
  44. case 3:
  45. loadmode = "0003"
  46. case 4:
  47. loadmode = "0004"
  48. case 5:
  49. loadmode = "0005"
  50. case 6:
  51. loadmode = "0006"
  52. case 7:
  53. loadmode = "0007"
  54. case 8:
  55. loadmode = "0008"
  56. case 9:
  57. loadmode = "0009"
  58. case 10:
  59. loadmode = "000A"
  60. case 11:
  61. loadmode = "000B"
  62. case 12:
  63. loadmode = "000C"
  64. case 13:
  65. loadmode = "000D"
  66. case 14:
  67. loadmode = "000E"
  68. case 15:
  69. loadmode = "000F"
  70. case 16:
  71. loadmode = "0010"
  72. case 17:
  73. loadmode = "0011"
  74. case 18:
  75. loadmode = "0012"
  76. default:
  77. break
  78. }
  79. return loadmode
  80. }
  81. @IBAction func saveAction(_ sender: Any) {
  82. //判断输入
  83. if load_mode_type != -1{
  84. let loadtype = loadModeCMD(load_mode_type!)
  85. let loadTypeCmd = "FF06E01D" + loadtype
  86. cmdArr?.append(loadTypeCmd)
  87. }
  88. if self.lightDelayTime.text != "" {
  89. let lightDelayInt = Int(lightDelayTime.text!)
  90. if lightDelayInt! < 0 || lightDelayInt! > 60 {
  91. g_toast("Light_control_delay_time_range".da_localizedStr())
  92. return
  93. }else{
  94. let delayTime = String(format: "%04X", lightDelayInt!)
  95. let delayTimeCMD = "FF06E01E" + delayTime
  96. cmdArr?.append(delayTimeCMD)
  97. }
  98. }
  99. if self.lightVoltage.text != "" {
  100. let lightVoltageInt = Int(self.lightVoltage.text!)
  101. if lightVoltageInt! < 1 || lightVoltageInt! > 40 {
  102. g_toast("Light_control_voltage_range".da_localizedStr())
  103. return
  104. }else{
  105. let voltage = String(format: "%04X", lightVoltageInt!)
  106. let voltageCMD = "FF06E01F" + voltage
  107. cmdArr?.append(voltageCMD)
  108. }
  109. }
  110. if cmdArr?.count != 0 {
  111. if isDemo == false{
  112. BabyBluetoothSwift.shareInstance()?.writeData2222(cmdArr, completionHandler: { (result) in
  113. g_showHUD("Successful".da_localizedStr())
  114. self.completehandle!()
  115. })
  116. }else{
  117. g_showHUD("Current_demo_data".da_localizedStr())
  118. }
  119. // setLoadParam(cmdArr!)
  120. }
  121. dismiss()
  122. }
  123. @IBAction func cancelAction(_ sender: Any) {
  124. dismiss()
  125. }
  126. override func viewDidLoad() {
  127. super.viewDidLoad()
  128. createUI()
  129. }
  130. override func viewDidAppear(_ animated: Bool) {
  131. super.viewDidAppear(animated)
  132. if self.selectedIndex == 0 {
  133. tapAction1()
  134. }else if self.selectedIndex == 1 {
  135. self.lightDelayTime.becomeFirstResponder()
  136. }else if self.selectedIndex == 2 {
  137. self.lightVoltage.becomeFirstResponder()
  138. }
  139. }
  140. }
  141. extension SBTSetLoadVCtr{
  142. func createUI() {
  143. loadSettintLabel.text = "Load_settings".da_localizedStr()
  144. loadworkModeLabel.text = "Load_mode".da_localizedStr()
  145. lightVoltageLabel.text = "Light_control_voltage".da_localizedStr()
  146. lightDelayTimeLabel.text = "Light_control_delay_time".da_localizedStr()
  147. self.closeLabel.text = "Retract".da_localizedStr()
  148. self.saveBtn.setTitle("Setup".da_localizedStr(), for: .normal)
  149. self.cancelBtn.setTitle("Cancel".da_localizedStr(), for: .normal)
  150. self.lightVoltage.delegate = self
  151. self.lightDelayTime.delegate = self;
  152. if self.dataSource?.count != 0 {
  153. loadWorkmode.text = self.dataSource![0]
  154. lightDelayTime.placeholder = self.dataSource![1]
  155. lightVoltage.placeholder = self.dataSource![2]
  156. }
  157. self.backViewColor = UIColor(white: 1, alpha: 0.84)
  158. let bgLayer1 = CAGradientLayer()
  159. bgLayer1.colors = [UIColor(red: 0.82, green: 0.82, blue: 0.82, alpha: 1).cgColor, UIColor(red: 0.74, green: 0.74, blue: 0.74, alpha: 1).cgColor]
  160. bgLayer1.locations = [0, 1]
  161. bgLayer1.frame = self.cancelBtn.bounds
  162. bgLayer1.startPoint = CGPoint(x: 0.09, y: 0.31)
  163. bgLayer1.endPoint = CGPoint(x: 0.83, y: 0.83)
  164. self.cancelBtn.layer.addSublayer(bgLayer1)
  165. // fillCode
  166. let bgLayer2 = CAGradientLayer()
  167. bgLayer2.colors = [UIColor(red: 1, green: 0.52, blue: 0.07, alpha: 1).cgColor, UIColor(red: 1, green: 0.67, blue: 0, alpha: 1).cgColor]
  168. bgLayer2.locations = [0, 1]
  169. bgLayer2.frame = self.saveBtn.bounds
  170. bgLayer2.startPoint = CGPoint(x: 1, y: 1)
  171. bgLayer2.endPoint = CGPoint(x: 0, y: 0)
  172. self.saveBtn.layer.addSublayer(bgLayer2)
  173. let tap1 = UITapGestureRecognizer(target: self, action: #selector(tapAction1))
  174. loadWorkModeBox.addGestureRecognizer(tap1)
  175. let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapAction2))
  176. self.closeLabel.isUserInteractionEnabled = true
  177. closeLabel.addGestureRecognizer(tap2)
  178. }
  179. @objc func tapAction1() {
  180. log.debug("负载工作模式")
  181. let loadworkModes = ["Light_control".da_localizedStr(),
  182. "Light_control,_delay_1_hour".da_localizedStr(),
  183. "Light_control,_delay_2_hours".da_localizedStr(),
  184. "Light_control,_delay_3_hours".da_localizedStr(),
  185. "Light_control,_delay_4_hours".da_localizedStr(),
  186. "Light_control,_delay_5_hours".da_localizedStr(),
  187. "Light_control,_delay_6_hours".da_localizedStr(),
  188. "Light_control,_delay_7_hours".da_localizedStr(),
  189. "Light_control,_delay_8_hours".da_localizedStr(),
  190. "Light_control,_delay_9_hours".da_localizedStr(),
  191. "Light_control,_delay_10_hours".da_localizedStr(),
  192. "Light_control,_delay_11_hours".da_localizedStr(),
  193. "Light_control,_delay_12_hours".da_localizedStr(),
  194. "Light_control,_delay_13_hours".da_localizedStr(),
  195. "Light_control,_delay_14_hours".da_localizedStr(),
  196. "Manual_mode".da_localizedStr(),
  197. "Normal-on_mode".da_localizedStr()]
  198. let loadWorkmodePick = THScrollChooseView(question: loadworkModes, withDefaultDesc:"Light_control".da_localizedStr())
  199. loadWorkmodePick!.show()
  200. loadWorkmodePick?.confirmBlock = {[weak self](selectedIndex) in
  201. log.debug(loadworkModes[selectedIndex])
  202. self?.loadWorkmode.text = loadworkModes[selectedIndex]
  203. self?.loadWorkmode.textColor = UIColor(hexString: "222222")
  204. self?.load_mode_type = selectedIndex
  205. }
  206. }
  207. @objc func tapAction2() {
  208. dismiss()
  209. }
  210. @objc func tapAction3() {
  211. }
  212. }
  213. extension SBTSetLoadVCtr: UITextFieldDelegate {
  214. func textFieldDidEndEditing(_ textField: UITextField) {
  215. let textFloat = Int(textField.text!)
  216. if (textFloat == nil){
  217. g_toast("please_enter_number".da_localizedStr())
  218. textField.text = ""
  219. return
  220. }
  221. if textField == self.lightVoltage {
  222. if self.lightVoltage.text != "" {
  223. let lightVoltageInt = Int(self.lightVoltage.text!)
  224. if lightVoltageInt! < 1 || lightVoltageInt! > 40 {
  225. g_toast("Light_control_voltage_range".da_localizedStr())
  226. self.lightVoltage.text = ""
  227. }
  228. }
  229. }
  230. if textField == self.lightDelayTime {
  231. if lightDelayTime.text != "" {
  232. let lightDelayInt = Int(lightDelayTime.text!)
  233. if lightDelayInt! < 0 || lightDelayInt! > 60 {
  234. g_toast("Light_control_delay_time_range".da_localizedStr())
  235. lightDelayTime.text = ""
  236. }
  237. }
  238. }
  239. }
  240. }