MeTraineeDetails02Controller.swift 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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. self.isNotData = true
  26. super.viewDidLoad()
  27. //绑定
  28. biandView()
  29. }
  30. // MARK: 私有方法
  31. func setStuOutId(stuId:Int){
  32. stuOutId = stuId
  33. getStuResultList()
  34. }
  35. func getStuResultList(){
  36. self.cocahService.stuScoreByOutIdRequest(pageNum: page, pageSize: pageSize, stuOutId: stuOutId)
  37. .subscribe(onSuccess: {[unowned self] stuResultDataModel in
  38. self.stuResultDataModel = stuResultDataModel
  39. print("resultInfoModel成功")
  40. self.isEmptyDisplay = true
  41. self.hideLoadAnimation()
  42. self.tableView.reloadData()
  43. self.stopRefresh()
  44. }, onError: { error in
  45. self.stopRefresh()
  46. })
  47. .disposed(by: disposeBag)
  48. }
  49. func biandView(){
  50. tableView.delegate = self
  51. tableView.dataSource = self
  52. tableView.separatorStyle = .none //去除分割线
  53. tableView.register(UINib(nibName: "MeTraineeDetails02Cell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
  54. tableView.rowHeight = 62.f
  55. setupRefreshHeader(tableView) {[unowned self] in
  56. self.getStuResultList()
  57. }
  58. self.isEmptyDisplay = false
  59. self.hideLoadAnimation()
  60. }
  61. }
  62. //数据源
  63. extension MeTraineeDetails02Controller:UITableViewDataSource {
  64. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  65. if (stuResultDataModel != nil){
  66. return (stuResultDataModel?.rows.count)!
  67. }
  68. return 0
  69. }
  70. func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
  71. let header_view = UIView().then {
  72. $0.backgroundColor = .db_theme
  73. }
  74. header_view.addSubview(header01_view)
  75. header01_view.snp.makeConstraints { make in
  76. make.left.right.top.equalTo(header_view)
  77. make.height.equalTo(50.f)
  78. }
  79. header_view.addSubview(header02_view)
  80. header02_view.snp.makeConstraints { make in
  81. make.top.equalTo(header01_view.bottom)
  82. make.left.right.equalTo(header_view)
  83. make.height.equalTo(44.f)
  84. }
  85. return header_view
  86. }
  87. func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
  88. return 50.f+44.f
  89. }
  90. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  91. let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MeTraineeDetails02Cell
  92. cell.contentView.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D")
  93. cell.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D")
  94. let info = (self.stuResultDataModel?.rows[indexPath.row])! as StuResultInfoModel
  95. cell.km_label.text = "科目" + NYSource.statedicts[info.kskm]!
  96. cell.result_label.text = String(info.score)
  97. cell.starttime_label.text = info.startDate
  98. cell.endtime_label.text = info.endDate
  99. return cell
  100. }
  101. }
  102. //事件
  103. extension MeTraineeDetails02Controller:UITableViewDelegate {
  104. }