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) }