MeTraineeDetails02Controller.swift 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. //
  2. // MeTraineeDetails02Controller.swift
  3. // JiaPeiManage
  4. //
  5. // Created by Ning.ge on 2023/6/20.
  6. //
  7. import UIKit
  8. import RxSwift
  9. import RxCocoa
  10. final class MeTraineeDetails02Controller: BaseTableViewController {
  11. let cellIdentifier:String = "_MeTraineeDetails02Cell"
  12. // MARK: 服务属性
  13. private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking())
  14. // MARK: UI属性
  15. let header01_view = MeTraineeDetails01HeaderView.loadFromNib().then {
  16. $0.title_label.text = "成绩表"
  17. }
  18. let header02_view = MeTraineeDetails02HeaderView.loadFromNib()
  19. // MARK: 数据
  20. var stuResultDataModel:StuResultDataModel?
  21. var page:Int = 1
  22. var pageSize:Int = 50
  23. var stuOutId:Int = 0
  24. override func viewDidLoad() {
  25. super.viewDidLoad()
  26. //绑定
  27. biandView()
  28. }
  29. // MARK: 私有方法
  30. func setStuOutId(stuId:Int){
  31. stuOutId = stuId
  32. getStuResultList()
  33. }
  34. func getStuResultList(){
  35. self.cocahService.stuScoreByOutIdRequest(pageNum: page, pageSize: pageSize, stuOutId: stuOutId)
  36. .subscribe(onSuccess: {[unowned self] stuResultDataModel in
  37. self.stuResultDataModel = stuResultDataModel
  38. print("resultInfoModel成功")
  39. self.hideLoadAnimation()
  40. self.tableView.reloadData()
  41. self.stopRefresh()
  42. }, onError: { error in
  43. self.stopRefresh()
  44. })
  45. .disposed(by: disposeBag)
  46. }
  47. func biandView(){
  48. tableView.delegate = self
  49. tableView.dataSource = self
  50. tableView.separatorStyle = .none //去除分割线
  51. tableView.register(UINib(nibName: "MeTraineeDetails02Cell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
  52. tableView.rowHeight = 62.f
  53. setupRefreshHeader(tableView) {[unowned self] in
  54. // DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
  55. // // 在延迟 1 秒后执行的代码
  56. //
  57. // }
  58. self.getStuResultList()
  59. }
  60. self.isEmptyDisplay = false
  61. self.hideLoadAnimation()
  62. }
  63. }
  64. //数据源
  65. extension MeTraineeDetails02Controller:UITableViewDataSource {
  66. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  67. if (stuResultDataModel != nil){
  68. return (stuResultDataModel?.rows.count)!
  69. }
  70. return 0
  71. }
  72. func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
  73. let header_view = UIView().then {
  74. $0.backgroundColor = .db_theme
  75. }
  76. header_view.addSubview(header01_view)
  77. header01_view.snp.makeConstraints { make in
  78. make.left.right.top.equalTo(header_view)
  79. make.height.equalTo(50.f)
  80. }
  81. header_view.addSubview(header02_view)
  82. header02_view.snp.makeConstraints { make in
  83. make.top.equalTo(header01_view.bottom)
  84. make.left.right.equalTo(header_view)
  85. make.height.equalTo(44.f)
  86. }
  87. return header_view
  88. }
  89. func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
  90. return 50.f+44.f
  91. }
  92. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  93. let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MeTraineeDetails02Cell
  94. cell.contentView.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D")
  95. cell.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D")
  96. let info = (self.stuResultDataModel?.rows[indexPath.row])! as StuResultInfoModel
  97. cell.km_label.text = "科目" + NYSource.statedicts[info.kskm]!
  98. cell.result_label.text = String(info.score)
  99. cell.starttime_label.text = info.startDate
  100. cell.endtime_label.text = info.endDate
  101. return cell
  102. }
  103. }
  104. //事件
  105. extension MeTraineeDetails02Controller:UITableViewDelegate {
  106. }