`
IT梦想家
  • 浏览: 17896 次
社区版块
存档分类
最新评论

FineReport移动端如何获取地址位置

阅读更多

对于企业大多数员工来说,由于其工作位置是固定的,可以有多种方式进行上班打卡签到以保证该员工有按时正常来上班,但是对于经常需要出差,去客户现场的员工来说,就无法保证他们是否有去上班,所以希望能通过手机位置定位来保证员工有正常上班。

上述情况可以通过FineReport模板添加一个按钮控件,点击该按钮的时候,获取当前地理位置,并将该位置信息复制给某个单元格,最后员工填报当前模板即可。

实现如下图所示效果,点击地理位置按钮获取当前位置与当前时间,并显示下下方对应的单元格中:


模板制作

打开设计器,新建一张模板,按照如下图所示样式设计模板,其中E2单元格为按钮控件,控件名称为地理位置,C5为下拉框控件,E5为时间控件:

 

获取当前地理位置

获取当前地理位置有两种方式,一个是点击按钮获取地理位置,一个是直接打开模板的时候就获取位置,示例中,想实现通过点击按钮获取地理位置。

<!--[if !supportLists]-->1)<!--[endif]-->通过点击按钮获取地理位置

打开按钮的控件位置,为该控件添加一个点击事件,如下图:


相应代码如下:

FR.location(function(status, message){ //获取地理位置
if(status=="success") {
//定位成功,message返回经纬度值
FR.Msg.alert("当前位置是" + message);
contentPane.setCellValue(2, 3, message);
} else {
//定位失败,message返回对应的错误信息
FR.Msg.alert(message); //定位失败
}
});

FineReport通过FR.location方法获取当前位置,如果status值为success,则表示获取地理位置成功,否则定位失败,如果定位成功,则将返回的地理位置信息赋值给C4单元格。

要注意的是该方法只在移动端有用,如果在web点击该按钮事件获取地理位置,则直接提示定位失败。

<!--[if !supportLists]-->2)<!--[endif]-->加载结束后获取当前位置

如果想在模板加载结束之后就获取到当前地理位置,那么只需要将上述代码添加到加载结束后事件中即可,打开模板,点击模板>模板web属性>填报页面设置,添加一个加载结束事件,如下图:

获取当前时间

在模板中还需要将当前签到时间也赋值过去,所以还需要在按钮的点击事件中获取到当前时间,即给E2单元格再添加一个点击事件,并赋值给E4单元格,代码如下:

var myDate = new Date();
var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //获取当前时间
contentPane.setCellValue(4, 3, mytime);

按钮点击事件全部代码如下:

FR.location(function(status, message){ //获取地理位置
if(status=="success") {
//定位成功,message返回经纬度值
FR.Msg.alert("当前位置是" + message);
contentPane.setCellValue(2, 3, message);
var myDate = new Date();
var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //获取当前时间
contentPane.setCellValue(4, 3, mytime);
 
} else {
//定位失败,message返回对应的错误信息
FR.Msg.alert(message); //定位失败
}
});

效果查看

将该模板添加到数据决策系统的节点树上,其中模板的预览方式为填报,如下图:

用移动端登录该系统,访问该张模板,点击地理位置按钮获取当前地理位置和当前时间,如下图:

FineReport中获取的地理位置是经纬度,如果需要确定其具体位置的话,还需要另外转换。

  • 大小: 2.1 KB
  • 大小: 2.9 KB
  • 大小: 44.1 KB
  • 大小: 70.5 KB
  • 大小: 17.5 KB
  • 大小: 54.4 KB
0
0
分享到:
评论

相关推荐

    报表开发工具Finereport移动端app js接口列表【全】

    - `FR.location`:获取地理位置信息。 - `FR.doHyperlinkByGet/Post`:通过GET/POST请求打开超链接。 - `FR.ajax_g().parameterCommit()`:分页预览及填报预览自动查询。 #### 具体使用示例 - 获取控件的方法示例...

    移动端报表FineReport的JS开发示例

    FR.location用于获取地理位置信息;FR.doHyperlinkByGet和FR.doHyperlinkByPost用于异步请求;FR.ajax_g().parameterCommit用于自动查询;contentPane.setAppearsRefresh用于页面的自动刷新。 最后,FineReport在JS...

    帮助文档-报表工具FineReport与移动端app集成示例

    用户有自己的app,希望把报表的移动端【本文中以FineReport移动端为例】功能集成到他们的app里面去,而不需要安装两个app。Android端和IOS端的集成接口是不一样的,下面我们分开详述如何实现。

    移动端报表JS开发示例--获取定位

    移动端报表开发中的定位功能是移动应用中常用的一个功能,它能够帮助应用获取用户的地理位置信息。在JS开发中,实现定位功能主要涉及到JavaScript API的使用以及对移动端设备的兼容性考虑。本文将通过一个具体的案例...

    finereport10习题答案.zip

    8. **移动端展示**:FineReport支持移动设备浏览,用户可以在手机或平板上查看报表。答案可能会介绍如何优化报表以适应不同屏幕尺寸。 9. **模板的保存与分享**:学习过程中,用户会学习到如何保存模板以便重复使用...

    FineReport自学习题 V2.rar

    最后,FineReport支持移动端展示,用户可以学习如何优化报表布局,使其适应手机和平板等不同设备的屏幕尺寸,实现跨平台的数据查看和分析。 总的来说,通过《FineReport自学习题 V2》这个压缩包,用户可以从理论到...

    finereport离线帮助文档

    8. **移动设备支持**:随着移动办公的普及,FineReport支持移动端查看报表。文档会说明如何优化报表以适应不同屏幕尺寸,以及移动应用的配置方法。 9. **API与插件开发**:对于开发者,FineReport提供了API接口和...

    报表开发工具finereport普通报表的app自适应方案

    为了满足这种需求,报表开发工具FineReport提供了针对移动端的自适应方案,确保报表能够在不同尺寸的移动设备上正常显示。本文将详细介绍FineReport普通报表的移动端自适应方案及其实施步骤,旨在帮助开发者更好地...

    Finereport数据集参数实现动态列报表模板 + 函数JS代码

    在FineReport中,数据集是报表设计的基础,它负责从数据库中获取数据。通过设置数据集参数,我们可以将用户的选择(比如需要显示的列)作为输入,动态地调整数据集的查询语句。在“实现动态列sql.txt”文件中,应该...

    Spring Boot2.6.13集成FineReport11.0教程

    FineReport 需要连接数据库以获取数据。在本教程中,我们使用 MySQL 8.0.23 创建了一个名为 yimi 的数据库,并创建了一个名为 student 的表。用户需要了解如何创建数据库和表,并插入测试数据。 知识点 3:...

    Web报表工具FineReport完整教程

    7. 移动报表配置:介绍如何在移动端查看报表,以及移动版FineReport的特色功能。 8. 数据填报功能:演示如何设计数据填报表单,设置验证规则,以及处理填报数据。 9. 自动化调度:详细说明如何设置定时任务,实现...

    finereport教程

    2. 移动端访问:FineReport提供了适应移动端的报表展示方案,用户可以在手机或平板上查看报表。 3. API集成:通过FineReport提供的API,可以将报表嵌入到其他业务系统中,实现数据的无缝对接。 五、相关说明 本教程...

    FineReport手机端获取当前定位信息

    FineReport手机端获取当前定位信息

    finereport的jar包

    开发者需要将其解压并按照FineReport的文档指示,将这些文件放置到正确的位置,以便在项目中使用。 总之,FineReport的jar包对于基于Java和SpringBoot的项目来说,是实现报表功能的重要组成部分。通过合理配置和...

    数据分析软件FineReport(V7.1.1)移动端功能介绍

    数据分析软件FineReport(V7.1.1)移动端功能:介绍数据分析(FineAnalysis)是帆软软件有限公司针对移动平台推出的⼀款数据可视化分析工具。通过此移动客户端,用户可以充分利用零碎时间,不局限于场所,随时随地,...

    如何将钉钉集成到FineReport插件中(官方)

    创建微应用的URL需要加上参数,例如&corpid=$CORPID$,以便FineReport后台可以获取到corpid并取到钉钉userid,实现单点登录。 在钉钉成员与报表用户的关联设置中,需要读取钉钉通讯录成员的相关信息,包括userid、...

    如何对finereport报表的参数控件赋值

    在JavaScript中,可以通过FineReport提供的API,如`this.options.form.getWidgetByName("控件名称")`,获取到需要的控件对象。这样就可以操作控件的值了。值得注意的是,`getWidgetByName`中的参数“控件名称”应与...

    spring boot整合finereport

    如果无法直接通过Maven或Gradle获取,可以将提供的jar文件放到项目的`lib`目录下,并配置为本地库。 3. **配置应用**:在Spring Boot的配置文件`application.properties`或`application.yml`中,需要配置...

    fineReport课后10题答案.zip

    《FineReport报表工具学习:课后10题详解与实践指南》 FineReport是一款强大的报表设计工具,尤其适合初学者快速上手。本压缩包“fineReport课后10题答案.zip”包含了针对FineReport使用过程中常见问题的解答,旨在...

Global site tag (gtag.js) - Google Analytics