IHHistroyHotelPicker.swift 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. //
  2. // IHHistroyHotelPicker.swift
  3. // Inhealth
  4. //
  5. // Created by weclouds on 2020/5/9.
  6. // Copyright © 2020 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. import IBAnimatable
  10. import PKHUD
  11. class IHHistroyHotelPicker: AnimatableModalViewController {
  12. var completion:(()->Void)?
  13. //历史酒店
  14. var hotel:DropDownData?{
  15. didSet{
  16. if let hotel = self.hotel {
  17. if let hotelid = hotel.id {
  18. getBuildList(hotelid)
  19. }
  20. }
  21. }
  22. }
  23. @IBOutlet weak var hotelNameLabel: UILabel!
  24. @IBOutlet weak var tableView: UITableView!
  25. //判断是否选择了楼房
  26. fileprivate var isClickBuild = false
  27. //选择的楼栋
  28. fileprivate var selectedBuid:DropDownData?
  29. fileprivate var buildList :[DropDownData]?{
  30. didSet{
  31. self.tableView.reloadData()
  32. }
  33. }
  34. override func viewDidLoad() {
  35. super.viewDidLoad()
  36. self.hotelNameLabel.text = self.hotel?.name ?? ""
  37. setupUI()
  38. }
  39. func setupUI() {
  40. self.tableView.delegate = self
  41. self.tableView.dataSource = self
  42. self.tableView.separatorStyle = .none
  43. }
  44. @IBAction func closeAction(_ sender: Any) {
  45. self.dismiss(animated: true, completion: nil)
  46. }
  47. @IBAction func saveAction(_ sender: Any) {
  48. if self.selectedBuid == nil || isClickBuild == false {
  49. //Please selected building
  50. g_showHUD("请选择区域")
  51. return
  52. }
  53. dealwithData()
  54. if let block = self.completion {
  55. NotificationCenter.default.post(name: NSNotification.Name(kNotifactionIHHotelPickerViewGetHistory), object: nil)
  56. block()
  57. isClickBuild = false
  58. }
  59. self.dismiss(animated: true, completion: nil)
  60. }
  61. private func dealwithData() {
  62. //通过c选择的酒店取出对应的酒店位置相关信息
  63. let saveHotelModel = IHHistroyPlist.share.getHotelMessage((hotel?.id!)!, hotelName: (hotel?.name!)!)
  64. Intermediate.hotelId = hotel!.id!
  65. Intermediate.hotelName = hotel!.name!
  66. Intermediate.buildId = selectedBuid!.id!
  67. Intermediate.buildName = selectedBuid!.name!
  68. Intermediate.cityName = saveHotelModel?.cityName ?? ""
  69. Intermediate.cityId = saveHotelModel?.cityId ?? ""
  70. Intermediate.provinceId = saveHotelModel?.provinceId ?? ""
  71. Intermediate.provinceName = saveHotelModel?.provinceName ?? ""
  72. Intermediate.countryId = saveHotelModel?.countryId ?? ""
  73. Intermediate.countryName = saveHotelModel?.countryName ?? ""
  74. let info = StorageInfo(countryId: Intermediate.countryId, countryName: Intermediate.countryName, provinceId: Intermediate.provinceId, provinceName: Intermediate.provinceName, cityId: Intermediate.cityId, cityName: Intermediate.cityName, hotelId: Intermediate.hotelId, hotelName: Intermediate.hotelName, buildId: Intermediate.buildId, buildName: Intermediate.buildName)
  75. IHHotelStorage.shareInstance.storageHotelInfo(info)
  76. NotificationCenter.default.post(name: NSNotification.Name(kNotificationIHAddressControllerReloadAddress), object: nil)
  77. NotificationCenter.default.post(name: NSNotification.Name(kNotifactionIHTabBarControllerUpdateBadgeNumber), object: Intermediate.hotelId)
  78. IHHistroyPlist.share.addHotel(saveHotelModel!) //把所选的移到最开始位置
  79. }
  80. }
  81. extension IHHistroyHotelPicker:UITableViewDelegate,UITableViewDataSource{
  82. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  83. return self.buildList?.count ?? 0
  84. }
  85. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  86. var cell = tableView.dequeueReusableCell(withIdentifier: "cell")
  87. if cell == nil {
  88. cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
  89. }
  90. cell?.textLabel?.font = UIFont(name: "PingFangSC_Regular", size: 13)
  91. cell?.textLabel?.textColor = UIColor(hexString: "#333333")
  92. // cell?.selectionStyle = .none
  93. let build = self.buildList![indexPath.row]
  94. cell?.textLabel?.text = build.name
  95. return cell!
  96. }
  97. func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  98. self.isClickBuild = true
  99. self.selectedBuid = self.buildList![indexPath.row]
  100. }
  101. }
  102. extension IHHistroyHotelPicker{
  103. //获取楼房
  104. func getBuildList(_ hotelId :String) {
  105. IHAreaService.share.getBuildNavData(hotelId: hotelId, requestSuccess: { (buildList) in
  106. // let allBuild = DropDownData()
  107. // allBuild.id = ""
  108. // allBuild.name = "所有"
  109. var newlist = [DropDownData]()
  110. // newlist.append(allBuild)
  111. if buildList.count == 0{
  112. self.buildList = newlist
  113. }else{
  114. for build in buildList {
  115. newlist.append(build)
  116. }
  117. self.buildList = newlist
  118. }
  119. }) {
  120. }
  121. }
  122. }