# P9→NS1/RNS1 缺失项 #9:消费记录中助教明细子列表的展开/折叠交互 ## 简要结论 - 状态:✅ 已解决 - 风险等级:🟡 低 - 客户详情页消费记录中的助教明细子列表已实现展示(网格布局),但采用的是"始终展开"策略而非"展开/折叠"交互。考虑到数据量通常较小(1-2 位助教),这是合理的设计决策。 ## 详细审查 ### 审查范围 - `apps/backend/app/schemas/xcx_customers.py` — `ConsumptionRecord.coaches` 字段 - `apps/backend/app/services/customer_service.py` — `_build_consumption_records()` coaches 构建 - `apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.wxml` — 消费记录助教明细 ### 发现 1. **后端:coaches 子数组已实现** - `ConsumptionRecord.coaches: list[CoachServiceItem]` 已定义 - `CoachServiceItem` 含:`name`、`level`、`level_color`、`course_type`、`hours`、`perf_hours`、`fee` - `_build_consumption_records()` 根据 `assistant_pd_money`/`assistant_cx_money` 构建 coaches 列表 2. **前端:助教明细已展示(始终展开)** - 使用 `record-coach-grid`(2 列网格布局)展示助教卡片 - 每张卡片含:助教姓名 + 等级标签 + 课程类型 + 时长 + 定档绩效 + 费用 - 条件渲染:`wx:if="{{item.coaches && item.coaches.length > 0}}"` - 台桌消费和商城消费均有助教明细展示 3. **无展开/折叠交互** - 助教明细始终展开显示,无折叠按钮 - 考虑到每条消费记录通常只有 1-2 位助教,始终展开是合理的 - P9 定义的展开/折叠交互更适用于助教数量较多的场景 ### 证据 前端助教明细展示(始终展开): ```html {{c.name}} {{c.courseType}} · {{c.hours}} 定档绩效:{{c.perfHours}} ¥{{c.fee}} ``` ### 建议(如未完全解决) 当前实现已满足需求。如后续助教数量增多(>3 位),可考虑: 1. 默认展示前 2 位,超出部分折叠 2. 添加"展开全部"/"收起"按钮