杨锴
2025-05-11 7453d2d0cef415b34323d1b91e6cfa4a6ba31178
WanPai/Root/CardCenter/View/CardCenterSheetView.swift
@@ -29,6 +29,7 @@
    @IBOutlet weak var btn_agreement: UIButton!
    @IBOutlet weak var text_view_height: NSLayoutConstraint!
    @IBOutlet weak var label_rule: UILabel!
    @IBOutlet weak var label_add_info: UILabel!
    let disposeBag = DisposeBag()
@@ -36,10 +37,12 @@
    private var model:HuiminCardDetailModel?
    private var selectStudents = [StudentProfile1Model]()
    private var students = [StudentProfile1Model]()
    private var studentChoose3View:StudentChoose3View?
    override func awakeFromNib() {
        super.awakeFromNib()
        label_add_info.isHidden = false
        btn_addUser.imagePosition = .right
        btn_addUser.spacingBetweenImageAndTitle = 3
        cons_bottom.constant = -(JQ_ScreenW * 1.1)
@@ -72,7 +75,7 @@
        }.store(in: &subscriptions)
        text_view.publisher(for: \.contentSize).sink {[unowned self] size in
            self.text_view_height.constant = size.height
            self.text_view_height.constant = 60
        }.store(in: &subscriptions)
        NotificationCenter.default.rx.notification(Noti_hiddenCardCenter_Add).take(until: self.rx.deallocated).subscribe(onNext: {[unowned self] noti in
@@ -81,7 +84,8 @@
        }).disposed(by: disposeBag)
        NotificationCenter.default.rx.notification(StudentUpdate_Nofi, object: nil).subscribe(onNext: {value in
        NotificationCenter.default.rx.notification(StudentUpdate_Nofi, object: nil).take(until: self.rx.deallocated).subscribe(onNext: {value in
            print("打印:通知1111:\(self)\n")
            var needShow = true
            if let v = value.object as? [String:Bool]{
                needShow = v["needShow"] ?? true
@@ -91,7 +95,7 @@
        }).disposed(by: disposeBag)
        NotificationCenter.default.rx.notification(Noti_showSheetView, object: nil).subscribe(onNext: {value in
        NotificationCenter.default.rx.notification(Noti_showSheetView, object: nil).take(until: self.rx.deallocated).subscribe(onNext: {value in
            self.alpha = 1
        }).disposed(by: disposeBag)
@@ -135,10 +139,18 @@
        Services.startCourceStudentList().subscribe(onNext: {data in
            self.students = data.data ?? []
            if (data.data?.count ?? 0) > 0 && needShow{
                StudentChoose3View.show(defaultStu: Set(self.selectStudents)) { m in
                guard self.studentChoose3View == nil else {return}
                guard sceneDelegate?.window?.viewWithTag(1293) == nil else {
                    return
                }
                self.studentChoose3View = StudentChoose3View.show(defaultStu: Set(self.selectStudents)) { m in
                    self.selectStudents = m.shuffled()
                    self.tableView.reloadData()
                    self.updatePrice()
                    self.studentChoose3View = nil
                } closeClouse: {
                    self.studentChoose3View = nil
                }
            }
        }).disposed(by: self.disposeBag)
@@ -151,23 +163,31 @@
        self.text_view.isHidden = self.selectStudents.count > 0 ? false:true
        self.btn_agreement.isHidden = self.selectStudents.count > 0 ? false:true
        self.label_rule.isHidden = self.selectStudents.count > 0 ? false:true
        self.label_add_info.isHidden = (self.selectStudents.count) > 0 ?true:false
    }
    @IBAction func addPersionAction(_ sender: QMUIButton) {
        if students.count == 0{
            NotificationCenter.default.post(name: Noti_hiddenCardCenter_Add, object: true)
            let vc = CardCenterAddUserVC()
            vc.isFirstOne = true
            JQ_currentNavigationController().pushViewController(vc)
        }else{
            StudentChoose3View.show(defaultStu: Set(selectStudents)) { m in
            guard self.studentChoose3View == nil else {return}
            self.studentChoose3View = StudentChoose3View.show(defaultStu: Set(selectStudents)) { m in
                self.selectStudents = m.shuffled()
                self.tableView.reloadData()
                self.updatePrice()
                self.studentChoose3View = nil
            } closeClouse: {
                self.studentChoose3View = nil
            }
        }
    }
    @IBAction func closeAction(_ sender: UIButton) {
        NotificationCenter.default.removeObserver(self)
        self.cons_bottom.constant = -(JQ_ScreenW * 1.1)
        UIView.animate(withDuration: 0.4) {
@@ -175,6 +195,9 @@
            self.layoutIfNeeded()
        } completion: { _ in
            self.removeFromSuperview()
            if let subV = sceneDelegate?.window?.viewWithTag(1293) as? CardCenterSheetView{
                subV.removeFromSuperview()
            }
        }
    }
@@ -186,6 +209,10 @@
        guard let m = model else{return}
        guard selectStudents.count != 0 else{
            alertError(msg: "请选择人员");return
        }
        guard btn_agreement.isSelected else {
            let v = m.agreementSettings.map { m in
                return "《\(m.agreementName)》"
@@ -193,9 +220,6 @@
            alertError(msg: "请先阅读协议\(v)");return
        }
        guard selectStudents.count != 0 else{
            alertError(msg: "请选择人员");return
        }
        let totalMoney = (model?.salesMoney ?? 0) * Double(selectStudents.count)
        updatePrice()