全部文档
文档中心DeepUX(页面)功能业务明细表

业务明细表

明细表是表单的复杂形态,支持多层嵌套的树形结构。数据源支持领域模型

创建方法和创建表单数据源一样,区别在于数据源类型只能选择领域模型,后面搭建多层嵌套的结构。

1、拖入明细表控件,选择创建好的数据源并自动填充对象属性。可以选择生成单层结构或一次性按照模型的结构生成所有结构。

业务主键:为了能够实现从打开一条具体数据的明细表,我们需要传入业务主键。通常来说,假如需要通过清单表打开明细表,则会通过URL地址将清单表所点击的行的业务主键值传给下一个页面。此时,UX可创建页面变量来获取url地址中的数据。例如 $var.invoice_id

领域模型填充层级:一次性填充所有层级的好处在于无需再手动拖入其他层级便于快速搭建。若只填充一级,则需按照对象关系拖入不同的控件,具体规则如下所示。

2、初始化好后已经将模型的Invoice头表关联上了,并将头表的字段自动填充了出来,接下来将第二层1:1的对象嵌入明细表控件。在明细表控件内拖入数据卡片控件,选择关联的数据对象。

注意:

  • 数据卡片拖入的位置,父级区域关联的对象必须是1:1的对象,否则没有可关联的数据对象;

  • 如果还有第三层1:1的对象,继续往第二层数据卡片内嵌套数据卡片即可,以此类推;

3、第二层1:1的对象关联好后,接下来将第二层1:N的对象嵌入明细表控件。在明细表控件内,拖入子表格控件,选择关联的数据对象。(这里只能关联N)

至此,业务模型中两层嵌套的结构在UX中已搭建完成,整体效果图如下:

数据卡片是单行数据控件,子表格是多行数据控件,注意区别使用。

通常,通过配置清单表,并在清单表上配置新增、删除按钮实现明细表数据的增删。

选择不同的患者代码,自动带出对应患者的医疗记录编号、出生日期、性别、信用等级信息

因为这里的患者代码是明细表关联对象的link,因此我们在数据源中创建一个该link对象的数据源,这样我们可以传入一些参数,通过该数据源查询到link对象的信息。

1、创建数据源,数据源类型选择对象,对象选择link对象,查询模式选择批量,并勾选参数变化时自动执行。

2、配置过滤条件,条件字段选择link对象的业务主键字段,比较符选择“等于”,条件参数选择js表达式,具体表达式为:$components.pc_object_select_PZKW.value

表达式解释:

  • $components是js变量,通过该变量可以取到组件的信息;

  • pc_object_select_PZKW 是具体某个控件的编码,用来识别哪个控件;

  • value 是组件的值。

因此整个表达式可以翻译为:取pc_object_select_PZKW控件的值。

那么结合整个条件规则,该条件表示:每次查询数据源时,取pc_object_select_PZKW控件的值作为查询条件,若patinet_id有相应的值则返回数据,没有则返回空。

3、数据源配置好后,配置取到的数据放到哪些控件上,因为UX是一个控件对应一个具体的值,故需配置该控件展示查询到的数据具体哪个字段的值。因此,在明细表中拖入文本框控件(不关联数据源),在动态值中配置表达式:$dataSources.data_Patient.data[0]["mrn"]

表达式解释:

  • $dataSources是js变量,通过该变量可以取到数据源的信息;

  • data_Patient.data[0] 表示取哪个数据源返回数据的第几条,0 表示第一条;

  • [“mrn”] 表示具体取哪个字段的值;

自动带出反向关联信息配置方法和正向相同,唯一不同点在于条件字段需选择link对象的下级字段

在新建功能时,选择关联的需求,自动带出需求相关的数据。

  1. 新建需求对象数据源用于查询关联信息,数据源的业务主键通过表达式获取关联需求控件的值,并勾选上数据源”参数变化时自动执行“的配置;

  2. 拖入表单并关联该数据源,用于显示带出来的数据,表单设为只读;

若患者账单编号是空的,患者的医嘱信息始终是不显示的,当选择了患者的账单编号,才显示医嘱字段并带出相应的信息。

根据业务场景,相当于有若干字段的显示隐藏是受到另一个字段的值影响的,因此他们的显隐条件需要通过表达式取另一个字段的值。

1、对需要显示、隐藏的字段在隐藏属性上配置表达式隐藏,表达式为:$components.object_select_8MQt.value==null

也就是当 object_select_8MQt 控件的值为空时隐藏该控件。

2、在触发联动的控件上配置值改变事件,选择控件隐藏动作,选择需要隐藏的目标控件,隐藏属性值设为: false,运行条件为:当触发联动的控件值不为空时,显示被隐藏的控件:$components.object_select_8MQt.value!==null

选择对应的人员后在另一个对象数据选择器中带出对应人员的领导,并选择一个入库。

这其实是个比较典型的级联选择器的配置,不过这里的配置还牵涉到了对象自链接。不过总体配置方法没有变化。

1、在人员对象的数据管理中维护自我链接的员工与领导的关系。

2、选到需要框定下拉范围的对象数据选择器,并配置条件。来筛选对应的下拉范围。

条件规则含义:

  1. JS表达式 $components.signed_sales_object_select_6r5M.value的含义与上文一致,表示第一个对象选择框的值。

  2. 第一句表达式表示为反链接leader对象的person_id。这可能不是很好理解,我们可以先想象一张如下的表格,我们可以看到每一个员工都会对应一个领导,而每个领导又都是这张表中的一位员工。如果此时我们要选某位领导的下属的话就会非常容易,比如小杨的下属是谁,我们只需要选择领导列为小杨的所有行作为选项就可以了。那么反之,我们现在要选择小王的领导,就使用到反链接。

由于目前对象的比较符只能是在列表中,所以我们选择对应对象的id来表示该对象。

回到顶部

咨询热线

400-821-9199

我们使用 ChatGPT,基于文档中心的内容以及对话上下文回答您的问题。

ctrl+Enter to send