fix: 时间只显示要求/截止一个,去掉派单时间和巡检时段

三个页面统一只显示一行时间:优先要求完成时间,没有则截止时间
删除 showInspectTime 方法

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-06 21:22:44 +09:30
parent 7b3a3ae276
commit 1eb32409a8

View File

@@ -273,23 +273,8 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
binding.tvPosition.text = "地点: ${detail.positionText}" binding.tvPosition.text = "地点: ${detail.positionText}"
binding.tvPosition.visibility = View.VISIBLE binding.tvPosition.visibility = View.VISIBLE
} }
// 时间(派单时间 + 要求/截止时间 + 巡检时段 // 要求/截止时间(只显示一个
val timeLines = mutableListOf<String>() showDeadline(detail)
if (detail.sendTime.isNotEmpty()) timeLines.add("派单: ${detail.sendTime}")
if (!detail.preFinishTime.isNullOrEmpty()) {
timeLines.add("要求: ${detail.preFinishTime}")
} else if (!detail.expireTime.isNullOrEmpty()) {
timeLines.add("截止: ${detail.expireTime}")
}
// 巡检任务显示巡检时段(拆为开始/结束两行)
if (detail.taskType == 5) {
if (!detail.executeTimeStart.isNullOrEmpty()) timeLines.add("开始: ${detail.executeTimeStart}")
if (!detail.executeTimeEnd.isNullOrEmpty()) timeLines.add("结束: ${detail.executeTimeEnd}")
}
if (timeLines.isNotEmpty()) {
binding.tvTimeInfo.text = timeLines.joinToString("\n")
binding.tvTimeInfo.visibility = View.VISIBLE
}
// 接单池不显示积分(防止用户挑肥拣瘦,接单后才能看到积分) // 接单池不显示积分(防止用户挑肥拣瘦,接单后才能看到积分)
// 备注/描述 // 备注/描述
showNote(detail) showNote(detail)
@@ -298,8 +283,7 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
// ===== 待打卡:指引去哪+怎么做 ===== // ===== 待打卡:指引去哪+怎么做 =====
3 -> { 3 -> {
// 时间信息:先巡检时段(直接写入),再截止时间(追加模式 // 要求/截止时间(只显示一个
showInspectTime(detail)
showDeadline(detail) showDeadline(detail)
// 备注 // 备注
showNote(detail) showNote(detail)
@@ -317,8 +301,7 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
// ===== 进行中/待完成:地点+打卡时间+完成指引 ===== // ===== 进行中/待完成:地点+打卡时间+完成指引 =====
4 -> { 4 -> {
// 时间信息:先巡检时段(直接写入),再截止时间(追加模式 // 要求/截止时间(只显示一个
showInspectTime(detail)
showDeadline(detail) showDeadline(detail)
if (detail.taskType == 5) { if (detail.taskType == 5) {
// ===== 巡检任务:显示场景打卡清单 ===== // ===== 巡检任务:显示场景打卡清单 =====
@@ -353,36 +336,22 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
* 显示截止/结束时间(所有状态通用) * 显示截止/结束时间(所有状态通用)
* 优先显示要求完成时间,没有则显示截止时间,只显示一个 * 优先显示要求完成时间,没有则显示截止时间,只显示一个
*/ */
/**
* 显示要求/截止时间(只显示一个)
* 优先 preFinishTime没有则 expireTime
*/
private fun showDeadline(detail: TaskDetail) { private fun showDeadline(detail: TaskDetail) {
val deadlineLines = mutableListOf<String>() val text = when {
if (!detail.preFinishTime.isNullOrEmpty()) { !detail.preFinishTime.isNullOrEmpty() -> "要求: ${detail.preFinishTime}"
deadlineLines.add("要求: ${detail.preFinishTime}") !detail.expireTime.isNullOrEmpty() -> "截止: ${detail.expireTime}"
} else if (!detail.expireTime.isNullOrEmpty()) { else -> null
deadlineLines.add("截止: ${detail.expireTime}")
} }
if (deadlineLines.isNotEmpty()) { if (text != null) {
// 复用 tvTimeInfo如果巡检时段已占用则追加 binding.tvTimeInfo.text = text
val existing = if (binding.tvTimeInfo.visibility == View.VISIBLE) {
binding.tvTimeInfo.text.toString() + "\n"
} else ""
binding.tvTimeInfo.text = existing + deadlineLines.joinToString("\n")
binding.tvTimeInfo.visibility = View.VISIBLE binding.tvTimeInfo.visibility = View.VISIBLE
} }
} }
/** 显示巡检时段(仅 taskType=5 时,拆为开始/结束两行) */
private fun showInspectTime(detail: TaskDetail) {
if (detail.taskType == 5) {
val lines = mutableListOf<String>()
if (!detail.executeTimeStart.isNullOrEmpty()) lines.add("开始: ${detail.executeTimeStart}")
if (!detail.executeTimeEnd.isNullOrEmpty()) lines.add("结束: ${detail.executeTimeEnd}")
if (lines.isNotEmpty()) {
binding.tvTimeInfo.text = lines.joinToString("\n")
binding.tvTimeInfo.visibility = View.VISIBLE
}
}
}
/** 显示备注/描述content 或 taskRequire */ /** 显示备注/描述content 或 taskRequire */
private fun showNote(detail: TaskDetail) { private fun showNote(detail: TaskDetail) {
val note = when { val note = when {