在工作中,上班打卡、下班打卡几乎是每个工作日的必要内容,那么用云表手机APP如何实现考勤打卡功能呢? 一、开发前需要做好的准备工作如下: 1云表本地部署版本。 2云表地图定位包map.zip。(采购正式版后联系云表工作人员获取) 二、配置服务器 在云表服务器的安装路径中,找到 \Latosoft\LatoServer\Bin\Tomcat\webapps\ROOT\WEB-INF\application\public 这个路径。 在此路径下建立一个map文件夹, 把map.zip这个压缩包中的文件解压,放到新建的map文件夹里。 然后 在 \Latosoft\LatoServer\Bin\Tomcat\webapps\ROOT\WEB-INF\application\conf 路径中的 routes 文件中 加两行数据 GET /10001/map/ staticDir:public/map GET /10001/ElectronicFence.html staticFile:public/map/ElectronicFence.html 三、进入云表系统,新建两个模板 1打卡中心点设置模板 2打卡模板 打卡中心点设置中,需要4个必要数据项 1经度 2纬度 3定位打卡中心点按钮(按钮即可,名称可以自定义) 4打卡半径(单位为米) 位置地点数据项可以显示地图上的位置名称,有利于判断定位是否正确,但是对于功能来说不是必要 经度、纬度数据项类型为小数,小数位数设置为6位、目前收集获取的经度一般是5位或者6位 (来自于网络的参考资料: 经度0.00001度(十万分之一度,0°0"0.036"),在赤道上对应的地球表面距离约为1米稍多,但在南北极极点上,则是0米。 纬度0.00001度在地球表面任意地方对应的地球表面距离都是大约1米稍多。) 然后开始设计填表公式,在设备监听中添加系统设备监听器,选择定位设备 在单元格按钮中,添加定位打卡中心点按钮,然后添加填表公式发送命令到设备 设备选择刚添加的定位设备、命令选择开始,该公式的作用是打开定位界面 然后在设备监听,定位设备中,添加一个赋值公式,将经度、纬度和地点名称赋值到本表单 再添加一个发送命令到设备的公式,设备选择定位设备,命令选择结束,该公式的作用在于退出定位界面 新建一个数据接口,添加经度、纬度和打卡半径三个数据项,供打卡时候计算和判断使用 保存模板时记得选择支持移动端,因为我们打卡时都是在移动端才做。可以勾选只有一份表单,这样就只会出现一个打卡点中心,当然,我们咱们有多个公司/多个办公地点等情况,就不要勾选只有一份表单了,在模板中加一个办公室名称,新建时手工填写,或者从组织机构中选择,就可以管理多个打卡点中心了 接下来设计打卡模板 打卡模板有9个必要数据项 1打卡按钮 2经度 3纬度 4打卡人(可以配置系统变量.当前用户姓名) 5日期 6距打卡中心距离 7打卡中心经度 8打卡中心纬度 9打卡半径 其他数据项就根据业务需要来配置了,上述数据项中部分数据项可以隐藏起来,打卡人可以不需要看到,我这里是为了让大家明白方法,就全部列出、同打卡中心点一样,记得设置经纬度小数位数为6位 填表公式与打卡中心点设置的方法同理 接下来到了难点了,计算打卡点到打卡点中心的距离 勾股定理应该都还记得吧? 105539.1756是经纬度换算成米的常量 距离计算出来后与打卡半径做对比,小于等于打卡半径则保存,大于打卡半径则报错,如果大于打卡半径不让打卡,可以复制报错公式粘贴到保存表单前事件中,则大于打卡半径就不能保存,保存就会报错,也就是不能打卡了 手机APP打卡效果如下 |
+14
最近谁赞过
4 条回帖