宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-07-05 0d8f5fc8a516bfd07e425909e4a4432600572ee7
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
//
//  YYSpecialCarAppointmentViewController.swift
//  OKProject
//
//  Created by alvin_y on 2020/9/24.
//  Copyright © 2020 yangwang. All rights reserved.
//
 
import UIKit
 
/// 快车预约
class YYSpecialCarAppointmentViewController: YYViewController {
 
    /// 司机和行程信息栏
    let view_travel = YYTravelInfosView.makeByXIB()
    
    let viewModel: YYSpecialCarViewModel
    
    /// 信息
    lazy var view_info: UIView = {
       let view = UIView()
        view.backgroundColor = .white
        view.shadowColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 0.1)
        view.shadowOffset = CGSize.zero
        view.shadowRadius = 4
        view.shadowOpacity = 1
        view.cornerRadius = 16
        let label = UILabel()
        label.text = "订单开始前30分钟可以查看司机位置"
        label.font = UIFont.systemFont(ofSize: 14, weight: .medium)
        label.textColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
        view.addSubview(label)
        label.snp.makeConstraints { (make) in
            make.edges.equalToSuperview().inset(UIEdgeInsets(top: 6, left: 12, bottom: 6, right: 12))
        }
        return view
    }()
    
    init(viewModel: YYSpecialCarViewModel) {
        self.viewModel = viewModel
        super.init(nibName: nil, bundle: nil)
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
 
        // Do any additional setup after loading the view.
    }
    
    override func setupViews() {
        super.setupViews()
        
        title = "等待接驾"
        
        view.backgroundColor = #colorLiteral(red: 0.9529411765, green: 0.9568627451, blue: 0.9607843137, alpha: 1)
        
        view.addSubview(view_travel)
        
        view.addSubview(view_info)
    }
    
    
    //MARK: - Rx
    override func bindRx() {
        super.bindRx()
        
        view_travel.button_call
            .rx.tap
            .subscribe(onNext: {[unowned self] (_) in
                guard let phone = self.viewModel.dataSource.value?.driverPhone else {return}
                call(number: phone)
            })
            .disposed(by: disposeBag)
        
        view_travel.button_avatar.rx.tap
            .subscribe(onNext: {[unowned self] (_) in
                guard let driverId = self.viewModel.dataSource.value?.driverId else{return}
                let vc = DriverInfoVC(driverId: driverId)
                self.yy_push(vc: vc)
            })
            .disposed(by: disposeBag)
        
        /// 司机信息
        viewModel.dataSource
            .subscribe(onNext: { [unowned self] (dataSource) in
                self.view_travel.configure(for: dataSource)
            })
            .disposed(by: disposeBag)
        
    }
    
    override func defineLayouts() {
        super.defineLayouts()
 
        view_travel.snp.makeConstraints { (make) in
            make.top.equalTo(topLayoutGuide.snp.bottom)
            make.left.right.equalTo(view)
        }
        
        view_info.snp.makeConstraints { (make) in
            make.centerX.equalToSuperview()
            make.top.equalTo(view_travel.snp.bottom).offset(145)
        }
        
    }
    
}