logologo
开始
教程
手册
开发
插件
API
首页
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
开始
教程
手册
开发
插件
API
首页
logologo

V2 教程(IT 工单系统)

教程简介
第 1 章:认识 NocoBase — 5 分钟跑起来
第 2 章:数据建模 — 两张表搞定工单系统
第 3 章:搭建页面 — 从空白到可用
第 4 章:表单与详情 — 录入、展示、一步到位
第 5 章:用户与权限 — 谁能看什么
第 6 章:工作流 — 让系统自动干活
第 7 章:仪表盘 — 一眼看全局

V1 教程(旧版)

任务管理系统概览
第 1 章:初识 NocoBase
第 2 章:设计任务管理系统
第 3 章:任务数据管理
第 4 章:任务与评论插件
第 5 章:标签页与动态区块
第 6 章:用户与权限
第 7 章:工作流
项目管理平台概览
第 8 章:知识库 - 树表
第 9 章:任务看板与图表
第 10 章:看板筛选与条件
第 11 章:子任务与工时计算
第 12 章:会议室预订与工作流
实现用户注册审核
实现 CRM 线索转化
Markdown 区块技巧
CRM 销售云功能概览
线索跟进与状态管理
CRM 销售云系统
使用 API Keys 获取数据
Markdown 模板变量用法
如何更快部署 NocoBase
CRM 销售管道可视化
CRM Demo 部署指南
Previous PageCRM 销售云功能概览
Next PageCRM 销售云系统

#线索跟进与状态管理

#1. 简介

#1.1 本章目标

在本章中,我们将一起学习如何在 NocoBase 中实现 CRM 商机转化。通过线索跟进和状态管理,您可以提升业务效率,实现更精细的销售过程控制。

#1.2 最终效果预览

在上一章节中,我们讲解了如何关联管理线索与公司、联系人以及商机的数据。现在,我们聚焦于线索模块,主要探讨如何进行线索的跟进与状态管理。请先观看以下效果示例:

#2. 线索 Collection 结构说明

#2.1 线索 Collection 介绍

在线索跟进功能中,“状态”(status)字段扮演着至关重要的角色,不仅反映了线索的当前进展(如未达标、新线索、处理中、跟进中、交易进行中、完成),而且还驱动整个表单的显示与变化。下面的 table block 展示了线索 collection 的字段结构及其详细描述:

Field name字段显示名称Field interfaceDescription
idIdInteger主键
account_idaccount_idIntegerACCOUNT 外键
contact_idcontact_idIntegerCONTACT 外键
opportunity_idopportunity_idIntegerOPPORTUNITY 外键
name线索名Single line text潜在客户的姓名
company公司名Single line text潜在客户所在的公司名称
email电子邮箱Email潜在客户的电子邮箱地址
phone联系电话Phone联系电话
status状态Single select线索当前状态(未达标, 新线索, 处理中, 跟进中, 交易进行中, 完成)
Account公司Many to one关联到公司 Collection
Contact联系人Many to one关联到联系人 Collection
Opportunity商机Many to one关联到商机 Collection

#3. 创建 Leads 表格区块(table block)与详情区块

#3.1 创建说明

首先,我们需要创建一个 “Leads” 的 table block 用于展示必要的字段。同时,在页面右侧配置一个详情区块,当您点击某条记录时,右侧会自动显示对应的详细信息。请参见下图的配置效果:

#4. 配置操作按钮

#4.1 按钮总体说明

为了满足各种操作需求,我们需要创建共计 11 个按钮。每个按钮都依据记录的状态(status)采用不同的显示方式(隐藏、激活或禁用),从而引导用户按照正确的业务流程操作。 20250226173632

#4.2 各功能按钮详细配置

#4.2.1 编辑按钮

  • 联动规则:当记录的 status 为 “Completed”(已完成)时,自动禁用该按钮,防止进行不必要的编辑。

