如何在 NocoBase 中实现 CRM 的线索转化
1. 引言
本教程将一步一步地引导您如何在 NocoBase 中实现 CRM 的商机转化(Opportunity Conversion)功能。我们将介绍如何创建所需的 collections(数据表)、配置数据管理页面、设计转化流程以及设置关联管理,从而帮助您顺利构建整个业务流程。
2. 准备工作:创建所需的 Collections
在开始之前,我们需要准备以下 4 个 collections,并配置它们之间的关联关系。
2.1 LEAD Collection(线索)
这是用于存储潜在客户信息的 collection,其字段定义如下:
| Field name | 字段显示名称 | Field interface | Description |
|---|---|---|---|
| id | Id | Integer | 主键 |
| account_id | account_id | Integer | ACCOUNT 外键 |
| contact_id | contact_id | Integer | CONTACT 外键 |
| opportunity_id | opportunity_id | Integer | OPPORTUNITY 外键 |
| name | 线索名 | Single line text | 潜在客户的姓名 |
| company | 公司名 | Single line text | 潜在客户所在的公司名称 |
| 电子邮箱 | 潜在客户的电子邮箱地址 | ||
| phone | 联系电话 | Phone | 联系电话 |
| status | 状态 | Single select | 线索当前状态(未达标, 新线索, 处理中, 跟进中, 交易进行中, 完成) |
| Account | 公司 | Many to one | 关联到公司 Collection |
| Contact | 联系人 | Many to one | 关联到联系人 Collection |
| Opportunity | 商机 | Many to one | 关联到商机 Collection |
2.2 ACCOUNT Collection(公司)
用于保存公司的详细信息,其字段配置如下:
| Field name | 字段显示名称 | Field interface | Description |
|---|---|---|---|
| name | 名称 | Single line text | 账户名称(公司或组织名称) |
| industry | 行业 | Single select | 账户所属行业 |
| phone | 电话 | Phone | 账户联系电话 |
| website | 网站 | URL | 账户官方网站地址 |
2.3 CONTACT Collection(联系人)
存储联系人信息的 collection,包含以下字段:
| Field name | 字段显示名称 | Field interface | Description |
|---|---|---|---|
| name | 名称 | Single line text | 联系人的姓名 |
| 电子邮箱 | 联系人的电子邮箱地址 | ||
| phone | 电话 | Phone | 联系人的联系电话 |
2.4 OPPORTUNITY Collection(商机)
用于记录商机信息,其字段定义如下:
| Field name | 字段显示名称 | Field interface | Description |
|---|---|---|---|
| name | 名称 | Single line text | 商机的名称 |
| stage | 阶段 | Single select | 商机所处阶段(资格审查, 需求, 提案, 谈判, 交易关闭, 成功, 失败) |
| amount | 金额 | Number | 商机的金额 |
| close_date | 关闭日期 | Datetime | 商机预计的关闭日期 |
3. 理解商机转化流程
3.1 正常转化流程概述
一个商机从线索转化为正式商机一般会经历如下流程:

3.2 关联关系说明
假设您已经成功创建上述 4 个 collections,并映射配置好它们之间的业务关系:

4. 创建数据管理页面
在 NocoBase 的工作区中,为各个 collections 创建数据管理页面,并随机新增一些线索数据以便后续测试。

5. 实现商机转化功能
本章节重点讲解如何将一个线索转化为公司、联系人及商机数据,并确保转化操作不会被重复触发。
5.1 创建“转化”编辑操作
在对应的线索详情界面中,创建一个编辑操作,命名为“转化”。在转化弹窗内,进行如下配置:
5.1.1 展示线索基本信息
以只读方式展示当前线索的基本信息,确保用户不会误修改原数据。
5.1.2 显示关联关系字段
在弹窗中展示以下三个关联字段,并为每个字段开启“快速创建”功能,以便在未找到匹配数据时,可以即时创建新数据。

5.1.3 配置快速创建的默认映射
在“快速创建”弹窗的设置中,为各关联字段配置默认值,从而将线索信息自动映射到目标 collection。映射规则如下:
- 线索/线索名 → 公司/名称
- 线索/电子邮箱 → 公司/电子邮箱
- 线索/联系电话 → 公司/电话
- 线索/线索名 → 联系人/名称
- 线索/电子邮箱 → 联系人/电子邮箱
- 线索/联系电话 → 联系人/电话
- 线索/线索名 → 商机/名称
- 线索/状态 → 商机/阶段
配置示例截图:

接下来,我们给提交操作再加一个友好的反馈:


