宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-06-01 60a5e5d29ea3a7c63bc5acc9052a656821127ab9
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
119
//
//  OrderReviewDetailVC.swift
//  OKProject
//
//  Created by 无故事王国 on 2023/4/10.
//  Copyright © 2023 yangwang. All rights reserved.
//
 
import UIKit
import QMUIKit
 
class OrderReviewDetailVC: YYViewController {
    private var id:Int!
    
    @IBOutlet weak var label_startAddress: UILabel!
    @IBOutlet weak var label_billing: UILabel!
    @IBOutlet weak var label_detailAddress: UILabel!
    @IBOutlet weak var label_payType: UILabel!
    @IBOutlet weak var stack_users: UIStackView!
    @IBOutlet weak var label_reason: UILabel!
    @IBOutlet weak var label_carType: UILabel!
    @IBOutlet weak var label_peopleNum: UILabel!
    @IBOutlet weak var textView_content: QMUITextView!
    @IBOutlet weak var label_textNum: UILabel!
    @IBOutlet weak var view_handle: UIView!
    
    init(id:Int) {
        super.init(nibName: nil, bundle: nil)
        self.id = id
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        title = "订单审核"
        
        APIManager.shared.provider.rx.request(.approveOrderDetail(id: id)).mapThenValidate(OrderReviewDetailModel.self).subscribe(onSuccess: {[weak self] result in
            guard let weakSelf = self else { return}
            switch result{
            case .success(let m):
                weakSelf.label_startAddress.text = m?.startAddress ?? ""
                weakSelf.label_detailAddress.text = m?.endAddress ?? ""
                weakSelf.label_billing.text = m?.calType.rawString ?? ""
                weakSelf.label_reason.text = m?.reasonTypeNames ?? ""
                weakSelf.label_carType.text = m?.serverCardName ?? ""
                weakSelf.textView_content.text = m?.auditRemark ?? ""
                weakSelf.label_peopleNum.text = "\(m?.peopleNum ?? 0)"
                weakSelf.label_payType.text = m?.payWay.rawStr ?? ""
                
                weakSelf.stack_users.removeSubviews()
                for v in m!.peopleItems{
                    if v.name.isEmpty && v.phone.isEmpty {continue}
                    let label = UILabel(text: String(format: "%@ %@", v.name,v.phone))
                    label.textColor = UIColor(hexString: "#333333")
                    label.textAlignment = .left
                    label.font = UIFont.systemFont(ofSize: 12, weight: .medium)
                    weakSelf.stack_users.addArrangedSubview(label)
                }
                
                switch m?.auditStatus{
                case .pass,.reject:
                    weakSelf.view_handle.isHidden = true
                    weakSelf.textView_content.isEditable = false
                case .review:
                    weakSelf.view_handle.isHidden = false
                    weakSelf.textView_content.isEditable = true
                default:break
                }
                
            case .failure(let error):
                alert(text: error.localizedDescription)
            }
        }) { error in
            alert(text: error.localizedDescription)
        }.disposed(by: disposeBag)
    }
    
    override func bindRx() {
        textView_content.rx.text.orEmpty.subscribe(onNext: { [weak self] text in
            self?.label_textNum.text = "\(text.length) / 50"
        }).disposed(by: disposeBag)
    }
    
    
    @IBAction func rejectAction(_ sender: UIButton) {
        guard !textView_content.text.isEmpty else {
            alert(text: "请输入拒绝内容");return
        }
        APIManager.shared.provider.rx.request(.approveOrderAudit(id: id, status: 2, auditRemark: textView_content.text)).mapThenValidate(Nothing.self).subscribe(onSuccess: {result in
            switch result{
            case .success(_):
                alert(text: "已提交")
                self.view_handle.isHidden = true
                NotificationCenter.default.post(name: OrderReviewRefresh_Noti, object: nil)
            case .failure(let error):alert(text: error.localizedDescription)
            }
        }) { error in
            alert(text: error.localizedDescription)
        }.disposed(by: disposeBag)
        
    }
    
    @IBAction func agreenAction(_ sender: UIButton) {
        APIManager.shared.provider.rx.request(.approveOrderAudit(id: id, status: 1)).mapThenValidate(Nothing.self).subscribe(onSuccess: {result in
            switch result{
            case .success(_):
                alert(text: "已提交")
                self.view_handle.isHidden = true
                NotificationCenter.default.post(name: OrderReviewRefresh_Noti, object: nil)
            case .failure(let error):alert(text: error.localizedDescription)
            }
        }) { error in
            alert(text: error.localizedDescription)
        }.disposed(by: disposeBag)
    }
}