feat: 任务管理模块 - 列表+详情+抢单/打卡/完成
新增: - TaskListFragment 分段控件+RecyclerView+下拉刷新 - TaskDetailFragment 信息展示+底部固定操作按钮(foot-btn) - TaskListAdapter 任务卡片适配器 - TaskItem/TaskDetail 数据类 - TaskApi 新增5个接口(pageList/detail/grab/assign/complete) - 分段控件/底部按钮/状态标签 drawable 修改: - nav_main.xml 添加参数和action - HomeFragment 快捷区点击→任务列表(传tableStatus) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
33
app/src/main/java/com/xiaoqu/watch/data/task/TaskDetail.kt
Normal file
33
app/src/main/java/com/xiaoqu/watch/data/task/TaskDetail.kt
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.xiaoqu.watch.data.task
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
/**
|
||||
* 任务详情数据类
|
||||
* 对应 watchTask/lookTaskDetail API 返回
|
||||
*/
|
||||
data class TaskDetail(
|
||||
@SerializedName("id") val id: Long = 0,
|
||||
/** 任务编号 */
|
||||
@SerializedName("no") val no: String = "",
|
||||
/** 任务名称 */
|
||||
@SerializedName("taskName") val taskName: String = "",
|
||||
/** 地点名称 */
|
||||
@SerializedName("positionName") val positionName: String = "",
|
||||
/** 积分 */
|
||||
@SerializedName("point") val point: Int = 0,
|
||||
/** 状态:2=待抢单, 3=待打卡, 4=进行中, 1=已完成 */
|
||||
@SerializedName("status") val status: Int = 0,
|
||||
/** 任务类型 */
|
||||
@SerializedName("taskType") val taskType: Int = 0,
|
||||
/** 开始时间 */
|
||||
@SerializedName("beginTime") val beginTime: String = "",
|
||||
/** 结束时间 */
|
||||
@SerializedName("endTime") val endTime: String = "",
|
||||
/** 任务描述 */
|
||||
@SerializedName("description") val description: String = "",
|
||||
/** 协作人 */
|
||||
@SerializedName("executorName") val executorName: String = "",
|
||||
/** 是否有打卡地点(决定打卡方式:有=NFC打卡,无=直接确认) */
|
||||
@SerializedName("hasPosition") val hasPosition: Boolean = false
|
||||
)
|
||||
27
app/src/main/java/com/xiaoqu/watch/data/task/TaskItem.kt
Normal file
27
app/src/main/java/com/xiaoqu/watch/data/task/TaskItem.kt
Normal file
@@ -0,0 +1,27 @@
|
||||
package com.xiaoqu.watch.data.task
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
|
||||
/**
|
||||
* 任务列表项数据类
|
||||
* 对应 watchTask/pageList API 返回
|
||||
*/
|
||||
data class TaskItem(
|
||||
@SerializedName("id") val id: Long = 0,
|
||||
/** 任务编号 */
|
||||
@SerializedName("no") val no: String = "",
|
||||
/** 任务名称 */
|
||||
@SerializedName("taskName") val taskName: String = "",
|
||||
/** 地点名称 */
|
||||
@SerializedName("positionName") val positionName: String = "",
|
||||
/** 积分 */
|
||||
@SerializedName("point") val point: Int = 0,
|
||||
/** 状态:2=待抢单, 3=待打卡, 4=进行中, 1=已完成 */
|
||||
@SerializedName("status") val status: Int = 0,
|
||||
/** 任务类型:0=计划, 1=监控, 2=指派, 3=用户上报, 4=巡检上报, 5=巡检任务 */
|
||||
@SerializedName("taskType") val taskType: Int = 0,
|
||||
/** 开始时间 */
|
||||
@SerializedName("beginTime") val beginTime: String = "",
|
||||
/** 结束时间 */
|
||||
@SerializedName("endTime") val endTime: String = ""
|
||||
)
|
||||
Reference in New Issue
Block a user