|
@@ -11,30 +11,17 @@ import RxCocoa
|
|
final class MeTraineeSearchPageViewController: BaseTableViewController {
|
|
final class MeTraineeSearchPageViewController: BaseTableViewController {
|
|
|
|
|
|
let cellIdentifier:String = "_MeTraineeSubjectCellSearch"
|
|
let cellIdentifier:String = "_MeTraineeSubjectCellSearch"
|
|
- // MARK: 服务属性
|
|
|
|
- private let cocahService: CoachServiceType = CoachService(networking: CoachNetworking())
|
|
|
|
// MARK: UI属性
|
|
// MARK: UI属性
|
|
-// @IBOutlet weak var nav_top_layout: NSLayoutConstraint!
|
|
|
|
@IBOutlet weak var searchView: UIView!
|
|
@IBOutlet weak var searchView: UIView!
|
|
//搜索
|
|
//搜索
|
|
@IBOutlet weak var search_textfield: QMUITextField!
|
|
@IBOutlet weak var search_textfield: QMUITextField!
|
|
//搜按钮
|
|
//搜按钮
|
|
@IBOutlet weak var search_button: UIButton!
|
|
@IBOutlet weak var search_button: UIButton!
|
|
|
|
|
|
-
|
|
|
|
- //search bar
|
|
|
|
-// let search_bar = QMUISearchBar().then {
|
|
|
|
-// $0.backgroundColor = UIColor("#26486B")
|
|
|
|
-// $0.layer.cornerRadius = 15.f
|
|
|
|
-// $0.layer.masksToBounds = true
|
|
|
|
-// }
|
|
|
|
-
|
|
|
|
|
|
+ let meTraineeSearchViewModel = MeTraineeSearchViewModel()
|
|
|
|
+
|
|
let headerView = MeTraineeSubjectHeaderView.loadFromNib()
|
|
let headerView = MeTraineeSubjectHeaderView.loadFromNib()
|
|
- // MARK: 数据
|
|
|
|
- var traineeDataModel:TraineeDataModel?
|
|
|
|
- var page:Int = 1
|
|
|
|
- var pageSize:Int = 100
|
|
|
|
- var state = ""
|
|
|
|
|
|
+
|
|
//重置约束
|
|
//重置约束
|
|
override func setupConstraints() {
|
|
override func setupConstraints() {
|
|
self.tableView.snp.remakeConstraints { make in
|
|
self.tableView.snp.remakeConstraints { make in
|
|
@@ -57,12 +44,11 @@ final class MeTraineeSearchPageViewController: BaseTableViewController {
|
|
self.view.backgroundColor = .db_theme
|
|
self.view.backgroundColor = .db_theme
|
|
// self.searchView.addSubview(search_bar)
|
|
// self.searchView.addSubview(search_bar)
|
|
self.search_textfield.placeholderColor = .db_place
|
|
self.search_textfield.placeholderColor = .db_place
|
|
- tableView.delegate = self
|
|
|
|
tableView.dataSource = self
|
|
tableView.dataSource = self
|
|
|
|
+ tableView.delegate = self
|
|
tableView.separatorStyle = .none //去除分割线
|
|
tableView.separatorStyle = .none //去除分割线
|
|
tableView.register(UINib(nibName: "MeTraineeSubjectCell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
|
|
tableView.register(UINib(nibName: "MeTraineeSubjectCell", bundle: nil), forCellReuseIdentifier: cellIdentifier)
|
|
tableView.rowHeight = 288.f
|
|
tableView.rowHeight = 288.f
|
|
-
|
|
|
|
setupRefreshHeader(tableView) {[unowned self] in
|
|
setupRefreshHeader(tableView) {[unowned self] in
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
|
|
// 在延迟 1 秒后执行的代码
|
|
// 在延迟 1 秒后执行的代码
|
|
@@ -71,8 +57,7 @@ final class MeTraineeSearchPageViewController: BaseTableViewController {
|
|
NSLog("AAAAAAA")
|
|
NSLog("AAAAAAA")
|
|
}
|
|
}
|
|
self.isEmptyDisplay = false
|
|
self.isEmptyDisplay = false
|
|
- //获取第一响应者
|
|
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//绑定-rx
|
|
//绑定-rx
|
|
@@ -83,73 +68,62 @@ final class MeTraineeSearchPageViewController: BaseTableViewController {
|
|
.subscribe(onNext: { [unowned self] searchText in
|
|
.subscribe(onNext: { [unowned self] searchText in
|
|
// Handle the updated search text here
|
|
// Handle the updated search text here
|
|
print("Search text changed: \(searchText)")
|
|
print("Search text changed: \(searchText)")
|
|
- self.searchCoachInfoList()
|
|
|
|
|
|
+// self.searchCoachInfoList()
|
|
|
|
+ self.meTraineeSearchViewModel.searchCoachInfoList(searchPageVC: self)
|
|
})
|
|
})
|
|
.disposed(by: disposeBag)
|
|
.disposed(by: disposeBag)
|
|
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- func searchCoachInfoList()
|
|
|
|
- {
|
|
|
|
- print("网络请求")
|
|
|
|
- self.cocahService.coachInfoListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: "\(LocalManager.userInfo.id)", field: search_textfield.text!, pageNum: page, pageSize: pageSize, schoolId: 0, state: state)
|
|
|
|
- .subscribe(onSuccess: { traineeDataModel in
|
|
|
|
- self.traineeDataModel = traineeDataModel
|
|
|
|
- print("coachInfoListRequest成功")
|
|
|
|
- self.isEmptyDisplay = true
|
|
|
|
- self.hideLoadAnimation()
|
|
|
|
- self.tableView.reloadData()
|
|
|
|
- }, onError: { error in
|
|
|
|
- })
|
|
|
|
- .disposed(by: disposeBag)
|
|
|
|
|
|
+ //RX 绑定
|
|
|
|
+// self.meTraineeSearchViewModel.items
|
|
|
|
+// .bind(to: tableView.rx.items(cellIdentifier: cellIdentifier,cellType:MeTraineeSubjectCell.self)) { (row, model, cell) in
|
|
|
|
+// cell.index_button.setTitle("\(row+1)", for: .normal)
|
|
|
|
+// cell.setRowInfo(rowInfo:model as! RowInfo)
|
|
|
|
+// }
|
|
|
|
+// .disposed(by: disposeBag)
|
|
|
|
+
|
|
|
|
+ // tableView点击事件
|
|
|
|
+ tableView.rx.itemSelected.subscribe(onNext: { [weak self]indexPath in
|
|
|
|
+ print("点击\(indexPath)行")
|
|
|
|
+ let rowInfo:RowInfo = (self!.meTraineeSearchViewModel.traineeDataModel?.rows![indexPath.row])!
|
|
|
|
+ if rowInfo != nil {
|
|
|
|
+ let context: Int = rowInfo.id!
|
|
|
|
+ NYSwRouter.push(NYSwPushType.trainee_info,context: context)
|
|
|
|
+ }
|
|
|
|
+ self?.tableView.deselectRow(at: indexPath, animated: false)
|
|
|
|
+ }).disposed(by: disposeBag)
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//数据源
|
|
//数据源
|
|
extension MeTraineeSearchPageViewController:UITableViewDataSource {
|
|
extension MeTraineeSearchPageViewController:UITableViewDataSource {
|
|
-
|
|
|
|
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
|
|
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
|
|
- if traineeDataModel != nil {
|
|
|
|
- let total = String(format: "%d", traineeDataModel?.total ?? 0)
|
|
|
|
|
|
+ if self.meTraineeSearchViewModel.traineeDataModel != nil {
|
|
|
|
+ let total = String(format: "%d", self.meTraineeSearchViewModel.traineeDataModel?.total ?? 0)
|
|
headerView.total_label.text = "总数:"+total
|
|
headerView.total_label.text = "总数:"+total
|
|
}
|
|
}
|
|
return headerView
|
|
return headerView
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
|
|
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
|
|
return 55.f
|
|
return 55.f
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
|
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
|
|
- return traineeDataModel?.rows!.count ?? 0
|
|
|
|
|
|
+ return self.meTraineeSearchViewModel.traineeDataModel?.rows!.count ?? 0
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
|
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
|
|
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MeTraineeSubjectCell
|
|
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! MeTraineeSubjectCell
|
|
cell.index_button.setTitle("\(indexPath.row+1)", for: .normal)
|
|
cell.index_button.setTitle("\(indexPath.row+1)", for: .normal)
|
|
- cell.setRowInfo(rowInfo: (self.traineeDataModel?.rows?[indexPath.row])!)
|
|
|
|
|
|
+ cell.setRowInfo(rowInfo: (self.meTraineeSearchViewModel.traineeDataModel?.rows?[indexPath.row])!)
|
|
return cell
|
|
return cell
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
//事件
|
|
//事件
|
|
extension MeTraineeSearchPageViewController:UITableViewDelegate {
|
|
extension MeTraineeSearchPageViewController:UITableViewDelegate {
|
|
-
|
|
|
|
- func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
|
|
|
- tableView.deselectRow(at: indexPath, animated: false)
|
|
|
|
- let rowInfo:RowInfo = (self.traineeDataModel?.rows![indexPath.row])!
|
|
|
|
- if rowInfo != nil {
|
|
|
|
- let context: Int = rowInfo.id!
|
|
|
|
- NYSwRouter.push(NYSwPushType.trainee_info,context: context)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-extension MeTraineeSearchPageViewController:UIScrollViewDelegate {
|
|
|
|
-
|
|
|
|
- func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
|
|
|
|
- self.view.endEditing(true)
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
|
|
+
|