todo-management Specification
Purpose
TBD - created by archiving change add-lead-management-system. Update Purpose after archive.
Requirements
Requirement: 待办创建
系统 MUST 允许用户创建待办任务,填写待办内容(支持富文本,500字符)、起止时间(本地时区)、品牌名称(自动带出联系人、公司、联系方式)、关联线索/客户、参与人等字段。
Scenario: 创建待办成功
- WHEN 用户点击"新增待办"按钮,填写待办内容(如"明天10:00电话回访海底捞新加坡店"),选择品牌名称(如"海底捞"),系统自动带出联系人和联系方式,设置待办开始时间、结束时间、拜访形式,并保存
- THEN 系统创建待办任务,待办状态="未完成",待办创建人=当前用户,待办创建时间=当前时间(UTC)
Scenario: 根据品牌名称检索并自动填充
- WHEN 用户在"品牌名称"字段输入关键词并选择品牌(如"海底捞"),系统自动带出该品牌的国家/地区
- THEN 系统自动填充联系人姓名、公司名称、联系方式(手机号或电话)
Scenario: 待办内容富文本支持
- WHEN 用户在待办内容字段输入文本并格式化(如加粗、列表、链接)
- THEN 系统保存富文本格式,在列表页展示时保留格式
Scenario: 待办内容长度超限
- WHEN 用户输入超过500字符的待办内容
- THEN 系统实时显示字符计数,超过500时红字提示并阻止保存
Scenario: 起止时间校验
- WHEN 用户设置的结束时间早于或等于开始时间
- THEN 系统红字提示"结束时间必须晚于开始时间",并阻止保存
Scenario: 默认时间设置
- WHEN 用户创建待办时未手动设置时间
- THEN 系统默认设置开始时间=当前时间+10分钟,结束时间=开始时间+10分钟
Scenario: 拜访形式必选
- WHEN 用户创建待办时未选择拜访形式(电话沟通/发邮件/实地拜访/微信沟通/其他)
- THEN 系统红字提示"请选择拜访形式",并阻止保存
Scenario: 关联线索
- WHEN 用户创建待办时选择关联线索(从线索列表选择)
- THEN 系统记录线索ID,用于生成跟进记录
Scenario: 关联客户
- WHEN 用户创建待办时选择关联客户(从客户列表选择)
- THEN 系统记录客户ID,用于生成客户拜访记录
Scenario: 添加参与人
- WHEN 用户添加多个参与人(用于协同拜访)
- THEN 系统记录参与人列表,参与人也可见该待办
Scenario: 时区自动转换
- WHEN 用户设置开始时间为"2026-01-15 10:00:00"(本地时区为GMT+8)
- THEN 系统存储为UTC时间"2026-01-15 02:00:00",展示时转换回用户本地时区
Requirement: 待办查询
系统 MUST 支持按品牌名称、品牌国家/地区、待办状态、拜访形式、创建时间范围等条件查询待办任务,并根据用户权限过滤数据。
Scenario: 查询我的待办
- WHEN 用户进入待办管理页面(默认查询条件)
- THEN 系统显示待办创建人=当前用户 OR 参与人包含当前用户的待办列表
Scenario: 按品牌名称查询
- WHEN 用户输入品牌名称关键词并查询
- THEN 系统返回品牌名称包含该关键词的所有待办
Scenario: 按待办状态查询
- WHEN 用户选择待办状态="未完成"
- THEN 系统返回所有未完成的待办任务
Scenario: 按拜访形式查询
- WHEN 用户选择拜访形式="电话沟通"
- THEN 系统返回所有拜访形式为"电话沟通"的待办
Scenario: 按时间范围查询
- WHEN 用户选择待办开始时间范围
- THEN 系统返回在该时间范围内的待办任务
Requirement: 待办列表展示
系统 MUST 以列表形式展示待办任务,列头包含待办内容、品牌名称、品牌国家/地区、联系人姓名、公司名称、联系方式、待办开始时间、待办结束时间、待办状态、待办进度、拜访形式、合作意向、销售阶段、访问时间、访问详情、参与人、待办创建人、待办创建时间、待办修改人、待办修改时间、线索ID/客户ID。
Scenario: 待办进度自动计算
- WHEN 系统展示待办列表
- THEN 系统根据待办状态和起止时间自动计算待办进度:即将开始(未完成+未到开始时间)、进行中(未完成+在时间范围内)、已过期(未完成+超过结束时间)、已结束(已完成)
Scenario: 待办进度标识
- WHEN 用户查看待办列表
- THEN 系统在"待办进度"列显示标签:绿色"即将开始"、蓝色"进行中"、红色"已过期"、灰色"已结束"
Scenario: 默认排序
- WHEN 用户进入待办管理页面
- THEN 系统按"待办开始时间"升序排列(最早的任务在前)
Scenario: 数据权限过滤
- WHEN 用户查询待办列表
- THEN 系统仅显示该用户创建的或参与的待办任务
Requirement: 待办修改
系统 MUST 允许待办创建人修改待办内容、时间、拜访形式等字段,待办状态="已完成"后不允许修改(仅可修改访问详情)。
Scenario: 修改待办内容
- WHEN 用户点击"编辑"按钮,修改待办内容或时间,并保存
- THEN 系统更新待办信息,记录修改人和修改时间
Scenario: 已完成待办修改限制
- WHEN 待办状态="已完成",用户尝试修改待办内容或时间
- THEN 系统禁用这些字段,提示"待办已完成,不可修改基本信息",仅允许修改访问详情
Scenario: 修改起止时间
- WHEN 用户修改待办的开始时间或结束时间
- THEN 系统重新验证时间合法性(结束时间必须晚于开始时间),通过后更新并记录
Scenario: 修改品牌信息
- WHEN 用户修改品牌名称,系统自动重新带出联系人和联系方式
- THEN 系统更新相关字段并记录
Requirement: 待办完成
系统 MUST 允许用户标记待办为已完成,填写合作意向(有意向/无意向)、销售阶段(初步接触/确定合作/客户流失/已注册)、访问时间、访问详情等字段。
Scenario: 完成待办并填写反馈
- WHEN 用户点击"完成"按钮,选择合作意向="有意向",选择销售阶段="确定合作",填写访问详情="电话沟通,对方表示有兴趣,下周安排演示",并确认
- THEN 系统更新待办状态="已完成",记录访问时间=当前时间,保存访问详情,生成跟进记录并关联到线索/客户
Scenario: 完成待办更新线索状态
- WHEN 用户完成待办并选择销售阶段="确定合作"
- THEN 系统自动更新关联线索的状态为"跟进中",记录最后跟进时间、最后跟进形式、最后跟进意向、最后跟进阶段
Scenario: 完成待发后不可修改状态
- WHEN 待办状态="已完成",用户尝试将状态改回"未完成"
- THEN 系统提示"待办已完成,状态不可逆流",并阻止修改
Scenario: 完成待办后修改访问详情
- WHEN 用户已完成待办,后续补充或修改访问详情
- THEN 系统允许修改访问详情并记录修改人
Requirement: 待办删除
系统 MUST 允许待办创建人删除未完成的待办,已完成的待办不允许删除。
Scenario: 删除未完成待办
- WHEN 用户点击"删除"按钮并确认
- THEN 系统删除该待办任务
Scenario: 删除已完成待办被拒绝
- WHEN 用户尝试删除已完成的待办
- THEN 系统提示"已完成的待办不能删除",并阻止删除
Requirement: 待办提醒
系统 MUST 在待办即将到期前发送提醒通知给待办创建人和参与人。
Scenario: 待办到期前1小时提醒
- WHEN 当前时间距离待办开始时间不足1小时,待办状态="未完成"
- THEN 系统发送提醒通知(邮件/企微)给待办创建人和参与人,包含待办内容、开始时间、品牌名称、联系人、联系方式
Scenario: 过期待办提醒
- WHEN 待办已过期(当前时间>结束时间),待办状态="未完成"
- THEN 系统发送逾期提醒通知,提示该待办已过期
Requirement: 跟进记录生成
系统 MUST 在完成待办时自动生成跟进记录,关联到线索或客户,供后续查看。
Scenario: 关联线索生成跟进记录
- WHEN 用户完成关联线索的待办,填写合作意向、销售阶段、访问详情
- THEN 系统在线索的"跟进记录"Tab中新增一条记录,标识"From To-Do",展示访问时间、归属人、访问形式、合作意向、销售阶段、访问详情
Scenario: 关联客户生成拜访记录
- WHEN 用户完成关联客户的待办
- THEN 系统在客户的"拜访记录"中新增一条记录
Scenario: 查看跟进记录来源
- WHEN 用户查看线索的跟进记录
- THEN 系统在每条记录前显示"From To-Do"标识(如果该记录来自待办),点击可跳转到原待办详情
Requirement: 待办统计
系统 MUST 在待办管理页面顶部展示统计卡片,包括即将开始、进行中、已过期、已结束的待办数量。
Scenario: 显示待办统计
- WHEN 用户进入待办管理页面
- THEN 系统在查询结果顶部显示4个统计卡片(即将开始X条、进行中X条、已过期X条、已结束X条),数据实时计算(基于当前用户权限范围内的待办)
Requirement: 协同拜访
系统 MUST 支持添加参与人,实现销售团队协同拜访。
Scenario: 添加参与人
- WHEN 用户创建或修改待办时,添加多个参与人(如同事A、同事B)
- THEN 系统记录参与人列表,这些参与人也可在自己的待办列表中看到该待办
Scenario: 参与人查看待办
- WHEN 参与人登录系统并查询待办列表
- THEN 系统显示该用户创建的或参与的待办任务
Scenario: 参与人不可修改待办
- WHEN 参与人查看由其他用户创建的待办
- THEN 系统禁用"编辑"和"删除"按钮(仅创建人可修改/删除),参与人仅可查看和标记完成
Requirement: 待办国际化
系统 MUST 支持所有UI文案、枚举值、时间格式的多语言切换和多时区转换。
Scenario: 多语言UI显示
- WHEN 用户浏览器语言设置为英文(en)
- THEN 系统显示所有文案为英文(如"To-Do Content"、"Visit Method"等)
Scenario: 枚举值多语言
- WHEN 用户查看拜访形式下拉选项
- THEN 系统根据当前语言显示"电话沟通/Phone Call"、"实地拜访/On-site Visit"等
Scenario: 时间本地时区展示
- WHEN 用户查看待办列表,系统存储的UTC时间为"2026-01-15 02:00:00",用户时区为GMT+8
- THEN 系统展示为"2026-01-15 10:00:00"
Scenario: 时间格式国际化
- WHEN 用户语言设置为英文
- THEN 系统展示时间格式为"MM/DD/YYYY HH:MM:SS"(如"01/15/2026 10:00:00")
Scenario: 时间格式中文
- WHEN 用户语言设置为中文
- THEN 系统展示时间格式为"YYYY-MM-DD HH:MM:SS"(如"2026-01-15 10:00:00")