123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- //
- // IHServiceManger.swift
- // Inhealth
- //
- // Created by weclouds on 2019/12/19.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- let kNotifitionIHServiceMangerGetSegmentIndex = "kNotifitionIHServiceMangerGetSegmentIndex"
- let kNotifitionIHServiceManagerReloaddata = "kNotifitionIHServiceManagerReloaddata"
- class IHServiceManger: NSObject ,IHViewManagerProtocolDelegate{
- var selectedIndex : Int? = -1
- lazy var mainView: IHServiceView = {
- let mainView = IHServiceView()
- mainView.delegate = self
- return mainView
- }()
- private var page = 1
- private weak var vc : UIViewController?
-
- var type :String? = "0"
- var hotelId :String? = nil
- var buildId:String? = nil
- var floorId:String? = nil
- override init() {
- super.init()
- notificationRegister()
- }
- func bindController(_ vc: UIViewController) {
- self.vc = vc
- createUI()
- let serviceVC = self.vc as! IHServiceListVCtr
- let index = serviceVC.devType
- var type :String? = nil
- if index == 0 {
- type = nil
- }else{
- type = "\(index! - 1)"
- }
- self.type = type
- self.buildId = Intermediate.buildId
- self.hotelId = Intermediate.hotelId
- self.floorId = Intermediate.floorId
- // log.debug(" 请求故障数据hotelId - \(Intermediate.hotelId) buildid - \(Intermediate.buildId), floorId = \(Intermediate.floorId)")
- self.requestData(Intermediate.hotelId, buildId: Intermediate.buildId, floorId: nil, roomId: nil, page: 1, type: self.type)
-
- NotificationCenter.default.addObserver(self, selector: #selector(reloadDataAction), name: NSNotification.Name(KNotifiRepairDetailManagerRepairDispatch), object: nil)
- }
- @objc private func reloadDataAction(){
- self.requestData(Intermediate.hotelId, buildId: Intermediate.buildId, floorId: nil, roomId: nil, page: 1, type: self.type)
- }
-
-
- func createUI() {
- mainView.frame = CGRect(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight - KTabbarHeight)
- self.vc?.view.addSubview(mainView)
- }
-
-
- func requestData(_ hotelId:String?, buildId:String?,floorId:String?,roomId:String?, page:Int,type:String?) {
-
- IHAlarmService.share.getAlarmList(page, hotelId: hotelId, buildId: buildId, floorId: floorId, roomId: roomId, type: type, keyword: nil, status: nil, requestSuccess: { (alarmlist) in
- self.mainView.endRefresh()
- if alarmlist.count > 0{
- self.mainView.alarmList = alarmlist
- }else{
- self.mainView.alarmList = self.mainView.alarmList
- }
- //添加提示
- if(alarmlist.count == 0 ){
- let hud = MBProgressHUD.showAdded(to: self.vc!.view, animated: true)
- hud.label.text = "到底了";
- hud.hide(animated: true, afterDelay: 0.6)
- }
-
- // log.debug("数据:\(alarmlist)")
- }) { (error) in
- self.mainView.endRefresh()
- }
- }
-
-
- deinit {
- NotificationCenter.default.removeObserver(self)
- }
- func notificationRegister() {
- NotificationCenter.default.addObserver(self, selector: #selector(reloadAddressNotify), name: NSNotification.Name(kNotifitionIHServiceManagerReloaddata), object: nil)
- NotificationCenter.default.addObserver(self, selector: #selector(itemNotify), name: NSNotification.Name(kNotifitionIHServiceMangerGetSegmentIndex), object: nil)
- }
-
- @objc func reloadAddressNotify() {
- self.requestData(Intermediate.hotelId, buildId: Intermediate.buildId, floorId: nil, roomId: nil, page: 1, type: self.type)
- }
- @objc func itemNotify(_ notify:Notification) {
- let index = notify.object as! Int
- selectedIndex = index
- }
-
- }
- extension IHServiceManger : IHServiceViewDelegate{
- func serviceViewSeeDetails(for indexPath: IndexPath) {
- let detailvc = IHrepairAndDetailVCtr()
- let alarm = self.mainView.alarmList![indexPath.row]
- detailvc.alarm = alarm
- detailvc.style = .detail
- var devType = ""
- if alarm.type == "0"{
- devType = "Lights-"
- }else if alarm.type == "1"{
- devType = " Circadian light-"
- }else if alarm.type == "2"{
- devType = "Sensor-"
- }else if alarm.type == "3"{
- devType = " Air purifier-"
- }
- let name = alarm.name
- detailvc.navigationBarTitle = devType + (name ?? "") + " 详情"
- self.vc?.navigationController?.pushViewController(detailvc, animated: true)
- }
-
- func serviceViewDeleteEquipment(for alarmId: String) {
- let index = selectedIndex
- var type :String? = nil
- if index == 0 {
- type = nil
- }else{
- type = "\(index! - 1)"
- }
- IHAlarmService.share.deleteAlarm(alarmId) {
- self.requestData(Intermediate.hotelId, buildId: self.buildId, floorId: nil, roomId: nil, page: 1, type: type)
- NotificationCenter.default.post(name: NSNotification.Name(kNotifactionIHTabBarControllerUpdateBadgeNumber), object: Intermediate.hotelId)
-
- }
-
- }
-
- func serviceViewRepairEquipment(for indexPath: IndexPath) {
- let repairvc = IHrepairAndDetailVCtr()
- repairvc.alarm = self.mainView.alarmList![indexPath.row]
- repairvc.style = .repair
- repairvc.navigationBarTitle = "调度维修"
- self.vc?.navigationController?.pushViewController(repairvc, animated: true)
- }
-
- func tableViewEsAddPullToRefresh() {
- page = 1
- let serviceVC = self.vc as! IHServiceListVCtr
- let index = serviceVC.devType
- var type :String? = nil
- if index == 0 {
- type = nil
- }else{
- type = "\(index! - 1)"
- }
- self.requestData(Intermediate.hotelId, buildId: self.buildId, floorId: nil, roomId: nil, page: page, type: type)
- }
-
- func tableViewEsAddInfiniteScrolling() {
- page += 1
- let serviceVC = self.vc as! IHServiceListVCtr
- let index = serviceVC.devType
- var type :String? = nil
- if index == 0 {
- type = nil
- }else{
- type = "\(index! - 1)"
- }
- self.requestData(Intermediate.hotelId, buildId: self.buildId, floorId: nil, roomId: nil, page: page, type: type)
- }
-
- }
|