# P9→NS1/RNS1 缺失项 #7：关联助教任务列表的展示规范

## 简要结论
- 状态：✅ 已解决
- 风险等级：🟡 低
- 关联助教任务列表已完整实现：任务类型标签（带颜色映射）、状态标签（置顶/已放弃）、服务统计指标（服务次数/总时长/次均时长），布局和交互完整。

## 详细审查

### 审查范围
- `apps/backend/app/schemas/xcx_customers.py` — `CoachTask` schema
- `apps/backend/app/services/customer_service.py` — `_build_coach_tasks()` 实现
- `apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.wxml` — 助教任务区域
- `apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.wxss` — 助教任务样式

### 发现

1. **后端：任务数据已完整实现**
   - `CoachTask` schema 含：`name`、`level`、`level_color`、`task_type`、`task_color`、`bg_class`、`status`、`last_service`、`metrics`
   - `_build_coach_tasks()` 从 `biz.coach_tasks` 查询，关联助教信息和绩效等级
   - 任务类型通过 `TASK_TYPE_MAP` 映射（含 label/color/bg_class）
   - 近 60 天统计指标（服务次数/总时长/次均时长）已计算

2. **前端：展示已完整实现**
   - 任务类型标签：`type-red`/`type-pink`/`type-orange`/`type-teal` 四色映射
   - 状态标签：📌 置顶 / ❌ 已放弃
   - 助教等级标签：使用 `coach-level-tag` 组件
   - 服务统计：3 个指标卡片（服务次数/总时长/次均时长）
   - 上次服务时间展示
   - 卡片背景色根据助教等级区分（`coach-card-red`/`pink`/`orange`/`teal`）

### 证据

前端任务卡片展示：
```html
<view class="coach-task-card {{item.bgClass}}" wx:for="{{coachTasks}}" wx:key="index">
  <view class="coach-task-top">
    <view class="coach-name-row">
      <text class="coach-name">{{item.name}}</text>
      <coach-level-tag level="{{item.level}}" />
    </view>
    <view class="coach-task-right">
      <text class="coach-task-type type-{{item.taskColor}}">{{item.taskType}}</text>
      <text class="coach-task-status status-{{item.status}}" wx:if="{{item.status !== 'normal'}}">...</text>
    </view>
  </view>
  <text class="coach-last-service">上次服务：{{item.lastService}}</text>
  <view class="coach-metrics">
    <view class="coach-metric" wx:for="{{item.metrics}}" wx:for-item="m" wx:key="label">
      <text class="metric-label">{{m.label}}</text>
      <text class="metric-value">{{m.value}}</text>
    </view>
  </view>
</view>
```

### 建议（如未完全解决）
无重大缺失。当前实现已覆盖 P9 定义的任务类型图标（用颜色标签替代）、状态标签、服务统计。
