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

8.8 KiB
Raw Blame History

页面名task-detail 系列(任务详情)

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

页面说明

展示客户详细信息、消费习惯、AI 分析(关系分析+任务建议+话术参考+备注评分)、维客线索、备注入口。底部固定操作栏。

task-detail 系列共 4 个页面,卡片内容相同(以 task-detail.html 为准),差异仅在:头部 Banner 主题/配色、区域排列顺序、话术样式、部分文案。

Banner 主题映射表

页面 Banner class 主题色 任务类型
task-detail.html banner-bg theme-red texture-aurora 红色 高优先召回
task-detail-priority.html (同 task-detail橙色变体 橙色 优先召回
task-detail-relationship.html banner-bg theme-pink texture-aurora 粉色 关系构建
task-detail-callback.html banner-bg theme-teal texture-aurora 青绿色 客户回访

⚠️ Banner 背景使用 CSS 渐变+SVG 纹理(banner.css 中的 texture-aurora),内含复杂的 SVG 丝带效果。小程序实现时建议将各主题 Banner 背景导出为图片资源,统一放 /assets/images/banner-{theme}.png

页面区域顺序差异

区域 task-detail高优先/优先) task-detail-relationship关系构建 task-detail-callback客户回访
1 与我的关系 维客线索 维客线索
2 任务建议 与我的关系(含近期服务记录) 与我的关系(含近期服务记录)
3 维客线索 任务建议 任务建议
4 我给TA的备注 我给TA的备注 我给TA的备注
5 近期服务记录 嵌入区域2 嵌入区域2

话术样式差异

页面 话术样式 说明
task-detail高优先/优先) 气泡样式 .speech-bubble 浅蓝背景+边框+圆角+右下角尖角,每条带「复制」按钮
task-detail-relationship 竖线样式 border-l-2 左侧 2px 竖线 + 左内边距
task-detail-callback 竖线样式 border-l-2 同上

任务建议标题差异

页面 标题 背景色
task-detail 💡 建议执行 蓝色系
task-detail-relationship 💝 关系构建重点 pink→rose
task-detail-callback 📞 常规回访要点 teal→cyan

状态变量

变量名 类型 初始值 说明
taskDetail object null 任务详情数据
customerInfo object null 客户基本信息
serviceRecords array [] 近期服务记录
aiAnalysis object null AI 分析(应用 4关系分析+任务建议+一句话总结)
retentionClues array [] 维客线索(应用 8 整合线索+人工)
customerAnalysis object null 客户分析(应用 7运营策略+总结)
talkingPoints object null 话术参考(应用 5 缓存)
noteScore number null 备注分析评分(应用 61-10 分)
noteModalVisible boolean false 备注弹窗显示状态
noteText string "" 备注输入内容
noteRating object {serviceWill: 0, returnChance: 0} 星星评分(再次服务意愿+再来店可能性,各 1-5 星)
ratingExpanded boolean false 评分区域是否展开(回访任务默认 true
abandonModalVisible boolean false 放弃客户弹窗显示状态(仅高优先/优先召回有)
abandonReason string "" 放弃原因
loading boolean true 数据加载中
error boolean false 加载失败

用户操作 → 响应

操作 触发条件 响应行为 目标状态
页面加载 进入页面 GET /api/xcx/tasks/{id} loading→false
点击"问问助手" 底部操作栏 navigateTo chat带任务+客户上下文引用)
点击"备注" 底部操作栏 打开备注弹窗 noteModalVisible=true
点击"展开评价" noteModalVisible=true, ratingExpanded=false 展开星星评分区域,隐藏展开按钮 ratingExpanded=true
拖动/点击星星 评分区域展开 更新对应评分值(支持触摸拖动+鼠标拖动+点击) noteRating 更新
备注弹窗-提交 noteText 非空 POST /api/xcx/notes含评分 Toast "备注已保存",弹窗关闭
点击"复制"(话术气泡) 气泡样式页面 复制话术文本到剪贴板,按钮变"已复制"
点击"放弃" 顶部导航栏右侧(仅高优先/优先) 打开放弃确认弹窗 abandonModalVisible=true
放弃弹窗-确认 abandonReason 非空 POST /api/xcx/tasks/{id}/abandon Toast "已放弃该客户的维护"
点击返回 顶部导航栏 navigateBack / history.back()
点击"重试" error=true 重新请求数据 loading=true

