OOMeetingAcceptController.swift 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. //
  2. // OOMeetingAcceptController.swift
  3. // o2app
  4. //
  5. // Created by 刘振兴 on 2018/1/22.
  6. // Copyright © 2018年 zone. All rights reserved.
  7. //
  8. import UIKit
  9. import EmptyDataSet_Swift
  10. private let meetingIdentifier = "OOMeetingAcceptCell"
  11. class OOMeetingAcceptController: UIViewController,EmptyDataSetSource,EmptyDataSetDelegate {
  12. private lazy var headerView:OOMeetingConfirmHeaderView = {
  13. let view = Bundle.main.loadNibNamed("OOMeetingConfirmHeaderView", owner: self, options: nil)?.first as! OOMeetingConfirmHeaderView
  14. view.frame = CGRect(x: 0, y: 0, width: kScreenW, height: 40)
  15. view.delegate = self
  16. return view
  17. }()
  18. private let viewModel:OOMeetingAcceptViewModel = {
  19. return OOMeetingAcceptViewModel()
  20. }()
  21. private var uIndex: Int = 0
  22. @IBOutlet weak var tableView: UITableView!
  23. override func viewDidLoad() {
  24. super.viewDidLoad()
  25. self.tabBarItem?.selectedImage = O2ThemeManager.image(for: "Icon.icon_zjhy_pro")
  26. tableView.register(UINib.init(nibName: "OOMeetingAcceptCell", bundle: nil), forCellReuseIdentifier: meetingIdentifier)
  27. headerView.autoresizingMask = .flexibleWidth
  28. tableView.tableHeaderView = headerView
  29. tableView.emptyDataSetSource = self
  30. tableView.emptyDataSetDelegate = self
  31. tableView.tableFooterView = UIView()
  32. if #available(iOS 11.0, *) {
  33. //tableView.contentInsetAdjustmentBehavior = .never
  34. }
  35. viewModel.callbackExecutor = {
  36. msg in
  37. //self.tableView.reloadEmptyDataSet()
  38. //self.tableView.reloadEmptyDataSet()
  39. self.tableView.reloadData()
  40. }
  41. viewModel.loadAcceptListByIndex(uIndex)
  42. }
  43. override func didReceiveMemoryWarning() {
  44. super.didReceiveMemoryWarning()
  45. // Dispose of any resources that can be recreated.
  46. }
  47. func title(forEmptyDataSet scrollView: UIScrollView) -> NSAttributedString? {
  48. let text = "没有待处理的申请"
  49. let titleAttributes = [NSAttributedString.Key.foregroundColor:UIColor(hex:"#CCCCCC"),NSAttributedString.Key.font:UIFont.init(name: "PingFangSC-Regular", size: 18)!]
  50. return NSMutableAttributedString(string: text, attributes: titleAttributes)
  51. }
  52. func image(forEmptyDataSet scrollView: UIScrollView) -> UIImage? {
  53. return #imageLiteral(resourceName: "icon_wuyaoqing")
  54. }
  55. func backgroundColor(forEmptyDataSet scrollView: UIScrollView) -> UIColor? {
  56. return UIColor(hex:"#F5F5F5")
  57. }
  58. func emptyDataSetShouldDisplay(_ scrollView: UIScrollView) -> Bool {
  59. return true
  60. }
  61. }
  62. extension OOMeetingAcceptController:UITableViewDelegate,UITableViewDataSource {
  63. func numberOfSections(in tableView: UITableView) -> Int {
  64. return viewModel.numberOfSections()
  65. }
  66. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  67. return viewModel.numberOfRowsInSection(section)
  68. }
  69. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  70. //let cell = t
  71. let cell = tableView.dequeueReusableCell(withIdentifier: meetingIdentifier, for: indexPath)
  72. let uCell = cell as! OOMeetingAcceptCell
  73. uCell.viewModel = viewModel
  74. let item = viewModel.nodeForIndexPath(indexPath)
  75. uCell.config(withItem: item)
  76. if uIndex == 1 {
  77. uCell.editButton.isHidden = false
  78. }else{
  79. uCell.editButton.isHidden = true
  80. }
  81. return cell
  82. }
  83. }
  84. extension OOMeetingAcceptController:OOMeetingConfirmHeaderViewDelegate {
  85. func confirmHeaderView(_ segmentedControlIndex: Int) {
  86. self.uIndex = segmentedControlIndex
  87. viewModel.loadAcceptListByIndex(uIndex)
  88. }
  89. }