如何在 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 私服在开发过程中也扮演着至关重要的角色。私服是一种特殊的远程仓库,架设在局域网内,代理广域网上的远程仓库&…...
CameraFileCopy:手机摄像头传输文件的终极解决方案,让数据传输不再受限!
CameraFileCopy:手机摄像头传输文件的终极解决方案,让数据传输不再受限! 【免费下载链接】cfc Demo/test android app for libcimbar. Copy files over the cell phone camera! 项目地址: https://gitcode.com/gh_mirrors/cfc/cfc 你是…...
OpenRocket:开源火箭仿真软件的设计与分析全指南
OpenRocket:开源火箭仿真软件的设计与分析全指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket OpenRocket作为一款专业的开源火箭设计与仿真…...
为什么选择yfinance:3步实现免费金融数据获取的完整解决方案
为什么选择yfinance:3步实现免费金融数据获取的完整解决方案 【免费下载链接】yfinance Download market data from Yahoo! Finances API 项目地址: https://gitcode.com/GitHub_Trending/yf/yfinance 在金融数据分析的世界里,你是否曾为获取高质…...
[Android S] 深入解析statsd的log统计机制与实现
1. 认识Android系统中的statsd statsd是Android系统中一个非常重要的后台服务,它的主要职责是收集系统和应用的各类统计信息。你可能不知道,每次你在Android设备上执行操作时,statsd都在默默记录着各种数据。这些数据对于系统优化、性能分析和…...
UART协议深度优化:如何用FIFO缓存解决高速串口丢包问题
UART协议深度优化:如何用FIFO缓存解决高速串口丢包问题 在嵌入式系统和工业控制领域,UART通信因其简单可靠的特性被广泛应用。但当波特率超过1Mbps时,传统设计常面临数据丢失的困扰。上周调试一个机器人关节控制器时,115200波特率…...
AtlasOS:终极Windows系统性能优化与隐私保护指南
AtlasOS:终极Windows系统性能优化与隐私保护指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atlas1/Atl…...
ICP算法实战:从Point-to-Plane到VGICP,5种点云配准方法性能对比(附Python代码)
ICP算法实战:从Point-to-Plane到VGICP,5种点云配准方法性能对比(附Python代码) 在三维视觉和机器人领域,点云配准是构建环境地图、实现定位导航的基础技术。当我们需要将多个视角采集的点云数据拼接成一个完整的三维模…...
UI-TARS-desktop作品集:从简单指令到复杂工作流,看AI如何帮你干活
UI-TARS-desktop作品集:从简单指令到复杂工作流,看AI如何帮你干活 1. 引言:当AI成为你的数字同事 想象一下,你每天上班要处理一堆重复性的电脑操作:打开邮箱、下载附件、整理数据、生成报告、发送邮件……这些工作繁…...
Qwen3.5-35B-A3B-AWQ-4bit企业落地应用:教育题图分析、医疗影像初筛、工业图纸解读
Qwen3.5-35B-A3B-AWQ-4bit企业落地应用:教育题图分析、医疗影像初筛、工业图纸解读 1. 多模态AI在企业场景的价值 在当今企业运营中,视觉内容处理已成为关键环节。教育机构需要快速分析教材插图,医疗机构面临海量影像筛查压力,工…...
OpenClaw安全加固:Qwen3.5-4B-Claude操作权限精细化控制
OpenClaw安全加固:Qwen3.5-4B-Claude操作权限精细化控制 1. 为什么需要权限控制? 上周我在调试OpenClaw自动化脚本时,差点酿成一场"灾难"——AI助手误将我的工作文档识别为临时文件,准备执行删除操作。幸亏当时设置了…...
