fix: 操作日志详情时间线调整显示顺序
第一行改为显示操作环节名称(status 映射)加时间, 第二行改为灰色小字展示操作内容(content)。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -44,7 +44,8 @@ class LogDetailActivity : BaseBindingActivity<ActivityLogDetailBinding, LogDetai
|
|||||||
viewModel.latestStepCode.observe(this) { rebuildSteps() }
|
viewModel.latestStepCode.observe(this) { rebuildSteps() }
|
||||||
|
|
||||||
viewModel.statusLogList.observe(this) { list ->
|
viewModel.statusLogList.observe(this) { list ->
|
||||||
timelineAdapter.setData(list)
|
val stepMap = viewModel.allSteps.value?.associate { it.code to it.name } ?: emptyMap()
|
||||||
|
timelineAdapter.setData(list, stepMap)
|
||||||
}
|
}
|
||||||
|
|
||||||
viewModel.initOnCreated(intent)
|
viewModel.initOnCreated(intent)
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ import com.lukouguoji.module_base.bean.StatusLogBean
|
|||||||
class LogDetailTimelineAdapter : RecyclerView.Adapter<LogDetailTimelineAdapter.TimelineViewHolder>() {
|
class LogDetailTimelineAdapter : RecyclerView.Adapter<LogDetailTimelineAdapter.TimelineViewHolder>() {
|
||||||
|
|
||||||
private var items: List<StatusLogBean> = emptyList()
|
private var items: List<StatusLogBean> = emptyList()
|
||||||
|
private var statusNameMap: Map<String, String> = emptyMap()
|
||||||
|
|
||||||
fun setData(list: List<StatusLogBean>) {
|
fun setData(list: List<StatusLogBean>, stepMap: Map<String, String> = emptyMap()) {
|
||||||
items = list
|
items = list
|
||||||
|
statusNameMap = stepMap
|
||||||
notifyDataSetChanged()
|
notifyDataSetChanged()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,8 +30,9 @@ class LogDetailTimelineAdapter : RecyclerView.Adapter<LogDetailTimelineAdapter.T
|
|||||||
val isFirst = position == 0
|
val isFirst = position == 0
|
||||||
val isLast = position == items.size - 1
|
val isLast = position == items.size - 1
|
||||||
|
|
||||||
holder.tvContent.text = item.content
|
val statusName = statusNameMap[item.status] ?: item.status
|
||||||
holder.tvTime.text = item.opDate
|
holder.tvContent.text = if (statusName.isNotEmpty()) "$statusName ${item.opDate}" else item.opDate
|
||||||
|
holder.tvTime.text = item.content
|
||||||
|
|
||||||
// 最后一项(当前步骤)用绿色圆点
|
// 最后一项(当前步骤)用绿色圆点
|
||||||
holder.dotView.setBackgroundResource(
|
holder.dotView.setBackgroundResource(
|
||||||
|
|||||||
Reference in New Issue
Block a user