younger_times
2023-04-26 945655d9f53293d7da9d2d11363b3230f6e53bbe
BrokerDriver/Home/VC/HomePageVC.swift
@@ -11,12 +11,15 @@
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)
@@ -41,12 +44,36 @@
        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() {
@@ -75,6 +102,6 @@
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 10
        return datas.count
    }
}