首页(/pages/index.vue)的任务列表显示样式已与任务功能页面(/pages/task/index.vue)完全一致。
<view class="task-item">
<view class="task-main">
<!-- 任务头部:标题和状态标签 -->
<view class="task-header">
<view class="task-title">任务类型 - 车牌号</view>
<view class="task-status">状态标签</view>
</view>
<!-- 任务编号单独一行 -->
<view class="task-code-row">
<text class="task-code">任务编号</text>
</view>
<!-- 任务详细信息 -->
<view class="task-info">
<view class="info-row">
<view class="info-item">出发地</view>
<view class="info-item">目的地</view>
</view>
<view class="info-row">
<view class="info-item">出发时间</view>
<view class="info-item">执行人员</view>
</view>
</view>
</view>
<!-- 操作按钮 -->
<view class="task-actions">...</view>
</view>
| 状态 | CSS类名 | 背景色 | 文字颜色 | 显示文本 |
|---|---|---|---|---|
| 待处理 | status-pending | #fff3e0 | #ff9500 | 待处理 |
| 出发中 | status-departing | #e3f2fd | #007AFF | 出发中 |
| 已到达 | status-arrived | #f3e5f5 | #9c27b0 | 已到达 |
| 返程中 | status-returning | #e0f2f1 | #009688 | 返程中 |
| 已完成 | status-completed | #e8f5e9 | #34C759 | 已完成 |
| 已取消 | status-cancelled | #f5f5f5 | #999 | 已取消 |
| 处理中 | status-in-progress | #e3f2fd | #007AFF | 处理中 |
任务头部(task-header):
- 标题和状态标签在同一行
- 使用 flex 布局,space-between 对齐
- 状态标签使用圆角设计(border-radius: 30rpx)
- 状态标签不换行(white-space: nowrap)
任务编号行(task-code-row):
- 单独一行显示
- 使用虚线边框分隔(border-bottom: 1rpx dashed #e0e0e0)
- 使用等宽字体(font-family: monospace)
- 字体大小:28rpx,字重:500
任务信息区(task-info):
- 两行布局,每行两个信息项
- label 和 value 水平排列
- label 灰色(#666),value 默认色(#333)
- 字体大小:26rpx
操作按钮(task-actions):
- 根据任务状态动态显示不同按钮
- 主按钮蓝色(#007AFF),取消按钮红色(#ff3b30)
- 圆角设计(border-radius: 10rpx)
getStatusClass(status) 方法:javascript getStatusClass(status) { const statusClassMap = { 'PENDING': 'status-pending', 'DEPARTING': 'status-departing', 'ARRIVED': 'status-arrived', 'RETURNING': 'status-returning', 'COMPLETED': 'status-completed', 'CANCELLED': 'status-cancelled', 'IN_PROGRESS': 'status-in-progress' } return statusClassMap[status] || 'status-default' }
getStatusText(status) 方法:javascript getStatusText(status) { const statusMap = { 'PENDING': '待处理', 'DEPARTING': '出发中', 'ARRIVED': '已到达', 'RETURNING': '返程中', 'COMPLETED': '已完成', 'CANCELLED': '已取消', 'IN_PROGRESS': '处理中' } return statusMap[status] || '未知' }
车辆信息处理:
- 从 assignedVehicles 数组获取车辆信息
- 显示第一辆车的车牌号
- 多车辆时显示"车牌号 等N辆"
地址格式化:
- 使用 formatAddress() 方法
- 只显示"-"符号前面的部分
- 简化地址显示,提高可读性
时间格式化:
- 使用 formatDateTime() 方法
- 格式:YYYY-MM-DD HH:mm
- 中文本地化显示
虽然样式完全一致,但两个页面的功能定位不同:
task.taskId 作为任务IDtask.taskCode 作为任务编号首页任务列表样式已与任务功能页面完全统一,实现了:
- 视觉一致性:颜色、布局、字体完全一致
- 交互一致性:按钮逻辑、状态流转一致
- 代码一致性:方法实现、数据处理一致
用户在两个页面看到的任务卡片样式将完全相同,提供统一的用户体验。