关键词:树形,左树右表,单据列表,低代码
一、需求
在一张单据里面,有个树形基础资料的字段,我们需要把这个字段作为左树,右表则是展示单据里面的其他的字段,查询了社区,发现在社区很多关于搭建左树右表的文章,这些文章都是通过动态表单加插件的,也有在单据列表切换模板+插件的,这种也是可以实现的,下面我另辟蹊径,介绍一种通过无代码的方式构建一个左数右表的单据列表的。
二、思路与方案
研究苍穹标准模块,我们可以发现我们的需求与标准模板里的树形基础资料非常相似,我们参考研究下这个树形基础资料,
知道了这个根源,翻看树形基础资料挂的插件,其核心过滤逻辑都写在kd.bos.form.plugin.TemplateTreePlugin插件中,这里有树的初始化逻辑,以及树节点点击刷新的逻辑,而这些都是依靠一个分组字段实现,那我是不是直接在单据添加一个分组字段就可以了呢,答案却不是,因为编辑器目前如果是单据的话就不会显示分组,那就需要我们把元数据做一些改动,这些可以在下面的实现过程中看到,最后保存好元数据,部署发布。
三、实现过程
有了前面的理论做指导,我们就可以来实现我们的方案,这个步骤分五步走
1: 创建一个单据,并在单据上添加一个基础资料控件
2: 修改基础资料的标识为group,并点击单据编辑页面右上角 预览 旁边的 XML进入元数据页面
点击实体元数据,把基础资料的BasedataField 改成GroupField
点击更新元数据,这个好像是需要管理员权限,这里一般只能在开发环境操作的
点击关闭,然后再点 单据编辑页面右上角 预览 旁边的保存按钮
此时可以看到原来的基础资料已变成了分组 这个字段
3 在列表页面 列表表单模板 改成bos_templatetreelist
4: 在列表上注册kd.bos.form.plugin.TemplateTreePlugin插件,并保存
5: 验证过程,建几个测试数据,预览一下,
这样就不写一句代码就实现了左数右表的单据列表了
四、开发环境版本
V5.0.011.0