Files
Neo 6f8f12314f feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本
包含多个会话的累积代码变更:
- backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔
- admin-web: ETL 状态页、任务管理、调度配置、登录优化
- miniprogram: 看板页面、聊天集成、UI 组件、导航更新
- etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强
- tenant-admin: 项目初始化
- db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8)
- packages/shared: 枚举和工具函数更新
- tools: 数据库工具、报表生成、健康检查
- docs: PRD/架构/部署/合约文档更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:03:48 +08:00

2.6 KiB
Raw Permalink Blame History

P9→NS1/RNS1 缺失项 #9消费记录中助教明细子列表的展开/折叠交互

简要结论

  • 状态: 已解决
  • 风险等级:🟡
  • 客户详情页消费记录中的助教明细子列表已实现展示(网格布局),但采用的是"始终展开"策略而非"展开/折叠"交互。考虑到数据量通常较小1-2 位助教),这是合理的设计决策。

详细审查

审查范围

  • apps/backend/app/schemas/xcx_customers.pyConsumptionRecord.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 含:namelevellevel_colorcourse_typehoursperf_hoursfee
    • _build_consumption_records() 根据 assistant_pd_money/assistant_cx_money 构建 coaches 列表
  2. 前端:助教明细已展示(始终展开)

    • 使用 record-coach-grid2 列网格布局)展示助教卡片
    • 每张卡片含:助教姓名 + 等级标签 + 课程类型 + 时长 + 定档绩效 + 费用
    • 条件渲染:wx:if="{{item.coaches && item.coaches.length > 0}}"
    • 台桌消费和商城消费均有助教明细展示
  3. 无展开/折叠交互

    • 助教明细始终展开显示,无折叠按钮
    • 考虑到每条消费记录通常只有 1-2 位助教,始终展开是合理的
    • P9 定义的展开/折叠交互更适用于助教数量较多的场景

证据

前端助教明细展示(始终展开):

<view class="record-coaches" wx:if="{{item.coaches && item.coaches.length > 0}}">
  <view class="record-coach-grid">
    <view class="record-coach-card" wx:for="{{item.coaches}}" wx:for-item="c" wx:key="name">
      <view class="record-coach-name-row">
        <text class="record-coach-name">{{c.name}}</text>
        <coach-level-tag level="{{c.level}}" />
      </view>
      <text class="record-coach-type">{{c.courseType}} · {{c.hours}}</text>
      <view class="record-coach-bottom">
        <text class="record-coach-perf" wx:if="{{c.perfHours}}">定档绩效:{{c.perfHours}}</text>
        <text class="record-coach-fee">¥{{c.fee}}</text>
      </view>
    </view>
  </view>
</view>

建议(如未完全解决)

当前实现已满足需求。如后续助教数量增多(>3 位),可考虑:

  1. 默认展示前 2 位,超出部分折叠
  2. 添加"展开全部"/"收起"按钮