移动端定位打卡

news/2024/9/30 3:28:56

签到按钮脚本

Mobile_NS.getCurrPosition(function(result){var lngdangq = result["lng"];var lathoum = result["lat"];var minDistance = null;//alert("addr"+addr);var dkzt = $f("dkzt").val();//alert(dkzt);if(dkzt==0){//$f("khmc").setRequired(true); // alert("正常");//var jwd = $f("jwd").val();/* 迭代明细表行 */ //alert("dkzt:"+dkzt);var count=$dt("uf_ywykhdk_dt1").getRowCount();if(count==0){Mobile_NS.alert("该客户还未维护打卡地址经纬度,请联系马远秀进行维护");}var pd = false;$dt("uf_ywykhdk_dt1").eachRow(function(rowIndex, data){var jwd =data["jwd"];var dz =data["dz"];//alert("jwd:"+jwd);// Mobile_NS.alert("dz:"+dz)if(jwd != null && jwd != ''){var fenzu = jwd.split(",");var staVal = {lng: lngdangq, lat: lathoum};var endVal = { lng: fenzu[0], lat: fenzu[1]};var zjl = calcCoordsDistance(staVal, endVal).originVal // {mVal: '638.59m', kmVal: '0.63859km', originVal: '638.5888697736245'}if(minDistance == null){minDistance = zjl;} else if(zjl < minDistance){minDistance = zjl;}if(zjl<1200){var ywy = $f("ywy").val();//业务员var khmc = $f("khmc").val();//客户名var qdrq = $f("qdrq").val();//签到日期var qdsj = $f("qdsj").val();//签到时间$f("qddz").val(dz);  //签到地点Mobile_NS.formSubmit("CAB2D8B850E0000164F11B30123015DE", function(billid) {Mobile_NS.alert(qdrq+" "+qdsj+"签到成功");});pd = true;}}});if(!pd){Mobile_NS.alert("打卡位置距离定位"+minDistance+"米,不在打卡范围内禁止提交,如有疑问请联系马远秀");}}else if(dkzt==1){//$f("khmc").setRequired(true);    var ywy = $f("ywy").val();//业务员var khmc = $f("khmc").val();//客户名var qdrq = $f("qdrq").val();//签到日期var qdsj = $f("qdsj").val();//签到时间//var qddzcs = $f("qddzcs").val();//签到时间//alert("地址:"+qddzcs);// $f("qddz").val(dz);  //签到地点Mobile_NS.formSubmit("CAB2D8B850E0000164F11B30123015DE", function(billid) {Mobile_NS.alert(qdrq+" "+qdsj+"签到成功");});}else if(dkzt==2){// alert("特殊情况");//$f("ycmc").setRequired(true); var ywy = $f("ywy").val();//业务员var khmc = $f("khmc").val();//客户名var qdrq = $f("qdrq").val();//签到日期var qdsj = $f("qdsj").val();//签到时间//var qddzcs = $f("qddzcs").val();//签到时间//alert("地址:"+qddzcs);// $f("qddz").val(dz);  //签到地点Mobile_NS.formSubmit("CAB2D8B850E0000164F11B30123015DE", function(billid) {Mobile_NS.alert(qdrq+" "+qdsj+"签到成功");});}        
});function calcCoordsDistance(startDot, endDot) {if (!startDot || !endDot) {return { mVal: "", kmVal: "", originVal: "两点的经纬度为必传" };}const earthRadius = 6378137.0; // 地球半径const PI = Math.PI // 圆周率πconst startRadianLat = getRadian(startDot.lat,PI); // 纬度 - 开始const endRadianLat = getRadian(endDot.lat,PI); // 纬度 - 结束const latDiffVal = startRadianLat - endRadianLat; // 维度差值const lngDiffVal = getRadian(startDot.lng,PI) - getRadian(endDot.lng,PI); // 经度差值const  latDiffSinVal = Math.sin(latDiffVal / 2); // 维度差值的正弦值const  lngDiffSinVal = Math.sin(lngDiffVal / 2); // 经度差值的正弦值const  latCosProduct = Math.cos(startRadianLat) * Math.cos(endRadianLat); // 维度的余弦值乘积const  powVal = latCosProduct * Math.pow(lngDiffSinVal, 2);
const   sqrtVal = Math.pow(latDiffSinVal, 2) + powVal; // 开平方根的值
const   result = 2 * Math.asin(Math.sqrt(sqrtVal)) * earthRadius; // 结果值
const   mUnit = result.toFixed(2) + "m"; // 单位米
const   kmUnit = (result / 1000).toFixed(5) + "km"; // 单位千米)return { mVal: mUnit, kmVal: kmUnit, originVal: result.toString() };
}function getRadian(d,PI) {return (d * PI) / 180.0;}

