From e742f8d701996b5398ef6cee902ddfc1b8b1ac2d Mon Sep 17 00:00:00 2001 From: "3075067877@qq.com" <3075067877@qq.com> Date: Tue, 9 Sep 2025 16:09:49 +0800 Subject: [PATCH] dev to test new order select --- .../orderOX/adapter/OrderSelectionAdapter.java | 279 +++++++++++++++++++-- .../orderOX/model/OrderVerificationData.java | 56 +++++ app/src/main/res/drawable/coupon_background.xml | 32 +++ app/src/main/res/drawable/dashed_line.xml | 9 + .../res/drawable/many_enter_tag_background.xml | 6 + .../main/res/drawable/order_type_background.xml | 9 + .../main/res/drawable/verify_button_background.xml | 10 + .../main/res/layout/activity_order_selection.xml | 193 ++++++++------ app/src/main/res/layout/item_order_selection.xml | 255 +++++++++++++------ 9 files changed, 659 insertions(+), 190 deletions(-) create mode 100644 app/src/main/res/drawable/coupon_background.xml create mode 100644 app/src/main/res/drawable/dashed_line.xml create mode 100644 app/src/main/res/drawable/many_enter_tag_background.xml create mode 100644 app/src/main/res/drawable/order_type_background.xml create mode 100644 app/src/main/res/drawable/verify_button_background.xml diff --git a/app/src/main/java/com/ouxuan/oxface/orderOX/adapter/OrderSelectionAdapter.java b/app/src/main/java/com/ouxuan/oxface/orderOX/adapter/OrderSelectionAdapter.java index 5ec1f74..6d519ec 100644 --- a/app/src/main/java/com/ouxuan/oxface/orderOX/adapter/OrderSelectionAdapter.java +++ b/app/src/main/java/com/ouxuan/oxface/orderOX/adapter/OrderSelectionAdapter.java @@ -3,6 +3,7 @@ package com.ouxuan.oxface.orderOX.adapter; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.LinearLayout; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; @@ -11,7 +12,7 @@ import com.ouxuan.oxface.orderOX.model.OrderVerificationData; import java.util.List; /** - * 订单选择列表适配器 + * 订单选择列表适配器 - 重构版,支持多种订单类型显示 */ public class OrderSelectionAdapter extends RecyclerView.Adapter { @@ -63,28 +64,27 @@ public class OrderSelectionAdapter extends RecyclerView.Adapter 0 ? order.getNumber() : 1; - holder.tvOrderTitle.setText("订单信息 (共" + sessionCount + "场次)"); + // 设置订单类型标签 + String typeLabel = getOrderTypeLabel(order.getOrder_type()); + holder.tvOrderTypeLabel.setText(typeLabel); - String orderNo = order.getOrder_no() != null ? order.getOrder_no() : "未知订单号"; - holder.tvOrderNumber.setText("订单编号:" + orderNo); + // 设置订单信息标题 + String orderTitle = getOrderTitle(order); + holder.tvOrderTitle.setText(orderTitle); - // 设置预订信息 - String projectName = order.getProjectName(); - String timeInfo = order.getFormattedTimeInfo(); - String bookingInfo = projectName + " " + timeInfo + ";"; - holder.tvBookingInfo.setText("预订信息:" + bookingInfo); + // 设置核销按钮文本 + String buttonText = order.getOrder_type() == 5 ? "签到" : "去核销"; + holder.tvVerifyButton.setText(buttonText); - holder.tvProjectName.setText("预订项目:" + projectName); - holder.tvUsageDate.setText("使用日期:" + order.getFormattedUsageDate()); + // 根据订单类型显示不同的详细信息 + setupOrderDetails(holder, order); // 设置选中状态 if (position == selectedPosition) { holder.itemView.setBackgroundResource(R.drawable.gate_imageview_radius); holder.itemView.setSelected(true); } else { - holder.itemView.setBackgroundResource(R.drawable.gate_radius_compare); + holder.itemView.setBackgroundResource(R.drawable.coupon_background); holder.itemView.setSelected(false); } @@ -104,7 +104,242 @@ public class OrderSelectionAdapter extends RecyclerView.Adapter= 10) { + return dateTime.substring(0, 10); + } + return ""; + } + + /** + * 获取星期几 + */ + private String getWeekDay(String dateTime) { + // 简化实现,实际可以根据日期计算星期几 + return "今天"; + } + + /** + * dp转px + */ + private int dpToPx(android.content.Context context, int dp) { + float density = context.getResources().getDisplayMetrics().density; + return Math.round(dp * density); } @Override @@ -113,23 +348,17 @@ public class OrderSelectionAdapter extends RecyclerView.Adapter + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/dashed_line.xml b/app/src/main/res/drawable/dashed_line.xml new file mode 100644 index 0000000..647af0f --- /dev/null +++ b/app/src/main/res/drawable/dashed_line.xml @@ -0,0 +1,9 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/many_enter_tag_background.xml b/app/src/main/res/drawable/many_enter_tag_background.xml new file mode 100644 index 0000000..91fb30e --- /dev/null +++ b/app/src/main/res/drawable/many_enter_tag_background.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/order_type_background.xml b/app/src/main/res/drawable/order_type_background.xml new file mode 100644 index 0000000..4c9dca1 --- /dev/null +++ b/app/src/main/res/drawable/order_type_background.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/verify_button_background.xml b/app/src/main/res/drawable/verify_button_background.xml new file mode 100644 index 0000000..015f316 --- /dev/null +++ b/app/src/main/res/drawable/verify_button_background.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_order_selection.xml b/app/src/main/res/layout/activity_order_selection.xml index e8fe7f4..34c59fb 100644 --- a/app/src/main/res/layout/activity_order_selection.xml +++ b/app/src/main/res/layout/activity_order_selection.xml @@ -3,123 +3,152 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="#80000000"> + android:background="@drawable/gradient_background"> - - + - - - + android:layout_height="80dp" + android:layout_alignParentTop="true" + android:paddingLeft="20dp" + android:paddingRight="20dp"> + + + + + - - - - - - - - - - + android:textSize="18sp" + android:textStyle="bold" /> - + + + + + + + + + + + + + android:layout_marginLeft="40dp" + android:layout_marginRight="40dp" + android:gravity="center" + android:orientation="vertical" + android:visibility="gone"> + + + + + + + android:paddingLeft="30dp" + android:paddingRight="30dp" + android:visibility="gone">