From b30cd30f538d421bd8579df88803008e4b8a3d11 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 18 Oct 2024 13:50:10 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[6.7.0]=20[fea]=20[=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E7=AB=99=E7=82=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wigets/dialog/CommonDialogView.kt | 4 + .../taxi/constant/TaxiOrderCancelReasons.kt | 2 +- .../och/unmanned/taxi/ui/debug/DebugView.kt | 2 +- .../errorpoint/ReportErrorPointView.kt | 11 +- .../taxi/ui/task/TaxiCurrentTaskFragment.kt | 7 - .../taxi/ui/task/TaxiNextTaskFragment.kt | 11 +- .../cancleorder/CancleOrderItemAdapter.kt | 78 +++++++++++ .../ui/task/cancleorder/CancleOrderView.kt | 126 ++++++++++++++++++ .../task/cancleorder/CancleOrderViewModel.kt | 121 +++++++++++++++++ .../itinerarycurrent/ItineraryCurrentView.kt | 9 +- .../task/itinerarynext/ItineraryNextView.kt | 12 +- .../itinerayswitch/ItinerarySwitchView.kt | 1 + .../res/layout/taxt_cancle_order_reson.xml | 79 +++++++++++ .../layout/taxt_cancle_order_reson_item.xml | 31 +++++ .../layout/unmanned_taxi_base_fragment.xml | 7 +- 15 files changed, 462 insertions(+), 39 deletions(-) create mode 100644 OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderItemAdapter.kt create mode 100644 OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderView.kt create mode 100644 OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt create mode 100644 OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson.xml create mode 100644 OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson_item.xml diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt index 0f04d30f14..9ab911d93b 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/dialog/CommonDialogView.kt @@ -54,5 +54,9 @@ class CommonDialogView(context: Context,val view:View,val width:Float,val height } } + interface CloseCallback { + fun close() + } + } \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderCancelReasons.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderCancelReasons.kt index 22f2880d7a..3be3596e2c 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderCancelReasons.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/constant/TaxiOrderCancelReasons.kt @@ -21,7 +21,7 @@ package com.mogo.och.unmanned.taxi.constant * 2003 车电量不足 * 2004 其他 */ -enum class TaxiOrderCancelReasons(val type: Int, val msg: String) { +enum class TaxiOrderCancelReasons(val type: Int, val msg: String,var isCheck:Boolean=false) { CarBroken(1000, "车况异常"), DeviceBroken(1001, "设备异常"), BatteryLow(1002, "电量不足"), diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt index 66579ebe65..9eb3268663 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/debug/DebugView.kt @@ -159,7 +159,7 @@ public class DebugView @JvmOverloads constructor( initBroadcastReceiver() LayoutInflater.from(context).inflate(R.layout.unmanned_taxi_debug_order, this, true) debugLogHistoryTextView.movementMethod = ScrollingMovementMethod.getInstance() - visibility = VISIBLE + visibility = GONE logHistoryTextView = debugLogHistoryTextView initView() diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt index 31d6cb45e8..03a2b0d5f1 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/routing/errorpoint/ReportErrorPointView.kt @@ -40,7 +40,7 @@ class ReportErrorPointView : WindowRelativeLayout, val view = ReportErrorPointView(context) val dialog = CommonDialogView(context, view,900f,730f,true) view.setGrayId(grayId) - view.setDismiss(object : CloseCallback { + view.setDismiss(object : CommonDialogView.CloseCallback { override fun close() { dialog.hideDialog() } @@ -71,7 +71,7 @@ class ReportErrorPointView : WindowRelativeLayout, private lateinit var errorPointItemAdapter: ErrorPointItemAdapter - private var closeCallback: CloseCallback? = null + private var closeCallback: CommonDialogView.CloseCallback? = null private var grayId: Long? = -1L @@ -161,16 +161,11 @@ class ReportErrorPointView : WindowRelativeLayout, .build(context).show() } - fun setDismiss(listener: CloseCallback) { + fun setDismiss(listener: CommonDialogView.CloseCallback) { this.closeCallback = listener } fun setGrayId(grayId: Long?) { this.grayId = grayId } - - interface CloseCallback { - fun close() - - } } \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt index 0437cb98b8..9fcd9ad1f4 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiCurrentTaskFragment.kt @@ -42,7 +42,6 @@ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_END_ import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TAXI_START_MAP_MAKER import com.mogo.och.unmanned.taxi.constant.TaxiUnmannedConst.Companion.TYPE_MARKER_TAXI_ORDER import com.mogo.och.common.module.map.MapMakerManager -import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endPoint @@ -724,12 +723,6 @@ class TaxiCurrentTaskFragment : BaseFragment(), if (currentWithOrder?.order != null) { val order = currentWithOrder.order activity?.also { - TaxiOrderCancelDialog( - it, - order!!.orderStatus - ) { type -> - mViewModel.sendUiIntent(TaskUiIntent.CancelOrder(type)) - }.show() } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt index 7d1a99d75e..fc8ee9aac9 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/TaxiNextTaskFragment.kt @@ -14,7 +14,7 @@ import com.mogo.och.unmanned.taxi.bean.OrderDetail import com.mogo.och.unmanned.taxi.bean.QueryCurrentTaskRespBean import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum -import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_task_fragment_current.cancelOrder import kotlinx.android.synthetic.main.unmanned_task_fragment_current.endStationName @@ -57,12 +57,9 @@ class TaxiNextTaskFragment : BaseFragment() { if (currentWithOrder?.order != null) { val order = currentWithOrder.order activity?.also { - TaxiOrderCancelDialog( - it, - order!!.orderStatus - ) { type -> - TaxiTaskModel.cancelOrder(order.orderNo, type) - }.show() + context?.let { + CancleOrderView.showDialog(it) + } } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderItemAdapter.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderItemAdapter.kt new file mode 100644 index 0000000000..86e8e0f473 --- /dev/null +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderItemAdapter.kt @@ -0,0 +1,78 @@ +package com.mogo.och.unmanned.taxi.ui.task.cancleorder + +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.appcompat.widget.AppCompatImageView +import androidx.appcompat.widget.AppCompatTextView +import androidx.recyclerview.widget.RecyclerView +import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.och.unmanned.taxi.R +import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons +import me.jessyan.autosize.AutoSizeCompat + +class CancleOrderItemAdapter ( + private val context: Context, + private val dataList: MutableList +) : RecyclerView.Adapter(){ + + fun setDataList(dataList: List) { + this.dataList.clear() + this.dataList.addAll(dataList) + notifyDataSetChanged() + } + + fun getCheckDataList():MutableList{ + val mutableListOf = mutableListOf() + this.dataList.forEach { + if(it.isCheck){ + mutableListOf.add(it) + } + } + return mutableListOf + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TextVH { + val view: View + val inflater = LayoutInflater.from(context) + view = inflater.inflate(R.layout.taxt_cancle_order_reson_item, parent, false) + return TextVH(view) + } + + override fun onBindViewHolder(holder: TextVH, position: Int) { + val errorInfo = dataList[holder.bindingAdapterPosition] + AutoSizeCompat.autoConvertDensityOfGlobal(holder.itemView.resources) + if (errorInfo.isCheck) { + holder.cbErrorInfo.setImageResource(R.drawable.taxi_routing_check) + }else{ + holder.cbErrorInfo.setImageResource(R.drawable.taxi_routing_uncheck) + } + holder.cbErrorResong.text = errorInfo.msg + holder.itemView.onClick { + if(errorInfo.isCheck){ + errorInfo.isCheck = false + notifyItemChanged(holder.bindingAdapterPosition) + return@onClick + }else{ + errorInfo.isCheck = true + notifyItemChanged(holder.bindingAdapterPosition) + } + dataList.forEachIndexed { index, taxiOrderCancelReasons -> + if (taxiOrderCancelReasons.isCheck && taxiOrderCancelReasons.type != errorInfo.type) { + taxiOrderCancelReasons.isCheck = false + notifyItemChanged(index) + } + } + } + } + + override fun getItemCount(): Int { + return dataList.size + } + + inner class TextVH(itemView: View) : RecyclerView.ViewHolder(itemView) { + var cbErrorInfo: AppCompatImageView = itemView.findViewById(R.id.aciv_show_check_status) + var cbErrorResong: AppCompatTextView = itemView.findViewById(R.id.actv_cancle_reson) + } +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderView.kt new file mode 100644 index 0000000000..70b45154b4 --- /dev/null +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderView.kt @@ -0,0 +1,126 @@ +package com.mogo.och.unmanned.taxi.ui.task.cancleorder + +import android.content.Context +import android.util.AttributeSet +import android.view.LayoutInflater +import androidx.lifecycle.ViewModelProvider +import androidx.recyclerview.widget.GridLayoutManager +import com.mogo.eagle.core.utilcode.kotlin.onClick +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.ToastUtils +import com.mogo.och.common.module.wigets.WindowRelativeLayout +import com.mogo.och.common.module.wigets.dialog.CommonDialogView +import com.mogo.och.unmanned.taxi.R +import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons +import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.lvs_loding_report_cancle_reson +import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.rvCancleReason +import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.tv_report_cancle_reason +import kotlinx.android.synthetic.main.taxt_cancle_order_reson.view.tv_report_cancle_reason_cancel + +class CancleOrderView : WindowRelativeLayout, CancleOrderViewModel.CancleOrderViewCallback { + + companion object { + const val TAG = "TaxiPassengerArrivedView" + fun showDialog(context: Context) { + val view = CancleOrderView(context) + val dialog = CommonDialogView(context, view,900f,730f,true) + view.closeCallback = object :CommonDialogView.CloseCallback{ + override fun close() { + dialog.hideDialog() + } + + } + dialog.showDialog() + } + } + + constructor(context: Context) : super(context) + + constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) + + constructor(context: Context, attributeSet: AttributeSet, defStyleAttr: Int) : super( + context, + attributeSet, + defStyleAttr + ) + + constructor( + context: Context, + attributeSet: AttributeSet, + defStyleAttr: Int, + defStyleRes: Int + ) : super(context, attributeSet, defStyleAttr, defStyleRes) + + + private var viewModel: CancleOrderViewModel? = null + + private lateinit var cancleOrderItemAdapter: CancleOrderItemAdapter + + private var closeCallback: CommonDialogView.CloseCallback? = null + + + private fun initView() { + d(SceneConstant.M_TAXI_P + TAG, "initView") + LayoutInflater.from(context).inflate(R.layout.taxt_cancle_order_reson, this, true) + rvCancleReason?.layoutManager = GridLayoutManager(context, 2) + rvCancleReason?.setHasFixedSize(true) + cancleOrderItemAdapter = CancleOrderItemAdapter( + context, mutableListOf( + + ) + ) + rvCancleReason?.adapter = cancleOrderItemAdapter + + tv_report_cancle_reason_cancel.onClick { + this.closeCallback?.close() + } + tv_report_cancle_reason.onClick { + val checkDataList = cancleOrderItemAdapter.getCheckDataList() + if (checkDataList.isEmpty()) { + ToastUtils.showShort("请选择问题类型") + return@onClick + } + tv_report_cancle_reason_cancel.isEnabled = false + lvs_loding_report_cancle_reson.visibility = VISIBLE + this.viewModel?.cancelOrder(checkDataList.first().type) + } + } + + override fun onAttachedToWindow() { + super.onAttachedToWindow() + viewModel = ViewModelProvider(this).get(CancleOrderViewModel::class.java) + viewModel?.setViewCallback(this) + } + + init { + try { + initView() + } catch (e: Exception) { + e.printStackTrace() + } + } + + override fun onVisibilityAggregated(isVisible: Boolean) { + super.onVisibilityAggregated(isVisible) + if(isVisible){ + viewModel?.getData() + } + } + + override fun setData(reasons: MutableList) { + cancleOrderItemAdapter.setDataList(reasons) + } + + override fun cancleSuccess() { + tv_report_cancle_reason_cancel.isEnabled = true + lvs_loding_report_cancle_reson.visibility = GONE + closeCallback?.close() + } + + override fun cancleFail(reson: String?) { + tv_report_cancle_reason_cancel.isEnabled = true + lvs_loding_report_cancle_reson.visibility = GONE + ToastUtils.showShort(reson) + } +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt new file mode 100644 index 0000000000..1a762356e5 --- /dev/null +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/cancleorder/CancleOrderViewModel.kt @@ -0,0 +1,121 @@ +package com.mogo.och.unmanned.taxi.ui.task.cancleorder + +import androidx.lifecycle.ViewModel +import com.mogo.commons.AbsMogoApplication +import com.mogo.eagle.core.data.BaseData +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.och.common.module.biz.order.TaxiOrderStatusEnum +import com.mogo.och.common.module.network.OchCommonServiceCallback +import com.mogo.och.unmanned.taxi.constant.TaxiOrderCancelReasons +import com.mogo.och.unmanned.taxi.network.TaxiTaskWithOrderServiceManager +import com.mogo.och.unmanned.taxi.ui.debug.DebugView +import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel + +class CancleOrderViewModel : ViewModel() { + private val TAG = CancleOrderViewModel::class.java.simpleName + + private var viewCallback: CancleOrderViewCallback? = null + + private var grayId: Long?=-1L + + init { + + } + + fun setViewCallback(viewCallback: CancleOrderViewCallback) { + this.viewCallback = viewCallback + } + + fun getData() { + val reasons = mutableListOf() + when (TaxiTaskModel.getCurrentTaskWithOrder()?.order?.orderStatus) { + TaxiOrderStatusEnum.None.code -> { + reasons.add(TaxiOrderCancelReasons.BookPassengerCancel) + reasons.add(TaxiOrderCancelReasons.CarBroken) + reasons.add(TaxiOrderCancelReasons.BookJourneyConflict) + reasons.add(TaxiOrderCancelReasons.BatteryLow) + reasons.add(TaxiOrderCancelReasons.BookOther) + } + TaxiOrderStatusEnum.OnTheWayToStart.code -> { + reasons.add(TaxiOrderCancelReasons.CarBroken) + reasons.add(TaxiOrderCancelReasons.DeviceBroken) + reasons.add(TaxiOrderCancelReasons.BatteryLow) + reasons.add(TaxiOrderCancelReasons.DriverIsIll) + reasons.add(TaxiOrderCancelReasons.StartStationFaraway) + reasons.add(TaxiOrderCancelReasons.Other) + reasons.add(TaxiOrderCancelReasons.PassengerCancel) + } + TaxiOrderStatusEnum.ArriveAtStart.code -> { + reasons.add(TaxiOrderCancelReasons.CarBroken) + reasons.add(TaxiOrderCancelReasons.DeviceBroken) + reasons.add(TaxiOrderCancelReasons.BatteryLow) + reasons.add(TaxiOrderCancelReasons.DriverIsIll) + reasons.add(TaxiOrderCancelReasons.PassengerNotArrive) + reasons.add(TaxiOrderCancelReasons.UnContractPassenger) + reasons.add(TaxiOrderCancelReasons.PassengerCancel) + reasons.add(TaxiOrderCancelReasons.Other) + } + TaxiOrderStatusEnum.OnTheWayToEnd.code,TaxiOrderStatusEnum.ArriveAtEnd.code -> { + reasons.add(TaxiOrderCancelReasons.CarBroken) + reasons.add(TaxiOrderCancelReasons.DeviceBroken) + reasons.add(TaxiOrderCancelReasons.BatteryLow) + reasons.add(TaxiOrderCancelReasons.DriverIsIll) + reasons.add(TaxiOrderCancelReasons.PassengerStopOver) + reasons.add(TaxiOrderCancelReasons.Other) + } + else -> { + reasons.add(TaxiOrderCancelReasons.CarBroken) + reasons.add(TaxiOrderCancelReasons.DeviceBroken) + reasons.add(TaxiOrderCancelReasons.BatteryLow) + reasons.add(TaxiOrderCancelReasons.DriverIsIll) + reasons.add(TaxiOrderCancelReasons.PassengerNotArrive) + reasons.add(TaxiOrderCancelReasons.PassengerStopOver) + reasons.add(TaxiOrderCancelReasons.Other) + } + } + viewCallback?.setData(reasons) + } + + /** + * 取消订单 进行中/待服务 + */ + fun cancelOrder( cancelType: Int) { + DebugView.printInfoMsg("[取消订单] 准备发送请求") + val orderNo = TaxiTaskModel.getCurrentTaskWithOrder()?.order?.orderNo + if(orderNo.isNullOrEmpty()){ + this.viewCallback?.cancleFail("未查到订单") + }else{ + TaxiTaskWithOrderServiceManager.cancelOrder( + AbsMogoApplication.getApp().applicationContext, + orderNo, cancelType, + object : OchCommonServiceCallback { + override fun onSuccess(data: BaseData?) { + DebugView.printInfoMsg("[取消订单] 请求success") + d(TAG, "handleCancelOrder() = onSuccess") + viewCallback?.cancleSuccess() + } + + override fun onFail(code: Int, msg: String?) { + DebugView.printErrorMsg("[取消订单] 请求fail, code=$code, msg=$msg") + d(TAG, "handleCancelOrder() $code $msg") + viewCallback?.cancleFail(msg) + } + }) + } + + } + + + override fun onCleared() { + super.onCleared() + this.viewCallback = null + } + + + interface CancleOrderViewCallback { + fun setData(reasons: MutableList) + fun cancleSuccess() + fun cancleFail(reson:String?) + + } +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt index ece18addaa..ea4803aa2c 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt @@ -48,8 +48,8 @@ import com.mogo.och.unmanned.taxi.ui.debug.DebugView import com.mogo.och.unmanned.taxi.ui.itinerarycurrent.ItineraryCurrentModel import com.mogo.och.unmanned.taxi.ui.task.TaskUiIntent import com.mogo.och.unmanned.taxi.ui.task.TaskWithOrderUIState -import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView import com.mogo.och.unmanned.taxi.utils.TaskUtils import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_exercise import kotlinx.android.synthetic.main.unmanned_itinerary_current.view.aciv_task_type_order @@ -405,10 +405,9 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi cancelOrder.id -> { val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() if (currentWithOrder?.order != null) { - val order = currentWithOrder.order - TaxiOrderCancelDialog(context, order!!.orderStatus) { type -> - viewModel?.sendUiIntent(TaskUiIntent.CancelOrder(type)) - }.show() + context?.let { + CancleOrderView.showDialog(it) + } } } diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt index a35d6db30d..117bf3cc00 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarynext/ItineraryNextView.kt @@ -18,8 +18,8 @@ import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum import com.mogo.och.unmanned.taxi.constant.TaskTypeEnum import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst import com.mogo.och.unmanned.taxi.ui.itinerarynext.ItineraryNextModel -import com.mogo.och.unmanned.taxi.ui.task.cancleorder.TaxiOrderCancelDialog import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.aciv_order_close import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_end_station_name import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_order_count @@ -60,13 +60,9 @@ class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCall aciv_order_close.onClick { //取消待服务订单 val currentWithOrder = TaxiTaskModel.getCurrentTaskWithOrder() if (currentWithOrder?.order != null) { - val order = currentWithOrder.order - TaxiOrderCancelDialog( - context, - order!!.orderStatus - ) { type -> - TaxiTaskModel.cancelOrder(order.orderNo, type) - }.show() + context?.let { + CancleOrderView.showDialog(it) + } } } showNoNextTaskView() diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerayswitch/ItinerarySwitchView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerayswitch/ItinerarySwitchView.kt index 5a4ed664ae..4ea5a879d4 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerayswitch/ItinerarySwitchView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerayswitch/ItinerarySwitchView.kt @@ -15,6 +15,7 @@ import com.mogo.och.common.module.utils.FlowBus import com.mogo.och.unmanned.taxi.R import com.mogo.och.unmanned.taxi.TaxiUnmannedDriverProvider import com.mogo.och.unmanned.taxi.constant.TaxiDriverEventConst +import com.mogo.och.unmanned.taxi.ui.task.cancleorder.CancleOrderView import com.mogo.och.unmanned.taxi.wigets.TaxiSelectViewGroup import kotlinx.android.synthetic.main.unmanned_switch_itinerary.view.currentItinerary import kotlinx.android.synthetic.main.unmanned_switch_itinerary.view.nextItinerary diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson.xml new file mode 100644 index 0000000000..81c241d99c --- /dev/null +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson_item.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson_item.xml new file mode 100644 index 0000000000..870b516f9a --- /dev/null +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/taxt_cancle_order_reson_item.xml @@ -0,0 +1,31 @@ + + + + + \ No newline at end of file diff --git a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml index 4afbacca22..4c2a2216a9 100644 --- a/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml +++ b/OCH/taxi/unmanned-driver/src/main/res/layout/unmanned_taxi_base_fragment.xml @@ -78,10 +78,12 @@ + app:layout_constraintEnd_toEndOf="parent"/> Date: Fri, 18 Oct 2024 13:59:09 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[6.7.0]=20[fea]=20[=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=A0=87=E5=AE=9A=E5=9B=BE=E7=89=87]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../itinerarycurrent/ItineraryCurrentView.kt | 5 ++++- .../res/drawable-nodpi/taxi_task_calibration.png | Bin 0 -> 2432 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100755 OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_task_calibration.png diff --git a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt index ea4803aa2c..173719a152 100644 --- a/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt +++ b/OCH/taxi/unmanned-driver/src/main/java/com/mogo/och/unmanned/taxi/ui/task/itinerarycurrent/ItineraryCurrentView.kt @@ -275,7 +275,8 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi taskStatus.text = resources.getString(R.string.task_start_to_virtual_site) startStationName.text = resources.getString(R.string.task_current_loc) endStationName.text = driveToNearestStationTask.siteName - + aciv_task_type_exercise.setImageResource(R.drawable.taxi_task_calibration) + naviToStart.visibility = GONE setOrRemoveMapMaker( true, TAXI_END_MAP_MAKER, @@ -638,6 +639,8 @@ class ItineraryCurrentView: ConstraintLayout, ItineraryCurrentModel.SwtichLineVi taskStatus.text = resources.getString(R.string.task_start_end_site) + aciv_task_type_exercise.setImageResource(R.drawable.taxi_task_exercise) + startStationName.text = startSite.siteName endStationName.text = endSite.siteName diff --git a/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_task_calibration.png b/OCH/taxi/unmanned-driver/src/main/res/drawable-nodpi/taxi_task_calibration.png new file mode 100755 index 0000000000000000000000000000000000000000..5a15f4d7fdc376f121d50ca9aefdd9a86f98d488 GIT binary patch literal 2432 zcmV-`34iv9P)RD|5Trjv|P$ESZw}TUG7~i zv{`EYT`aR+AEa4f@LnFIT5SDZD6m;*`&nlBUM{v=F1A`<@L6B)|NsA5TTsy^GA*WkJ&{|sRTTa|uG`?LUsaa_HTsgy9QsG=T z!dpq!T3+s3L(W_?yjf%QT2RUn0 zTtLfOOxs#Y*IhHbUL>mV@cdpStmfeMSZe&~<@j1+@?0#m^YZ;$NYq{?(QQY<_4NJA$o9Rw^~=ZfxV7`Eq3NEG<9~GHhj!g*T-}Fl({)_adt%Y@ z@B5;m^4QJq(8cYdob8{M>9?uoXkg>1mEL-5-iC77c4OI+eAr=6*PVmbduG;XRMu@% z&~#D9XFtE@cy{qG~oZq33-(X78ZcWH}R>opN#$-6U zudemP!1UeL^MZftb8qQoW9i7c=w4jtsGH=Kf!tkC+?9CJfMU*LNzP|T%70qN;M(dK;CpZ2sj2jlkM5I?>}qQ4U|{QDSmIt(;D=_)Y@-mX0000W zbW%=J0N4A~ctS!tI{W+j`tb1Z+uPf_ySt2xi;H-8@bJ640274m000JWNkl$ItvkXeoJJXNQAi?o<4^tSnzgi1749M8V3LVn*c|2rYxK^aVxU zzI|KwZH>_7mp5*FZp~5OfF@p@}_J&cuVHFR?se6^dh z*h#e7<|5I?#G{my6nwc;DJgGb+QcA~cBp1!WD{(xR50EscXtu(lA4V$*7O;73b&O< zgNWY8xc7}Sk%Ac;j~ihknT-{#GcK3Jpm$=pXEfKwQ_kT|& zUSPg)-@Zf1WFo!)p+jy(zZ`#Kk|d%er6O8xxF5mB9j&AgQR2pq`xM;>qJUDJQs?uh zNMf<2R6GdH$cFhgCc@cA;_Tye_CY#%jVyAPYb0i{Thi4mz&fsj+ z!}#^uvuoF$T@D%NwXb1pqZdviUZ-~*fdEZ8gc_k3J1=WH&@?EJ*2b{(gQKCnu~I|9dnC^SYPkuYA4$_2kjB42 zcuYLI=<%?z$8&8f1&?_=OYvoK2+$5?0XI?rV-Fh}wGW4CY$e*NJ3ch~hzK*DhzK^0 zh}a89oR=!;7A0Nd@fG~71u6MTLk8+8X`H4=#ub;pBd57ER1Hg19!-p+@sFh)uxT7oo_@HkEQ)plIsjy=la zOr)P8d_Lbi-#mm*gN=Px7EvnCQelkVi6HIp`Hm+M-NWf{Ix%Brran1-CGEtCwBt*U z`wXzLcDIFjqKm?SE&~v1eF4U(QwMa}@nSoyX7cPpDt;310n>OV?Ou?KEWucJ7aOZJ zK+<~v(W__AUOjsudIGhE@l~a_m_RVC7m(-26nL)grX9W)t2aNa>G@7JR_|6psq+%~ zt6O1XrApntef!?yy3xhQ`o-&4zdxS2_u|DRAkBEkVLS@b&&V$-G&E4XVfE?_uV24j zU4IT8?0fdJ6VIQY_=Uc_C|cjZ@cP3M=32wr4^LlI6tDJQC@#v>$`rF|%|d7ygrzSd zayFIpXxamzWuWU@YmM;qIfcklJ4BD#JrK2jjdeF1eHI}^?!k=)H$n{NY(eYW_fUkR z&n-aqwgcNrMztMD2J;bkeGN;c9UxnOR yYWzd8