feat: gjc move

This commit is contained in:
2026-01-12 15:28:03 +08:00
parent 8e3e604ed3
commit 23a6f1b596
3 changed files with 263 additions and 114 deletions

View File

@@ -152,7 +152,7 @@ class IntExpMoveViewModel : BasePageViewModel(), IOnItemClickListener {
"by1" to by1.value.noNull(), "by1" to by1.value.noNull(),
"dest1" to dest1.value.noNull(), "dest1" to dest1.value.noNull(),
"moveState" to moveState.value.noNull(), "moveState" to moveState.value.noNull(),
"likeNo" to waybillNo.value.noNull() "wbNo" to waybillNo.value.noNull()
) )
// 列表参数(含分页) // 列表参数(含分页)

View File

@@ -121,6 +121,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:overScrollMode="never" android:overScrollMode="never"
itemLayoutId="@{viewModel.itemLayoutId}"
viewHolder="@{viewModel.itemViewHolder}"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:itemCount="3" tools:itemCount="3"
tools:listitem="@layout/item_int_exp_move" /> tools:listitem="@layout/item_int_exp_move" />

View File

@@ -17,135 +17,282 @@
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_marginHorizontal="10dp"
android:background="@drawable/bg_white_radius_8" android:layout_marginTop="10dp"
android:layout_marginStart="10dp" android:orientation="vertical">
android:layout_marginEnd="10dp"
android:layout_marginBottom="10dp"
android:padding="15dp"
android:gravity="center_vertical">
<!-- 飞机图标 - 作为选择指示器(根据checked状态切换图片) --> <!-- 白色卡片 -->
<ImageView
android:id="@+id/iv_icon"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginStart="10dp"
android:layout_gravity="center"
app:loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane"
android:contentDescription="@string/app_name" />
<!-- 右侧:信息区域 -->
<LinearLayout <LinearLayout
android:layout_width="0dp" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:background="@drawable/bg_white_radius_8"
android:layout_marginStart="15dp" android:orientation="horizontal"
android:orientation="vertical"> android:padding="15dp"
android:gravity="center_vertical">
<!-- 第一行 --> <!-- 选中图标 (飞机图标,根据选择状态切换图片) -->
<ImageView
android:id="@+id/iv_icon"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
loadImage="@{bean.checked.get() ? @drawable/img_plane_s : @drawable/img_plane}"
android:src="@drawable/img_plane" />
<!-- 运单信息区域 -->
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_marginLeft="15dp"
android:gravity="center_vertical"> android:layout_weight="1"
android:orientation="vertical">
<TextView <!-- 第一行:运单号、件数、重量、承运人、运单类型 -->
android:layout_width="wrap_content" <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@{`运单号:` + (bean.prefix.isEmpty() ? bean.wbNo : bean.prefix + `-` + bean.wbNo)}" android:gravity="center_vertical"
android:textSize="16sp" android:orientation="horizontal">
android:textColor="@color/text_normal"
android:textStyle="bold" />
<TextView <!-- 运单号 -->
android:layout_width="wrap_content" <LinearLayout
android:layout_height="wrap_content" android:layout_width="0dp"
android:layout_marginStart="20dp" android:layout_height="wrap_content"
android:text="@{`件数:` + bean.pc}" android:layout_weight="1.0"
android:textSize="14sp" android:gravity="center_vertical"
android:textColor="@color/text_gray" /> android:orientation="horizontal">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="20dp" completeSpace="@{5}"
android:text="@{`重量:` + bean.weight}" android:text="运单号:" />
android:textSize="14sp"
android:textColor="@color/text_gray" />
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="20dp" android:text="@{bean.wbNo}"
android:text="@{`承运人:` + bean.by1}" android:textColor="@color/colorPrimary" />
android:textSize="14sp"
android:textColor="@color/text_gray" />
<TextView </LinearLayout>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="@{`特码:` + bean.spCode}"
android:textSize="14sp"
android:textColor="@color/text_gray"
android:visibility="@{bean.spCode != null &amp;&amp; !bean.spCode.isEmpty() ? View.VISIBLE : View.GONE}" />
<TextView <!-- 件数 -->
android:layout_width="wrap_content" <LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{3}"
android:text="件数:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf(bean.pc)}" />
</LinearLayout>
<!-- 重量 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{4}"
android:text="重量:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{String.valueOf((int)bean.weight)}" />
</LinearLayout>
<!-- 承运人 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="承运人:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.by1}" />
</LinearLayout>
<!-- 运单类型 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="运单类型:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.awbTypeName}"
android:lines="1"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
</LinearLayout>
<!-- 第二行:出运路径、特码、代理人、移交状态、品名 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="20dp" android:layout_marginTop="10dp"
android:text="@{`代理人:` + bean.agentName}" android:gravity="center_vertical"
android:textSize="14sp" android:orientation="horizontal">
android:textColor="@color/text_gray" />
<!-- 出运路径 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="出运路径:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text='@{(bean.dep.isEmpty() ? "" : bean.dep + "—") + (bean.dest1.isEmpty() ? "" : bean.dest1 + "—") + (bean.dest2.isEmpty() ? "" : bean.dest2 + "—") + bean.dest}'
android:lines="1"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
<!-- 特码 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{3}"
android:text="特码:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.spCode}" />
</LinearLayout>
<!-- 代理人 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{4}"
android:text="代理人:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.agentCode}"
android:lines="1"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
<!-- 移交状态 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="移交状态:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.moveState == 1 ? `已移交` : `未移交`}" />
</LinearLayout>
<!-- 品名 -->
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1.2"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
completeSpace="@{5}"
android:text="品名:" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{bean.goodsCn.isEmpty() ? bean.goods : bean.goodsCn}"
android:lines="1"
android:maxLines="1"
android:ellipsize="end" />
</LinearLayout>
</LinearLayout>
</LinearLayout> </LinearLayout>
<!-- 第二行 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text='@{`出运路径:` + (bean.dep.isEmpty() ? "" : bean.dep + `—`) + (bean.dest1.isEmpty() ? "" : bean.dest1 + `—`) + (bean.dest2.isEmpty() ? "" : bean.dest2 + `—`) + bean.dest}'
android:textSize="14sp"
android:textColor="@color/text_gray" />
<!-- 移交状态标签 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:background="@drawable/bg_green_radius_4"
android:paddingStart="10dp"
android:paddingEnd="10dp"
android:paddingTop="4dp"
android:paddingBottom="4dp"
android:text="@{bean.moveState == 1 ? `已移交` : `未移交`}"
android:textSize="12sp"
android:textColor="@color/white" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="@{`运单类型:` + bean.awbTypeName}"
android:textSize="14sp"
android:textColor="@color/text_gray" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:text="@{`品名:` + (bean.goodsCn.isEmpty() ? bean.goods : bean.goodsCn)}"
android:textSize="14sp"
android:textColor="@color/text_gray" />
</LinearLayout>
</LinearLayout> </LinearLayout>
</LinearLayout> </LinearLayout>
</layout> </layout>