123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- //
- // EstuLogListViewController.swift
- // JiaPeiManage
- //
- // Created by Ning.ge on 2023/8/28.
- //
- import UIKit
- import RxSwift
- import RxCocoa
- final class EstuLogListViewController: BaseTableViewController {
-
- let cellIdentifier:String = "_EstuLogListCell"
- let dtcellIdentifier:String = "_EstuLogListDetailsCell"
- // MARK: 服务属性
- private let elogCoachService: ElogCoachServiceType = ElogCoachService(networking: ElogCoachNetworking())
- // MARK: 私有属性
-
- // MARK: UI let
- let statusBar = UIView().then {
- $0.backgroundColor = UIColor.db_theme
- }
-
- let navBar = MeTraineeNavBar.loadFromNib().then {
- $0.search_button.isHidden = true
- }
-
- let estuLogHeaderView = EstuLogHeaderView.loadFromNib()
-
- let mtheader01_view = MeTraineeDetails01HeaderView.loadFromNib().then {
- $0.title_label.text = "查询明细"
- }
-
- let header01_view = EstuLog01HeaderView.loadFromNib()
- var selectPath = -1;
- //学员ID
- var stuId:Int = 0
- var eteachLogDataModel:ETeachLogDataModel?
- var rows : [ETeachLogInfo] = []
- var page:Int = 1
- var pageSize:Int = 10
-
- override func setupConstraints() {
-
- statusBar.snp.makeConstraints { (make) in
- make.left.right.top.equalToSuperview()
- make.height.equalTo(Metric.statusBarHeight)
- }
-
- navBar.snp.remakeConstraints { (make) in
- make.left.right.equalToSuperview()
- make.height.equalTo(Metric.navBarHeight)
- make.top.equalTo(statusBar.snp.bottom)
- }
-
- tableView.snp.remakeConstraints { make in
- make.top.equalTo(self.navBar.snp.bottom)
- make.left.right.bottom.equalTo(self.view)
- }
- self.loadViewIfNeeded()
- }
- func scrollViewDidScroll(_ scrollView: UIScrollView) {
- }
- // MARK: StatusBar
- override func viewWillAppear(_ animated: Bool) {
- super.viewWillAppear(animated)
-
- self.navigationController?.setNavigationBarHidden(true, animated: true)
- }
-
- required convenience init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- configureMagicController()
- setupUI()
- biandView()
- }
-
- // MARK: 私有方法
-
- func setupUI(){
- self.navBar.title_label.text = "电子教学日志"
- self.navBar.back_button.addTarget(self, action: #selector(actionBackdo), for: .touchUpInside)
- }
-
- func configureMagicController(){
-
- self.view.addSubview(navBar)
- self.view.addSubview(statusBar)
-
- }
-
- func biandView(){
- tableView.delegate = self
- tableView.dataSource = self
- tableView.separatorStyle = .none //去除分割线
- tableView.register(UINib(nibName: "EstuLogListCell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
- tableView.register(UINib(nibName: "EstuLogListDetailsCell", bundle: nil), forCellReuseIdentifier: dtcellIdentifier)
- setupRefreshHeader(tableView) {[unowned self] in
- self.getStudentTeachLogList()
- }
- self.isEmptyDisplay = false
- self.hideLoadAnimation()
- // 设置上拉加载更多
- tableView.es.addInfiniteScrolling { [weak self] in
- //self?.getStudentTeachLogList()
- }
- // tableView点击事件
- tableView.rx.itemSelected.throttle(.seconds(1), scheduler: MainScheduler.instance)
- .subscribe(onNext: { [weak self]indexPath in
- print("点击\(indexPath)行")
- self?.selectPath = indexPath.row
- self?.tableView.reloadData()
- // let rowInfo:RowInfo = self!.meTraineeSearchViewModel.rows[indexPath.row]
- // if rowInfo != nil && rowInfo.bmType == "2" {
- // let context: Int = rowInfo.id!
- // NYSwRouter.push(NYSwPushType.trainee_info,context: context)
- // }
- // self?.tableView.deselectRow(at: indexPath, animated: false)
- }).disposed(by: disposeBag)
- }
-
- func getStudentTeachLogList (){
- self.elogCoachService.elogTmsStudentTeachLogByIdRequest(city: LocalManager.userInfo.city!, id: stuId, pageNum: page, pageSize: pageSize).subscribe(onSuccess: {[unowned self] eteachLogDataModel in
- self.rows.removeAll()
- self.eteachLogDataModel = eteachLogDataModel
- self.rows += eteachLogDataModel.rows!
- print("eteachLogDataModelRequest成功")
- self.isEmptyDisplay = true
- self.hideLoadAnimation()
- self.stopRefresh()
- self.tableView.reloadData()
- }, onError: { error in
- self.stopRefresh()
- NYTips.hide()
- })
- .disposed(by: disposeBag)
- }
- }
- //数据源
- extension EstuLogListViewController:UITableViewDataSource {
-
-
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return self.rows.count
- }
-
- func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
- let header_view = UIView().then {
- $0.backgroundColor = .db_theme
- }
- header_view.addSubview(estuLogHeaderView)
- estuLogHeaderView.snp.makeConstraints { make in
- make.left.right.top.equalTo(header_view)
- make.height.equalTo(59.f)
- }
- header_view.addSubview(mtheader01_view)
- mtheader01_view.snp.makeConstraints { make in
- make.top.equalTo(estuLogHeaderView.bottom)
- make.left.right.equalTo(header_view)
- make.height.equalTo(52.f)
- }
- header_view.addSubview(header01_view)
- header01_view.snp.makeConstraints { make in
- make.top.equalTo(mtheader01_view.bottom)
- make.left.right.equalTo(header_view)
- make.height.equalTo(44.f)
- }
- header_view.layoutIfNeeded()
- return header_view
- }
-
- func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
- return 155.f
- }
-
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- var cell:UITableViewCell;
- var info = rows[indexPath.row] as ETeachLogInfo
- info.stuid = stuId
- if self.selectPath == indexPath.row {
- let dcell = tableView.dequeueReusableCell(withIdentifier: dtcellIdentifier, for: indexPath) as! EstuLogListDetailsCell
- dcell.setRowInfo(rowInfo: info)
- cell = dcell
- }else {
- let ecell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! EstuLogListCell
- ecell.setRowInfo(rowInfo: info)
- cell = ecell
- }
- return cell
- }
-
- func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
- if(selectPath==indexPath.row){
- return 465.f;
- }
- return 80.f;
- }
- }
- //事件
- extension EstuLogListViewController:UITableViewDelegate {
-
- }
|