app/src/main/java/com/kuanzhai/user/network/entity/OrderData.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/kuanzhai/user/ui/mine/TripOrderFragment.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/kuanzhai/user/ui/mine/adapter/OfficialOrderAdapter.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/kuanzhai/user/ui/trip/OrderCancelDetailActivity.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/activity_order_cancel_detail.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/activity_safe.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/item_order.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/com/kuanzhai/user/network/entity/OrderData.kt
@@ -57,6 +57,7 @@ var state: Int = 0, //订单状态(1=待接单,2=待出发,3=待到达预约地点,4=待乘客上车,5=服务中,6=完成服务,7=待支付,8=待评价,9=已完成,10=已取消,11=改派中,12=取消待支付)加个15作为改派成功 var auditStatus: Int = -1, //审核状态(-1 其他正常订单 -2取消订单 0待审核 1审核通过 2拒绝) val auditRemark: String = "", val auditUser: String = "", val time: String = "", val travelMoney: Double = 0.0, val roadTollMoney: Double = 0.0, @@ -117,6 +118,28 @@ else->"" } fun getOfficialStateStr() = when(state){ 1->{ when(auditStatus){ 0->"待处理" 2->"已处理" -2->"已取消" else->"等待应答" } } 2,3->"等待接驾" 4->"等待上车" 5->"服务中" 6->"待确认费用" 7->"待支付" 8->"待评价" 9->"已完成" 10->"已取消" 11->"改派中" 12->"取消待支付" else->"" } fun getCharterState() = when(state){ 1->"待处理" 2->"已处理" app/src/main/java/com/kuanzhai/user/ui/mine/TripOrderFragment.kt
@@ -22,6 +22,7 @@ import com.kuanzhai.user.ui.crosscity.PayCrossActivity import com.kuanzhai.user.ui.mine.adapter.CharterOrderAdapter import com.kuanzhai.user.ui.mine.adapter.LogisticsAdapter import com.kuanzhai.user.ui.mine.adapter.OfficialOrderAdapter import com.kuanzhai.user.ui.mine.adapter.TripOrderAdapter import com.kuanzhai.user.ui.trip.OrderCancelDetailActivity import com.kuanzhai.user.ui.trip.OrderDetailActivity @@ -62,6 +63,8 @@ payThankDialog.show(childFragmentManager, "thank") } }) TYPE_OFFICIAL -> OfficialOrderAdapter(datas) TYPE_LOGISTICS_SAME, TYPE_LOGISTICS_CROSS -> LogisticsAdapter(datas, object : LogisticsAdapter.ClickCallback { override fun onPay(index: Int) { @@ -211,6 +214,55 @@ } } } Const.OrderType.TYPE_OFFICIAL->{ if (order.auditStatus == 2){ startActivityForResult<OrderCancelDetailActivity>( 1, "id" to order.orderId, "type" to order.orderType ) } else if (order.auditStatus == 0){ startActivityForResult<TripActivity>( 1, "id" to order.orderId, "type" to order.orderType ) }else{ when (order.state) { in (1..6) -> startActivityForResult<TripActivity>( 1, "id" to order.orderId, "type" to order.orderType ) 10 -> { startActivityForResult<OrderCancelDetailActivity>( 1, "id" to order.orderId, "type" to order.orderType ) } 11 -> { startActivityForResult<TripActivity>( 1, "id" to order.orderId, "type" to order.orderType ) } 7, 12 -> startActivityForResult<OrderDetailActivity>( 1, "id" to order.orderId, "type" to order.orderType ) else -> startActivityForResult<OrderDetailWithMapActivity>( 1, "id" to order.orderId, "type" to order.orderType ) } } } } } } app/src/main/java/com/kuanzhai/user/ui/mine/adapter/OfficialOrderAdapter.kt
New file @@ -0,0 +1,85 @@ package com.kuanzhai.user.ui.mine.adapter import android.view.View import android.widget.LinearLayout import android.widget.TextView import androidx.core.os.bundleOf import cn.sinata.xldutils.activity.BaseActivity import cn.sinata.xldutils.adapter.HFRecyclerAdapter import cn.sinata.xldutils.adapter.util.ViewHolder import cn.sinata.xldutils.gone import cn.sinata.xldutils.utils.myToast import cn.sinata.xldutils.visible import com.kuanzhai.user.R import com.kuanzhai.user.dialog.TipDialog import com.kuanzhai.user.interfaces.StringCallback import com.kuanzhai.user.network.HttpManager import com.kuanzhai.user.network.entity.Order import com.kuanzhai.user.network.request import com.kuanzhai.user.utils.Const import org.jetbrains.anko.textColorResource data class OfficialOrderAdapter(val datas:ArrayList<Order>):HFRecyclerAdapter<Order>(datas, R.layout.item_order) { override fun onBind(holder: ViewHolder, position: Int, data: Order) { holder.bind<TextView>(R.id.tv_tag).gone() holder.bind<View>(R.id.tv_thank).gone() holder.bind<TextView>(R.id.tv_thank_money).gone() holder.setText(R.id.tv_time,data.orderTime) holder.setText(R.id.tv_state,data.getOfficialStateStr()) holder.bind<TextView>(R.id.tv_state).textColorResource = data.getStateColor() val tvTime = holder.bind<TextView>(R.id.tv_trip_time) val tvStart = holder.bind<TextView>(R.id.tv_start) val tvEnd = holder.bind<TextView>(R.id.tv_end) val ll_check = holder.bind<LinearLayout>(R.id.ll_check) if (data.auditStatus == 0||data.auditStatus == 2){ //待审核和审核失败 ll_check.visible() val tvAction = holder.bind<TextView>(R.id.tv_action_check) tvAction.text = if (data.auditStatus == 0) "取消订单" else "详情" tvAction.setOnClickListener { if (data.auditStatus == 0){ val tipDialog = TipDialog() tipDialog.arguments = bundleOf("msg" to "是否确认取消订单?") tipDialog.setCallback(object :TipDialog.OnClickCallback{ override fun onOk() { HttpManager.cancelOrder(data.orderId,data.orderType).request(context as BaseActivity){_,_-> (context as BaseActivity).myToast("取消成功") data.state = 10 data.auditStatus = -2 notifyItemChanged(position) } } override fun onCancel() { } }) tipDialog.show((context as BaseActivity).supportFragmentManager,"cancel") } } tvTime.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,0,0) tvStart.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,0,0) tvEnd.setCompoundDrawablesRelativeWithIntrinsicBounds(0,0,0,0) tvStart.textColorResource = R.color.textColor66 tvEnd.textColorResource = R.color.textColor66 }else{ ll_check.gone() tvTime.setCompoundDrawablesRelativeWithIntrinsicBounds(R.mipmap.icon_time,0,0,0) tvStart.setCompoundDrawablesRelativeWithIntrinsicBounds(R.mipmap.icon_starting_point,0,0,0) tvEnd.setCompoundDrawablesRelativeWithIntrinsicBounds(R.mipmap.icon_end_point,0,0,0) tvStart.textColorResource = R.color.textColor tvEnd.textColorResource = R.color.textColor } holder.setText(R.id.tv_trip_time,data.time) holder.setText(R.id.tv_start,data.startAddress) holder.setText(R.id.tv_end,data.endAddress) holder.bind<TextView>(R.id.tv_count).apply { visibility = if (data.orderType == Const.OrderType.TYPE_CROSS_CITY) { text = String.format("%d人",data.num) View.VISIBLE } else View.GONE } } } app/src/main/java/com/kuanzhai/user/ui/trip/OrderCancelDetailActivity.kt
@@ -4,6 +4,7 @@ import com.kuanzhai.user.network.HttpManager import com.kuanzhai.user.network.request import com.kuanzhai.user.ui.TransparentStatusBarActivity import com.kuanzhai.user.utils.Const import kotlinx.android.synthetic.main.activity_order_cancel_detail.* class OrderCancelDetailActivity:TransparentStatusBarActivity() { @@ -31,6 +32,13 @@ tv_money.text = String.format("%.2f",it.cancelMoney) tv_reason.text = it.cancelReason tv_describe.text = if (it.cancelRemark.isEmpty()) "无" else it.cancelRemark if (type == Const.OrderType.TYPE_OFFICIAL&&it.auditStatus == 2){ title = "审核失败" tv_1.text = "审核方" tv_side.text = it.auditUser tv_reason.text = "审核不通过" tv_reason.text = it.auditRemark } } } } app/src/main/res/layout/activity_order_cancel_detail.xml
@@ -120,6 +120,7 @@ android:textStyle="bold" tools:text="无"/> <TextView android:id="@+id/tv_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="取消方:" app/src/main/res/layout/activity_safe.xml
@@ -23,6 +23,7 @@ android:layout_height="wrap_content" android:id="@+id/tv_real_name" android:text="实名认证" android:visibility="gone" style="@style/style_form_text_setting" android:layout_marginEnd="14dp" android:layout_marginStart="14dp" @@ -31,6 +32,7 @@ <View style="@style/style_form_divider_line" android:layout_marginStart="14dp" android:layout_marginEnd="14dp" android:visibility="gone" app:layout_constraintTop_toBottomOf="@id/tv_real_name"/> <TextView android:layout_width="wrap_content" app/src/main/res/layout/item_order.xml
@@ -133,5 +133,33 @@ android:background="@drawable/bg_thank" android:layout_marginTop="24dp" android:padding="8dp"/> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:id="@+id/ll_check" android:visibility="gone" app:layout_constraintTop_toBottomOf="@id/tv_end"> <View android:layout_width="match_parent" android:layout_height="1px" android:background="@color/dividing_line_color" android:layout_marginTop="13dp" android:layout_marginStart="20dp"/> <TextView android:id="@+id/tv_action_check" android:layout_width="86dp" android:layout_height="wrap_content" android:text="详情" android:textColor="@color/colorPrimary" android:textSize="15sp" android:layout_gravity="end" android:textStyle="bold" android:gravity="center" android:background="@drawable/bg_orange_line_4dp" android:paddingVertical="7dp" android:layout_marginTop="12dp" android:layout_marginEnd="7dp"/> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>