From f4e941021105a00081f4e265cba55e456d147052 Mon Sep 17 00:00:00 2001 From: dongliang Date: Thu, 7 May 2026 21:08:01 +0930 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=9A=E7=9F=A5=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=E4=B8=8B=E6=A0=87=E9=A2=98/=E9=A1=B5=E7=A0=81/=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E4=BB=BB=E5=8A=A1=E7=A7=BB=E9=99=A4=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 标题根据任务实际 status 显示(通知模式下不再固定"新任务") 2. 页码:通知模式始终显示,正常模式接单池隐藏 3. 完成任务后从 filterTaskIds 中移除,避免已完成任务仍在列表 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../xiaoqu/watch/ui/task/TaskListFragment.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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,