// // HealthRemindVC.swift // Twear // // Created by yangbin on 2021/12/25. // import UIKit import MBProgressHUD import SwiftDate class HealthRemindVC: UIViewController { @IBOutlet weak var sedentaryIntervalLabel: UILabel! @IBOutlet weak var sedentaryStartLabel: UILabel! @IBOutlet weak var sedentaryEndLabel: UILabel! @IBOutlet weak var sedentarySwitch: UISwitch! @IBOutlet weak var drinkIntervalLabel: UILabel! @IBOutlet weak var drinkStartLabel: UILabel! @IBOutlet weak var drinkEndLabel: UILabel! @IBOutlet weak var drinkSwitch: UISwitch! let user = UserInfo // lazy private var lastDrink: RemindModel = CurDevice.drink // lazy private var lastSed: RemindModel = CurDevice.sedentary override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) MBProgressHUD.hide() } override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) // let navController = navigationController as? ZCNavigationController // navController?.enableScreenEdgePanGestureRecognizer(false) } override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) // let navController = navigationController as? ZCNavigationController // navController?.enableScreenEdgePanGestureRecognizer(true) } // override func navigationShouldPop() -> Bool { // if lastSed.isEqual(device.sedentary) && lastDrink.isEqual(device.drink) { // return true // } else { // self.showAlert(title: LocString("温馨提示"), message: LocString("您的设置尚未保存,是否退出")) { action in // self.navigationController?.popViewController(animated: true) // } // return false // } // } override func viewDidLoad() { super.viewDidLoad() title = LocString("健康提醒") // let saveButton = UIButton(frame: CGRect(x: 0, y: 0, width: 40, height: 28)) // saveButton.setTitle(LocString("保存"), for: .normal) // saveButton.titleLabel?.font = RegularFont(14) // saveButton.setTitleColor(UIColor.rgbColorFromHex(0x00993E), for: .normal) // saveButton.addTarget(self, action: #selector(save), for: .touchUpInside) // navigationItem.rightBarButtonItem = UIBarButtonItem(customView: saveButton) // sedentaryIntervalLabel.text = "\(user.sedentary.interval)\(LocString("分钟min"))" sedentaryStartLabel.text = user.sedentary.startDate.toString(.custom("HH:mm")) sedentaryEndLabel.text = user.sedentary.endDate.toString(.custom("HH:mm")) sedentarySwitch.isOn = user.sedentary.isOn drinkIntervalLabel.text = "\(user.drink.interval)\(LocString("分钟min"))" drinkStartLabel.text = user.drink.startDate.toString(.custom("HH:mm")) drinkEndLabel.text = user.drink.endDate.toString(.custom("HH:mm")) drinkSwitch.isOn = user.drink.isOn } @IBAction func valueChanged(_ sender: UISwitch) { if sender.tag == 0 { user.sedentary.isOn = sender.isOn setSedentary() } else { user.drink.isOn = sender.isOn setDrinkWater() } // screenEdgePanEnable() } // func screenEdgePanEnable() { // let navController = navigationController as? ZCNavigationController // // if lastSed.isEqual(device.sedentary) && lastDrink.isEqual(device.drink) { // navController?.enableScreenEdgePanGestureRecognizer(true) // } else { // navController?.enableScreenEdgePanGestureRecognizer(false) // } // } @IBAction func setRemindInterval(_ sender: UIButton) { let values: [Int] = [30, 45, 60, 90, 120] if sender.tag == 0 { let pickerView = ZCPickerView(title: LocString("间隔时间"), values: values) pickerView.selectedRow = values.firstIndex(of: user.sedentary.interval) ?? 1 pickerView.show() pickerView.clickClosure = {[weak self] value in self?.sedentaryIntervalLabel.text = "\(value)\(LocString("分钟min"))" self?.user.sedentary.interval = value // self?.screenEdgePanEnable() self?.setSedentary() } } else { let pickerView = ZCPickerView(title: LocString("间隔时间"), values: values) pickerView.selectedRow = values.firstIndex(of: user.drink.interval) ?? 1 pickerView.show() pickerView.clickClosure = {[weak self] value in self?.drinkIntervalLabel.text = "\(value)\(LocString("分钟min"))" self?.user.drink.interval = value // self?.screenEdgePanEnable() self?.setDrinkWater() } } } @IBAction func setStartTime(_ sender: UIButton) { if sender.tag == 0 { let values = (0..<24).map { (i) -> Int in return i } let pickerView = ZCPickerView(title: LocString("开始时间"), values: values, suffix: ":00") pickerView.selectedRow = values.firstIndex(of: user.sedentary.startDate.hour) ?? 9 pickerView.show() pickerView.clickClosure = {[weak self] value in let date = DateInRegion(year: 2000, month: 1, day: 1, hour: value, minute: 0).date self?.sedentaryStartLabel.text = date.toString(.custom("HH:mm")) self?.user.sedentary.startDate = date // self?.screenEdgePanEnable() self?.setSedentary() } } else { let pickerView = DatePickerView(title: LocString("开始时间")) pickerView.datePicker.date = user.drink.startDate pickerView.show() pickerView.clickClosure = {[weak self] date in self?.drinkStartLabel.text = date.toString(.custom("HH:mm")) self?.user.drink.startDate = date // self?.screenEdgePanEnable() self?.setDrinkWater() } } } @IBAction func setEndTime(_ sender: UIButton) { if sender.tag == 0 { let values = (0..<24).map { (i) -> Int in return i } let pickerView = ZCPickerView(title: LocString("结束时间"), values: values, suffix: ":00") pickerView.selectedRow = values.firstIndex(of: user.sedentary.endDate.hour) ?? 9 pickerView.show() pickerView.clickClosure = {[weak self] value in let date = DateInRegion(year: 2000, month: 1, day: 1, hour: value, minute: 0).date self?.sedentaryEndLabel.text = date.toString(.custom("HH:mm")) self?.user.sedentary.endDate = date // self?.screenEdgePanEnable() self?.setSedentary() } } else { let pickerView = DatePickerView(title: LocString("结束时间")) pickerView.datePicker.date = user.drink.endDate pickerView.show() pickerView.clickClosure = {[weak self] date in self?.drinkEndLabel.text = date.toString(.custom("HH:mm")) self?.user.drink.endDate = date self?.setDrinkWater() // self?.screenEdgePanEnable() } } } // @objc private func save() { // _ = MBProgressHUD.showMessage("") // setSedentary() // } private func setSedentary() { _ = MBProgressHUD.showMessage("") BluetoothManager.shared.setSedentaryRemind(user.sedentary) {[weak self] error in AdminHelper.shared.updateUser((self?.user)!) // self?.setDrinkWater() MBProgressHUD.hide() } } private func setDrinkWater() { _ = MBProgressHUD.showMessage("") BluetoothManager.shared.setDrinkWaterRemind(user.drink) {[weak self] error in AdminHelper.shared.updateUser((self?.user)!) MBProgressHUD.hide() // self?.navigationController?.popViewController(animated: true) } } deinit { print("deinit\(NSStringFromClass(type(of: self)))!!!!!!!") } }