| | |
| | | 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.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() |
| | | } |
| | | }) { 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! |
| | | } |
| | | } |