diff --git a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListViewHolder.kt b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListViewHolder.kt
index 9050283..0304c4d 100644
--- a/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListViewHolder.kt
+++ b/app/src/main/java/com/lukouguoji/aerologic/page/gnj/move/stash/list/GnjMoveStashListViewHolder.kt
@@ -1,6 +1,7 @@
package com.lukouguoji.aerologic.page.gnj.move.stash.list
import android.view.View
+import android.widget.Toast
import com.lukouguoji.aerologic.databinding.ItemGnjMoveStashListBinding
import com.lukouguoji.gnj.page.yiku.handover.GnjYiKuHandoverActivity
import com.lukouguoji.module_base.base.BaseViewHolder
@@ -25,6 +26,10 @@ class GnjMoveStashListViewHolder(view: View) :
// 侧滑菜单 - 编辑按钮
binding.btnEdit.setOnClickListener {
binding.swipeMenu.quickClose()
+ if (bean.pickFlag == "1") {
+ Toast.makeText(itemView.context, "已出库,不可编辑", Toast.LENGTH_SHORT).show()
+ return@setOnClickListener
+ }
GnjYiKuHandoverActivity.startForEdit(itemView.context, bean.mawbId)
}
}
diff --git a/app/src/main/res/layout/item_gnj_move_stash_list.xml b/app/src/main/res/layout/item_gnj_move_stash_list.xml
index 7175955..907131a 100644
--- a/app/src/main/res/layout/item_gnj_move_stash_list.xml
+++ b/app/src/main/res/layout/item_gnj_move_stash_list.xml
@@ -76,7 +76,7 @@
+
+
+
diff --git a/module_base/src/main/java/com/lukouguoji/module_base/bean/GnjYiKuBean.kt b/module_base/src/main/java/com/lukouguoji/module_base/bean/GnjYiKuBean.kt
index 3edb0a6..27dc77e 100644
--- a/module_base/src/main/java/com/lukouguoji/module_base/bean/GnjYiKuBean.kt
+++ b/module_base/src/main/java/com/lukouguoji/module_base/bean/GnjYiKuBean.kt
@@ -34,6 +34,7 @@ class GnjYiKuBean : ICheck {
var businessType: String = "" // 业务类型
var opDate: String = "" // 操作日期
var carrier: String = "" // 承运人
+ var pickFlag: String = "" // 出库标志(1=已出库)
// 多选状态绑定
val checked = ObservableBoolean(false)
diff --git a/module_base/src/main/java/com/lukouguoji/module_base/bean/IntImpAccidentVisaBean.kt b/module_base/src/main/java/com/lukouguoji/module_base/bean/IntImpAccidentVisaBean.kt
index c9ce499..b620fa7 100644
--- a/module_base/src/main/java/com/lukouguoji/module_base/bean/IntImpAccidentVisaBean.kt
+++ b/module_base/src/main/java/com/lukouguoji/module_base/bean/IntImpAccidentVisaBean.kt
@@ -6,12 +6,12 @@ class IntImpAccidentVisaBean {
var id: Long = 0
var fdate: String = "" // 航班日期
var fno: String = "" // 航班号
- var fdep: String = "" // 始发站
- var fdest: String = "" // 目的站
+ var dep: String = "" // 始发站
+ var dest: String = "" // 目的站
var wbNo: String = "" // 运单号
- var totalPc: Int = 0 // 运单总件数
- var totalWeight: Double = 0.0 // 运单总重量
- var abnPc: Int = 0 // 不正常件数
+ var pc: Int = 0 // 运单总件数
+ var weight: Double = 0.0 // 运单总重量
+ var dpc: Int = 0 // 不正常件数
var opId: String = "" // 经办人
var opdate: String = "" // 经办时间
diff --git a/module_base/src/main/res/layout/item_image_select_new.xml b/module_base/src/main/res/layout/item_image_select_new.xml
index 3c51301..b4c8eee 100644
--- a/module_base/src/main/res/layout/item_image_select_new.xml
+++ b/module_base/src/main/res/layout/item_image_select_new.xml
@@ -13,7 +13,7 @@
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
- android:background="@color/white">
+ android:background="@{bean.path.length() == 0 ? @color/color_f2 : @color/white}">
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
@@ -107,7 +107,7 @@
@@ -142,7 +142,7 @@
@@ -205,7 +205,7 @@
@@ -227,7 +227,7 @@
diff --git a/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverActivity.kt b/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverActivity.kt
index ecd9919..d4d28f7 100644
--- a/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverActivity.kt
+++ b/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverActivity.kt
@@ -35,6 +35,9 @@ class GnjYiKuHandoverActivity :
binding.viewModel = viewModel
+ // 绑定图片 RecyclerView 引用
+ viewModel.rvImages = binding.rvImages
+
// 绑定图片列表点击事件(编辑模式下可删除图片)
binding.rvImages.addOnItemClickListener(viewModel)
diff --git a/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverViewModel.kt b/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverViewModel.kt
index a96b63d..b6f675e 100644
--- a/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverViewModel.kt
+++ b/module_gnj/src/main/java/com/lukouguoji/gnj/page/yiku/handover/GnjYiKuHandoverViewModel.kt
@@ -14,9 +14,12 @@ import com.lukouguoji.module_base.http.net.NetApply
import com.lukouguoji.module_base.impl.FlowBus
import com.lukouguoji.module_base.impl.ImageSelectNewViewHolder
import com.lukouguoji.module_base.interfaces.IOnItemClickListener
+import com.lukouguoji.module_base.ktx.commonAdapter
import com.lukouguoji.module_base.ktx.launchLoadingCollect
import com.lukouguoji.module_base.ktx.showToast
import com.lukouguoji.module_base.ktx.toRequestBody
+import androidx.recyclerview.widget.RecyclerView
+import com.lukouguoji.module_base.util.MediaUtil
import com.lukouguoji.module_base.util.UploadUtil
import kotlinx.coroutines.launch
@@ -40,6 +43,9 @@ class GnjYiKuHandoverViewModel : BaseViewModel(), IOnItemClickListener {
// 详情模式下无图片时显示占位提示
val showNoImage = MutableLiveData(false)
+ // 图片 RecyclerView 引用(用于从 adapter 实时获取图片)
+ var rvImages: RecyclerView? = null
+
fun initOnCreated(intent: Intent) {
pageType.value = DetailsPageType.valueOf(
intent.getStringExtra(Constant.Key.PAGE_TYPE) ?: DetailsPageType.Modify.name
@@ -56,9 +62,9 @@ class GnjYiKuHandoverViewModel : BaseViewModel(), IOnItemClickListener {
val bean = it.data ?: GnjYiKuBean()
dataBean.value = bean
- // 处理图片列表
+ // 处理图片列表(拼接完整 URL)
val images = bean.getImageList().map { url ->
- FileBean(path = url)
+ FileBean(path = MediaUtil.fillUrl(url), url = url)
}.toMutableList()
// 编辑模式添加空 FileBean 用于显示"添加照片"按钮
@@ -82,8 +88,10 @@ class GnjYiKuHandoverViewModel : BaseViewModel(), IOnItemClickListener {
fun submit() {
val bean = dataBean.value ?: return
- // 获取所有非空图片
- val images = imageList.value!!.filter { it.path.isNotEmpty() }
+ // 从 adapter 实时获取所有非空图片(ViewHolder 新增图片直接操作 adapter items)
+ val allItems = (rvImages?.commonAdapter()?.items as? List<*>)
+ ?.filterIsInstance() ?: imageList.value!!
+ val images = allItems.filter { it.path.isNotEmpty() }
if (images.size > 7) {
showToast("最多上传7张图片")
@@ -94,8 +102,9 @@ class GnjYiKuHandoverViewModel : BaseViewModel(), IOnItemClickListener {
// 上传图片
val uploadedUrls = mutableListOf()
images.forEach { fileBean ->
- if (fileBean.path.startsWith("http")) {
- uploadedUrls.add(fileBean.path)
+ if (fileBean.url.isNotEmpty()) {
+ // 已上传的图片,直接用文件名
+ uploadedUrls.add(fileBean.url)
} else {
val result = UploadUtil.upload(fileBean.path)
if (result.verifySuccess()) {
@@ -127,10 +136,11 @@ class GnjYiKuHandoverViewModel : BaseViewModel(), IOnItemClickListener {
* 处理图片删除点击事件
*/
override fun onItemClick(position: Int, type: Int) {
- val list = imageList.value!!
- if (type == R.id.iv_delete && position < list.size) {
- list.removeAt(position)
- imageList.value = list
+ if (type == R.id.iv_delete) {
+ val adapter = rvImages?.commonAdapter() ?: return
+ if (position < adapter.items.size) {
+ adapter.removeItem(position)
+ }
}
}
}
diff --git a/module_gnj/src/main/res/layout/activity_gnj_yiku_handover.xml b/module_gnj/src/main/res/layout/activity_gnj_yiku_handover.xml
index 8708842..bf195ae 100644
--- a/module_gnj/src/main/res/layout/activity_gnj_yiku_handover.xml
+++ b/module_gnj/src/main/res/layout/activity_gnj_yiku_handover.xml
@@ -26,8 +26,7 @@
-
-
-
-
-
-
+
+ android:layout_marginTop="15dp"
+ android:orientation="horizontal">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-