// // MeTraineeDetails04Controller.swift // JiaPeiManage // // Created by Ning.ge on 2023/6/20. // import UIKit import RxSwift import RxCocoa final class MeTraineeDetails04Controller: BaseTableViewController { let cellIdentifier:String = "_MeTraineeDetails04Cell" // MARK: 服务属性 private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking()) // MARK: UI属性 let header01_view = MeTraineeDetails01HeaderView.loadFromNib().then { $0.title_label.text = "签到签退表" } let header04_view = MeTraineeDetails04HeaderView.loadFromNib() // MARK: 数据 var stuTmsSignDataModel:StuTmsSignDataModel? var page:Int = 1 var pageSize:Int = 10 var stuOutId:Int = 0 init(stuOutId:Int) { super.init() self.stuOutId = stuOutId } required convenience init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func viewDidLoad() { super.viewDidLoad() //绑定 biandView() if(self.stuOutId>0){getStuResultList()} } // MARK: 私有方法 // func setStuOutId(stuId:Int){ // stuOutId = stuId // getStuResultList() // } func getStuResultList(){ self.cocahService.stuTmsSignListByStuIdRequest(pageNum: page, pageSize: pageSize, stuOutId: stuOutId, city: LocalManager.userInfo.city!) .subscribe(onSuccess: {[unowned self] stuTmsSignDataModel in self.stuTmsSignDataModel = stuTmsSignDataModel print("resultInfoModel成功") self.hideLoadAnimation() self.tableView.reloadData() self.stopRefresh() }, onError: { error in self.stopRefresh() }) .disposed(by: disposeBag) } func biandView(){ tableView.delegate = self tableView.dataSource = self tableView.separatorStyle = .none //去除分割线 tableView.register(UINib(nibName: "MeTraineeDetails04Cell", bundle: nil), forCellReuseIdentifier: cellIdentifier) tableView.rowHeight = 62.f setupRefreshHeader(tableView) {[unowned self] in // DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) { // // 在延迟 1 秒后执行的代码 // // } self.getStuResultList() } self.isEmptyDisplay = false self.hideLoadAnimation() } } //数据源 extension MeTraineeDetails04Controller:UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if (stuTmsSignDataModel != nil && (stuTmsSignDataModel?.rows.count)!>0){ return (stuTmsSignDataModel?.rows.count)! } return 0 } func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { let header_view = UIView().then { $0.backgroundColor = .db_theme } header_view.addSubview(header01_view) header01_view.snp.makeConstraints { make in make.left.right.top.equalTo(header_view) make.height.equalTo(50.f) } header_view.addSubview(header04_view) header04_view.snp.makeConstraints { make in make.top.equalTo(header01_view.bottom) make.left.right.equalTo(header_view) make.height.equalTo(44.f) } return header_view } func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { return 50.f+44.f } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MeTraineeDetails04Cell cell.contentView.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D") cell.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D") let info = (stuTmsSignDataModel?.rows[indexPath.row])! as StuTmsSignInfoModel cell.trainCarLicnum_label.text = info.trainCarLicnum cell.sim_label.text = info.sim cell.logintime_label.text = info.loginTime if info.loginFlag == "1" { cell.state_label.text = "签到" cell.state_label.textColor = UIColor("#35BF5E") }else{ cell.state_label.text = "签退" cell.state_label.textColor = UIColor("#FF5454") } return cell } } //事件 extension MeTraineeDetails04Controller:UITableViewDelegate { }