"与我的关系"区域

  • 标题带 section-title pink 样式
  • AI 机器人图标(可爱机器人 SVG圆角矩形身体+天线+紫蓝色大眼睛+微笑+粉色腮红+小耳朵)
    • 此图标可视为心形 ICON 的扩展,小程序中用 /assets/icons/icon-ai-relationship.svg
  • 关系等级色系:💖 非常好(>8.5 粉色渐变) / 🧡 良好(>7) / 💛 一般(>5) / 💙 待发展(<5 蓝色渐变)
  • 备注评分星级展示score ÷ 2 = 星数,支持半星,由 ai-icons.js 渲染)

AI 应用编号映射PRD 补充)

应用编号 功能 cache_type 展示位置
应用 4 关系分析 + 任务建议 + 一句话总结summary app4_analysis 与我的关系 / 任务建议 / 卡片底部 AI 文字
应用 5 话术参考5 条话术) 话术区域
应用 6 备注评分1-10 分6 分为标准分) app6_note_analysis 备注弹窗提交后
应用 7 客户分析(运营策略 + 总结) app7_customer_analysis 客户分析区域
应用 8 维客线索整合(member_retention_clue 表) 维客线索区域

AI 区域展示规则

  • 维客线索(应用 8Emoji 作为二级标签,提供者逗号分隔展示
    • source=ai_consumption → "By:系统"
    • source=ai_note → "By:备注"
  • 客户分析(应用 7运营策略数组 + 总结文本
  • 关系分析+任务建议+一句话总结(应用 4
  • 话术参考(应用 55 条话术,气泡/竖线样式展示
  • 备注评分(应用 61-10 分6 分为标准分

备注弹窗规则

  • 底部弹出式弹窗(.modal-overlay + .modal-card
  • 包含:多行文本输入 + 星星评分(再次服务意愿 + 再来店可能性)
  • 回访任务task-detail-callback评分区域默认展开
  • 其他任务类型:评分区域默认隐藏,通过"展开评价"按钮手动打开
  • 星星打分交互:支持点击、触摸拖动、鼠标拖动(由 task-detail-notes.js 实现)

备注评分与回访完成判定PRD 补充)

  • 提交备注后,后端调用应用 6 进行评分1-10 分6 分为标准分)
  • 评分细则:综合备注文本质量、服务意愿星级、再来店可能性星级
  • 回访任务完成条件:备注评分 ≥ 5 → 任务标记完成;< 5 → 不算完成
  • 只计第一个备注的评分(后续备注不影响完成判定)
  • 回访任务有效期 2 天:超过 2 天未完成则标签跳变(回到任务列表重新分配)

放弃客户弹窗(仅高优先/优先召回)

  • 遮罩层 + 居中弹窗
  • 包含:多行文本输入(放弃原因)+ 提交按钮(红色 .danger
  • 空值校验:原因为空时显示错误提示
  • 关系构建和客户回访页面无"放弃"按钮

底部操作栏

  • 「问问助手」按钮:渐变背景(颜色随主题变化),聊天气泡图标
  • 「备注」按钮:灰色背景,编辑笔图标

页面状态枚举

状态名 视觉表现 触发条件
加载中 区域文案"加载中..." loading=true
正常态 完整详情展示 有数据
错误态 "加载失败,请点击重试" + 重试按钮 error=true

后端 API 依赖

API 方法 说明
GET /api/xcx/tasks/{id} GET 获取任务详情(含客户信息+AI 分析)
POST /api/xcx/notes POST 创建备注(含评分,触发回访完成判定)
POST /api/xcx/tasks/{id}/abandon POST 放弃任务(仅高优先/优先)

页面导航

  • 来源task-list点击任务卡片按 task-type 跳转对应页面)
  • 去向chat问问助手

全局组件

  • 自定义顶部导航栏(返回按钮 + "任务详情",高优先/优先召回右侧有"放弃"按钮)
  • AI 悬浮按钮