签到按钮脚本
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