场景分析
表格组件可用于展示一个表单下所有数据的信息,每一行代表一条数据。有时对于某条数据,我们需要能直接跳转到它的详情地址。
该功能,可以通过表格的链接来实现。
表格组件设置方法
选中表格组件,在右侧表格设置中,”选择列字段”下选择某一列,点击设置的图标,进行设置。
选择”链接”,”添加链接项”, “链接到”选择”外部链接(标准)”。这里可以设置点击要跳转到链接地址,以及要携带的参数
- “参数”上,可以选择某些列字段,这些列字段的值可以赋值给某个变量。在打开链接时,这些变量以及对应的值就可以作为参数。
截图的含义是,当点击表格中某一列时,会自动跳转到 “https://www.baidu.com?pid=xxxx"这个地址,xxxx会根据"实例ID"这个列字段的数据进行实时替换。
- “使用条件控制”,可以用于只有当某列数据符合某种情况时,才显示链接地址;不符合条件的行,链接默认不生效。
宜搭数据详情地址解释
单据详情地址
打开某条单据数据,查看浏览器上的链接地址。地址示例:
https://www.aliwork.com/alibaba/web/APP_VQT52M8N284S3I3VOVJY/inst/formEdit.html?spm=a1z330.11429250.0.0.2ef45a00LdAg0A&formInstId=FINST-88ZKAWFV6FHUH9NBSBDSG0TMKD4V1OVZGD7GJ2&formUuid=FORM-IJUK9IEVD5HU6QQCOKW2V2AIBU2Q1RVOED7GJ3&isInner=y
这条链接中有四个参数
spm
formInstId
formUuid
isInner
其中,同个表单下的数据,formUuid, spm,isInner的参数值是不会变得。而formInstId是会变得,每一条数据,都有自己唯一的ID。因此,设置链接时,我们可以直接设置链接地址是https://www.aliwork.com/alibaba/web/APP_VQT52M8N284S3I3VOVJY/inst/formEdit.html?spm=a1z330.11429250.0.0.2ef45a00LdAg0A&formUuid=FORM-IJUK9IEVD5HU6QQCOKW2V2AIBU2Q1RVOED7GJ3&isInner=y
而把formInstId作为参数实时传递。
具体场景演示
下面,我们用”进货单”作为表格数据源,”进货单”表中有”进货单号”,”进货日期”,”进货明细”三个组件。
表格中只设置显示”进货单号”,”进货日期”,当点击”进货单号”时,跳转到该条数据的详情页。
进入报表页面,在左侧选择表格组件。选中”表格”,在右侧数据集中选择”进货表”,列字段选择”进货单号”,”进货日期”。接下来设置点击”进货单号”时,可以跳转到该行数据的详情页面
由于formInstId会变,而其他参数值不变,因此将formInstId的值从链接中去掉,只留下
https://www.aliwork.com/alibaba/web/APP_VQT52M8N284S3I3VOVJY/inst/formEdit.html?spm=a1z330.11429250.0.0.2ef45a00LdAg0A&formUuid=FORM-IJUK9IEVD5HU6QQCOKW2V2AIBU2Q1RVOED7GJ3&isInner=y ,将这个填入链接中- 如果链接以 “#/“结尾,请手动删除这两个字符,否则会导致 配置完了点开链接显示”数据不存在!”
每个数据源中,都有一个列字段为”实例ID”,这个字段存的数据就是formInstId的值。在参数中选择”实例ID”,会看到对应参数变为pid=${pid},将参数名pid变成formInstId。即修改为formInstId=${pid}
保存,设置完成。
常见问题
配置完了点开链接显示”数据不存在!”?
- 检查下跳转链接的结尾是不是多带了”#/“两个字符,删掉->确定->保存下。