宽窄优行-由【嘉易行】项目成品而来
younger_times
2023-05-06 739a784e0bb13fc37bae846492feaccf02b1af5c
OKProject/Class/Home/Controller/TravelVC.swift
@@ -25,6 +25,9 @@
    case acrossLogistics = 5
    /// 包车
    case charter = 6
    //公务用车
    case business = 8
    
    func parame() -> Int {
        switch self {
@@ -38,6 +41,8 @@
            return 5
        case .charter:
            return 6
        case .business:
            return 8
        default:
            return 1
        }
@@ -55,6 +60,8 @@
            return .acrossLogistics
        case 6:
            return .charter
        case 8:
            return .business
        default:
            return .special
        }
@@ -92,9 +99,11 @@
    
    /// 开始滑动之前的偏移量
    private var beforeOffsetY = screenH - navH - 168 - yy_bottomH - 30
    /// 附近车辆
    private var view_carNum = CarNumView.instance()
    var officialCharterClouse:(()->Void)?
    
    lazy var label_desc: UILabel = {
        let label = UILabel()
@@ -132,6 +141,8 @@
        YYMapViewManager.share.orderType.accept(viewModel.orderType.value)
        cell.setupView()
        cell.bindRx()
        //74067 【特惠购卡】需根据返回的状态,是否显示 购卡模块、 我的商家中心模块
        buyCardHeight = showCar == true ? 42:0
        cell.buyCardBtn.isHidden = !showCar
@@ -226,10 +237,42 @@
                })
                return
            }
            if self.viewModel.orderType.value == .business{
                let view = TaxiReservationView()
                view.show(intervalMinute:20)
                view.complete.delegate(on: self) { (self, timeStamp) in
                    if timeStamp == nil{
                        YYMapViewManager.share.timeStamp.accept(nil)
                        cell.button_date.setTitle("现在", for: .normal)
                    }else{
                        YYMapViewManager.share.timeStamp.accept(timeStamp)
                        cell.button_date.setTitle(timeStamp!.toFormat(format: "M月d日 HH:mm"), for: .normal)
                    }
                }
            }
        }
        
        // 时间
        cell.passenger.delegate(on: self) { (self, _) in
            //公务车出行事由
            if self.viewModel.orderType.value == .business{
                let vc = ReasonforTravelVC()
                vc.view.backgroundColor = UIColor.black.withAlphaComponent(0)
                vc.view.frame = CGRect(x: 0, y: screenH, width: ScreenWidth, height: ScreenHeight)
                self.navigationController?.addChild(vc)
                self.navigationController?.view.addSubview(vc.view)
                UIView.animate(withDuration: 0.5) {
                    vc.view.frame = app.window?.frame ?? .zero
                    vc.view.backgroundColor = UIColor.black.withAlphaComponent(0.5)
                } completion: { _ in
                }
                return
            }
            let view = TaxiReservationView()
            view.show(intervalMinute:20)
            view.complete.delegate(on: self) { (self, timeStamp) in
@@ -248,6 +291,19 @@
        
        // 添加小费
        cell.tip.delegate(on: self) { (self, _) in
                //公务车计费方式
                if self.viewModel.orderType.value == .business{
                    MineInfoView.instance(data: ["单程计费","包车计费"]).show { (row) in
                        if row == 0{
                        }else{
                            self.officialCharterClouse?()
                            let vc = OfficialCharterVC()
                        }
                    }
                    return
                }
            let view = TipView.instance()
            view.show()
            view.complete.delegate(on: self) { (self, string) in
@@ -332,6 +388,10 @@
    init(orderType: OrderType) {
        super.init(nibName: nil, bundle: nil)
        viewModel.orderType.accept(orderType)
        if orderType == .business{
            YYMapViewManager.share.state.accept(.appointment)
        }
    }
    
    required init?(coder: NSCoder) {
@@ -385,11 +445,6 @@
        super.viewWillAppear(animated)
        setupMapView()
        viewModel.queryServingOrder()
        //        if self.viewModel.orderType.value == .taxi{
        //            self.cell_address.button_passenger.setTitle("更换乘车人", for: .normal)
        //        }else{
        //            self.cell_address.button_passenger.setTitle("选乘车人", for: .normal)
        //        }
    }
    
    //MARK: - UI
@@ -495,12 +550,10 @@
                        let vc = YYSpecialCarViewController.init(orderId: self.viewModel.orderId.value)
                        self.yy_push(vc: vc)
                        break
                    case .cityLogistics:
                        break
                    case .acrossLogistics:
                        break
                    case .charter:
                        break
                    case .business:
                        let vc = TravelServiceVC.init(orderId: self.viewModel.orderId.value, orderType: self.viewModel.orderType.value)
                        self.yy_push(vc: vc)
                        default:break
                    }
                    
                    break
@@ -532,14 +585,11 @@
                let vc = YYSpecialCarViewController.init(orderId: self.viewModel.currentOrderId.value,isCarpool: isCarpool)
                self.yy_push(vc: vc)
                case .business:
                    break
            case .travel:
                break
            case .cityLogistics:
                break
            case .acrossLogistics:
                break
            case .charter:
                break
                default:break
            }
            
        }
@@ -560,6 +610,12 @@
                    }else{
                        self.offset = 0
                    }
                    if viewModel.orderType.value == .business{
                        self.cellHeight = 280
                    }
                    self.tableView.contentInset.top = self.OffsetY
                    self.tableView.reloadSections(IndexSet.init(integer: 0), with: .automatic)
                    self.tableView.layoutIfNeeded()