From d03d1231403e6ba557358029046e8b42ab4b60ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=8B=A4=E6=B0=91?= Date: Thu, 23 Apr 2026 10:14:55 +0800 Subject: [PATCH] =?UTF-8?q?feat(composite-layup):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E8=AF=A6=E6=83=85=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E4=BC=A0=E9=80=92=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 CompositeLayupApiData 中为数据类实现 Serializable 接口 - 在 CompositeLayupResultActivity 中添加任务详情传递逻辑 - 在 CompositeLayupTaskActivity 中接收并缓存任务详情数据 - 添加 EXTRA_TASK_DETAIL 常量用于 Intent 数据传递 - 实现 bindCachedTaskDetail 方法支持本地任务详情绑定 --- .../nova/brain/glass/model/data/CompositeLayupApiData.kt | 6 ++++-- .../nova/brain/glass/ui/CompositeLayupResultActivity.kt | 7 +++++++ .../nova/brain/glass/ui/CompositeLayupTaskActivity.kt | 9 +++++++++ .../nova/brain/glass/viewmodel/CompositeLayupTaskVM.kt | 7 ++++++- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/nova/brain/glass/model/data/CompositeLayupApiData.kt b/app/src/main/java/com/nova/brain/glass/model/data/CompositeLayupApiData.kt index 551e7c8..0e89e89 100644 --- a/app/src/main/java/com/nova/brain/glass/model/data/CompositeLayupApiData.kt +++ b/app/src/main/java/com/nova/brain/glass/model/data/CompositeLayupApiData.kt @@ -1,5 +1,7 @@ package com.nova.brain.glass.model.data +import java.io.Serializable + data class CompositeLayupDetailItem( val id: Long = 0, val taskId: Long = 0, @@ -14,7 +16,7 @@ data class CompositeLayupDetailItem( val createdBy: String = "", val updatedBy: String = "", val isDeleted: Long = 0 -) +) : Serializable data class CompositeLayupTaskDetail( val id: Long = 0, @@ -36,7 +38,7 @@ data class CompositeLayupTaskDetail( val updatedBy: String = "", val isDeleted: Long = 0, val detailList: List? = null -) +) : Serializable data class CompositeLayupTaskDetailResponse( val code: Int = 0, diff --git a/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt b/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt index 7958460..5ddf127 100644 --- a/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt +++ b/app/src/main/java/com/nova/brain/glass/ui/CompositeLayupResultActivity.kt @@ -13,6 +13,7 @@ import com.nova.brain.glass.helper.GlassMediaServiceHelper import com.nova.brain.glass.helper.OfflineCmdListener import com.nova.brain.glass.helper.OfflineCmdServiceHelper import com.nova.brain.glass.model.ItemItem +import com.nova.brain.glass.model.data.CompositeLayupTaskDetail import com.nova.brain.glass.viewmodel.CompositeLayupResultState import com.nova.brain.glass.viewmodel.CompositeLayupResultVM import com.rokid.security.glass3.sdk.base.data.media.PhotoResolution @@ -50,6 +51,10 @@ class CompositeLayupResultActivity : BaseActivity 0 }) } else { viewModel.loadTaskDetail(taskNoFromIntent, stepSeqFromIntent.takeIf { it > 0 }) } @@ -189,5 +197,6 @@ class CompositeLayupTaskActivity : companion object { const val EXTRA_TASK_NO = "extra_task_no" const val EXTRA_STEP_SEQ = "extra_step_seq" + const val EXTRA_TASK_DETAIL = "extra_task_detail" } } diff --git a/app/src/main/java/com/nova/brain/glass/viewmodel/CompositeLayupTaskVM.kt b/app/src/main/java/com/nova/brain/glass/viewmodel/CompositeLayupTaskVM.kt index db4a0fe..b687278 100644 --- a/app/src/main/java/com/nova/brain/glass/viewmodel/CompositeLayupTaskVM.kt +++ b/app/src/main/java/com/nova/brain/glass/viewmodel/CompositeLayupTaskVM.kt @@ -56,10 +56,15 @@ class CompositeLayupTaskVM : BaseListViewModel() { } }, { e -> taskDetailError.value = e.message ?: "获取任务详情失败" - }) + }) disposables.add(disposable) } + fun bindCachedTaskDetail(detail: CompositeLayupTaskDetail, stepOverride: Int? = null) { + bindTaskDetail(detail, stepOverride) + taskDetailError.value = "" + } + fun recognize(photoPath: String) { val file = File(photoPath) if (!file.exists()) {