From ab6ef7166ee51721fec3e3537414f6d6ed08b49d Mon Sep 17 00:00:00 2001
From: younger_times <841720330@qq.com>
Date: 星期二, 30 五月 2023 18:07:58 +0800
Subject: [PATCH] 新增功能

---
 OKProject/Class/Home/ViewModel/TravelViewModel.swift |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/OKProject/Class/Home/ViewModel/TravelViewModel.swift b/OKProject/Class/Home/ViewModel/TravelViewModel.swift
index 66c11c4..43cc2ec 100644
--- a/OKProject/Class/Home/ViewModel/TravelViewModel.swift
+++ b/OKProject/Class/Home/ViewModel/TravelViewModel.swift
@@ -53,7 +53,22 @@
     /// 订单Id
     let orderId = BehaviorRelay<Int>(value: 0)
     
+    /// 企业审核情况
     let authStatus = BehaviorRelay<Bool>(value: false)
+    
+    /// 出行事由
+    let trailReason = BehaviorRelay<String?>(value: nil)
+    
+    /// 出行具体内容
+    let trailContentReason = BehaviorRelay<String?>(value: nil)
+    
+    /// 付费方式
+    let officalPaymentType = BehaviorRelay<OfficalPaymentType>(value: .selfPay)
+    
+    let passengers = BehaviorRelay<[PassengerInfo]>(value: [])
+    
+    /// 计费方式
+    let calType = BehaviorRelay<Int?>(value: nil)
     
     /// 获取正在进行中的订单
     func queryServingOrder()  {
@@ -161,6 +176,34 @@
         .disposed(by: disposeBag)
     }
     
+    func officalOrder(){
+        guard let originInfo = YYMapViewManager.share.originInfo.value,let destination = YYMapViewManager.share.destination.value else {return}
+        taxiOrderSubject.onNext(.loading)
+        let orderType = YYMapViewManager.share.state.value == .appointment ? 2 : 1
+        let substitute = YYMapViewManager.share.passenger.value == nil ? 0 : 1
+        let timeStamp = DateInRegion(Date(), region: Region(calendar: Calendars.gregorian, zone: Zones.current,locale: Locales.current)).toFormat("yyyy-MM-dd HH:mm")
+        let travelTime = orderType == 2 ? YYMapViewManager.share.timeStamp.value?.toFormat(format: "yyyy-MM-dd HH:mm") ?? timeStamp : timeStamp
+        
+        if substitute == 1{
+            YYMapViewManager.share.passenger.accept(PassengerModel(name: app.userInfo.nickName, phone: app.userInfo.phone))
+        }
+        
+        let reqModel = OfficalRequstModel(serverCarModelId:selectedCarType.value?.id,calType: .Single, endAddress: destination.name, endLat: destination.lat, endLon: destination.lon, orderSource: 1, orderType: orderType, passengers: YYMapViewManager.share.passenger.value?.name, passengersPhone: YYMapViewManager.share.passenger.value?.phone, payWay: officalPaymentType.value.rawValue, people: passengers.value.arrayToJson(), peopleNum: passengers.value.count, placementLat: Double(YYMapViewManager.share.userLocation.latitude), placementLon: Double(YYMapViewManager.share.userLocation.longitude), reason: trailContentReason.value, reasonTypeNames: trailReason.value, startAddress: originInfo.name, startLat: originInfo.lat, startLon: originInfo.lon, substitute: substitute, travelTime: timeStamp, type: 1)
+        
+        APIManager.shared.provider.rx
+            .request(.saveOrderBusiness(model: reqModel)).map(YYModel<SwitchCityModel>.self)
+            .validate()
+            .subscribe(onSuccess: {[unowned self]  (model) in
+                guard let data = model.data else{return}
+                self.orderId.accept(data.id)
+                self.taxiOrderSubject.onNext(.success(nil))
+            }) { [unowned self] (error) in
+                self.taxiOrderSubject.onNext(.error(error))
+        }
+        .disposed(by: disposeBag)
+        
+    }
+    
     
     /// 快车下单
     func specialOrder()  {

--
Gitblit v1.7.1