无故事王国
2023-10-30 43574ebb55e06a2213d3097745f82968efc43b32
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
//
//  CourseBooking_1_TCell.swift
//  WanPai
//
//  Created by 无故事王国 on 2023/6/27.
//
 
import UIKit
import JQTools
import RxSwift
 
class CourseBooking_1_TCell: UITableViewCell {
 
    var indexPath:IndexPath!
 
    var studentAppointModel:StudentAppointModel!{
        didSet{
            label_title.text = studentAppointModel.coursePackageName
            label_courseNum.text = "\(studentAppointModel.courseHours)课时"
            view_courseNum.isHidden = studentAppointModel.courseHours == 0
            label_address.text = studentAppointModel.storeNameAddr
            label_datetime.text = studentAppointModel.timeFrame
            label_status.text = studentAppointModel.status.strTitle
 
            btn_exercise.isHidden = studentAppointModel.status != .complete
            btn_cancel.isHidden = true
            btn_qrCode.isHidden = studentAppointModel.status != .pedding
            btn_qrCode.isHidden = false
 
            switch studentAppointModel.status{
                case .pedding:label_status.textColor = UIColor(hexStr: "#FD7402")
                default:label_status.textColor = UIColor(hexStr: "#3D3E45")
            }
        }
    }
 
    @IBOutlet weak var label_title: UILabel!
    @IBOutlet weak var label_courseNum: UILabel!
    @IBOutlet weak var view_courseNum: UIView!
    @IBOutlet weak var label_address: UILabel!
    @IBOutlet weak var label_datetime: UILabel!
    @IBOutlet weak var btn_exercise: UIButton!
    @IBOutlet weak var label_status: UILabel!
    @IBOutlet weak var btn_cancel: UIButton!
    @IBOutlet weak var btn_qrCode: UIButton!
    
 
    private var disposeBag = DisposeBag()
 
    override func awakeFromNib() {
        super.awakeFromNib()
        selectionStyle = .none
    }
 
 
    @IBAction func exerciseAction(_ sender: UIButton) {
        let vc = CourseExerciseSubListVC()
        JQ_currentViewController().jq_push(vc: vc)
    }
 
    @IBAction func cancelAction(_ sender: UIButton) {
        CommonAlertView.show(title: "取消预约", content: "是否取消当前预约?") {[weak self] status in
            guard let weakSelf = self else { return }
            if status{
                Services.cancelCourse(courseStuRecordId: weakSelf.studentAppointModel.courseStuRecordId).subscribe(onNext: { data in
                    NotificationCenter.default.post(name: CourseBooking_Noti, object: weakSelf.indexPath)
                }).disposed(by: weakSelf.disposeBag)
            }
        }
    }
 
    @IBAction func QRCodeAction(_ sender: UIButton) {
 
        let date = studentAppointModel.timeFrame.components(separatedBy: " ").first
        let timesList = studentAppointModel.timeFrame.components(separatedBy: " ").last
 
 
        if let t = timesList{
             let startTime = t.components(separatedBy: "-").first!
            let endTime = t.components(separatedBy: "-").last!
            let startDateTime = Date.jq_StringToTimeInterval(String(format: "%@ %@", date!,startTime), "yyyy.MM.dd HH:mm:ss")
            let endDateTime = Date.jq_StringToTimeInterval(String(format: "%@ %@", date!,endTime), "yyyy.MM.dd HH:mm:ss")
 
            var times = [OpenDoorTimeModel]()
            times.append(OpenDoorTimeModel(start_time: startDateTime, end_time: endDateTime))
            let openDoorModel = OpenDoorModel(sid: studentAppointModel.sid, rid: studentAppointModel.rid , uid: studentAppointModel.userId, time: times, type: 2)
            if let modelStr = openDoorModel.toJSONString(){
                QRPreview.show(modelStr)
            }
        }
 
 
 
 
 
 
 
//        var a1 = [String]()
//        var b1 = [String]()
//
//        for v in timesList?.components(separatedBy: "-") ?? []{
//            let a = v.components(separatedBy: ",").first!
//            let b = v.components(separatedBy: ",").last!
//            a1.append(a);b1.append(b)
//        }
//
//        var times = [OpenDoorTimeModel]()
//        for (index,v) in a1.enumerated(){
//            let startTime = Date.jq_StringToTimeInterval(String(format: "%@ %@", date!,v), "yyyy.MM.dd HH:mm:ss")
//            let endTime = Date.jq_StringToTimeInterval(String(format: "%@ %@", date!,b1[index]),"yyyy.MM.dd HH:mm:ss")
//            times.append(OpenDoorTimeModel(start_time: startTime, end_time: endTime))
//        }
//        let openDoorModel = OpenDoorModel(sid: [studentAppointModel.siteId], rid: studentAppointModel.ids , uid: studentAppointModel.userId, time: times, type: 2)
//        if let modelStr = openDoorModel.toJSONString(){
//            QRPreview.show(modelStr)
//        }
    }
}