如何在 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 私服在开发过程中也扮演着至关重要的角色。私服是一种特殊的远程仓库,架设在局域网内,代理广域网上的远程仓库&…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
人工智能--安全大模型训练计划:基于Fine-tuning + LLM Agent
安全大模型训练计划:基于Fine-tuning LLM Agent 1. 构建高质量安全数据集 目标:为安全大模型创建高质量、去偏、符合伦理的训练数据集,涵盖安全相关任务(如有害内容检测、隐私保护、道德推理等)。 1.1 数据收集 描…...

Mac flutter环境搭建
一、下载flutter sdk 制作 Android 应用 | Flutter 中文文档 - Flutter 中文开发者网站 - Flutter 1、查看mac电脑处理器选择sdk 2、解压 unzip ~/Downloads/flutter_macos_arm64_3.32.2-stable.zip \ -d ~/development/ 3、添加环境变量 命令行打开配置环境变量文件 ope…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...
JavaScript 标签加载
目录 JavaScript 标签加载script 标签的 async 和 defer 属性,分别代表什么,有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...
el-amap-bezier-curve运用及线弧度设置
文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...
python打卡day47
昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import D…...

< 自用文 OS有关 新的JD云主机> 国内 京东云主机 2C4G 60G 5Mb 498/36月 Ubuntu22
攒了这么久,废话一些: 前几周很多事儿,打算回北京,开个清真的德克萨斯烤肉店,写了一篇 : < 自用文 Texas style Smoker > 美式德克萨斯烟熏炉 从设计到实现 (第一部分&…...