123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181 |
- //
- // IHRoomListManager.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/14.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- import PKHUD
- let kIHRoomListManagerNoticationSegmentViewSelectedIndex = "kIHRoomListManagerNoticationSegmentViewSelectedIndex"
- let kIHRoomListManagerNoticationReloadData = "kIHRoomListManagerNoticationReloadData"
- class IHRoomListManager: NSObject ,IHViewManagerProtocolDelegate{
- var devDatas :[DevData]?
-
- var selectedIndex = 0
- lazy var mainView: IHRoomListView = {
- let mainView = IHRoomListView()
- mainView.delegate = self
- return mainView
- }()
-
- override init() {
- super.init()
- notificationRegister()
- }
- // private var vc = UIViewController()
- private weak var vc : UIViewController?
-
- func bindController(_ vc: UIViewController) {
- self.vc = vc
- createUI()
-
- requeseData {
- self.mainView.collectionView.reloadData()
- }
- }
-
-
- deinit {
- NotificationCenter.default.removeObserver(self)
- }
- func notificationRegister() {
- NotificationCenter.default.addObserver(self, selector: #selector(itemNotify), name: NSNotification.Name(kIHRoomListManagerNoticationSegmentViewSelectedIndex), object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(reloadNotify), name: NSNotification.Name(kIHRoomListManagerNoticationReloadData), object: nil)
- }
-
- @objc func reloadNotify() {
- requeseData {
- self.mainView.collectionView.reloadData()
- }
- }
- @objc func itemNotify(_ notify:Notification) {
- let index = notify.object as! Int
-
- selectedIndex = index
- requeseData {
- self.mainView.collectionView.reloadData()
- }
- }
-
- func requeseData(complete:@escaping (()->Void)) {
- //获取数据
- let roomlistvc = self.vc as! IHRoomListVCtr
- let roomId = roomlistvc.roomId
- let devType = roomlistvc.devType
- IHRoomListService.share.getDeviceList(nil, buildId: nil, floorId: nil, roomId: roomId, devType: "\(devType!)",keywords:nil, requestSuccess: { (list) in
- self.mainView.devDatas = list
- self.devDatas = list
- complete()
- }) {
- log.debug("失败")
- }
- }
-
- func createUI() {
- mainView.frame = self.vc!.view.bounds
- self.vc!.view.addSubview(mainView)
- }
-
- func setNavigationBar() {
- //导航栏的渲染方式
- let addItem = UIBarButtonItem(image: UIImage(named: "设置")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(mapAction1))
- let setItem = UIBarButtonItem(image: UIImage(named: "设置")?.withRenderingMode(.alwaysOriginal), style: .plain, target: self, action: #selector(mapAction1))
- self.vc?.navigationItem.rightBarButtonItems = [setItem,addItem]
- }
-
- @objc func mapAction1(){
- log.debug("点击了")
-
-
- }
- @objc func mapAction(){
- log.debug("点击了")
-
- }
- }
- extension IHRoomListManager :IHRoomListViewDelegate{
-
- func roomListViewOpration(_ devId: String, devType: String, status: String,currentIndex:IndexPath) {
-
- if devType == "1" || devType == "2"{
- IHRoomListService.share.setLampTurn(lightId: devId, status: status, requestSuccess: {[unowned self] (isSucess) in
- self.requeseData {
- self.mainView.collectionView.reloadItems(at: [currentIndex])
- } // 重新刷新数据
- }) {
-
- }
- }else if devType == "4"{
- IHRoomListService.share.purifiertTrunOff(purifierId: devId, status: status, level: nil, requestSuccess: {[unowned self] _ in
- self.requeseData {
- self.mainView.collectionView.reloadItems(at: [currentIndex])
- } // 重新刷新数据
- }) {
-
- }
- }
- }
-
- func roomListView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
- log.debug("选中了 -- \(selectedIndex)")
- let data = devDatas![indexPath.row]
-
- if selectedIndex == 0 {
- if data.devType == "3" {
- let sensor = IHSensorVCtr()
- sensor.devId = data.id
- sensor.dataSource = data
- sensor.navigationBarTitle = data.name!
- self.vc?.navigationController?.pushViewController(sensor, animated: true)
- }else if data.devType == "4"{
- let air = IHAirVCtr()
- air.navigationBarTitle = data.name!
- air.purifierId = data.id
- air.dataSource = data
- self.vc?.navigationController?.pushViewController(air, animated: true)
- }else{
- let roomLight = IHLampControlVCtr()
- //roomLight.navigationBarTitle = data.name!
- roomLight.lampName = data.name
- roomLight.dataSource = data
- log.debug("roomLight.dataSource - \(roomLight.dataSource)")
- self.vc?.navigationController?.pushViewController(roomLight, animated: true)
-
- }
- } else if selectedIndex == 3 {
- let sensor = IHSensorVCtr()
- sensor.devId = data.id
- sensor.dataSource = data
- sensor.navigationBarTitle = data.name!
- self.vc?.navigationController?.pushViewController(sensor, animated: true)
- }else if selectedIndex == 4{
- let air = IHAirVCtr()
- air.navigationBarTitle = data.name!
- air.purifierId = data.id
- air.dataSource = data
- self.vc?.navigationController?.pushViewController(air, animated: true)
- }else{
- let lampControlVC = IHLampControlVCtr()
- lampControlVC.lampName = data.name
- lampControlVC.dataSource = data
- self.vc?.navigationController?.pushViewController(lampControlVC, animated: true)
- // let roomLight = IHRoomLightVCtr()
- // roomLight.navigationBarTitle = data.name!
- // roomLight.dataSource = data
- // self.vc.navigationController?.pushViewController(roomLight, animated: true)
- }
- }
-
-
- }
|