宽窄优行-由【嘉易行】项目成品而来
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
//
//  OrderReviewTCell.swift
//  OKProject
//
//  Created by 无故事王国 on 2023/4/10.
//  Copyright © 2023 yangwang. All rights reserved.
//
 
import UIKit
 
class OrderReviewTCell: UITableViewCell {
    
    @IBOutlet weak var label_datetime: UILabel!
    @IBOutlet weak var label_state: UILabel!
    @IBOutlet weak var label_useTime: UILabel!
    @IBOutlet weak var label_useDatetime: UILabel!
    @IBOutlet weak var btn_detail: UIButton!
    @IBOutlet weak var label_useRequire: UILabel!
    
    var viewModel:TravelServiceViewModel?
    
    var orderReviewModel:OrderReviewModel!{
        didSet{
            label_useRequire.text = "用车要求:" + orderReviewModel.serverCardName
            label_datetime.text = orderReviewModel.insertTime
            label_state.text = orderReviewModel.auditStatus.rawStr
            
            switch orderReviewModel.auditStatus{
            case .review:
                label_state.text = "待处理"
                label_state.textColor = UIColor(hexString: "#45B494")
            case .reject:
                label_state.text = "已拒绝"
                label_state.textColor = UIColor.red
            case .pass:
                label_state.text = "已处理"
                label_state.textColor = UIColor(hexString: "#626262")
            default:break
            }
            
            label_useTime.isHidden  = (orderReviewModel.useDay == 0 && orderReviewModel.useHour == 0)
            label_useDatetime.text = "用车时间:" + orderReviewModel.useTime
            label_useTime.text = String(format: "用车时长:%ld天%ld时", orderReviewModel.useDay,orderReviewModel.useHour)
        }
    }
    
    var taxiOrderModel:TaxiOrderModel!{
        didSet{
            label_useRequire.text = "用车要求:" + taxiOrderModel.serverCarModel
            label_datetime.text = taxiOrderModel.orderTime
            label_state.text = taxiOrderModel.auditStatus.rawStr
            
            switch taxiOrderModel.auditStatus{
            case .review:
                label_state.text = "待处理"
                label_state.textColor = UIColor(hexString: "#45B494")
                btn_detail.setTitle("取消订单", for: .normal)
            case .reject:
                label_state.text = "已拒绝"
                label_state.textColor = UIColor.red
                btn_detail.setTitle("详情", for: .normal)
            case .pass:
                label_state.text = "已处理"
                label_state.textColor = UIColor(hexString: "#626262")
                btn_detail.setTitle("详情", for: .normal)
            default:break
            }
            
            label_useTime.isHidden  = (taxiOrderModel.useDay == 0 && taxiOrderModel.useHour == 0)
            label_useDatetime.text = "用车时间:" + taxiOrderModel.useTime
            label_useTime.text = String(format: "用车时长:%ld天%ld时", taxiOrderModel.useDay,taxiOrderModel.useHour)
        }
    }
 
    override func awakeFromNib() {
        super.awakeFromNib()
        selectionStyle = .none
    }
 
    @IBAction func detailAction(_ sender: UIButton) {
        
        if sender.titleLabel?.text == "取消订单"{
            alert(popup: .double, title: "提示", text: "您确定要取消该订单吗?", submitTitle: "确定取消", cancelTitle: "不取消", submitClick: { [weak self]  in
                guard let self = self else{return}
                self.viewModel = TravelServiceViewModel()
                
                self.viewModel?.cancleOrderTaxiSubject.subscribe(onNext: { status in
                    switch status{
                    case .success(_):
                        NotificationCenter.default.post(name: OrderReviewRefresh_Noti, object: nil)
                    case .error(let error):
                        alert(text: error.localizedDescription)
                    case .loading:break
                    }
                }, onError: { error in
                    alert(text: error.localizedDescription)
                }).disposed(by: self.rx.disposeBag)
                
                self.viewModel?.addCancleSubject.subscribe(onNext: { status in
                    switch status{
                    case .success(_):self.viewModel!.cancleOrderTaxi()
                    case .error(let error):
                        alert(text: error.localizedDescription)
                    case .loading:break
                    }
                    
                }, onError: { error in
                    alert(text: error.localizedDescription)
                }).disposed(by: self.rx.disposeBag)
                
                
                self.viewModel!.orderId.accept(self.taxiOrderModel.orderId)
                self.viewModel!.orderType.accept(OrderType(rawValue: self.taxiOrderModel.orderType)!)
                self.viewModel!.addCancle()
                
                
                
                
            }){}
            return
        }
        
        var id:Int!
        if taxiOrderModel != nil {
            id = taxiOrderModel.orderId
        }
        
        if orderReviewModel != nil{
            id = orderReviewModel.id
        }
    
        
        let detailVC = OrderReviewDetailVC(id:id)
        LD_currentNavigationController().pushViewController(detailVC)
    }
}