宽窄优行-由【嘉易行】项目成品而来
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
//
//  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
            
            btn_detail.isHidden = taxiOrderModel.auditStatus == .cancel
            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)
            case .cancel:
                label_state.text = "已取消"
                label_state.textColor = UIColor(hexString: "#626262")
            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)
                        NotificationCenter.default.post(name: Notification.Name(rawValue: YYOrderListRefresh), 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!.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)
    }
}