fix: 巡检任务全部打完→按钮禁用 + 详情页重定向列表页

1. TaskListFragment: 巡检 status=4 检查 allChecked
   - 全部完成 → 灰色"已全部打卡"(禁用)
   - 未完成 → 橙色"开启打卡"
2. TaskDetailFragment: type=5 跳转 TaskListFragment
   (列表页有完整场景清单支持)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-06 18:58:37 +09:30
parent 9cde177bca
commit 2d83986150
2 changed files with 20 additions and 5 deletions

View File

@@ -68,6 +68,12 @@ class TaskDetailFragment : BaseFragment<FragmentTaskDetailBinding>() {
when (result) { when (result) {
is ApiResult.Success -> { is ApiResult.Success -> {
result.data?.let { detail -> 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 taskDetail = detail
displayDetail(detail) displayDetail(detail)
setupActionButton(detail) setupActionButton(detail)

View File

@@ -415,12 +415,21 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
5 -> { 5 -> {
when (detail.status) { when (detail.status) {
4 -> { 4 -> {
// 巡检进行中 → NFC 打卡 // 巡检进行中:检查是否所有场景都已打卡
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.text = "开启打卡"
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange) btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)
btn.setTextColor(requireContext().getColor(R.color.background)) btn.setTextColor(requireContext().getColor(R.color.background))
btn.setOnClickListener { startNfcPunch(detail.id, btn) } btn.setOnClickListener { startNfcPunch(detail.id, btn) }
} }
}
else -> showBackButton(btn) else -> showBackButton(btn)
} }
} }