提交效果:

5.1.4 查看转化效果
配置完成后,执行转化操作时,系统将根据映射关系创建并关联新的公司、联系人以及商机数据。效果示例如下:


5.2 防止重复转化
为避免同一线索被多次转化,可以通过以下方式进行控制:
5.2.1 更新线索状态
在转化表单的提交操作中,增加一个数据自动更新的步骤,将线索状态修改为“已转化”。
配置截图:


效果演示:

5.2.2 设置按钮联动规则
为转化按钮添加联动规则:当线索状态为“已转化”时,自动隐藏转化按钮,从而避免重复操作。
配置截图:



6. 配置详情页面的关联管理区块
为了让用户在各个 Collection 的详情页面中查看关联数据,您需要配置相应的 list 区块或详情区块。
6.1 配置公司 Collection 详情页面
在公司的详情页面(例如,在联系人的编辑/详情弹窗中),分别添加以下 list 区块:
- 联系人 list
- 商机 list
- 线索 list
示例截图:

6.2 添加筛选条件
为每个 list 区块增加筛选规则,确保只显示关联到当前公司 ID 的数据。
配置截图:


6.3 配置联系人与商机详情页面
在联系人 Collection 的详情弹窗中,添加以下区块:
- 商机 list
- 公司详情
- 线索 list(并按照 ID 进行筛选)
截图:

在商机详情页面,同样添加:
- 联系人 list
- 公司详情
- 线索 list(按 ID 过滤)
截图:

