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 Page项目管理平台概览
Next Page第 9 章:任务看板与图表

#第 8 章:知识库 - 树表

#8.1 欢迎来到新的一章

在本章中,我们将深入学习如何构建一个知识库。这将是一个综合性的模块,帮助我们管理和组织文档、任务和信息。通过设计和创建一个树形结构的文档表,我们将实现对文档的状态、附件和关联任务的高效管理。

#8.2 数据库设计初探

#8.2.1 基础设计与文档表的创建

首先,我们从一个简单的数据库设计开始,为知识库构建一个“文档表”来记录所有文档的信息。文档表包括以下关键字段:

  1. 标题 (Title):这是文档的名称,使用单行文本格式。
  2. 内容 (Content):文档的详细内容,使用支持 Markdown 的多行文本格式。
  3. 文档状态 (Status):用于标记文档的当前状态,包括草稿、已发布、已归档和已删除四个选项。
  4. 附件 (Attachment):可添加文件和图片等附件,丰富文档内容。
  5. 关联任务 (Related Task):这是一个多对一关系字段,用于将文档与某个任务关联,方便任务管理中的文档引用。

我们也将随着功能扩展,在文档管理系统中逐步添加其他字段。

#8.2.2 树形结构的构建与目录管理

树结构表(由树表插件提供),树形结构,其中每个数据项都可以有一个或多个子项,而这些子项又可以有自己的子项。

为确保文档的组织和层次,我们的文档表选择树结构表,这样便于实现父子关系的分类管理。创建树结构表时,系统自动生成以下字段:

  • 父记录 ID:用于记录当前文档的上级文档。
  • 父记录:多对一字段,帮助我们实现父子关联关系。
  • 子记录:一对多字段,便于查看某个文档下的所有子文档。

这几个字段用来维护一张树结构表的目录层级,所以不建议修改。

同时我们需要创建与任务表的关联关系(多对一),带上反向关联,方便我们需要时,在任务关联弹窗内创建文档列表。

#8.3 创建文档管理页面

#8.3.1 新建文档管理菜单

在系统的主菜单中,添加一个新的页面——“文档管理”,并选择合适的图标。然后,为我们的文档表创建一个表格区块。在表格区块中添加基本的增、删、改、查操作,并录入几条测试数据来测试数据表的设计是否正常。

#练习

  1. 尝试在文档管理页面添加一个名为“文档 1”的父文档。
  2. 为“文档 1”添加一个子文档,命名为“第一章”。

#8.3.2 转换为树表格视图

我知道你可能疑惑,为什么不是目录树结构?

默认情况下,表格区块会显示为普通表格视图,我们来手动开启:

  1. 点击表格区块右上角 > 树表格。

    你会发现勾选的一瞬间,树表格下方多了“展开全部”的开关。

    同时刚才创建的 “第一章” 消失了。

  2. 点击树表格下方的激活“展开全部”选项。

    此时,我们会看到文档的父子结构显示得更加直观,可以轻松查看并展开所有层级文档。

    我们顺手追加 “添加子记录” 操作。

树表转换成功!

#8.3.3 “添加子记录” 配置

我们绘制一下添加需要的基本内容。注意这个时候如果我们勾选了父记录字段,会发现默认是 “只读(不可编辑)” 状态,因为我们默认是在当前文档下创建的。

任务数据太多的话,你可能会觉得分配关联任务特别麻烦,我们可以给任务筛选设置一个默认值,就让它等于父记录关联的任务吧。

默认值可能没有即时生效,我们关闭再点击看看,已经自动填充啦~

#8.4 配置表单模板与任务关联

#8.4.1 创建表格和表单模板

为了便于后续管理,我们将文档的表格、创建和编辑表单保存为模板,以便在其他页面复用。

#8.4.2 文档表格区块复制展示

在任务表的查看弹窗中,添加一个新的标签页——“文档”。在该标签页中,添加表单区块 > 其他记录 > 文档表 >“复制模板”> 点击将我们之前创建的文档表单模板引入。(切记选择 复制模板。

这种方式便于所有文档列表的创建。

#8.4.3 任务关联改造

由于我们是复制的外部表格模板,并没有和任务表关联。你会发现展示出了全部的文档数据,肯定不是我们预期的效果。

这种情况比较常见,如果我们没有创建对应关系字段,又需要展示关联数据的话,就需要对二者做手动关联。(切记我们采用复制模板,不要选择引用模板,不然我们做的所有更改会同步到其他表格区块!)

  • 数据展示关联

我们点击表格区块右上角,“设置数据范围”为:

【任务/ID】= 【当前弹窗记录/ID】

成功,目前表格内留下来的文档都会是我们任务所绑定的。

  • 添加表单区块关联。

进入添加区块:

对于关联任务表字段,设置默认值 >【上级弹窗记录】。

上级弹窗 属于我们所在任务数据的“查看”操作中,会直接绑定对应的任务数据。

我们设置只读(阅读模式),代表在当前弹窗内,只能绑定当前任务。

搞定!现在新增、展示都会是所在任务关联的文档啦。

细心的你可以补充一下 “编辑”、“添加子任务”里面的关联筛选。

为了让树结构更加清晰明显,操作列更整齐美观点,我们把标题挪至第一列。

#8.5 文档管理中的筛选与搜索

#8.5.1 添加筛选区块

我们顺便给文档表增加筛选功能吧。

  • 在文档管理页面添加一个筛选区块。
  • 选择筛选中的表单,拖到最上面。
  • 勾选标题、状态、任务表字段等作为筛选条件。
  • 添加“筛选”和“重置”操作。

这个表单就是我们的搜索框,方便在输入关键词后快速查找相关文档。

#8.5.2 连接数据区块

这个时候你会发现点击之后没效果,我们还需要最后一步:具备搜索功能的区块之间互相连接。

  • 我们点击区块右上角配置 > 连接数据区块。

    里面提供了可被连接的区块。
    
    因为我们创建的是文档表单,所以它会搜索所有关联文档表的数据区块(本页只有一个),并作为选项呈现出来。
    
    也不用担心分不清楚,我们鼠标挪到上面时,屏幕视角也会自动集中到对应区块上。
  • 点击开启需要被连接的区块,测试搜索。

通过点击筛选区块的右上角配置按钮,将筛选区块与文档表的主数据区块连接。这样,每次在筛选区块中设置条件后,表格区块会根据条件自动更新结果。

#8.6 知识库权限设置

为确保文档安全和管理规范,可以根据角色为文档库分配权限。不同角色的用户可以根据权限配置,对文档进行查看、编辑或删除操作。

不过我们接下来会改造文档表,加上新闻、任务公告的功能,权限可以放开一点哦。

#8.7 小结与下一步

在本章中,我们创建了一个基本的知识库,包括文档表、树形结构和与任务的关联展示。通过为文档添加筛选区块和模板复用,我们实现了高效的文档管理。

接下来,我们将进入下一章,学习如何搭建一个包含数据分析图表,重要信息展示的个人仪表盘!


继续探索,尽情发挥你的创造力!如果遇到问题,不要忘了随时可以查阅 NocoBase 官方文档 或加入 NocoBase 社区 进行讨论。