// // IHHistroyHotelPicker.swift // Inhealth // // Created by weclouds on 2020/5/9. // Copyright © 2020 weclouds. All rights reserved. // import UIKit import IBAnimatable import PKHUD class IHHistroyHotelPicker: AnimatableModalViewController { var completion:(()->Void)? //历史酒店 var hotel:DropDownData?{ didSet{ if let hotel = self.hotel { if let hotelid = hotel.id { getBuildList(hotelid) } } } } @IBOutlet weak var hotelNameLabel: UILabel! @IBOutlet weak var tableView: UITableView! //判断是否选择了楼房 fileprivate var isClickBuild = false //选择的楼栋 fileprivate var selectedBuid:DropDownData? fileprivate var buildList :[DropDownData]?{ didSet{ self.tableView.reloadData() } } override func viewDidLoad() { super.viewDidLoad() self.hotelNameLabel.text = self.hotel?.name ?? "" setupUI() } func setupUI() { self.tableView.delegate = self self.tableView.dataSource = self self.tableView.separatorStyle = .none } @IBAction func closeAction(_ sender: Any) { self.dismiss(animated: true, completion: nil) } @IBAction func saveAction(_ sender: Any) { if self.selectedBuid == nil || isClickBuild == false { //Please selected building g_showHUD("请选择区域") return } dealwithData() if let block = self.completion { NotificationCenter.default.post(name: NSNotification.Name(kNotifactionIHHotelPickerViewGetHistory), object: nil) block() isClickBuild = false } self.dismiss(animated: true, completion: nil) } private func dealwithData() { //通过c选择的酒店取出对应的酒店位置相关信息 let saveHotelModel = IHHistroyPlist.share.getHotelMessage((hotel?.id!)!, hotelName: (hotel?.name!)!) Intermediate.hotelId = hotel!.id! Intermediate.hotelName = hotel!.name! Intermediate.buildId = selectedBuid!.id! Intermediate.buildName = selectedBuid!.name! Intermediate.cityName = saveHotelModel?.cityName ?? "" Intermediate.cityId = saveHotelModel?.cityId ?? "" Intermediate.provinceId = saveHotelModel?.provinceId ?? "" Intermediate.provinceName = saveHotelModel?.provinceName ?? "" Intermediate.countryId = saveHotelModel?.countryId ?? "" Intermediate.countryName = saveHotelModel?.countryName ?? "" 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) IHHotelStorage.shareInstance.storageHotelInfo(info) NotificationCenter.default.post(name: NSNotification.Name(kNotificationIHAddressControllerReloadAddress), object: nil) NotificationCenter.default.post(name: NSNotification.Name(kNotifactionIHTabBarControllerUpdateBadgeNumber), object: Intermediate.hotelId) IHHistroyPlist.share.addHotel(saveHotelModel!) //把所选的移到最开始位置 } } extension IHHistroyHotelPicker:UITableViewDelegate,UITableViewDataSource{ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return self.buildList?.count ?? 0 } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { var cell = tableView.dequeueReusableCell(withIdentifier: "cell") if cell == nil { cell = UITableViewCell(style: .default, reuseIdentifier: "cell") } cell?.textLabel?.font = UIFont(name: "PingFangSC_Regular", size: 13) cell?.textLabel?.textColor = UIColor(hexString: "#333333") // cell?.selectionStyle = .none let build = self.buildList![indexPath.row] cell?.textLabel?.text = build.name return cell! } func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { self.isClickBuild = true self.selectedBuid = self.buildList![indexPath.row] } } extension IHHistroyHotelPicker{ //获取楼房 func getBuildList(_ hotelId :String) { IHAreaService.share.getBuildNavData(hotelId: hotelId, requestSuccess: { (buildList) in // let allBuild = DropDownData() // allBuild.id = "" // allBuild.name = "所有" var newlist = [DropDownData]() // newlist.append(allBuild) if buildList.count == 0{ self.buildList = newlist }else{ for build in buildList { newlist.append(build) } self.buildList = newlist } }) { } } }