| | |
| | | |
| | | class HomePageVC: BaseViewController,Refreshable { |
| | | |
| | | enum PageStyle { |
| | | case progress,complete |
| | | enum PageStyle:Int{ |
| | | case progress = 1 |
| | | case complete = 2 |
| | | } |
| | | |
| | | private var style:PageStyle! |
| | | public let refreshStatus = BehaviorSubject(value: RefreshStatus.others) |
| | | private var page = 1 |
| | | private var datas = [OrderModel]() |
| | | |
| | | lazy private var tableView:BaseTableView = { |
| | | let tableView = BaseTableView(frame: .zero, style: .plain) |
| | |
| | | super.viewDidLoad() |
| | | |
| | | self.refreshStatusBind(to: tableView, header: { [weak self] () in |
| | | self?.refreshStatus.onNext(.endHeaderRefresh) |
| | | self?.getData() |
| | | }, footer: { [weak self] () in |
| | | |
| | | self?.getData(false) |
| | | }).disposed(by: disposeBag) |
| | | tableView.jq_setEmptyView("Not data", image: UIImage(named: "empty"), foregroundColor: .gray, clouse: nil) |
| | | refreshStatus.onNext(.beingHeaderRefresh) |
| | | } |
| | | |
| | | // refreshStatus.onNext(.beingHeaderRefresh) |
| | | private func getData(_ isHeader:Bool = true){ |
| | | Services.getList(type: style, pageNumber: page).subscribe(onNext: { data in |
| | | if let models = data.data{ |
| | | if isHeader{ |
| | | self.datas.removeAll() |
| | | self.page = 1 |
| | | self.refreshStatus.onNext(.endHeaderRefresh) |
| | | self.refreshStatus.onNext(.resetNoMoreData) |
| | | }else{ |
| | | if models.count == 0{ |
| | | self.refreshStatus.onNext(.noMoreData) |
| | | }else{ |
| | | self.refreshStatus.onNext(.endFooterRefresh) |
| | | } |
| | | } |
| | | self.datas.append(contentsOf: models) |
| | | self.tableView.reloadData() |
| | | } |
| | | }) { error in |
| | | |
| | | }.disposed(by: disposeBag) |
| | | |
| | | } |
| | | |
| | | override func setUI() { |
| | |
| | | } |
| | | |
| | | func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { |
| | | return 10 |
| | | return datas.count |
| | | } |
| | | } |