From eb98fdac45ce52c592a32c862423ef139faf2bce Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期三, 20 五月 2026 20:59:30 +0800
Subject: [PATCH] 修复问题

---
 app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt |  202 +++++++++++++++++++++++++++++---------------------
 1 files changed, 117 insertions(+), 85 deletions(-)

diff --git a/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
index 7a4c3d2..5c0f19c 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/small_cargo/SmallCargoActivity.kt
@@ -11,8 +11,6 @@
 import android.widget.ImageView
 import android.widget.TextView
 import cn.sinata.xldutils.utils.*
-import com.google.android.gms.maps.model.LatLng
-import com.google.android.gms.maps.model.Marker
 import com.driver.igotrip.R
 import com.driver.igotrip.base.BaseEvent
 import com.driver.igotrip.base.Const
@@ -30,12 +28,13 @@
 import com.driver.igotrip.ui.DialogUtil
 import com.driver.igotrip.ui.UiUtil
 import com.driver.igotrip.ui.main.ReassignActivity
-import com.driver.igotrip.ui.main.major.MajorSureMoneyActivity
 import com.driver.igotrip.utils.DateUtil
 import com.driver.igotrip.utils.MyUtils
 import com.driver.igotrip.utils.view.SlidingButton
 import com.google.android.gms.maps.GoogleMap
 import com.google.android.gms.maps.SupportMapFragment
+import com.google.android.gms.maps.model.LatLng
+import com.google.android.gms.maps.model.Marker
 import com.google.android.gms.maps.model.Polyline
 import com.google.gson.Gson
 import com.trello.rxlifecycle3.android.ActivityEvent
@@ -43,7 +42,6 @@
 import io.reactivex.android.schedulers.AndroidSchedulers
 import io.reactivex.disposables.Disposable
 import io.reactivex.schedulers.Schedulers
-
 import org.greenrobot.eventbus.EventBus
 import org.jetbrains.anko.find
 import org.jetbrains.anko.startActivity
@@ -115,9 +113,9 @@
 
         var language = SPUtils.getString(Const.language)
         if (language == Const.Language.ENGLISH || language == Const.Language.FRENCH)
-            btn_gap_money.setTextSize(TypedValue.COMPLEX_UNIT_SP,12f)
+            btn_gap_money.setTextSize(TypedValue.COMPLEX_UNIT_SP, 12f)
         else
