From 2d8398615090baae395e60b6eb940c7d7c43a583 Mon Sep 17 00:00:00 2001 From: dongliang Date: Wed, 6 May 2026 18:58:37 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B7=A1=E6=A3=80=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E6=89=93=E5=AE=8C=E2=86=92=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E7=A6=81=E7=94=A8=20+=20=E8=AF=A6=E6=83=85=E9=A1=B5=E9=87=8D?= =?UTF-8?q?=E5=AE=9A=E5=90=91=E5=88=97=E8=A1=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. TaskListFragment: 巡检 status=4 检查 allChecked - 全部完成 → 灰色"已全部打卡"(禁用) - 未完成 → 橙色"开启打卡" 2. TaskDetailFragment: type=5 跳转 TaskListFragment (列表页有完整场景清单支持) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../watch/ui/task/TaskDetailFragment.kt | 6 ++++++ .../xiaoqu/watch/ui/task/TaskListFragment.kt | 19 ++++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskDetailFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskDetailFragment.kt index fa3ed70..7075b60 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskDetailFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskDetailFragment.kt @@ -68,6 +68,12 @@ class TaskDetailFragment : BaseFragment() { when (result) { is ApiResult.Success -> { result.data?.let { detail -> + // 巡检任务跳转到列表页(列表页有完整的场景清单支持) + if (detail.taskType == 5) { + val bundle = androidx.core.os.bundleOf("tableStatus" to detail.status) + findNavController().navigate(R.id.action_home_to_taskList, bundle) + return@let + } taskDetail = detail displayDetail(detail) setupActionButton(detail) diff --git a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt index 0ff9a84..1c43d90 100644 --- a/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt +++ b/app/src/main/java/com/xiaoqu/watch/ui/task/TaskListFragment.kt @@ -415,11 +415,20 @@ class TaskListFragment : BaseFragment() { 5 -> { when (detail.status) { 4 -> { - // 巡检进行中 → NFC 打卡 - btn.text = "开启打卡" - btn.setBackgroundResource(R.drawable.bg_foot_btn_orange) - btn.setTextColor(requireContext().getColor(R.color.background)) - btn.setOnClickListener { startNfcPunch(detail.id, btn) } + // 巡检进行中:检查是否所有场景都已打卡 + val allChecked = detail.taskInspectScenes?.all { it.checked } == true + if (allChecked) { + // 全部打完 → 灰色禁用 + btn.text = "已全部打卡" + btn.setBackgroundResource(R.drawable.bg_foot_btn_grey) + btn.isEnabled = false + } else { + // 未全部打完 → 开启打卡 + btn.text = "开启打卡" + btn.setBackgroundResource(R.drawable.bg_foot_btn_orange) + btn.setTextColor(requireContext().getColor(R.color.background)) + btn.setOnClickListener { startNfcPunch(detail.id, btn) } + } } else -> showBackButton(btn) }