[6.7.0]
[fea] [待服务页面]
This commit is contained in:
@@ -3,14 +3,30 @@ package com.mogo.och.unmanned.taxi.ui.task.itinerarynext
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.ViewModelProvider
|
||||
import androidx.lifecycle.findViewTreeViewModelStoreOwner
|
||||
import com.mogo.och.common.module.wigets.WindowRelativeLayout
|
||||
import com.mogo.eagle.core.utilcode.kotlin.onClick
|
||||
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.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.constant.TaxiDriverEventConst
|
||||
import com.mogo.och.unmanned.taxi.ui.itinerarynext.ItineraryNextModel
|
||||
import com.mogo.och.unmanned.taxi.ui.task.TaxiOrderCancelDialog
|
||||
import com.mogo.och.unmanned.taxi.ui.task.TaxiTaskModel
|
||||
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
|
||||
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_order_phone
|
||||
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.actv_start_station_name
|
||||
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.group_order_next
|
||||
import kotlinx.android.synthetic.main.unmanned_itinerary_next.view.include_empty
|
||||
|
||||
class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCallback {
|
||||
|
||||
@@ -40,6 +56,17 @@ class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCall
|
||||
|
||||
private fun initView() {
|
||||
fragment = TaxiUnmannedDriverProvider.getFragmentInfo()
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
showNoNextTaskView()
|
||||
}
|
||||
|
||||
|
||||
@@ -49,6 +76,69 @@ class ItineraryNextView: ConstraintLayout, ItineraryNextModel.SwtichLineViewCall
|
||||
ViewModelProvider(it)[ItineraryNextModel::class.java]
|
||||
}
|
||||
viewModel?.setDistanceCallback(this)
|
||||
initTaskDebugViewListener()
|
||||
}
|
||||
|
||||
fun onTaskDataChanged(taskWithOrder: QueryCurrentTaskRespBean.Result?) {
|
||||
if (taskWithOrder?.order == null) {
|
||||
showNoNextTaskView()
|
||||
return
|
||||
}
|
||||
|
||||
if (taskWithOrder.taskType == TaskTypeEnum.VirtualTask.code &&
|
||||
taskWithOrder.currentStatus != TaskStatusEnum.CompleteTask.code
|
||||
) {
|
||||
val order = taskWithOrder.order
|
||||
updateTaskUI(order!!)
|
||||
} else {
|
||||
showNoNextTaskView()
|
||||
}
|
||||
}
|
||||
|
||||
private fun showNoNextTaskView() {
|
||||
include_empty.visibility = View.VISIBLE
|
||||
group_order_next.visibility = View.GONE
|
||||
}
|
||||
|
||||
private fun showNextTaskView() {
|
||||
include_empty.visibility = View.GONE
|
||||
group_order_next.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
private fun updateTaskUI(order: OrderDetail) {
|
||||
showNextTaskView()
|
||||
|
||||
var tempPhone = order.bookingUserPhone
|
||||
|
||||
tempPhone.let {
|
||||
if (it.length > 8) {
|
||||
//截取电话号码前三位
|
||||
val phoneNumPre = it.substring(0, 3)
|
||||
//截取电话号码后四位
|
||||
val phoneNumFix = it.substring(7)
|
||||
tempPhone = "$phoneNumPre****$phoneNumFix"
|
||||
}
|
||||
}
|
||||
actv_order_phone.text = tempPhone
|
||||
|
||||
order.passengerSize
|
||||
actv_order_count.text = "${order.passengerSize}人"
|
||||
|
||||
order.orderStartSite?.let {
|
||||
actv_start_station_name.text = it.siteName
|
||||
}
|
||||
order.orderEndSite?.let {
|
||||
actv_end_station_name.text = it.siteName
|
||||
}
|
||||
}
|
||||
|
||||
private fun initTaskDebugViewListener() {
|
||||
fragment?.let { fr->
|
||||
FlowBus.with<QueryCurrentTaskRespBean.Result?>(TaxiDriverEventConst.TabFragmentEvent.EVENT_TYPE_TASK_WITH_ORDER_CHANGED)
|
||||
.register(fr) { taskWithOrder ->
|
||||
onTaskDataChanged(taskWithOrder)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -84,10 +84,6 @@ class ItinerarySwitchView: ConstraintLayout, ItinerarySwitchModel.SwtichLineView
|
||||
.register(it) { show ->
|
||||
taxiServerSelector.setNextItineraryRedBagVisable( if (show) View.VISIBLE else View.GONE)
|
||||
}
|
||||
// FlowBus.with<QueryCurrentTaskRespBean.Result?>(TaxiDriverEventConst.TabFragmentEvent.EVENT_TYPE_TASK_WITH_ORDER_CHANGED)
|
||||
// .register(it) { taskWithOrder ->
|
||||
// nextTaskFragment?.onTaskDataChanged(taskWithOrder)
|
||||
// }
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -72,17 +72,6 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/aciv_task_type_exercise"
|
||||
app:layout_constraintTop_toTopOf="@+id/v_next_itinerary_bg"
|
||||
app:layout_constraintStart_toStartOf="@+id/v_next_itinerary_bg"
|
||||
android:layout_marginTop="@dimen/dp_29"
|
||||
android:src="@drawable/taxi_task_exercise"
|
||||
android:layout_marginStart="@dimen/dp_30"
|
||||
android:layout_width="@dimen/dp_120"
|
||||
android:layout_height="@dimen/dp_50"/>
|
||||
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/aciv_next_start_station_point"
|
||||
android:src="@drawable/taxi_task_start_station_point"
|
||||
@@ -94,6 +83,7 @@
|
||||
android:layout_height="@dimen/dp_30"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_start_station_name"
|
||||
app:layout_constraintTop_toTopOf="@+id/aciv_next_start_station_point"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/aciv_next_start_station_point"
|
||||
app:layout_constraintStart_toEndOf="@+id/aciv_next_start_station_point"
|
||||
@@ -128,6 +118,7 @@
|
||||
android:layout_height="@dimen/dp_30"/>
|
||||
|
||||
<androidx.appcompat.widget.AppCompatTextView
|
||||
android:id="@+id/actv_end_station_name"
|
||||
app:layout_constraintTop_toTopOf="@+id/aciv_next_end_station_point"
|
||||
app:layout_constraintBottom_toBottomOf="@+id/aciv_next_end_station_point"
|
||||
app:layout_constraintStart_toEndOf="@+id/aciv_next_end_station_point"
|
||||
@@ -140,4 +131,24 @@
|
||||
android:lineSpacingMultiplier="1.2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/group_order_next"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible"
|
||||
|
||||
app:constraint_referenced_ids="v_next_itinerary_bg,actv_order_phone,actv_order_count,aciv_next_end_station_point,aciv_task_type_order,aciv_order_close,aciv_next_start_station_point,actv_start_station_name,v_line_next_start_end,actv_end_station_name"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<com.mogo.och.common.module.wigets.commonview.EmptyView
|
||||
android:id="@+id/include_empty"
|
||||
tools:visibility="gone"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:empty_title="暂无服务订单"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
</merge>
|
||||
Reference in New Issue
Block a user