lead-source Specification
Purpose
TBD - created by archiving change add-lead-management-system. Update Purpose after archive.
Requirements
Requirement: 线索来源创建
系统 MUST 允许用户创建新的线索来源,需填写来源名称(多语言,支持中英双语)、业务线、启用状态、外部可见标识、描述等字段。
Scenario: 创建来源成功
- WHEN 用户点击"新增来源"按钮,填写来源名称(如"官网"),选择业务线(渠道/直营/通用),启用状态设为"启用",并保存
- THEN 系统创建新的线索来源记录,自动生成来源ID,在列表顶部插入新行,提示"创建成功"
Scenario: 来源名称唯一性校验失败
- WHEN 用户输入已存在的来源名称并失焦
- THEN 系统在字段下方实时红字提示"来源名称已存在"(中英双语),并阻止保存
Scenario: 来源名称长度超限
- WHEN 用户输入超过50个字符的来源名称
- THEN 系统在字段下方实时提示字符计数,超过50字符时红字提示并阻止保存
Scenario: 业务线未选择
- WHEN 用户未选择业务线并尝试保存
- THEN 系统红字提示"请选择业务线",并阻止保存
Scenario: 外部可见开关开启
- WHEN 用户将"外部可见"开关设为ON
- THEN 系统允许该来源出现在"外部API枚举"与"Embed表单"可选列表中
Scenario: 描述字符计数显示
- WHEN 用户在"描述"字段输入内容
- THEN 系统实时显示字符计数(如"45/200"),超过200字符时红字提示并阻止保存
Requirement: 线索来源查询
系统 MUST 支持按来源名称(模糊搜索)、来源类型、业务线、启用状态、更新时间范围等条件查询线索来源。
Scenario: 按来源名称模糊查询
- WHEN 用户输入来源名称关键词(如"官网")并点击查询
- THEN 系统返回来源名称包含该关键词的所有记录(支持中英文模糊匹配)
Scenario: 按业务线多选查询
- WHEN 用户选择多个业务线(渠道+直营)并点击查询
- THEN 系统返回业务线为"渠道"或"直营"的所有记录
Scenario: 按启用状态查询
- WHEN 用户选择"启用"状态并点击查询
- THEN 系统返回所有启用状态的来源记录
Scenario: 按更新时间范围查询
- WHEN 用户选择更新时间范围(如"2026-01-01至2026-01-31")并点击查询
- THEN 系统返回在该时间范围内有更新操作的记录
Scenario: 重置查询条件
- WHEN 用户点击"重置为默认"按钮
- THEN 系统清空所有查询条件,恢复默认列表(显示所有记录)
Requirement: 线索来源列表展示
系统 MUST 以列表形式展示所有线索来源,默认列头包含所有字段(来源ID、来源名称、来源类型、业务线、启用状态、外部可见、描述、创建人、创建时间、更新人、更新时间、操作),支持列配置自定义显示。
Scenario: 默认列显示
- WHEN 用户进入线索来源管理页面
- THEN 系统显示默认列配置(所有字段全展示),每行显示一条来源记录
Scenario: 启用状态标识
- WHEN 用户查看来源列表
- THEN 系统在"启用状态"列显示绿色"启用"或灰色"停用"标签
Scenario: 操作列按钮
- WHEN 用户查看来源列表
- THEN 系统在"操作"列显示"编辑"按钮和"启用/停用"Switch开关(inline即时生效)
Requirement: 线索来源修改
系统 MUST 允许用户修改线索来源信息,但来源类型与数据域字段禁止修改(Disabled样式),来源名称需再次校验唯一性(排除自身ID)。
Scenario: 修改来源名称成功
- WHEN 用户点击"编辑"按钮,修改来源名称(未与现有记录冲突),并保存
- THEN 系统更新来源名称,记录修改人和修改时间,提示"修改成功"
Scenario: 修改来源名称冲突
- WHEN 用户修改来源名称为已存在的其他记录的名称并保存
- THEN 系统红字提示"来源名称已存在",弹窗保持打开,阻止保存
Scenario: 修改禁用字段
- WHEN 用户查看编辑弹窗
- THEN 系统将"来源类型"和"数据域"字段设为Disabled样式,不允许修改
Scenario: 修改业务线
- WHEN 用户修改业务线(从"渠道"改为"直营")并保存
- THEN 系统更新业务线字段,记录修改人和修改时间
Requirement: 线索来源启用/停用
系统 MUST 支持即时切换线索来源的启用状态,无需二次确认。
Scenario: 停用来源
- WHEN 用户在列表中点击某来源的Switch开关(从ON切换为OFF)
- THEN 系统即时更新该来源状态为"停用",inline刷新状态显示,提示"已停用"
Scenario: 启用来源
- WHEN 用户在列表中点击某来源的Switch开关(从OFF切换为ON)
- THEN 系统即时更新该来源状态为"启用",inline刷新状态显示,提示"已启用"
Scenario: 停用来源后影响
- WHEN 用户停用某线索来源
- THEN 系统在"自动分配规则"的来源选择中将该来源置灰不可选,在"公海池"和"线索管理"的来源查询中不再显示该来源
Requirement: 线索来源列表排序与分页
系统 MUST 支持来源列表的默认排序(最新修改在前)、可排序列(点击列头排序)、分页展示(20/50/100/200/1000条可选)。
Scenario: 默认排序
- WHEN 用户进入线索来源管理页面
- THEN 系统按"更新时间"降序排列来源(最新修改的在前)
Scenario: 点击列头排序
- WHEN 用户点击"来源名称"列头
- THEN 系统按来源名称升序排列,再次点击切换为降序
Scenario: 切换每页显示数量
- WHEN 用户选择每页显示50条
- THEN 系统重新查询并显示前50条记录,底部显示页码跳转控件
Requirement: 线索来源国际化
系统 MUST 支持所有UI文案(按钮、表头、枚举、提示语)的多语言切换(中英双语,可扩展至日语、西班牙语)。
Scenario: 中文界面显示
- WHEN 用户浏览器语言设置为中文(zh)
- THEN 系统显示所有文案为中文(如"新增来源"、"来源名称"、"启用"等)
Scenario: 英文界面显示
- WHEN 用户浏览器语言设置为英文(en)
- THEN 系统显示所有文案为英文(如"Add Source"、"Source Name"、"Active"等)
Scenario: 来源名称多语言存储
- WHEN 用户创建来源时输入中文名称"官网"
- THEN 系统存储语言Key(如
lead.source.official_website),前端按当前语言渲染对应文案
Scenario: 枚举值多语言展示
- WHEN 用户查看业务线下拉选项
- THEN 系统根据当前语言显示"渠道/Channel"、"直营/Direct Sales"、"通用/All"
Requirement: 线索来源参数值生成
系统 MUST 在创建线索来源时自动生成唯一的来源ID(数值型),用于API接口调用和外部系统集成。
Scenario: 自动生成来源ID
- WHEN 用户创建新的线索来源并保存成功
- THEN 系统自动生成唯一的来源ID(如"1001"),并记录在数据库中
Scenario: 来源ID全局唯一
- WHEN 系统生成来源ID
- THEN 系统确保该ID在全局范围内唯一,不与现有来源ID冲突
Scenario: 来源ID只读
- WHEN 用户查看或编辑线索来源
- THEN 系统显示来源ID为只读字段,不允许手动修改