1. 描述
对于移动端报表而言,查看报表经常会有以下问题:查看缓存数据相比于实时数据,减少了数据传输时间,效率提高;而且部分客户不需要实时看数据,定期取数据,或者手动更新数据已经能满足需求了;有时由于网络环境不好,或者流量有限的时候,看不了实时报表。最好的解决办法就是实现离线查看报表,根据我平时报表的开发经验,以自己常用的报表开发工具FineReport 移动端为例,具体给大家讲讲这个离线查看的功能可以如何实现。
2. 移动端离线模式
2.1 离线模式
登录服务器前,若网络异常,则使用弹窗提示
点击使用,开启离线模式;离线模式开启后,进入目录,标题显示为:离线模式,没有底部工具栏(目录与收藏夹);
点击右上角设置,直接进入设置界面,替代之前的弹窗;
若当前状态有在线,网络突然断开,进入报表时弹窗提示用户是否开启离线模式,app在每次运行中只进行一次弹窗提示,用户如果取消之后,必须在设置中点击开启离线模式才可以使用离线,不再弹窗提示;
用户若再次启动时,遇到网络异常情况需要提示;
若当前状态有在线,网络突然断开,在报表预览页面进行其他操作时,也使用弹窗提示。
若从在线模式手动开启离线模式开关,目录界面则显示为离线模式
2.2 清除缓存
若点击清除离线缓存,则有弹窗提示,是否确定要清除缓存,点击确定,上方会出现清除成功的提示。
清除离线缓存后,则离线模式目录变为空。
2.3 离线报表查看
查看离线报表时,没有收藏按钮,翻页按钮根据之前预览的那日进行离线,若没有查看过,则离线后预览显示为空白。
注:可以通过设置里的“下载/更新离线数据”,把数据都缓存到本地,方便移动端离线查看或者离线填报。
3. 离线哪些数据
3.1 控件
· 参数面板和表单主体中的控件
只能查看,不能进行操作(灰化)。
· 填报模板中的控件
如果控件的数据字典内容是需要后台请求获取的,则取默认值取出来的内容。举例如下:
一个下拉框,数据字典为数据集ds1,其中ds1为“select 地区 from xxxtable ”,则将sql取出的所有数据项作为下拉框的下拉项缓存。
注:联动和形态暂不支持
3.2 模板主体(cpt或frm)
初始时只存一套数据(取参数默认值),当模板在在线模式下参数变化后,取变化后的参数值——总结为:取当前参数的结果报表。
缓存参数默认值对应的模板内容,如果有多页,需要将所有页面内容都缓存。
3.3 超链
超链都不支持,包括了联动。