Files
Neo-ZQYY/docs/h5_ui/interactions/task-list.md

6.4 KiB
Raw Blame History

页面名task-list任务列表 + 业绩概览)

PRD 参考P6 docs/prd/specs/P6-miniapp-fe-tasks.mdapps/miniprogram/doc/prd.md 第八节 8.1 已实现:否

页面说明

小程序默认首页Tab 1。顶部 Banner 展示用户信息和业绩概览,下方为按优先级分组排序的任务列表。支持长按弹出操作菜单(置顶/放弃/问AI/备注)。

Banner 主题

banner-bg theme-blue texture-aurora(蓝色主题 + 极光丝带纹理)

状态变量

变量名 类型 初始值 说明
tasks array [] 任务列表(按优先级分组)
userInfo object null 用户信息(花名、身份、门店)
performanceData object null 业绩概览(当月业绩、档位、工资预估、跳档激励)
contextMenuVisible boolean false 长按菜单显示状态
contextMenuPosition object {x,y} 菜单弹出坐标
contextMenuTarget element null 长按的目标卡片
remarkModalVisible boolean false 备注/放弃弹窗显示状态
loading boolean true 数据加载中
error boolean false 加载失败

用户操作 → 响应

操作 触发条件 响应行为 目标状态
页面加载 进入页面 GET /api/xcx/tasks + 业绩数据 loading→false
点击 Banner 业绩区域 navigateTo performance 页面
点击任务卡片 根据 task-type 跳转对应详情页(见跳转映射表)
长按任务卡片500ms 触摸/鼠标按住 在按压坐标处弹出黑底浮层+白色菜单 contextMenuVisible=true
菜单-「📌 置顶任务」 菜单显示 POST /api/xcx/tasks/{id}/pin 列表刷新,菜单关闭
菜单-「 放弃任务」 菜单显示 打开备注/放弃弹窗 remarkModalVisible=true
菜单-「🤖 问问AI助手」 菜单显示 navigateTo chat带任务上下文引用 菜单关闭
菜单-「📝 备注」 菜单显示 打开备注弹窗 remarkModalVisible=true
弹窗-提交 文本非空 POST 对应接口 Toast 提示,弹窗关闭
点击遮罩层 contextMenuVisible=true 关闭菜单 contextMenuVisible=false
下拉刷新 重新请求任务列表 loading=true
点击"重试" error=true 重新请求数据 loading=true

任务卡片跳转映射

data-task-type 跳转目标
high-priority task-detail.html高优先召回
priority task-detail-priority.html优先召回
relationship task-detail-relationship.html关系构建
callback task-detail-callback.html客户回访

任务优先级定义PRD 补充)

优先级 类型 触发条件 标签颜色
P0 高优先召回 high-priority WBI + NCI > 7 红色
P0 优先召回 priority WBI + NCI > 5 橙色
P1 客户回访 callback 已完成召回但未备注(或备注评分 < 5 蓝色
P2 关系构建 relationship RS < 6 粉色

列表内按优先级分组 → 组内按指数分数降序排列

任务完成条件PRD 补充)

任务类型 完成条件 说明
召回P0 客户出现新的服务订单 系统自动判定
回访P1 备注评分 ≥ 5应用 6 评分) 评分 < 5 不算完成只计第一个备注2 天有效期
关系构建P2 RS 指数提升至 ≥ 6 系统自动判定

任务卡片结构(忠于原型 HTML

  • 外层 .task-card:左侧 4px 彩色边框(颜色随任务类型变化)
  • 置顶卡片额外 .pinned class微亮边框阴影
  • 内部结构:
    • 第一行:任务类型标签(渐变背景圆角矩形)+ 客户昵称 + 关系 emoji + 备注指示器(📝,有备注时显示)
    • 第二行「最近到店X天前 · 余额XXX」
    • 第三行AI 机器人小图标 + AI 一句话智能建议文字来源AI 应用 4 的 summary 字段,cache_type=app4_analysis
    • 右侧:向右箭头 chevron

列表分区结构

  1. 📌 置顶区域amber 背景标签):用户手动置顶的任务
  2. 一般任务区域(灰色背景标签):按优先级分组 → 组内按分数降序
  3. 已放弃区域(灰色背景标签):
    • 卡片 .abandonedopacity 0.55,左边框变灰,标签背景变灰,客户名变灰
    • 无右侧箭头
    • 显示放弃原因文字

长按菜单样式

  • 遮罩层 .context-overlay(半透明黑色)
  • 白色菜单 .context-menumin-width 192px圆角 14px阴影
  • 4 个菜单项,项间 1px 分隔线:
    • 📌 置顶任务(已置顶时显示「取消置顶」)
    • 放弃任务
    • 🤖 问问AI助手
    • 📝 备注

业绩 Banner 展示

  • 用户花名 + 身份
  • 当月业绩进度条
  • 预计收入(标记"预估"
  • 跳档激励:「到达 XXX 即得 YYY」
    • YYY = max(跳档线差值最小值, 实际差值)
    • 各档差值Tier0→1: 1200元 / Tier1→2: 750元 / Tier2→3: 540元 / Tier3→4: 420元

跟/弃 icon 规则PRD 补充)

  • 跟:助教主动跟进中(绿色标记)
  • 弃:助教已放弃该客户(灰色标记)
  • 无标记:未分配助教或无跟进状态

爱心 icon 规则

💖(>8.5) / 🧡(>7) / 💛(>5) / 💙(<5)

喜好标签

🎱(中式) / 斯(斯诺克) / 🀅(麻将) / 🎤(团建)

页面状态枚举

状态名 视觉表现 触发条件
加载中 区域文案"加载中..." loading=true
正常态 任务列表 + 业绩 Banner 有数据
空数据态 "暂无任务" tasks 为空
错误态 "加载失败,请点击重试" + 重试按钮 error=true

后端 API 依赖

API 方法 说明
GET /api/xcx/tasks GET 获取任务列表
POST /api/xcx/tasks/{id}/pin POST 置顶/取消置顶
POST /api/xcx/tasks/{id}/abandon POST 放弃任务
POST /api/xcx/notes POST 创建备注
GET /api/performance/summary GET 业绩概览

页面导航

  • 来源loginapproved/ TabBar 切换
  • 去向task-detail* / performance / chat

全局组件

  • 底部 TabBar任务 active— 由 bottom-nav.js 自动注入
  • AI 悬浮按钮(右下角,渐变动画背景,可爱机器人 SVG 图标,点击 → chat