MeTraineeDetails03Controller.swift 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. //
  2. // MeTraineeDetails03Controller.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 MeTraineeDetails03Controller: BaseGroupTableViewController {
  11. let cellIdentifier:String = "_MeTraineeDetails04Cell"
  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 header04_view = MeTraineeDetails04HeaderView.loadFromNib()
  19. // MARK: 数据
  20. var stuTmsSignDataModel:StuTmsSignDataModel?
  21. var page:Int = 1
  22. var pageSize:Int = 10
  23. var stuOutId:Int = 0
  24. init(stuOutId:Int) {
  25. super.init()
  26. self.stuOutId = stuOutId
  27. }
  28. required convenience init?(coder aDecoder: NSCoder) {
  29. fatalError("init(coder:) has not been implemented")
  30. }
  31. override func viewDidLoad() {
  32. super.viewDidLoad()
  33. //绑定
  34. biandView()
  35. if(self.stuOutId>0){getStuResultList()}
  36. }
  37. // MARK: 私有方法
  38. // func setStuOutId(stuId:Int){
  39. // stuOutId = stuId
  40. // getStuResultList()
  41. // }
  42. func getStuResultList(){
  43. self.cocahService.stuTmsSignListByStuIdRequest(pageNum: page, pageSize: pageSize, stuOutId: stuOutId, city: LocalManager.userInfo.city!)
  44. .subscribe(onSuccess: {[unowned self] stuTmsSignDataModel in
  45. self.stuTmsSignDataModel = stuTmsSignDataModel
  46. print("resultInfoModel成功")
  47. self.hideLoadAnimation()
  48. self.tableView.reloadData()
  49. self.stopRefresh()
  50. }, onError: { error in
  51. self.stopRefresh()
  52. })
  53. .disposed(by: disposeBag)
  54. }
  55. func biandView(){
  56. tableView.delegate = self
  57. tableView.dataSource = self
  58. tableView.separatorStyle = .none //去除分割线
  59. tableView.register(UINib(nibName: "MeTraineeDetails04Cell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
  60. tableView.rowHeight = 62.f
  61. setupRefreshHeader(tableView) {[unowned self] in
  62. // DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
  63. // // 在延迟 1 秒后执行的代码
  64. //
  65. // }
  66. self.getStuResultList()
  67. }
  68. self.isEmptyDisplay = false
  69. self.hideLoadAnimation()
  70. }
  71. }
  72. //数据源
  73. extension MeTraineeDetails03Controller:UITableViewDataSource {
  74. func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  75. if (stuTmsSignDataModel != nil && (stuTmsSignDataModel?.rows.count)!>0){
  76. return (stuTmsSignDataModel?.rows.count)!
  77. }
  78. return 0
  79. }
  80. func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
  81. let header_view = UIView().then {
  82. $0.backgroundColor = .db_theme
  83. }
  84. header_view.addSubview(header01_view)
  85. header01_view.snp.makeConstraints { make in
  86. make.left.right.top.equalTo(header_view)
  87. make.height.equalTo(50.f)
  88. }
  89. header_view.addSubview(header04_view)
  90. header04_view.snp.makeConstraints { make in
  91. make.top.equalTo(header01_view.bottom)
  92. make.left.right.equalTo(header_view)
  93. make.height.equalTo(44.f)
  94. }
  95. return header_view
  96. }
  97. func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
  98. return 50.f+44.f
  99. }
  100. func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  101. let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MeTraineeDetails04Cell
  102. cell.contentView.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D")
  103. cell.backgroundColor = ((indexPath.row%2) != 0) ? UIColor("#113357") : UIColor("#0B2B4D")
  104. let info = (stuTmsSignDataModel?.rows[indexPath.row])! as StuTmsSignInfoModel
  105. cell.trainCarLicnum_label.text = info.trainCarLicnum
  106. cell.sim_label.text = info.sim
  107. cell.logintime_label.text = info.loginTime
  108. if info.loginFlag == "1" {
  109. cell.state_label.text = "签到"
  110. cell.state_label.textColor = UIColor("#35BF5E")
  111. }else{
  112. cell.state_label.text = "签退"
  113. cell.state_label.textColor = UIColor("#FF5454")
  114. }
  115. return cell
  116. }
  117. }
  118. //事件
  119. extension MeTraineeDetails03Controller:UITableViewDelegate {
  120. }