r
7 天以前 40d2509d9b7ba38e79fd023a2049e3bd5492d3b6
WanPai/Root/Course/View/CourseUnAssignView.swift
@@ -11,114 +11,115 @@
import RxSwift
class CourseUnAssignView: UIView,JQNibView{
   @IBOutlet weak var view_container: UIView!
   @IBOutlet weak var tableView: UITableView!
   @IBOutlet weak var cons_tableHei: NSLayoutConstraint!
   @IBOutlet weak var label_num: UILabel!
   private var selectIndex:Int?
   private var list = [StartClouseListModel]()
   private let disposeBag = DisposeBag()
   override func awakeFromNib() {
      super.awakeFromNib()
      view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
      alpha = 0
      layoutIfNeeded()
      tableView.delegate = self
      tableView.dataSource = self
      tableView.separatorStyle = .none
      cons_tableHei.constant = 45 * 5
   }
   static func show(_ list:[StartClouseListModel],num:Int){
      let unassignView = CourseUnAssignView.jq_loadNibView()
      unassignView.frame = sceneDelegate?.window?.frame ?? .zero
      unassignView.label_num.text = "未分配课时数:\(num)"
      unassignView.list = list
      sceneDelegate?.window?.addSubview(unassignView)
      UIView.animate(withDuration: 0.5) {
         unassignView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
         unassignView.alpha = 1
      }
      unassignView.tableView.reloadData()
   }
   @IBAction func closeAction(_ sender: UIButton) {
      UIView.animate(withDuration: 0.5) {
         self.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
         self.alpha = 0
      } completion: { _ in
         self.removeFromSuperview()
      }
   }
   @IBAction func completeAction(_ sender: UIButton) {
      guard selectIndex != nil else {
         alert(msg: "请选择要分配的课时");return
      }
      let m = list[selectIndex!]
      Services.weeksOfAddHours(packetId: m.courseId).subscribe(onNext: { data in
         UIView.animate(withDuration: 0.5) {
            self.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
            self.alpha = 0
         } completion: { _ in
            self.removeFromSuperview()
         }
      }) { error in
      }.disposed(by: disposeBag)
   }
            @IBOutlet weak var view_container: UIView!
            @IBOutlet weak var tableView: UITableView!
            @IBOutlet weak var cons_tableHei: NSLayoutConstraint!
            @IBOutlet weak var label_num: UILabel!
            private var selectIndex:Int?
            private var list = [StartClouseListModel]()
            private let disposeBag = DisposeBag()
            override func awakeFromNib() {
                        super.awakeFromNib()
                        view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
                        alpha = 0
                        layoutIfNeeded()
                        tableView.delegate = self
                        tableView.dataSource = self
                        tableView.separatorStyle = .none
                        cons_tableHei.constant = 45 * 5
            }
            static func show(_ list:[StartClouseListModel],num:Int){
                        let unassignView = CourseUnAssignView.jq_loadNibView()
                        unassignView.frame = sceneDelegate?.window?.frame ?? .zero
                        unassignView.label_num.text = "未分配课时数:\(num)"
                        unassignView.list = list.filter({$0.isAble == 1})
                        sceneDelegate?.window?.addSubview(unassignView)
                        UIView.animate(withDuration: 0.5) {
                                    unassignView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
                                    unassignView.alpha = 1
                        }
                        unassignView.tableView.reloadData()
            }
            @IBAction func closeAction(_ sender: UIButton) {
                        UIView.animate(withDuration: 0.5) {
                                    self.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
                                    self.alpha = 0
                        } completion: { _ in
                                    self.removeFromSuperview()
                        }
            }
            @IBAction func completeAction(_ sender: UIButton) {
                        guard selectIndex != nil else {
                                    alert(msg: "请选择要分配的课时");return
                        }
                        let m = list[selectIndex!]
                        Services.weeksOfAddHours(packetId: m.id).subscribe(onNext: { data in
                                    UIView.animate(withDuration: 0.5) {
                                                self.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
                                                self.alpha = 0
                                    } completion: { _ in
                                                self.removeFromSuperview()
                                                NotificationCenter.default.post(name: StudentRefresh_Nofi, object: nil)
                                    }
                        }) { error in
                        }.disposed(by: disposeBag)
            }
}
extension CourseUnAssignView:UITableViewDelegate{
   func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
      selectIndex = indexPath.row
      tableView.reloadData()
   }
            func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
                        selectIndex = indexPath.row
                        tableView.reloadData()
            }
}
extension CourseUnAssignView:UITableViewDataSource{
   func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
      return list.count
   }
   func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
      var cell = tableView.dequeueReusableCell(withIdentifier: "_cell\(indexPath.row)")
      if cell == nil{
         cell = UITableViewCell(style: .default, reuseIdentifier: "_cell\(indexPath.row)")
         let btn = QMUIButton(type: .custom)
         btn.tag = 1100 + indexPath.row
         btn.isUserInteractionEnabled = false
         btn.setTitle("课程", for: .normal)
         btn.setTitleColor(.black, for: .normal)
         btn.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
         btn.setImage(UIImage(named: "btn_choose"), for: .normal)
         btn.setImage(UIImage(named: "btn_choose_s"), for: .selected)
         btn.imageView?.size = CGSize(width: 20, height: 20)
         btn.imagePosition = .left
         btn.spacingBetweenImageAndTitle = 13
         cell?.contentView.addSubview(btn)
         btn.snp.makeConstraints { make in
            make.center.equalToSuperview()
         }
      }
      if let btnTag = cell!.viewWithTag(1100 + indexPath.row) as? QMUIButton{
         btnTag.setTitle(list[indexPath.row].courseName, for: .normal)
         if selectIndex == indexPath.row{
            btnTag.isSelected = true
         }else{
            btnTag.isSelected = false
         }
      }
      cell!.selectionStyle = .none
      return cell!
   }
            func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
                        return list.count
            }
            func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                        var cell = tableView.dequeueReusableCell(withIdentifier: "_cell\(indexPath.row)")
                        if cell == nil{
                                    cell = UITableViewCell(style: .default, reuseIdentifier: "_cell\(indexPath.row)")
                                    let btn = QMUIButton(type: .custom)
                                    btn.tag = 1100 + indexPath.row
                                    btn.isUserInteractionEnabled = false
                                    btn.setTitle("运动营", for: .normal)
                                    btn.setTitleColor(.black, for: .normal)
                                    btn.titleLabel?.font = UIFont.systemFont(ofSize: 14, weight: .medium)
                                    btn.setImage(UIImage(named: "btn_choose"), for: .normal)
                                    btn.setImage(UIImage(named: "btn_choose_s"), for: .selected)
                                    btn.imageView?.size = CGSize(width: 20, height: 20)
                                    btn.imagePosition = .left
                                    btn.spacingBetweenImageAndTitle = 13
                                    cell?.contentView.addSubview(btn)
                                    btn.snp.makeConstraints { make in
                                                make.center.equalToSuperview()
                                    }
                        }
                        if let btnTag = cell!.viewWithTag(1100 + indexPath.row) as? QMUIButton{
                                    btnTag.setTitle(list[indexPath.row].courseName, for: .normal)
                                    if selectIndex == indexPath.row{
                                                btnTag.isSelected = true
                                    }else{
                                                btnTag.isSelected = false
                                    }
                        }
                        cell!.selectionStyle = .none
                        return cell!
            }
}