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 d8b79ab..7efa920 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 @@ -261,10 +261,16 @@ class TaskListFragment : BaseFragment() { 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() { 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,