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:
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user