#4.2.2 未达标 按钮1(未激活)

  • 样式与外观:标题显示为 “Unqualified >”。
  • 操作与行为:点击后执行 update 操作,将记录的 status 更新为 “Unqualified”,更新成功后返回上一级页面,并显示 “Unqualified” 的成功提示。
  • 联动规则:仅当记录的 status 为空时显示;一旦 status 有值,该按钮将自动隐藏。

#4.2.3 未达标 按钮2(激活状态)

  • 样式与外观:同样显示为 “Unqualified >”。
  • 操作与行为:用于更新记录的 status 为 “Unqualified”。
  • 联动规则:当 status 为空时,此按钮隐藏;如果 status 为 “Completed”,则按钮会被禁用。

#4.2.4 新线索 按钮1(未激活)

  • 样式与外观:标题显示为 “New >”。
  • 操作与行为:点击后更新记录,将 status 设置为 “New”,更新成功后显示 “New” 的提示。
  • 联动规则:如果记录的 status 已处于 “New”、“Working”、“Nurturing” 或 “Completed” 状态时,该按钮将隐藏。

#4.2.5 新线索 按钮2(激活状态)

  • 样式与外观:标题依然为 “New >”。
  • 操作与行为:同样用于更新记录,将 status 设置为 “New”。
  • 联动规则:当 status 属于 “Unqualified” 或为空时隐藏;若 status 为 “Completed”,则按钮被禁用。

#4.2.6 处理中 按钮(未激活)

  • 样式与外观:标题显示为 “Working >”。
  • 操作与行为:点击按钮后,记录的 status 更新为 “Working”,并显示 “Working” 成功提示。
  • 联动规则:若记录的 status 已为 “Working”、“Nurturing” 或 “Completed”,则该按钮隐藏。

#4.2.7 处理中 按钮(激活状态)

  • 样式与外观:标题依然为 “Working >”。
  • 操作与行为:用于将记录的 status 更新为 “Working”。
  • 联动规则:当 status 为 “Unqualified”、“New” 或为空时,该按钮隐藏;如果 status 为 “Completed”,则按钮禁用。

#4.2.8 跟进中 按钮(未激活)

  • 样式与外观:标题显示为 “Nurturing >”。
  • 操作与行为:点击按钮后,将记录的 status 更新为 “Nurturing”,并显示 “Nurturing” 的成功提示。
  • 联动规则:若记录的 status 已为 “Nurturing” 或 “Completed”,按钮隐藏。

#4.2.9 跟进中 按钮(激活状态)

  • 样式与外观:标题同样为 “Nurturing >”。
  • 操作与行为:同样用于更新记录的 status 为 “Nurturing”。
  • 联动规则:当 status 为 “Unqualified”、“New”、“Working” 或为空时隐藏;若 status 为 “Completed”,则按钮禁用。

#4.2.10 转化 按钮

  • 样式与外观:标题显示为 “transfer”,并以 modal 弹窗形式打开。
  • 操作与行为:主要用于执行记录转移操作。更新操作后,系统会弹出一个包含抽屉、Tabs 以及表单的界面,方便您进行记录转移。
  • 联动规则:当记录的 status 为 “Completed”时,此按钮隐藏,以防止重复的转移。

#4.2.11 转化完成 按钮(激活状态)

  • 样式与外观:标题显示为 “transfered”,同样以 modal 弹窗形式打开。
  • 操作与行为:该按钮只用于展示转化完成后的信息,不具备编辑功能。
  • 联动规则:仅在记录的 status 为 “Completed”时显示,其他状态(如 “Unqualified”、“New”、“Working”、“Nurturing” 或为空)时隐藏。

#4.3 按钮配置总结

  • 每项功能均提供未激活和激活状态下的不同按钮样式。
  • 利用联动规则,根据记录的 status 动态控制按钮的显示(隐藏或禁用),从而引导销售人员按照正确的工作流程进行操作。

#5. 表单联动规则设置

#5.1 规则 1:仅展示名称

  • 当记录未确认或 status 为空时,只展示名称。

