行式填报相关特效
移动端行式填报需要用到:按钮特效、关联单元格特效、行特效这三种。
其中,按钮特效用来制作关联报表、提交按钮等;关联单元格特效用来制作跨表的单元格关联;行特效用来定义“行”结构。
按钮特效、关联单元格特效,这两种是针对单元格的,服务器解析时,直接在单元格上添加对应属性。行特效是针对报表结构的(或者针对一个区域的),服务器解析时,将其解析到报表属性上。
按钮
制作一个填报表,在菜单工具栏上选择“插入—特殊效果—移动特殊样式—按钮”后点击下一步,在属性串中输入按钮的属性串即可。根据输入的属性串的不同,可以实现不同的效果,例如可以设置action的值为link,并设置对应的参数,即可实现点击按钮链接到其它报表。设置按钮的action为submit时并设置提交数据所需的参数时,便可实现,点击按钮将数据提交到数据库中。
属性说明
关联数据表
{
name: 特效标识,
action: "link",
linkId: 关联报表资源ID,
linkParams: {p0: v0, p1: v1, ... }
}
配置说明:
- name - 特效标识,移动端用此标识作为报表数据文件标识,详细参见【APP处理】
- linkId - 关联报表的资源ID,如果没有,可用path属性指定报表文件路径
- linkParams- 传给关联报表的参数,例如这里传参数business_no,参数值为当前报表的A1单元格值(A1记录了业务单号),该值应该在APP端动态赋值
提交数据
{
name: "特效标识",
action: "submit",
submitGroup: ["resID1", "resID2", "resID3"],
submitType: 提交方式
}
配置说明:
- name - 特效标识
- action - 按钮动作标识,submit表示为提交动作
- submitGroup - 提交组,这里指定提交的表ID,详细参见【APP处理】
- submitType - 提交方式。remote为远程提交,即提交给服务器;local为本地提交,即提交到app本地。
实例
制作一个提交功能的按钮,在报表中的单元格中插入按钮特效,然后输入如下属性内容:
{
name: "submitAllReports",
action: "submit",
submitGroup: ["10001", "10002", "10003"],
submitType: remote
}
经过移动服务器端处理后,单元格生成的JSON属性为:
{
...,
sSty: {
type: "btn",
val: {
... ,
name: "submitAllReports",
action: "submit",
submitGroup: ["10001", "10002", "10003"],
submitType: "remote"
}
}
}
实现效果图
关联单元格
设置关联单元格特效后,移动端解析单元格信息,根据此属性到对应表中取对应单元格进行关联。关联单元格特效可以实现:单元格数据从关联表中取对应单元格;单元格修改提交时,对应提交到关联表中。
属性说明
{
单元格其他属性 ...,
sSty: {
type: "linkCell",
val: {
name: 特效标识,
id: 关联报表资源ID,
params: {p0: v0, p1: v1, ... },
cell: 单元格ID
}
}
}
实例
实现效果图
行式
使用行式特效时,将name相同的行,解析为一个rowBlock。每个rowBlock里包含name、link、rows三个节点,其中name即为行特效标识,link为行关联报表,rows为行的单元格结构;移动服务器解析时,根据row、col值,从当前单元格开始向下、向右数对应单元格,将这些单元格的坐标添加到rows节点。
属性说明
{
name: "business_rows",
row: 1,
col: 4,
link: {
name: "business_man",
id: "10003",
params: {business_man_no: "=A3"}
}
}
配置说明:
- name - 特效标识
- row - 行式区域的行数
- col - 行式区域的列数
- link - 关联报表,同关联单元格特效。
服务器解析
行式特效解析后的格式如下所示:
rowBlocks:[
{
name: "行式区域1",
link:{ ... },
rows:[
[A1,B1,C1,D1,A2,B2,C2,D2],
[A4,B4,C4,D4,A5,B5,C5,D5]
]
},
{
name: "行式区域2",
link:{ ... },
rows:[
[A7,B7,C7,D7,A8,B8,C8,D8],
[A9,B9,C9,D9,A10,B10,C10,D10],
[A11,B11,C11,D11,A12,B12,C12,D12]
]
}
]
实例
实现效果图