创建一个带有查询条件的自定义报表,可以选择 “建模引擎” 中的虚拟表单,将一个已有的数据库视图转换为表单。
这里引用的数据库视图必须以 CUS_ 开头,且数据源一般不要选 local 。这里的主键策略选 “主键自动增长”时,如果返回的结果中没有自然增长 / 值不会重复的列、就需要生成一列。在 Oracle 数据库中,可以使用结果的 rownum 属性作为一列。代码参考如下:
-- 这里的 myID 可以作为返回结果的主键使用
select rownum as "myID", foo.* from (
select * from my_table
) foo;
选择 “表(视图)名”时,弹窗可以按字母排序,数据库视图通常比真正的表放在界面的更下方。
如需实现通过人员 id 显示人员名称,需要做两件事。一是确保所查询的列是返回了 hrmresource 表的 id 字段,或者各表单中类型为“人力资源” / “多人力资源” 的字段。二是在虚拟表单的类型中,选择UI组件为“自定义”、字段类型为“人力资源”。
1、获得虚拟表单后,可以创建 “建模引擎” 中的查询,引用该虚拟表单并设置查询条件。
预览该查询之前,在查询的“字段定义”页签、勾选设置哪些字段作为标题,并点击右上角的“保存”按钮。
如果表头有字段显示,但无显示结果、建议在自定义查询中逐个配置“字段定义”显示的字段,是第几个 / 哪几个字段导致了不显示结果。字段的显示类型和长度也会影响是否显示结果。
查询中,未勾选“标题”的字段作为查询的搜索条件,显示的属性也不一样。如下图所示。
当引用的视图字段发生变化时,需要手动在对应虚拟表单的右上角点击“更新表单”,字段才会同步到泛微。
在查询(不是表单)中设置的“固定条件”,会在查询界面的“高级搜索”中体现。注意虚拟表单中设置的条件,会一直限制初始结果集的范围。如需实现选择查询当前用户和其他用户的数据等场景,请不要使用形如【字段名=$UserId$】等的“固定条件”,转为使用“快捷搜索条件”。
更改条件后,记得点击“保存”才会让条件生效。
创建查询后,点击该查询的“权限”页签,为查询配置人员权限:
配置权限时,需要注意各人员 / 角色的共享级别,也就是可以看到哪些级别的人(总部、分部)提交的数据。
要开放给用户查看该查询,还需要在对应查询的“基础”页签,右键单击“创建查询菜单”。
当创建查询菜单时,在弹出的页面中找到对应的组织架构下的某个菜单。需要添加到菜单中的、单击选中菜单后,点击旁边的 “添加” 就可以完成。
添加时,选择将菜单同步到”下级部门“。用户登录泛微前端后,可以在左侧的菜单栏中点击并访问自定义查询了。
当需要删除已创建过的虚拟表单,除了删除引用它的查询,还需要删除引用他们的查询菜单。如果在模块中引用了这个虚拟表单,也需要把对应的模块先删除。
改查询菜单的名字,就会在前台首页对应的模块下发生变化了。
应用和查询菜单的关系,如下图所示。点击各对应的应用,页面左侧竖排的菜单栏中,会显示当前用户可以访问的查询菜单。
2、当创建查询时,如需选择对应的模块选不出,则需要先新建一个模块。
创建模块的操作如下图所示:
创建模块时,选择我们之前创建好的虚拟表单。
保存模块后,需要为该模块设置下面的属性。
点击“初始化新模板”,设置每行显示的字段和哪些字段需要显示。
新建模板设置后,依次设置显示布局、编辑布局、监控布局、打印布局。 这里举例初始化显示布局的情景。
初始化显示布局的操作,与“初始化新模板”相同。完成初始化显示布局后,点击设计器右上角的“保存”按钮。
然后在模块的“基础”页签,继续选择刚才创建的显示模板,完成显示布局的创建。模板一旦创建,在布局中选择该模板后,布局本身将不能修改显示的样式。要更换显示的样式,需要重新修改对应的模板。
为创建显示布局,弹出的模板选择窗口如下图所示:
要让用户访问到该模块,还需要在该模块的“基础”页签处,右键单击“创建菜单”。
泛微官方对于表单的使用解答和一些常见缺陷,可以参照这里。
https://eteams.cn/blog/2508460630383896246https://eteams.cn/blog/2508460630383896246
其他的再陆续补充进来。
(完)