From f7e33a3255d9f87b20e4a06fc32012eaad77cad5 Mon Sep 17 00:00:00 2001 From: 无故事王国 <841720330@qq.com> Date: 星期三, 11 十月 2023 14:52:37 +0800 Subject: [PATCH] 完善 --- WanPai/Root/Other/View/StudentChooseView.swift | 39 +++++++++++++++++++++++++++++++++++---- 1 files changed, 35 insertions(+), 4 deletions(-) diff --git a/WanPai/Root/Other/View/StudentChooseView.swift b/WanPai/Root/Other/View/StudentChooseView.swift index b618d2e..a1f96ec 100644 --- a/WanPai/Root/Other/View/StudentChooseView.swift +++ b/WanPai/Root/Other/View/StudentChooseView.swift @@ -31,11 +31,13 @@ @IBOutlet weak var view_container: UIView! @IBOutlet weak var cons_bottom: NSLayoutConstraint! @IBOutlet weak var btn_add: QMUIButton! - + @IBOutlet weak var cons_tableHei: NSLayoutConstraint! + private var clickClouse:(([Any])->Void)! private var needAddClouse:(()->Void)! private var itemType:ItemType! private var selectStudents = [Any]() + private var disposeBag = DisposeBag() private lazy var stuViewModel:StudentViewModel = { @@ -56,6 +58,7 @@ tableView.separatorStyle = .none alpha = 0 layoutIfNeeded() + setRx() } static func show(itemType:ItemType,defaultStu:[Any]? = nil,clickClouse:@escaping ([Any])->Void,needAddClouse:@escaping ()->Void){ @@ -90,7 +93,26 @@ studentChooseView.tableView.reloadData() } } - + + private func setRx(){ + stuViewModel.dataSource.subscribe(onNext: {[weak self] data in + + let hei = min(360,Double(data.count) * 90.0) + self?.cons_tableHei.constant = hei + UIView.animate(withDuration: 0.4) { + self?.layoutIfNeeded() + } + }).disposed(by: disposeBag) + + actViewModel.dataSource.subscribe(onNext: {[weak self] data in + let hei = min(360,Double(data.count) * 90.0) + self?.cons_tableHei.constant = hei + UIView.animate(withDuration: 0.4) { + self?.layoutIfNeeded() + } + }).disposed(by: disposeBag) + } + @IBAction func closeAction(_ sender: UIButton) { closeAction() } @@ -133,7 +155,9 @@ if self.selectStudents.count == 1{ alert(msg: "至少选择一位学员");return } - self.selectStudents.remove(at: indexPath.row) + if let index = self.selectStudents.firstIndex(where: {($0 as! CourseDetailStudentModel).id == item.id}){ + self.selectStudents.remove(at: index) + } }else{ self.selectStudents.append(item) } @@ -143,7 +167,9 @@ if self.selectStudents.count == 1{ alert(msg: "至少选择一位参赛学员");return } - self.selectStudents.remove(at: indexPath.row) + if let index = self.selectStudents.firstIndex(where: {($0 as! ActivityDetailPartModel).id == item.id}){ + self.selectStudents.remove(at: index) + } }else{ self.selectStudents.append(item) } @@ -166,10 +192,13 @@ if itemType == .course{ let item = stuViewModel.dataSource.value[indexPath.row] let cell = tableView.dequeueReusableCell(withIdentifier: "_StudentInfoTCell") as! StudentInfoTCell + cell.cons_handleCenterY.constant = -7 if self.selectStudents.contains(where: {($0 as! CourseDetailStudentModel).id == item.id}){ cell.btn_handle.setImage(UIImage(named: "btn_choose_s"), for: .normal) + cell.view_container.borderColor = UIColor(hexStr: "#FD7902").withAlphaComponent(0.28) }else{ cell.btn_handle.setImage(nil, for: .normal) + cell.view_container.borderColor = UIColor(hexStr: "#ADADAD").withAlphaComponent(0.28) } cell.studentModel = item return cell @@ -181,8 +210,10 @@ cell.activityDetailPartModel = item if self.selectStudents.contains(where: {($0 as! ActivityDetailPartModel).id == item.id}){ cell.img_radio.image = UIImage(named: "btn_choose_s") + cell.view_container.borderColor = UIColor(hexStr: "#FD7902").withAlphaComponent(0.28) }else{ cell.img_radio.image = UIImage(named: "") + cell.view_container.borderColor = UIColor(hexStr: "#ADADAD").withAlphaComponent(0.28) } return cell } -- Gitblit v1.7.1