fix: 通知模式下标题/页码/完成任务移除的问题

1. 标题根据任务实际 status 显示(通知模式下不再固定"新任务")
2. 页码:通知模式始终显示,正常模式接单池隐藏
3. 完成任务后从 filterTaskIds 中移除,避免已完成任务仍在列表

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-07 21:08:01 +09:30
parent e383ad190a
commit f4e9410211

View File

@@ -261,10 +261,16 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
binding.tvEmpty.visibility = View.GONE
binding.loadingWrap.visibility = View.GONE
// 标题栏
binding.tvTitle.text = statusTitle()
// 页码:接单池不显示(防止用户比较挑选),其他正常显示
if (currentStatus == 2) {
// 标题栏:通知模式按任务实际状态显示,正常模式按 currentStatus
val displayStatus = if (filterTaskIds != null) detail.status else currentStatus
binding.tvTitle.text = when (displayStatus) {
2 -> "新任务"
3 -> "待打卡"
4 -> "待完成"
else -> "任务"
}
// 页码:正常模式接单池不显示(防挑选),通知模式和其他状态都显示
if (filterTaskIds == null && currentStatus == 2) {
binding.tvPageNum.visibility = View.GONE
} else {
binding.tvPageNum.visibility = View.VISIBLE
@@ -915,6 +921,11 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
is ApiResult.Success -> {
Timber.d("任务操作: $successMsg")
hasActioned = true // 标记已操作,列表为空时自动返回
// 完成任务后,通知模式下从 ID 列表中移除(避免已完成任务仍显示)
if (action == "complete" && filterTaskIds != null) {
val currentId = taskList.getOrNull(taskIndex)?.id ?: 0L
filterTaskIds = filterTaskIds!!.filter { it != currentId }.toLongArray()
}
tipDialog.show(
status = QuTipDialog.Status.SUCCESS,
title = successMsg,