1. 描述
对于企业大多数员工来说,由于其工作位置的固定的,可以有多种方式进行上班打卡签到以保证该员工有按时正常来上班,但是对于经常需要出差,去客户现场的员工来说,就无法保证他们是否有去工作,所以希望能通过手机位置定位来保证员工有正常上班。以报表开发工具FineReport 移动端为例演示企业可以如何完美解决这一问题。
可以通过FineReport模板添加一个按钮控件,点击该按钮的时候,获取当前地理位置,并将该位置信息复制给某个单元格,最后员工填报当前模板即可。
实现如下图所示效果,点击地理位置按钮获取当前位置与当前时间,并显示在下方对应的单元格中:
打开设计器,新建一张模板,按照如下图所示样式设计模板,其中E2单元格为按钮控件,控件名称为地理位置,C5为下拉框控件,E5为时间控件:
获取当前地理位置有两种方式,一个是点击按钮获取地理位置,一个是直接打开模板的时候就获取位置,示例中,我们是想实现通过点击按钮获取地理位置。
· 通过点击按钮获取地理位置
打开按钮的控件设置,为该控件添加一个点击事件,如下图:
js如下:
1. FR.location(function(status, message){ //获取地理位置
2. if(status=="success") {
3. //定位成功,message返回经纬度值
4. FR.Msg.alert("当前位置是" + message);
5. contentPane.setCellValue(2, 3, message);
6. } else {
7. //定位失败,message返回对应的错误信息
8. FR.Msg.alert(message); //定位失败
9. }
10. });
FineReport通过FR.location方法获取当前位置,如果status值为success,则表示获取地理位置成功,否则定位失败,如果定位成功,则将返回的地理位置信息赋值给C4单元格。
注:该方法只在移动端有用,如果在web点击该按钮事件获取地理位置,则直接提示定位失败。
· 加载结束后获取当前位置
如果想在模板加载结束之后就获取到当前地理位置,那么只需要将上述代码添加到加载结束后事件中即可,打开模板,点击模板>模板web属性>填报页面设置,添加一个加载结束事件,如下图:
在模板中还需要将当前签到时间也赋值过去,所以还需要在按钮的点击事件中获取到当前时间,并赋值给E4单元格,js如下:
1. var myDate = new Date();
2. var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //获取当前时间
3. contentPane.setCellValue(4, 3, mytime);
按钮点击事件全部js如下:
1. FR.location(function(status, message){ //获取地理位置
2. if(status=="success") {
3. //定位成功,message返回经纬度值
4. FR.Msg.alert("当前位置是" + message);
5. contentPane.setCellValue(2, 3, message);
6. var myDate = new Date();
7. var mytime=myDate.getFullYear()+"-"+myDate.getMonth()+1+"-"+myDate.getDate()+" "+myDate.getHours()+":"+myDate.getMinutes()+":"+myDate.getSeconds(); //获取当前时间
8. contentPane.setCellValue(4, 3, mytime);
9.
10. } else {
11. //定位失败,message返回对应的错误信息
12. FR.Msg.alert(message); //定位失败
13. }
14. });
将该模板添加到数据决策系统的节点树上,其操作方法请查看添加模板,其中模板的预览方式为填报,如下图:
根据添加服务器章节介绍的操作步骤,用移动端登录该系统,访问该张模板,点击地理位置按钮获取当前地理位置和当前时间,如下图:
注:FineReport获取到的地理位置是经纬度,如需要确定其具体位置,需要另外转换。
相关推荐
2. 获取当前地理位置:当用户点击按钮时,需要编写JavaScript代码来获取当前的地理位置信息。在FineReport中,可以通过FR.location方法来实现,该方法在成功获取到位置信息后会回调一个函数,函数参数status表明操作...
FR.location用于获取地理位置信息;FR.doHyperlinkByGet和FR.doHyperlinkByPost用于异步请求;FR.ajax_g().parameterCommit用于自动查询;contentPane.setAppearsRefresh用于页面的自动刷新。 最后,FineReport在JS...
- `FR.location`:获取地理位置信息。 - `FR.doHyperlinkByGet/Post`:通过GET/POST请求打开超链接。 - `FR.ajax_g().parameterCommit()`:分页预览及填报预览自动查询。 #### 具体使用示例 - 获取控件的方法示例...
- **地理信息展示**:通过地图展示管廊的位置信息。 - **三维场景展示**:利用三维模型展示管廊的结构和布局。 - **统计分析看板**:提供数据分析看板,帮助管理者做出决策。 #### 3.2 智能监控与报警 - **环境与...
同时,通过`wx.authorize`进行特定权限的授权申请,如获取用户地理位置、手机号等。合理设计授权流程,既能保护用户隐私,又能满足业务需求。 5. **小程序图表功能**:在微信小程序中展示图表,可以借助第三方库如...
页面渲染、样式设置以及结合地理位置服务(LBS)的优化也是后续的重点。用户自定义上传模板、管理系统如用户管理和统计报表的升级,以及产品主页的建设和收费系统的完善,预计将在上半年陆续推出。 总结来说,CMS...
房源详情应包含地理位置、户型、面积、价格、图片等详细信息,并支持房源对比和推荐功能。 3. **搜索与推荐系统**:高效的搜索算法是提高用户体验的关键。系统应支持按关键词、地理位置、价格等条件进行筛选,同时...
2. GIS管理:结合地理信息,实现工地位置的智能查询和监管。 3. 环境监测预警:自动监测环境参数,超标即报警,推动环保措施的执行。 通过这些综合功能,智慧工地管理平台能够有效解决建筑行业的管理难题,提高施工...
2. 地理信息系统(GIS):系统集成了GIS技术,提供精准的管道巡检位置信息和地图显示。 3. 移动终端应用:系统支持Android操作系统,提供了移动终端应用,巡检员可以随身携带移动终端,实时录入巡检信息。 4. 网络...
- 空间数据库设计:存储地理位置等相关数据,支持空间查询。 - 空间地理信息技术:包括GIS技术、多源异构空间数据互操作、地理编码与地址匹配技术等。 #### 五、系统功能设计 1. **系统设置模块**:负责用户管理...
- **地图展示**:基于地理位置信息绘制地图,呈现数据分布情况。 - **管理驾驶舱**:为高层管理者提供一站式的数据概览界面。 **6. 数据分析与挖掘平台** - **并行化算法模型库**:集成了多种高效的并行计算算法,...
2. 车辆调度:通过系统可以高效地调度车辆,考虑任务优先级、车辆状态和地理位置等因素,确保任务分配合理且及时。 3. 路线规划:根据目的地和当前交通状况,系统能自动或手动规划最佳行驶路线,提高运输效率,减少...
- **风险控制模型**:构建一套完整的风险评估体系,通过对交易行为模式、地理位置等多种维度的数据分析,及时发现异常情况并采取相应措施。 - **数据脱敏技术**:在不泄露敏感信息的前提下,仍然能够满足业务需求。...
- 分析了电子地图在数据分析中的应用,如地理位置数据分析等。 #### 五、技术要求实现 **5.1 产品架构** - **基础构建平台:** - 介绍了构建大数据平台的基础架构和技术栈。 - **大数据平台组件功能介绍:** -...