[6.2.0] 优化UI显示逻辑优化opt

This commit is contained in:
wangmingjun
2023-10-30 16:14:11 +08:00
parent fcd16c1cd7
commit 5fef67c7f9

View File

@@ -346,18 +346,8 @@ class TaxiCurrentTaskFragment : BaseFragment(),
/**
* 更新当前任务和订单信息
*/
@SuppressLint("SetTextI18n")
fun updateViewByCurrentTaskWithOrder(taskAndOrder: QueryCurrentTaskRespBean.Result?) {
private fun updateViewByCurrentTaskWithOrder(taskAndOrder: QueryCurrentTaskRespBean.Result?) {
if (taskAndOrder == null) return
if ((taskAndOrder.endSite == null || taskAndOrder.currentStatus == TaskStatusEnum.CompleteTask.code)
&& taskAndOrder.order == null
) {
initContainerView(false)
removeAllMapMarker()
return
}
initContainerView(true)
/**
* 根据任务类型判断任务显示,
* 虚拟单, 显示在进行中 前往上车点
@@ -366,10 +356,19 @@ class TaxiCurrentTaskFragment : BaseFragment(),
*/
val taskType = taskAndOrder.taskType // 任务类型
val order = taskAndOrder.order // 订单信息
val startSite = taskAndOrder.startSite // 起点
val endSite = taskAndOrder.endSite // 终点
val currentStatus = taskAndOrder.currentStatus // 任务的状态 0空闲 1:获取任务 2:开始任务 3:到达目的地
if ((endSite == null || currentStatus == TaskStatusEnum.CompleteTask.code) // 无任务或者任务已经完成的时候且无订单的时候
&& taskAndOrder.order == null
) {
initContainerView(false)
removeAllMapMarker()
return
}
initContainerView(true)
when (taskType) {
TaskTypeEnum.None.code -> {
if (order != null && (currentStatus == TaskStatusEnum.CompleteTask.code
@@ -382,36 +381,9 @@ class TaxiCurrentTaskFragment : BaseFragment(),
if (order != null && currentStatus == TaskStatusEnum.CompleteTask.code) {
updateOrderUI(order)
updateMapMarkers(taskAndOrder)
updateRemainDistanceAndTime(false)
return
}else{
updateVirtualTaskUI(taskAndOrder)
}
cancelOrder.visibility = View.GONE
orderPhoneAndNum.visibility = if (order != null &&
currentStatus == TaskStatusEnum.CompleteTask.code
) View.VISIBLE else View.GONE
taskClickBtn.visibility = View.GONE
naviToStart.visibility = View.GONE
taskTypeTv.visibility = View.VISIBLE
naviToEnd.visibility =
if (currentStatus >= TaskStatusEnum.StartTask.code) View.VISIBLE else View.GONE
taskOtherInfo.visibility =
if (currentStatus == TaskStatusEnum.GetTask.code) View.GONE else View.VISIBLE
pathwayPoint.visibility = View.GONE
if (startSite == null || endSite == null) return
taskStatus.text = resources.getString(R.string.task_start_end_site)
taskTypeTv.background =
resources.getDrawable(R.drawable.task_unreal_type_btn_bg, null)
taskTypeTv.text = resources.getString(R.string.task_exercise)
startStationName.text = startSite.siteName
endStationName.text = endSite.siteName
updatePrepareTaskDelayUI(0, false)
updateStartAndEndStationPointByStatus(true)
}
TaskTypeEnum.ToOrderEndTask.code, TaskTypeEnum.ToOrderStartTask.code -> {// 接驾任务 或 送驾任务
@@ -497,6 +469,42 @@ class TaxiCurrentTaskFragment : BaseFragment(),
}
}
private fun updateVirtualTaskUI(taskAndOrder: QueryCurrentTaskRespBean.Result?){
if (taskAndOrder == null) return
val order = taskAndOrder.order // 订单信息
val startSite = taskAndOrder.startSite // 起点
val endSite = taskAndOrder.endSite // 终点
val currentStatus = taskAndOrder.currentStatus // 任务的状态 0空闲 1:获取任务 2:开始任务 3:到达目的地
cancelOrder.visibility = View.GONE
orderPhoneAndNum.visibility = if (order != null &&
currentStatus == TaskStatusEnum.CompleteTask.code
) View.VISIBLE else View.GONE
taskClickBtn.visibility = View.GONE
naviToStart.visibility = View.GONE
taskTypeTv.visibility = View.VISIBLE
naviToEnd.visibility =
if (currentStatus >= TaskStatusEnum.StartTask.code) View.VISIBLE else View.GONE
taskOtherInfo.visibility =
if (currentStatus == TaskStatusEnum.GetTask.code) View.GONE else View.VISIBLE
pathwayPoint.visibility = View.GONE
if (startSite == null || endSite == null) return
taskStatus.text = resources.getString(R.string.task_start_end_site)
taskTypeTv.background =
resources.getDrawable(R.drawable.task_unreal_type_btn_bg, null)
taskTypeTv.text = resources.getString(R.string.task_exercise)
startStationName.text = startSite.siteName
endStationName.text = endSite.siteName
updatePrepareTaskDelayUI(0, false)
updateStartAndEndStationPointByStatus(true)
}
private fun updateOrderUI(order: OrderDetail) {
cancelOrder.visibility = if (order.orderStatus
== TaxiOrderStatusEnum.ArriveAtEnd.code