#5.2 规则 2:"新线索" 状态下的显示优化

  • 在 status 为 “新线索” 时,页面将隐藏公司名,并展示联系方式。

#6. 页面 Markdown 规则与 Handlebars 语法

#6.1 动态文案展示

在页面中,我们使用 Handlebars 语法根据记录的状态动态展示不同的提示信息。以下是各状态下的示例代码:

当状态为 “未达标” 时:

{{#if (eq $nRecord.status "未达标")}}
**跟踪你那些不合格线索的相关信息。**  
如果你的线索对产品不感兴趣或已离开相关公司,则可能是不合格的。  
- 记录经验教训以供今后参考  
- 保存外联细节和联系方式  
{{/if}}

当状态为 “新线索” 时:

{{#if (eq $nRecord.status "新线索")}}
**识别这一机会所需的产品或服务。**  
- 收集客户案例、参考资料或竞争分析  
- 确认你的主要利益相关者  
- 确定可供使用的资源  
{{/if}}

当状态为 “处理中” 时:

{{#if (eq $nRecord.status "处理中")}}
**向利益相关者交付你的解决方案。**  
- 传达解决方案的价值  
- 明确时间表和预算  
- 与客户制定何时以及如何成交的计划  
{{/if}}

当状态为 “跟进中” 时:

{{#if (eq $nRecord.status "跟进中")}}
**确定客户的项目实施计划。**  
- 根据需要达成协议  
- 遵循内部折扣流程  
- 获取签署的合同  
{{/if}}

当状态为 “转化完成” 时:

{{#if (eq $nRecord.status "转化完成")}}
**确认项目实施计划和最终步骤。**  
- 确保所有剩余协议和签字手续到位  
- 遵循内部折扣政策  
- 确保合同已签署且项目实施按计划进行  
{{/if}}

#7. 展示转化完成后的关联对象及跳转链接

#7.1 关联对象说明

在转化完成后,我们希望展示相关的关联对象(公司、联系人、商机),并附上跳转至详情页面的链接。注意:在其他弹窗或页面中,详情链接格式的最后部分(filterbytk 后的数字)代表当前对象的 id,例如:

http://localhost:13000/apps/tsting/admin/w3yyu23uro0/popups/ki0wcnfruj6/filterbytk/1

#7.2 使用 Handlebars 生成关联链接

对于 公司:

{{#if (eq $nRecord.status "已完成")}}
**Account:**
[{{$nRecord.account.name}}](http://localhost:13000/apps/tsting/admin/w3yyu23uro0/popups/ki0wcnfruj6/filterbytk/{{$nRecord.account_id}})
{{/if}}

对于 联系人:

{{#if (eq $nRecord.status "已完成")}}
**Contact:**
[{{$nRecord.contact.name}}](http://localhost:13000/apps/tsting/admin/1oqybfwrocb/popups/8bbsqy5bbpl/filterbytk/{{$nRecord.contact_id}})
{{/if}}

对于 商机:

{{#if (eq $nRecord.status "已完成")}}
**Opportunity:**
[{{$nRecord.opportunity.name}}](http://localhost:13000/apps/tsting/admin/si0io9rt6q6/popups/yyx8uflsowr/filterbytk/{{$nRecord.opportunity_id}})
{{/if}}

#8. 隐藏关联对象但保留值

为确保在转化完成后正常展示关联信息,需要将 “公司”、 “联系人” 和 “商机” 的状态设置为 “隐藏(保留值)”。这样,尽管这些字段不在表单中显示,但其值依然会被记录和传递。

#9. 防止转化完成后状态修改

为了防止转化完成后意外更改状态,我们为所有按钮添加了一个判断条件:在状态为 “已完成” 时,所有按钮将被禁用。

#10. 结束语

完成以上所有步骤后,您的线索跟进转化功能就大功告成啦!通过本章的分步讲解,希望您能更清晰地理解 NocoBase 中状态表单变化联动的实现方式。祝您操作顺利,使用愉快!