-            btn_gap_money.setTextSize(TypedValue.COMPLEX_UNIT_SP,14f)
+            btn_gap_money.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14f)
     }
 
     override fun initView() {
@@ -129,14 +127,14 @@
         MyApplication.addOrderView(object : MyApplication.OrderStatueView {
             override fun orderInfo(data: OrderSimpleData?) {
                 data?.let {
-                    if (it.status == 10 || it.status == 11|| it.status == 12) {
+                    if (it.status == 10 || it.status == 11 || it.status == 12) {
                         MyApplication.currentOrderType = ""
                         MyApplication.currentOrderId = ""
                         Handler(Looper.getMainLooper()).post {
                             finish()
                         }
                     }
-                    if ((it.orderType == 4 || it.orderType == 5) && it.orderId.toString() == orderId && (it.status != 10 && it.status != 11&& it.status != 12)) {
+                    if ((it.orderType == 4 || it.orderType == 5) && it.orderId.toString() == orderId && (it.status != 10 && it.status != 11 && it.status != 12)) {
                         Handler(Looper.getMainLooper()).post {
                             callOrder() {}
                         }
@@ -158,7 +156,7 @@
                     OrderSimpleData::class.java
                 )
             orderSimpleData?.let {
-                if (it.status == 10||it.status == 12) {
+                if (it.status == 10 || it.status == 12) {
                     MyApplication.currentOrderType = ""
                     MyApplication.currentOrderId = ""
                     Handler(Looper.getMainLooper()).post {
@@ -250,7 +248,7 @@
                     callseatmoney(num) {
                         dialog.dismiss()
                         btn_gap_money.text = getString(R.string.差价待确认).format(num.toDouble())
-                        btn_gap_money.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,0,0)
+                        btn_gap_money.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0)
 //                        toast(getString(R.string.set_success))
                     }
                 }
@@ -321,13 +319,26 @@
                 when (it.data.orderState) {
                     2, 3, 4 -> {
                         if (it.data.orderState == 4) {
-//                            showNumDialog { num ->
-                            it.data.orderState++
-                            callStatue("1", it.data.orderState) {
-                                iv_to_gd.callOnClick()
+                            if (orderType == "4") {
+                                DialogUtil.getDelAndSureDialog(
+                                    this,
+                                    getString(R.string.确认现金金额).format(it.data.expressPayAllMoney)
+                                        .replace(",", "."),
+                                    {},
+                                    {
+                                        it.data.orderState++
+                                        callStatue("1", it.data.orderState) {
+                                            iv_to_gd.callOnClick()
+                                        }
+                                        showStatueMapUI(it)
+                                    })
+                            } else {
+                                it.data.orderState++
+                                callStatue("1", it.data.orderState) {
+                                    iv_to_gd.callOnClick()
+                                }
+                                showStatueMapUI(it)
                             }
-                            showStatueMapUI(it)
-//                            }
                         } else {
                             it.data.orderState++
                             callStatue(it.data.orderState, "") {
@@ -359,7 +370,7 @@
                             if (it.data.driverPay == "1") {
                                 tv_money.visible()
                                 tv_money.text =
-                                    getString(R.string.确认现金金额).format(if (it.data.payMoney == 0.0) it.data.orderMoney else it.data.payMoney)
+                                    getString(R.string.确认现金金额).format(if (orderType == "4") it.data.expressPayAllMoney else if (it.data.payMoney == 0.0) it.data.orderMoney else it.data.payMoney)
                                         .replace(",", ".")
                             }
                             tv_sure_car_num.setOnClickListener {
@@ -374,10 +385,10 @@
 //                                        "orderId" to orderId,
 //                                        "orderType" to orderType
 //                                    )
-                                   /* startActivity<MajorSureMoneyActivity>(
-                                        "orderId" to orderId,
-                                        "orderType" to orderType
-                                    )*/
+                                    /* startActivity<MajorSureMoneyActivity>(
+                                         "orderId" to orderId,
+                                         "orderType" to orderType
+                                     )*/
                                     finish()
                                 }
                             }
@@ -452,7 +463,10 @@
         map["state"] = i
         if (!num.isNullOrEmpty())
             map["pickUpCode"] = num
-        Log.e("定位==============》", "${MyApplication.getLocation()?.latitude},${MyApplication.getLocation()?.longitude}")
+        Log.e(
+            "定位==============》",
+            "${MyApplication.getLocation()?.latitude},${MyApplication.getLocation()?.longitude}"
+        )
         map["lat"] = MyApplication.getLocation()?.latitude ?: 0.0
         map["lon"] = MyApplication.getLocation()?.longitude ?: 0.0
         callNet(Api.process, map) {
@@ -484,17 +498,19 @@
     private fun initMineLocation() {
         aMap.setOnMyLocationChangeListener {
             it.let { latlon ->
-                MyApplication.aMapLocation = LatLng(it.latitude,it.longitude)
+                MyApplication.aMapLocation = LatLng(it.latitude, it.longitude)
             }
             orderBean?.let {
                 when (it.data.orderState) {
                     2, 3 -> {
                         changeCarThree(false)
                     }
-                    4->{
+
+                    4 -> {
                         //getTripInfo(4,false)
                         changeCarThree(false)
                     }
+
                     5, 6 -> {
                         changeCarFive(false)
                     }
@@ -588,7 +604,7 @@
         }
     }
 
-    private fun callOrder(reNavi:Boolean = false,function: () -> Unit) {
+    private fun callOrder(reNavi: Boolean = false, function: () -> Unit) {
         MyApplication.currentOrderId = orderId
         MyApplication.currentOrderType = orderType
         var map = getMapByAny()
@@ -598,15 +614,21 @@
             orderBean = gson.fromJson(it, OrderBean::class.java)
             showUi(orderBean)
             function()
-            if (reNavi){
-                EventBus.getDefault().post(BaseEvent(BaseEvent.RELOAD_NAVI,orderBean!!.data.endLat.toString(),orderBean!!.data.endLon.toString()))
+            if (reNavi) {
+                EventBus.getDefault().post(
+                    BaseEvent(
+                        BaseEvent.RELOAD_NAVI,
+                        orderBean!!.data.endLat.toString(),
+                        orderBean!!.data.endLon.toString()
+                    )
+                )
             }
         }
     }
 
     private fun showUi(orderBean: OrderBean?) {
         orderBean?.let {
-            if (it.data.isFrozen == 2){
+            if (it.data.isFrozen == 2) {
                 toast(getString(R.string.已冻结))
                 finish()
             }
@@ -628,8 +650,9 @@
 //                tv_money_cargo.gone()
 //            }
             if (!it.data.differenceMoney.isNullOrEmpty() && it.data.differenceMoney.toDouble() > 0) {
-                btn_gap_money.text = getString(R.string.差价点击修改).format(it.data.differenceMoney.toDouble())
-                btn_gap_money.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,0,0)
+                btn_gap_money.text =
+                    getString(R.string.差价点击修改).format(it.data.differenceMoney.toDouble())
+                btn_gap_money.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0)
             }
             var latLngList = mutableListOf<LatLng>()
             for (item in orderBean.data.orderPositionList) {
@@ -658,7 +681,7 @@
             val view = createView(R.layout.item_map_market, this)
             view.find<ImageView>(R.id.iv_img).setImageResource(UiUtil.getLangEndBitmap())
             endMarker = addMarker(aMap, it.data.endLat, it.data.endLon, view, "")
-        }else{ //可能修改终点
+        } else { //可能修改终点
             endMarker?.position = LatLng(it.data.endLat, it.data.endLon)
         }
         endMarker!!.isVisible = false
@@ -757,58 +780,58 @@
         }
     }
 
-    private fun getTripInfo(state:Int,isMove: Boolean){
-       /* var map = getMapByAny()
-        map["orderId"] = orderId
-        map["orderType"] = orderType
-        Log.e("QXS=mmp","getTripInfo:state=${state},orderId=${orderId},orderType=${orderType}")
-        callNet(false,Api.getTripInfo, map) {
-            val bean = Gson().fromJson(it, StringBean::class.java)
-            if (bean.code == 200&&!bean.data.isNullOrEmpty()){
-                val trip = Gson().fromJson(bean.data, GoogleTripInfo::class.java)
-                val latlon = if (trip?.lastLocation == null) LocationX(MyApplication.aMapLocation!!.latitude,MyApplication.aMapLocation!!.longitude) else trip.lastLocation.location //车辆位置
-                carMarker?.position = LatLng(latlon.latitude, latlon.longitude)
-                if (state != 4){
-                    graylist.add(LatLng(latlon.latitude, latlon.longitude))
-                    grayline?.remove()
-                    grayline = AMapKit.drawLine(this, aMap, graylist, R.color.gray)
-                    val routs = arrayListOf<LatLng>()
-                    if (!trip.route.isNullOrEmpty())
-                        routs.addAll(trip.route.map { LatLng(it.latitude,it.longitude) })
-                    addline(routs)
-                }else{
-                    closeLine()
-                    graylist.clear()
-                    grayline?.remove()
-                }
-                if (state == 3){
-                    val tance = AMapKit.getTance(this@SmallCargoActivity, trip.remainingDistanceMeters.toFloat())
-                    val content = getString(R.string.距取货点, tance)
-                    val sp = SpanBuilder.content(content)
-                        .colorSpan(
-                            this@SmallCargoActivity,
-                            content.indexOf(tance),
-                            content.indexOf(tance) + tance.length,
-                            R.color.color_5DB03D
-                        ).build()
-                    var view = creatCarView(sp)
-                    carMarker!!.setIcon(getIcon(view))
-                }
-                if (state == 5){
-                    val tance = AMapKit.getTance(this, trip.remainingDistanceMeters.toFloat())
-                    val seconds = trip.remainingWaypoints?.firstOrNull()?.duration ?:"0s"
-                    val time = (seconds.substring(0,seconds.length-1).toDouble()/60).toInt().toString()
-                    val content = getString(R.string.预计还需, tance, time)
-                    val sb = SpanBuilder.content(content).colorSpan(this,content.indexOf(tance),content.indexOf(tance)+tance.length,R.color.color_5DB03D)
-                        .colorSpan(this,content.indexOf(time),content.indexOf(time)+time.length,R.color.color_5DB03D).build()
-                    var view = creatCarView(sb)
-                    carMarker!!.setIcon(getIcon(view))
-                }
-                if (isMove) {
-                    iv_move.callOnClick()
-                }
-            }
-        }*/
+    private fun getTripInfo(state: Int, isMove: Boolean) {
+        /* var map = getMapByAny()
+         map["orderId"] = orderId
+         map["orderType"] = orderType
+         Log.e("QXS=mmp","getTripInfo:state=${state},orderId=${orderId},orderType=${orderType}")
+         callNet(false,Api.getTripInfo, map) {
+             val bean = Gson().fromJson(it, StringBean::class.java)
+             if (bean.code == 200&&!bean.data.isNullOrEmpty()){
+                 val trip = Gson().fromJson(bean.data, GoogleTripInfo::class.java)
+                 val latlon = if (trip?.lastLocation == null) LocationX(MyApplication.aMapLocation!!.latitude,MyApplication.aMapLocation!!.longitude) else trip.lastLocation.location //车辆位置
+                 carMarker?.position = LatLng(latlon.latitude, latlon.longitude)
+                 if (state != 4){
+                     graylist.add(LatLng(latlon.latitude, latlon.longitude))
+                     grayline?.remove()
+                     grayline = AMapKit.drawLine(this, aMap, graylist, R.color.gray)
+                     val routs = arrayListOf<LatLng>()
+                     if (!trip.route.isNullOrEmpty())
+                         routs.addAll(trip.route.map { LatLng(it.latitude,it.longitude) })
+                     addline(routs)
+                 }else{
+                     closeLine()
+                     graylist.clear()
+                     grayline?.remove()
+                 }
+                 if (state == 3){
+                     val tance = AMapKit.getTance(this@SmallCargoActivity, trip.remainingDistanceMeters.toFloat())
+                     val content = getString(R.string.距取货点, tance)
+                     val sp = SpanBuilder.content(content)
+                         .colorSpan(
+                             this@SmallCargoActivity,
+                             content.indexOf(tance),
+                             content.indexOf(tance) + tance.length,
+                             R.color.color_5DB03D
+                         ).build()
+                     var view = creatCarView(sp)
+                     carMarker!!.setIcon(getIcon(view))
+                 }
+                 if (state == 5){
+                     val tance = AMapKit.getTance(this, trip.remainingDistanceMeters.toFloat())
+                     val seconds = trip.remainingWaypoints?.firstOrNull()?.duration ?:"0s"
+                     val time = (seconds.substring(0,seconds.length-1).toDouble()/60).toInt().toString()
+                     val content = getString(R.string.预计还需, tance, time)
+                     val sb = SpanBuilder.content(content).colorSpan(this,content.indexOf(tance),content.indexOf(tance)+tance.length,R.color.color_5DB03D)
+                         .colorSpan(this,content.indexOf(time),content.indexOf(time)+time.length,R.color.color_5DB03D).build()
+                     var view = creatCarView(sb)
+                     carMarker!!.setIcon(getIcon(view))
+                 }
+                 if (isMove) {
+                     iv_move.callOnClick()
+                 }
+             }
+         }*/
     }
 
 
@@ -921,18 +944,27 @@
                 MyApplication.currentOrderType = ""
                 finish()
             }
+
             BaseEvent.BACK_CAR_OVER -> {
                 finish()
             }
+
             BaseEvent.DIFF_PRICE_AGREE -> {
                 if (mapInitStatus) initView2()
             }
+
             BaseEvent.DIFF_PRICE_REFUSE -> {
                 btn_gap_money.text = getString(R.string.补差价)
-                btn_gap_money.setCompoundDrawablesRelativeWithIntrinsicBounds(R.mipmap.ic_add,0,0,0)
+                btn_gap_money.setCompoundDrawablesRelativeWithIntrinsicBounds(
+                    R.mipmap.ic_add,
+                    0,
+                    0,
+                    0
+                )
             }
+
             BaseEvent.MODIFY_ADDRESS_SUC -> {
-                callOrder(true){}
+                callOrder(true) {}
             }
         }
     }

--
Gitblit v1.7.1