销售活动录入_Demo.html,独立打开、无需后端)可把流程走一遍。
文中示例均为虚构数据,不含真实客户名与销售员姓名。| 场景 | 说明 |
|---|---|
| 拜访后即时录入 | 从「拜访与活动」页的「✍️ 录」进入,提交后自动回到「看」并计入统计 |
| 客户页发起 | 带 ?customer= 参数进入,客户字段预填 |
| 补录 | 支持改活动日期(默认今天) |
| 草稿续填 | 中途离开不丢,重开出现「恢复草稿」 |
| 角色 | 能做什么 | 数据可见范围 |
|---|---|---|
| 销售(sales) | 新建 / 提交活动;检索并关联自己的订单与商机 | 仅本人提交的活动与订单 |
| 部门经理 / 总监 / 管理员 | 查看下属活动、按部门/销售下钻统计 | 管辖范围;admin·gm 全量 |
| 未登录 | 不可进入(提示未登录,不出任何数据) | — |
| 分组 | 字段 | 类型 | 必填 | 校验 / 说明 | 取值来源 |
|---|---|---|---|---|---|
| 基本信息 | 客户 | 单选检索 | 是 | 必填;从客户工作项检索选择(仅本人可见范围) | 飞书「客户」工作项 |
| 基本信息 | 拜访对象 / 联系人 | 文本 | 否 | — | 手工填写 |
| 基本信息 | 活动日期 | 日期 | 否 | 默认今天 | 手工 / 默认 |
| 基本信息 | 活动形式 | 下拉单选 | 是 | 线下拜访 / 线上跟进 / 陌拜 / 协同拜访;与飞书「活动类型」字段同口径,拜访统计按此计数 | 字典 |
| 基本信息 | 活动类型 | 下拉单选 | 是 | 项目跟进 / 采购跟进 / 客户档案完善;决定下方跟进内容的必填项 | 字典 |
| 基本信息 | 采购跟进细分 | 下拉单选 | 是 | 拜访采购 / 跟进下单 / 催款(提交时校验) | 字典 |
| 关联关系 | 关联商机 | 多选 | 否 | 可关联多个;每关联一个,下方自动增一套跟进内容 | 飞书「商机」工作项 |
| 关联关系 | 订单编号 | 检索多选 | 否 | 按单号或客户名检索,仅显示本人有权限的订单;选中后可带出该单货号 | ERP 订单 / /api/activity/orders |
| 跟进内容(每套) | 客户需求 | 多行文本 | 条件必填 | 项目跟进:与「技术参数 / 问题现象」至少填一项 | 手工 |
| 跟进内容(每套) | 技术参数 | 结构化列表 | 条件必填 | 货号 + 描述,可多行 | 手工 / 订单带出 |
| 跟进内容(每套) | 问题现象 | 多行文本 | 条件必填 | 填写后系统自动派生待办,需人工确认 | 手工 |
| 跟进内容(每套) | 下一步计划 | 结构化列表 | 条件必填 | 至少一套必须填;同样派生待办 | 手工 |
| 跟进内容(每套) | 竞对 / 竞品价格 | 结构化列表 | 否 | 勾选「已获取价格」则至少填一条(品牌 / 货号 / 单价) | 手工 |
| 跟进内容(每套) | 决策链(决策人) | 结构化列表 | 否 | 姓名 / 职务 / 角色 / 影响力 / 态度 / 关注点等 | 手工 |
| 跟进内容(每套) | 主营业务 / 营收 / TOP3 供应商 | 结构化 | 条件必填 | 「客户档案完善」类型下:与决策链等至少填一项 | 手工 |
| 跟进内容(每套) | 我司当前份额 / 主要竞对 | 数值 / 文本 | 否 | — | 手工 |
| 档案类 | 成立时间 / 注册资本 / 融资情况 / 人员规模 / 注册证数 / 客户行业 / 公司类型 / 资质 | 文本 | 否 | 客户档案完善类字段 | 手工 / 外部查询 |
| 系统字段 | 提交人 / 归属销售 / 创建时间 / id / 附件数 / 商机数 / 区块数 | 系统生成 | 自动 | 提交后由服务端写入,不可编辑 | 服务端 |
| 分组 | 校验项 | 规则 |
|---|---|---|
| 通用 | 客户 | 必填 |
| 通用 | 活动形式 | 必填 |
| 通用 | 采购跟进细分 | 必填 |
| 通用 | 跟进内容 | 至少一套 |
| 通用 | 下一步计划 | 至少一套填了;部分未填时按商机名逐条提示 |
| 通用 | 价格信息 | 勾选「已获取价格」的区块,至少填一条(品牌 / 货号 / 单价) |
| 按类型:项目跟进 | 客户需求 / 技术参数 / 问题现象 | 每个区块至少填一项 |
| 按类型:客户档案完善 | 档案完善内容 | 决策链 / 主营业务 / 营收 / TOP3 供应商 至少填一项 |
| 按类型:采购跟进 | 采购跟进细分 | 必填(拜访采购 / 跟进下单 / 催款) |
| 主题 | 规则 |
|---|---|
| 待办生成 | 自动生成 + 提交前人工确认:由「问题现象」「下一步计划」派生,每条带稳定 uid;销售可改措辞、可标记删除、可勾选确认。提交时只提交 confirmed 且未 removed 的条目。手工新建的待办永不被活动覆盖(靠指纹 upsert)。 |
| 订单关联 | 只能检索到本人有权限的订单(服务端过滤);选中订单后可带出该单货号,用于技术参数/测试关联。 |
| 技术支持 | 只留入口:活动可标记「需技术支持跟进」,落库并打标,不派单、不跨人镜像。 |
| 草稿 | 填写过程自动存草稿(浏览器本地),重开页面出现「恢复草稿」条,可选择恢复或丢弃。 |
| 附件 | 支持上传附件;对外用短时有效的下载地址。 |
| 归属 | 提交人 = 登录人;活动计入「拜访与活动」统计(按 部门 → 销售 → 客户 下钻)。 |
{
"id": "ACT20261008143012",
"created": "2026-10-08 14:30:12",
"submitted_by": "(登录人姓名)",
"sales": "(登录人姓名)",
"customer": "(客户名)",
"contact": "(联系人)",
"date": "2026-10-08",
"channel": "offline | online | cold | joint",
"type": "项目跟进 | 采购跟进 | 客户档案完善",
"subtype": "拜访采购 | 跟进下单 | 催款",
"order_refs": ["ZHBR26xxxxxxx"],
"order_ref_nos": ["ZHBR26xxxxxxx"],
"order_no": "(主订单号)",
"blocks": [
{
"opp": "(关联商机名) / 空",
"opp_status": "", "opp_url": "",
"need": "(客户需求)",
"params": [{"sku": "(货号)", "desc": "(描述)"}],
"issue": "(问题现象)",
"feedback": "", "plan": [{"text": "(下一步计划)", "uid": "(稳定uid)"}],
"competitors": [{"brand": "", "sku": "", "note": ""}],
"prices": [{"brand": "", "sku": "", "spec": "", "qty": "", "price": "", "source": ""}],
"price_on": false,
"decision": [{"name": "", "title": "", "role": "", "power": "", "phone": "", "note": ""}],
"biz_desc": "", "revenues": [{"year": "", "amt": "", "source": ""}],
"suppliers": [{"name": "", "project": ""}],
"self_share": "", "main_rival": ""
}
],
"todos": [{"text": "", "due": "", "type": "", "scope": "", "tech_support": false}],
"feishu_text": "(渲染后的飞书可读文本)",
"_idx": {"sku_count": 0, "att_count": 0, "opp_count": 0, "block_count": 1}
}
blocks[] 做逐字段白名单清洗(未列字段静默丢弃);空块整块丢弃。
索引 _index.json 只保留轻字段(id / created / submitted_by / type / customer / date / channel / 各类计数),统计与列表读索引,不读全量。| 方法 | 路径 | 说明 | 权限 |
|---|---|---|---|
| GET | /api/activity/options | 活动类型 / 细分 / 下拉选项字典 | 登录用户 |
| GET | /api/activity/orders?q=&limit= | 订单检索(服务端按权限过滤) | 登录用户(仅本人可见订单) |
| GET | /api/activity/order_skus?no= | 按订单号取货号明细 | 登录用户 |
| POST | /api/activity/submit | 提交活动:落库(本地 JSON + CloudBase)+ 待办 upsert | 登录用户 |
| GET | /api/activity/list | 活动列表(按权限过滤) | 登录用户 |
| GET | /api/activity/detail?id= | 活动详情(含飞书可读文本) | 登录用户(越权 403) |
| POST | /api/activity/attachment | 上传附件 | 登录用户 |
| GET | /api/activity/attachment_url?id= | 取附件短时下载地址 | 登录用户 |
| GET | /api/users/roster | 人员名册(用于归属展示) | 登录用户 |
| GET/POST | /api/todos | 待办读写(活动派生的待办落此) | 登录用户 |
| 关联模块 | 关系 |
|---|---|
| 待办 | 活动派生的待办写入待办模块(对内 / 对外分层);按指纹 upsert,只更新变动项,绝不动完成状态与结论 |
| 拜访与活动(看板) | 活动是统计来源;按活动形式分桶(线下拜访 / 线上跟进 / 陌拜 / 协同拜访),支持 部门→销售→客户 下钻 |
| 客户 / 商机 / 订单 | 分别取自飞书「客户」「商机」与 ERP 订单;订单金额口径以 ERP 为准 |
| 技术支持 | 仅标记 + 留入口,不做派单 |
| # | 待决策项 | 可选方案 |
|---|---|---|
| 1 | 录入入口放在哪里 | 沿用现网工作台 / 并入飞书 / 并入 ERP —— 影响登录态与权限来源 |
| 2 | 活动形式字典是否与飞书对齐 | 建议对齐(线下拜访 / 线上跟进 / 陌拜 / 协同拜访),否则按形式统计会对不上 |
| 3 | 待办的确认动作是否保留 | 现网为「自动生成 → 人工确认」,建议保留(避免误派活) |
| 4 | 订单/商机数据来源 | 订单取 ERP、客户/商机取飞书;两边靠单号与工作项 id 关联 |
| 5 | 附件与移动端 | 是否需要拍照上传 / 移动端适配 |