首页 > 其他分享 >移动端定位打卡

移动端定位打卡

时间:2024-05-10 19:22:23浏览次数:18  
标签:定位 khmc jwd ycmc var 打卡 移动 true dkzt

签到按钮脚本

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(); 
});

标签:定位,khmc,jwd,ycmc,var,打卡,移动,true,dkzt
From: https://www.cnblogs.com/LiliDEtoy/p/18185150

相关文章

  • 移动端步骤2
     <template><!--新计划预约--><divclass="whmainbgf"style="background-color:#f4f7f7"><divclass="headerw"><van-row><van-col@click="backFn"span="7......
  • Selenium4自动化测试3--元素定位By.NAME,By.LINK_TEXT 和通过链接部分文本定位,By.PARTI
    4-通过名称定位,By.NAMEname属性为表单中客户端提交数据的标识,一个网页中name值可能不是唯一的。所以要根据实际情况进行判断 importtimefromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy#指定浏览器的位置,解决浏览器驱动和浏览器版本不匹配......
  • Selenium4自动化测试4--元素定位By.XPATH,元素定位最佳顺序
    7-通过xpath定位,By.XPATH    xpath是什么?XPath是一门在XML文档中查找信息的语言xml是什么?XML(可扩展标记语言),主要用于传输数据为什么可以使用xpath定位html?XPath(XML路径语言)是一种用于在XML文档中定位元素的语言,它可以用于定位HTML文档中的元素。尽管XML和HTML是两种不同......
  • 移动端步骤1
       <template><!--新计划预约--><divclass="whmainbgf"style="background-color:#f4f7f7"><divclass="headerw"><van-row><van-col@click="backFn"span=&qu......
  • SQL练习之打卡记录数据统计类问题
    最近老婆的公司,关闭了OA系统中,各类打卡时间数据统计的功能,为了不麻烦老婆手算,就做了一个简单的打卡系统,方便自动统计老婆想要知道的各类数据。做的过程中就遇到了几个还挺有意思的SQL,这里写成一篇博文,方便后期练习~Tip:需要答案的盆友可以访问参考答案的链接,密码是123456~建表......
  • 中国移动光猫Fiberhome HG6145F获取超级管理员密码和解决第四号口不能用的问题
    第一步获取光猫MAC地址你看光猫背后就行了,如果没有,就用命令:arp-a192.168.1.1第二步开启telnet访问地址:http://192.168.1.1/cgi-bin/telnetenable.cgi?telnetenable=1&key=你的Mac地址,要求全大写如果成功,网页会显示:telnet开启第三步进入telnet地址还是在电脑用cmd输入:t......
  • 如何把多个文件(夹)向上移动1层(或多层)(在批量复制前或后进行)
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z 假定情况是,我要把下图里的4个文件夹内部的全部文件,合并到04的当前位置来(4个文件夹里面各有5个兔兔的图片)打开工具,切换到文件批量复制版块找到右下角的更多,点击,来设置上移的情况勾选“来源路径”向上......
  • 移动吉比特H5-9光猫获取超级管理员权限
    开启telnet权限先用普通用户账号进行正常登录后在浏览器打开下面链接http://192.168.1.1/usr=CMCCAdmin&psw=aDm8H%25MdA&cmd=1&telnet.gch,页面提示success表示开启telnet权限成功telnet进入光猫前提window电脑开启telnet权限CMD下输入telnet192.168.1.1依次输入账......
  • 20240508打卡
    第十一周第一天第二天第三天第四天第五天第六天第七天所花时间3h5h2h代码量(行)276122371博客量(篇)111知识点了解设计后台系统界面和每日委托第一阶段验收,理清项目优化方向接口测试......
  • Selenium4自动化测试2--元素定位By.ID,By.CLASS_NAME,By.TAG_NAME
    三、元素定位方式1-通过id定位,By.IDid属性在HTML中是唯一的,因此使用id定位可以确保找到页面上唯一的元素。由于id是唯一的,浏览器在查找元素时可以快速定位到目标元素,提高了定位的效率。 importtime#pipinstallseleniumfromseleniumimportwebdriverfromselenium......