签到按钮脚本
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();
});