123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298 |
- //
- // SBTSetLoadVCtr.swift
- // SolarBT
- //
- // Created by weclouds on 2019/3/20.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- import SwiftPopup
- class SBTSetLoadVCtr: SwiftPopup {
- var isDemo :Bool?
- var peripheralName :String?
- //完成回调
- var completehandle:(()->Void)?
-
- @IBOutlet weak var saveBtn: UIButton!
- @IBOutlet weak var cancelBtn: UIButton!
-
- var selectedIndex : Int?
- var dataSource:[String]? = [String](){
- didSet{
-
- }
- }
-
- var load_mode_type:Int? = -1
- var cmdArr: [String]? = [String]()
-
- @IBOutlet weak var loadSettintLabel: UILabel!
-
- @IBOutlet weak var loadworkModeLabel: UILabel!
-
- @IBOutlet weak var lightVoltageLabel: UILabel!
-
- @IBOutlet weak var lightDelayTimeLabel: UILabel!
-
- @IBOutlet weak var lightDelayTimeBox: UIView!
-
- @IBOutlet weak var lightDelayTime: UITextField!
-
- @IBOutlet weak var loadWorkModeBox: UIView!
-
- @IBOutlet weak var loadWorkmode: UILabel!
-
- @IBOutlet weak var lightVoltageBox: UIView!
-
-
- @IBOutlet weak var lightVoltage: UITextField!
-
-
- @IBOutlet weak var closeLabel: UILabel!
-
- func loadModeCMD(_ type:Int) -> String {
- var loadmode = ""
- switch type {
- case 0:
- loadmode = "0000"
- case 1:
- loadmode = "0001"
- case 2:
- loadmode = "0002"
- case 3:
- loadmode = "0003"
- case 4:
- loadmode = "0004"
- case 5:
- loadmode = "0005"
- case 6:
- loadmode = "0006"
- case 7:
- loadmode = "0007"
- case 8:
- loadmode = "0008"
- case 9:
- loadmode = "0009"
- case 10:
- loadmode = "000A"
- case 11:
- loadmode = "000B"
- case 12:
- loadmode = "000C"
- case 13:
- loadmode = "000D"
- case 14:
- loadmode = "000E"
- case 15:
- loadmode = "000F"
- case 16:
- loadmode = "0010"
- case 17:
- loadmode = "0011"
- case 18:
- loadmode = "0012"
- default:
- break
- }
- return loadmode
- }
-
- @IBAction func saveAction(_ sender: Any) {
-
- //判断输入
- if load_mode_type != -1{
- let loadtype = loadModeCMD(load_mode_type!)
- let loadTypeCmd = "FF06E01D" + loadtype
- cmdArr?.append(loadTypeCmd)
- }
- if self.lightDelayTime.text != "" {
- let lightDelayInt = Int(lightDelayTime.text!)
- if lightDelayInt! < 0 || lightDelayInt! > 60 {
- g_toast("Light_control_delay_time_range".da_localizedStr())
- return
- }else{
- let delayTime = String(format: "%04X", lightDelayInt!)
- let delayTimeCMD = "FF06E01E" + delayTime
- cmdArr?.append(delayTimeCMD)
- }
- }
-
- if self.lightVoltage.text != "" {
- let lightVoltageInt = Int(self.lightVoltage.text!)
- if lightVoltageInt! < 1 || lightVoltageInt! > 40 {
- g_toast("Light_control_voltage_range".da_localizedStr())
- return
- }else{
- let voltage = String(format: "%04X", lightVoltageInt!)
- let voltageCMD = "FF06E01F" + voltage
- cmdArr?.append(voltageCMD)
- }
- }
-
- if cmdArr?.count != 0 {
- if isDemo == false{
- BabyBluetoothSwift.shareInstance()?.writeData2222(cmdArr, completionHandler: { (result) in
- g_showHUD("Successful".da_localizedStr())
- self.completehandle!()
- })
-
- }else{
- g_showHUD("Current_demo_data".da_localizedStr())
- }
- // setLoadParam(cmdArr!)
-
- }
-
-
- dismiss()
-
- }
- @IBAction func cancelAction(_ sender: Any) {
- dismiss()
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- createUI()
- }
-
- override func viewDidAppear(_ animated: Bool) {
- super.viewDidAppear(animated)
- if self.selectedIndex == 0 {
- tapAction1()
- }else if self.selectedIndex == 1 {
- self.lightDelayTime.becomeFirstResponder()
- }else if self.selectedIndex == 2 {
- self.lightVoltage.becomeFirstResponder()
- }
- }
-
- }
- extension SBTSetLoadVCtr{
- func createUI() {
- loadSettintLabel.text = "Load_settings".da_localizedStr()
-
- loadworkModeLabel.text = "Load_mode".da_localizedStr()
-
- lightVoltageLabel.text = "Light_control_voltage".da_localizedStr()
-
- lightDelayTimeLabel.text = "Light_control_delay_time".da_localizedStr()
-
- self.closeLabel.text = "Retract".da_localizedStr()
- self.saveBtn.setTitle("Setup".da_localizedStr(), for: .normal)
- self.cancelBtn.setTitle("Cancel".da_localizedStr(), for: .normal)
-
- self.lightVoltage.delegate = self
- self.lightDelayTime.delegate = self;
-
- if self.dataSource?.count != 0 {
- loadWorkmode.text = self.dataSource![0]
- lightDelayTime.placeholder = self.dataSource![1]
- lightVoltage.placeholder = self.dataSource![2]
- }
- self.backViewColor = UIColor(white: 1, alpha: 0.84)
- let bgLayer1 = CAGradientLayer()
- 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]
- bgLayer1.locations = [0, 1]
- bgLayer1.frame = self.cancelBtn.bounds
- bgLayer1.startPoint = CGPoint(x: 0.09, y: 0.31)
- bgLayer1.endPoint = CGPoint(x: 0.83, y: 0.83)
- self.cancelBtn.layer.addSublayer(bgLayer1)
-
- // fillCode
- let bgLayer2 = CAGradientLayer()
- 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]
- bgLayer2.locations = [0, 1]
- bgLayer2.frame = self.saveBtn.bounds
- bgLayer2.startPoint = CGPoint(x: 1, y: 1)
- bgLayer2.endPoint = CGPoint(x: 0, y: 0)
- self.saveBtn.layer.addSublayer(bgLayer2)
-
- let tap1 = UITapGestureRecognizer(target: self, action: #selector(tapAction1))
- loadWorkModeBox.addGestureRecognizer(tap1)
-
-
- let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapAction2))
- self.closeLabel.isUserInteractionEnabled = true
- closeLabel.addGestureRecognizer(tap2)
- }
-
-
- @objc func tapAction1() {
- log.debug("负载工作模式")
-
-
- let loadworkModes = ["Light_control".da_localizedStr(),
- "Light_control,_delay_1_hour".da_localizedStr(),
- "Light_control,_delay_2_hours".da_localizedStr(),
- "Light_control,_delay_3_hours".da_localizedStr(),
- "Light_control,_delay_4_hours".da_localizedStr(),
- "Light_control,_delay_5_hours".da_localizedStr(),
- "Light_control,_delay_6_hours".da_localizedStr(),
- "Light_control,_delay_7_hours".da_localizedStr(),
- "Light_control,_delay_8_hours".da_localizedStr(),
- "Light_control,_delay_9_hours".da_localizedStr(),
- "Light_control,_delay_10_hours".da_localizedStr(),
- "Light_control,_delay_11_hours".da_localizedStr(),
- "Light_control,_delay_12_hours".da_localizedStr(),
- "Light_control,_delay_13_hours".da_localizedStr(),
- "Light_control,_delay_14_hours".da_localizedStr(),
- "Manual_mode".da_localizedStr(),
- "Normal-on_mode".da_localizedStr()]
- let loadWorkmodePick = THScrollChooseView(question: loadworkModes, withDefaultDesc:"Light_control".da_localizedStr())
- loadWorkmodePick!.show()
- loadWorkmodePick?.confirmBlock = {[weak self](selectedIndex) in
- log.debug(loadworkModes[selectedIndex])
- self?.loadWorkmode.text = loadworkModes[selectedIndex]
- self?.loadWorkmode.textColor = UIColor(hexString: "222222")
- self?.load_mode_type = selectedIndex
- }
- }
-
- @objc func tapAction2() {
- dismiss()
- }
-
- @objc func tapAction3() {
-
- }
- }
- extension SBTSetLoadVCtr: UITextFieldDelegate {
- func textFieldDidEndEditing(_ textField: UITextField) {
- let textFloat = Int(textField.text!)
- if (textFloat == nil){
-
- g_toast("please_enter_number".da_localizedStr())
- textField.text = ""
- return
- }
- if textField == self.lightVoltage {
-
- if self.lightVoltage.text != "" {
- let lightVoltageInt = Int(self.lightVoltage.text!)
- if lightVoltageInt! < 1 || lightVoltageInt! > 40 {
- g_toast("Light_control_voltage_range".da_localizedStr())
- self.lightVoltage.text = ""
- }
- }
-
- }
-
- if textField == self.lightDelayTime {
- if lightDelayTime.text != "" {
- let lightDelayInt = Int(lightDelayTime.text!)
- if lightDelayInt! < 0 || lightDelayInt! > 60 {
- g_toast("Light_control_delay_time_range".da_localizedStr())
- lightDelayTime.text = ""
- }
- }
-
- }
- }
- }
|