diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt index 208cff0afe..7d823c9949 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiCurrentTaskViewModel.kt @@ -91,18 +91,7 @@ class TaxiCurrentTaskViewModel : BaseViewModel(), private fun cancelOrder(cancelType: Int) { val currentTaskWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() currentTaskWithOrder?.order?.also { - cancelOrder(AbsMogoApplication.getApp().applicationContext, - it.orderNo, - cancelType, - object : OchCommonServiceCallback { - override fun onSuccess(data: BaseData?) { - d(TAG, "handleCancelOrder() = onSuccess") - } - - override fun onFail(code: Int, msg: String?) { - d(TAG, "handleCancelOrder() $code $msg") - } - }) + TaxiTaskModel.cancelOrder(it.orderNo,cancelType) } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiNextTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiNextTaskFragment.kt index f81f02638c..1951dbf795 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiNextTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiNextTaskFragment.kt @@ -7,6 +7,7 @@ import android.view.View import androidx.core.content.ContextCompat import com.mogo.commons.mvp.BaseFragment import com.mogo.eagle.core.function.main.MainMoGoApplication +import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.taxi.R import com.mogo.och.taxi.bean.OrderDetail @@ -14,6 +15,7 @@ import com.mogo.och.taxi.bean.QueryCurrentTaskRespBean import com.mogo.och.taxi.constant.TaskStatusEnum import com.mogo.och.taxi.constant.TaskTypeEnum import com.mogo.och.taxi.utils.TaskUtils +import kotlinx.android.synthetic.main.task_fragment_current.cancelOrder import kotlinx.android.synthetic.main.task_fragment_current.endStationName import kotlinx.android.synthetic.main.task_fragment_current.mCurrentTaskLayout import kotlinx.android.synthetic.main.task_fragment_current.naviToEnd @@ -49,6 +51,17 @@ class TaxiNextTaskFragment : BaseFragment() { } override fun initViews() { + cancelOrder.onClick { //取消待服务订单 + val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() + if (currentWithOrder?.order != null) { + val order = currentWithOrder.order + activity?.also { + TaxiOrderCancelDialog(it, order!!.orderStatus) { type -> + TaxiTaskModel.cancelOrder(order.orderNo,type) + }.show() + } + } + } showNoNextTaskView() } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiOrderCancelDialog.java b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiOrderCancelDialog.java index 64e8a5a649..58d8a05621 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiOrderCancelDialog.java +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiOrderCancelDialog.java @@ -53,6 +53,11 @@ public class TaxiOrderCancelDialog extends AlertDialog implements View.OnClickLi private void initReasonArray() { TaxiOrderStatusEnum ochStatus = TaxiOrderStatusEnum.valueOf(mOrderStatus); switch (ochStatus) { + case None: + mContentArrays = new String[]{TaxiOrderCancelReasons.BookPassengerCancel.getMsg(), + TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.BookJourneyConflict.getMsg(), + TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.BookOther.getMsg()}; + return; case OnTheWayToStart: mContentArrays = new String[]{TaxiOrderCancelReasons.CarBroken.getMsg(), TaxiOrderCancelReasons.DeviceBroken.getMsg(), TaxiOrderCancelReasons.BatteryLow.getMsg(), TaxiOrderCancelReasons.DriverIsIll.getMsg(), diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt index 7c70c7a879..6b9cad59c4 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/taxi/ui/task/TaxiTaskModel.kt @@ -748,6 +748,23 @@ object TaxiTaskModel { }) } + /** + * 取消订单 进行中/待服务 + */ + fun cancelOrder(orderNo: String,cancelType: Int){ + TaxiTaskWithOrderServiceManager.cancelOrder(AbsMogoApplication.getApp().applicationContext, + orderNo, cancelType, + object : OchCommonServiceCallback { + override fun onSuccess(data: BaseData?) { + d(TAG, "handleCancelOrder() = onSuccess") + } + + override fun onFail(code: Int, msg: String?) { + d(TAG, "handleCancelOrder() $code $msg") + } + }) + } + fun updateLocalCalculateStation() { if (mCurrentTaskWithOrder == null) return if (mCurrentTaskWithOrder!!.startSite != null && mCurrentTaskWithOrder!!.endSite != null