无故事王国
2023-10-11 f7e33a3255d9f87b20e4a06fc32012eaad77cad5
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
        }