plugin-subtable-enhancement-2.3.0-beta.6.tgz.zip (39.3 KB)
@onetwosmall/plugin-subtable-enhancement
NocoBase 增强型子表格(行内编辑)字段组件。
简介
该插件为 NocoBase 现代(v2)客户端中的多对多(m2m)、一对多(o2m)与多对多中间表(mbm)关联字段提供增强型子表格字段组件。它在原生行内子表格的基础上,补充了行操作、Excel 粘贴、查找回填与客户端公式列等功能,便于直接在表单内维护整组明细行。
功能特性
-
行号、逐行删除与批量删除:默认显示序号,鼠标悬停/聚焦序号时切换为该行的勾选框(已勾选的行保持勾选框可见)
-
复制行:在当前行下方插入一条完全隔离的深拷贝副本(含 belongsTo 关联记录对象),复制时清除主键,保存时作为新记录创建;复制始终以单元格最新提交值为准,不会因旧数据把刚修改的内容覆盖掉
-
新增/编辑差异化体验:新增(create)表单默认提供一行空行便于直接录入;编辑表单只按已存储的实际数据显示(不再出现多余的尾部空行)
-
Excel 粘贴:在任意单元格使用 Ctrl+V 粘贴制表符分隔的剪贴板内容;按字段类型转换(数字、百分比、日期、日期时间、时间、下拉选项、复选等),粘贴范围自动扩展表格,无法转换的单元格保留原文并提示
-
关联字段(belongsTo
m2o/obo)下拉列:粘贴显示文本时,按当前列配置的标题字段自动解析并选中对应记录(仅数字形式的文本回退按主键匹配);未匹配到的值保留原文并汇总提示,不影响其它已匹配成功的行 -
查找回填列:所有可编辑列(含关联字段下拉列)都可配置;输入匹配值后回车(或点击放大镜选择),解析目标记录并回填映射列;粘贴的多个值按列批量解析,弹窗表头显示数据源设置的字段显示名称
-
计算规则:数字类型列支持 math.js 公式并实时重算;配置界面按数据源设置的字段显示名称列出数字字段,点击即可插入对应的
{{字段名}} -
界面文案本地化(简体中文 / 英文)
安装
安装插件后,在 NocoBase 插件管理页面启用
列级设置
| 设置 | 说明 |
| — | — |
| 计算规则 | 为该列配置 math.js 公式并实时计算;仅数字类型的字段列可设置,配置时可按数据源设置的字段显示名称插入数字字段 |
| 查找回填 | 以本列的值到目标数据表匹配记录,并把该记录的其他字段回填到本行对应列;所有可编辑列(含关联字段 m2o/obo 下拉列)都可配置 |
原生列设置(列标题、列宽、固定位置、字段组件、标题字段等)继续生效。
工作流程
-
新增表单中子表格默认给出一行空行,可直接录入;编辑表单只展示已保存的行。需要更多行时点击「新增」追加。
-
点击「复制行」会在当前行下方插入副本。单元格值(含嵌套的 belongsTo 记录对象)均做深拷贝,副本与源行互不共享引用;操作前会先提交当前编辑的单元格,确保复制到的是刚输入的最新值。
-
Excel 粘贴从被点击单元格读取剪贴板的行列内容:数字/日期/选项等按字段类型转换;粘贴到查找回填列时批量解析目标记录并回填映射列。
-
关联字段下拉列粘贴显示文本时,插件按该列当前配置的标题字段在目标表中匹配(仅数字形式的文本回退按主键匹配)。匹配失败的值保留原文并汇总提示,匹配成功的行仍正常填充,不受影响。
-
「计算规则」列在其引用列发生变化时自动重算;列设置中的公式编辑器按数据源设置的字段显示名称列出数字字段,点击即可在光标处插入
{{字段名}}。
说明
-
本插件作用于 NocoBase 现代(v2)客户端运行时;旧版(v1)客户端不受影响。
-
「查找回填」对所有可编辑列(含关联字段
m2o/obo下拉列)可用;在这些下拉列上 Excel 粘贴显示文本来选择记录同样生效。 -
关联 Excel 粘贴时只有未匹配的值会被提示(保留原文),其它行/列不受影响。
-
公式使用 math.js 语法,示例:
{{nastnum}} * {{budget_price}},以数据库字段名引用各列——公式编辑器会从“字段显示名称”下拉中插入对应的{{字段名}}。
许可证
本项目采用双许可:AGPL-3.0 与商业授权。
商业授权(如闭源部署)请联系:moonship1011@gmail.com。