打卡状态源码
/*
请在此处直接键入JavaScript代码,首次使用建议先点击右上角的帮助图标了解注意事项
*/

$load(function() {//打卡状态$f("dkzt").on("change", function(){ var dkzt = $f("dkzt").val(); /* 获取字段title的值 */if(dkzt==0){$f("khmc").setRequired(true); $f("khmc").show(); $f("ycmc").hide();   /* 隐藏字段 */$f("ycmc").setReadonly(true);  /* 设置字段title只读,true:只读   false:非只读 */$f("ycmc").setRequired(false);   /* 设置字段title必填,true:必填   false:非必填 */}else if(dkzt==1){$f("khmc").show();$f("khmc").setRequired(true); $f("khmc").setReadonly(false); $f("ycmc").hide(); $f("ycmc").setReadonly(true);$f("ycmc").setRequired(false); }else if(dkzt==2){$f("ycmc").setRequired(true); $f("ycmc").setReadonly(false);$f("khmc").hide();$f("ycmc").show();$f("khmc").setReadonly(true);$f("khmc").setRequired(false); } });
});
/* 执行插件(页面)加载完成后的回调操作 */
$pluginLoad('CAB85CDB2AC00001A799C6C114FE13AD', function() {$f("khmc").setRequired(true); $f("ycmc").hide(); 
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29912.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

3秒修复老照片,一键智能变高清!

你肯定有一些年代久远的老照片,以及网络下载的图片或视频,不够高清还非常模糊,如果能一键修复成高清就好了!现在推荐一款神奇的Real-ESRGAN镜像,可以将模糊老照片和视频修复成高清晰,动动手分分钟帮你一键焕新!操作指南这就马上附上!你肯定有一些年代久远的老照片,以及…

使用pyautogui向下滚动条到底

使用pyautogui向下滚动条到底 一、pyautogui简介 pyautogui是一个用于模拟鼠标和键盘操作的Python模块,它可以用来自动化执行一些重复性的任务,提高工作效率。在这篇文章中,将学习如何使用pyautogui模块来实现向下滚动条到底的功能。 二、安装pyautogui模块 在使用pyautogui…

EC11的中断实验——NVICEXTI

本文隶属于《GD32 示波器项目软件部分重难点及相关疑问解决》 4-EC11的中断实验——NVIC&EXTI 4-1 实验目标以及原理图 GD32E230外部中断EXTI(中断/事件控制器)包括21个相互独立的边沿检测电路并且能够向处理器内核产生中断请求或唤醒事件。EXTI有三种触发类型:上升沿触…

使用stable diffusion设计logo的提示词

使用stable diffusion设计logo的提示词 Stable Diffusion是一种基于图像处理和机器学习的算法,可以用于生成各种类型的图像,包括Logo设计。本文将介绍如何使用Stable Diffusion来设计Logo,并提供一些提示词以帮助读者更好地理解和应用这种技术。 1.了解Stable Diffusion的基…

方正字体 3.0 和 5.0 的比较

默认字体就是宋体(方正书宋)主要区别在于英文字体。5.0 中的斜体、宋体、黑体和楷体的英文字体都变化较大。 个人认为 5.0 更为合理。因为斜体和楷体本身就是较为接近手写字体的字体。而 5.0 中的英文斜体和楷体改的更像手写了。

springboot+vue快速部署前后台项目,无需服务器

问题 前言 我们都知道,现在的主流开发大多数为,前后端分离,目前流行的框架,大多数是spring boot+element ui 这些框架,这无疑是给开发部署项目带来了便利,我们后台开发无需关心前端如何部署的,前端同样也无需关系后台如何部署,只需要确认能够访问即可。 存在有如下问题…

项目打包与上线

目录1.修改好上线环境中的请求地址2.打包项目3.连接服务器4.配置nginx代理5.上线成功 1.修改好上线环境中的请求地址2.打包项目进入项目根目录,输入npm run build解决报错问题 当我们无法解决多而烦的ts检查报错时,可以在项目中的package.json文件中把下图中原本的红色框内容…