7. 总结
通过以上步骤,您已成功实现一个简单的 CRM 商机转化功能,并配置了联系人、公司与线索之间的关联管理。希望本教程能够以清晰、循序渐进的方式,帮助您掌握整个业务流程的构建,从而为您的项目带来便利和高效的操作体验。
若在操作过程中遇到任何问题,欢迎前往NocoBase社区交流或查阅官方文档。希望本指南能帮助您根据实际需求顺利实现用户注册审核,并根据需要灵活扩展。祝您使用顺利,项目成功!
相关文章:
如何在 NocoBase 中实现 CRM 的线索转化
1. 引言 本教程将一步一步地引导您如何在 NocoBase 中实现 CRM 的商机转化(Opportunity Conversion)功能。我们将介绍如何创建所需的 collections(数据表)、配置数据管理页面、设计转化流程以及设置关联管理,从而帮助…...
StarRocks-fe工程在Cursor中不能识别为Java项目
SR简介 StarRocks 是一款高性能分析型数据库,支持实时、多维度、高并发的数据分析。本指南旨在解决在使用 VSCode 或 Cursor 开发 StarRocks 后端项目时遇到的模块识别问题。 问题描述 使用 Cursor 或 VSCode 打开 StarRocks 的后端工程 fe 时,spark-…...
影刀RPA开发拓展--SQL常用语句全攻略
前言 SQL(结构化查询语言)是数据库管理和操作的核心工具,无论是初学者还是经验丰富的数据库管理员,掌握常用的 SQL 语句对于高效管理和查询数据都至关重要。本文将系统性地介绍最常用的 SQL 语句,并为每个语句提供详细…...
05类加载机制篇(D6_方法调用和方法执行)
目录 一、字节码指令集 二、基本数据类型 1. 加载和存储指令 2. const系列 3. push系列 4. ldc系列 5. load系列 load系列A load系列B 6. store系列 store系列A store系列B 7. pop系列 8. 栈顶元素数学操作及移位操作系列 9. 运算指令 10. 类型转换指令 11. 宽…...
视音频数据处理入门:颜色空间(二)---ffmpeg
目录 概述 流程 相关流程 初始化方法 初始化代码 转换方法 转换代码 释放方法 整体代码介绍 代码路径 概述 本篇简单说一下基于FFmpeg的libswscale的颜色空间转换;Libswscale里面实现了各种图像像素格式的转换,例如:YUV与RGB之间的…...
从零开始:H20服务器上DeepSeek R1 671B大模型部署与压力测试全攻略
前言 最近,我有幸在工作中接触到了DeepSeek R1 671B模型,这是目前中文开源领域参数量最大的高质量模型之一。DeepSeek团队在2024年推出的这款模型,以其惊人的6710亿参数量和出色的推理性能,引起了业界广泛关注。 作为一名AI基础…...
【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(5)
1.问题描述: 提供两套标准方案,可根据体验需求选择: 1.地图Picker(地点详情) 用户体验:①展示地图 ②标记地点 ③用户选择已安装地图应用 接入文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guide…...
Leetcode 3469. Find Minimum Cost to Remove Array Elements
Leetcode 3469. Find Minimum Cost to Remove Array Elements 1. 解题思路2. 代码实现 题目链接:3469. Find Minimum Cost to Remove Array Elements 1. 解题思路 这一题我没啥特别好的思路,就只能动态规划了,倒是也能过,不过总…...
Excel的行高、列宽单位不统一?还是LaTeX靠谱
想要生成田字格、米字格、带拼音标准,方便小学生书法和练字。Word,Excel之类所见即所得是最容易相当的方式。但它们处理带田字格之类背景时,如果没有专用模板、奇奇怪怪的插件,使用起来会碰到各种问题。比如,Word里面用…...
(新版本onenet)stm32+esp8266/01s mqtt连接onenet上报温湿度和远程控制(含小程序)
物联网实践教程:微信小程序结合OneNET平台MQTT实现STM32单片机远程智能控制 远程上报和接收数据——汇总 前言 之前在学校获得了一个新玩意:ESP-01sWIFI模块,去搜了一下这个小东西很有玩点,远程控制LED啥的,然后我就想…...
告别GitHub连不上!一分钟快速访问方案
一、当GitHub抽风时,你是否也这样崩溃过? 😡 npm install卡在node-sass半小时不动😭 git clone到90%突然fatal: early EOF🤬 改了半天hosts文件,第二天又失效了... 根本原因:传统代理需要复杂…...
迷你世界脚本对象库接口:ObjectLib
对象库接口:ObjectLib 迷你世界 更新时间: 2023-04-26 20:21:09 具体函数名及描述如下: 序号 函数名 函数描述 1 getAreaData(...) 获取区域数据 2 getPositionData(...) 获取位置数据 3 getLivingData(...) 获取生物数据 4 getItemDat…...
数据库事务、乐观锁及悲观锁
参考:node支付宝支付及同步、异步通知、主动查询支付宝订单状态 以下容结合上述链接查看 1. 什么是数据库事务? 1.1. 连续执行数据库操作 在支付成功后,我们在自定义的paidSuccess里,依次更新了订单状态和用户信息。也就说这里…...
蓝桥王国--dij模板
#include <bits/stdc.h> // 万能头 using namespace std; typedef pair<long long ,int> PII; int n,m; long long d[300011]; struct edge///邻接表 {int v;long long w; }; int vis[300011]; vector<edge> mp[300011];///邻接表 void dij(int s)///dij单源…...
Java基础关键_017_集合(一)
目 录 一、概述 二、Collection 关系结构 1.概览 2.说明 三、Collection 接口 1.通用方法 (1)add(E e) (2)size() (3)addAll(Collection c) (4)contains(Object o) &#…...
Rust编程实战:Rust实现简单的Web服务,单线程性能问题
知识点 tcp 服务多线程处理 实现功能 启动web服务,访问链接获取页面内容。 单线程web服务 TcpListener 使用 TcpListener 开启服务端口 let listener TcpListener::bind("127.0.0.1:7878").unwrap();处理客户端连接: for stream in lis…...
GitLab 密钥详解:如何安全地使用 SSH 密钥进行身份验证
目录 一、什么是 GitLab SSH 密钥?二、为什么要使用 SSH 密钥?三、如何生成 SSH 密钥?1. Linux/macOS2. Windows 四、将公钥添加到 GitLab五、配置 SSH 客户端六、常见问题及解决方案七、总结 GitLab 是一个功能强大的 Git 仓库管理平台&…...
《论数据分片技术及其应用》审题技巧 - 系统架构设计师
论数据分片技术及其应用写作框架 一、考点概述 本论题“论数据分片技术及其应用”主要考察的是软件工程中数据分片技术的理解、应用及其实际效果分析。考点涵盖以下几个方面: 首先,考生需对数据分片的基本概念有清晰的认识,理解数据分片是…...
【C++】当一个类A中没有声明任何成员变量和成员函数,sizeof(A)是多少?
在 C 中,即使一个类没有任何数据成员(即空类),它的大小也不会是 0,而是 1。这主要有以下几个原因: 地址唯一性要求 C 标准规定,每个对象都必须有唯一的地址。如果空类的大小为 0,那么…...
Maven 私服的搭建与使用(一)
一、引言 在 Java 项目开发中,Maven 作为强大的项目管理和构建工具,极大地提高了开发效率,而 Maven 私服在开发过程中也扮演着至关重要的角色。私服是一种特殊的远程仓库,架设在局域网内,代理广域网上的远程仓库&…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
