var url = null;
var uploadUrl = null;
var PatrolList = null;
var ImgFile = null;
var dateTime;
var longitude = null; //百度地图(BD-09)经度
var latitude = null; //百度地图(BD-09)纬度
//电子巡更记录
var data = {
"interfaceId": "5601",
"outId": "10601",
"reqDateTime": new Date(),
"tokenAuth": "",
"data": {
"deptId": "",
"dataTime": "",
}
};
//电子巡更打卡
var data1 = {
"interfaceId": "5602",
"outId": "10602",
"reqDateTime": new Date(),
"tokenAuth": "",
"data": {
"deptId": "",
"latitude": "",
"longitude": "",
"imgName": "",
}
};
//巡更照片查看
var data2 = {
"interfaceId": "5603",
"outId": "10603",
"reqDateTime": new Date(),
"tokenAuth": "",
"data": {
"id": "",
}
};
function init() {
var user = JSON.parse(localStorage.getItem('user'));
var selectDeptId = JSON.parse(localStorage.getItem('selectDeptId'));
url = user.url + "/api-phone/v35/gateway";
uploadUrl = user.url + "/api-phone/v35/upload-img"
data.tokenAuth = user.tokenAuth;
data1.tokenAuth = user.tokenAuth;
data2.tokenAuth = user.tokenAuth;
data.data.deptId = selectDeptId;
data1.data.deptId = selectDeptId;
dateTime = getDate(new Date())
document.getElementById("date").value = dateTime;
console.log(JSON.stringify(data.data),"电子巡更记录","security-patrol")
//获取巡更记录
getPatrolList()
}
//默认获取当前日期(yyyy-MM-dd)
function getDate(date) {
var year = date.getFullYear();
var month, day;
month = date.getMonth() + 1;
if (month > 0 && month <= 9) {
month = "0" + month;
}
day = date.getDate();
if (day > 0 && day <= 9) {
day = "0" + day;
}
return year + "-" + month + "-" + day
}
//加减天数
function addAndReduceMonth(tag) {
var date = new Date(dateTime);
date = date.setDate(date.getDate() + tag);
date = new Date(date);
dateTime = getDate(date);
document.getElementById("date").value = dateTime;
//获取巡更记录
getPatrolList()
}
//选择日期
function chooseDate() {
var dtpicker = new mui.DtPicker({
type: "date", //设置日历初始视图模式
// beginDate: new Date(2015, 04, 25), //设置开始日期
// endDate: new Date(2016, 04, 25), //设置结束日期
value: dateTime
})
dtpicker.show(function(e) {
dateTime = e.value;
document.getElementById("date").value = e.value
getPatrolList();
})
}
//获取巡更记录
function getPatrolList() {
//赋值参数的日期
data.data.dataTime = dateTime;
mui.ajax(url, {
type: "POST",
dataType: "json",
crossDomain: true,
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data),
success: function(result) {
if (result.code == "0000") {
PatrolList = result.data;
renderPatrol();
} else {
renderPatrol();
mui.toast(result.msg);
// console.log(JSON.stringify(result))
}
},
error: function() {
mui.alert("系统繁忙,请重试!", "提示", ["确定"], function() {}, "div")
}
})
PatrolList = [{
"id": "57",
"userName": "程娟",
"longitude": "34.585",
"latitude": "114.235",
"createTime": "1976-03-03 16:41:41"
},
{
"id": "1",
"userName": "冯军",
"longitude": "34.585",
"latitude": "114.235",
"createTime": "1981-01-06 17:40:24"
},
{
"id": "99",
"userName": "黎洋",
"longitude": "114.235",
"latitude": "34.585",
"createTime": "1991-04-04 23:06:09"
}
]
}
function renderPatrol() {
var html = '';
if (PatrolList && PatrolList.length > 0) {
$.each(PatrolList, function(index, item) {
html += '
'
html += '
' + item.createTime + '
查看照片
';
html += '
'
html += '
打卡人
' + item.userName + '
';
html += '
坐标
'
html += '
' + item.longitude + ', ' + item.latitude +
'
'
})
} else {
html +=
'暂无巡更信息
';
}
$("#recordList").html(html)
}
mui('.mui-scroll-wrapper').scroll({
indicators: false, //是否显示滚动条
deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏
bounce: false, //是否启用回弹
deceleration: 0.0005 //flick 减速系数,系数越大,滚动速度越慢,滚动距离越小,默认值0.0006
});
mui(".mui-content").on("tap", ".g-date_box .prev", function() {
var curDate = document.getElementById("date").value;
addAndReduceMonth(-1)
// document.getElementById("date").value = e.value
});
mui(".mui-content").on("tap", ".g-date_box .next", function() {
var curDate = document.getElementById("date").value;
addAndReduceMonth(1)
// document.getElementById("date").value = e.value
});
//查看照片
mui(".mui-content").on("tap", ".ul-cardb1 li .r-btn", function() {
var id = this.getAttribute('id');
data2.data.id = id;
mui.ajax(url, {
type: "POST",
dataType: "json",
crossDomain: true,
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data2),
success: function(result) {
if (result.code == "0000") {
ImgFile = result.data;
var html = '
';
$('#viewerImg').html(html);
} else {
// var html = '
';
// $('#viewerImg').html(html);
mui.toast(result.msg);
}
},
error: function() {
mui.alert("系统繁忙,请重试!", "提示", ["确定"], function() {}, "div")
}
})
$('.m-pop').css('display', 'flex');
});
//关闭照片
$('.pop-bg,.m-pop .close').click(function(e) {
e.stopPropagation();
$('.m-pop').fadeOut();
});
//使用相机拍照
function cameraImg() {
var cmr = plus.camera.getCamera();
cmr.captureImage(function(p) {
//成功
plus.io.resolveLocalFileSystemURL(p, function(entry) {
var path = entry.toLocalURL(); //获得图片路径
uploadImg(path);
}, function(e) {
mui.toast("读取拍照图片错误,请重试!");
});
}, function(e) {
mui.toast("拍照失败,请重试!");
});
}
//上传照片
function uploadImg(path) {
//转圈等待框
var wt = plus.nativeUI.showWaiting();
//上传
var task = plus.uploader.createUpload(uploadUrl, {
method: "POST"
},
function(t, status) { //上传完成
if (status == 200) {
// var html = '';
var obj = JSON.parse(t.responseText);
mui.toast("上传成功!");
data1.data.imgName = obj.data.fileName;
//关闭转圈等待框
wt.close();
//电子巡更打卡
patrolClock();
} else {
mui.toast("上传失败,请重试!");
//关闭转圈等待框
wt.close();
}
});
//业务类型
task.addData("bizType", "02");
//图片信息
task.addFile(path, {
key: "uploadkey"
});
task.start();
}
//电子巡更打卡
function patrolClock() {
data1.data.latitude = latitude;
data1.data.longitude = longitude
mui.ajax(url, {
type: "POST",
dataType: "json",
crossDomain: true,
contentType: "application/json;charset=utf-8",
data: JSON.stringify(data1),
success: function(result) {
if (result.code == "0000") {
mui.toast(result.msg);
} else {
mui.toast(result.msg);
}
},
error: function() {
mui.alert("系统繁忙,请重试!", "提示", ["确定"], function() {}, "div")
}
})
}
// function getLatLon() {
// plus.geolocation.getCurrentPosition(function(position) {
// longitude = position.coords.longitude; // 经度
// latitude = position.coords.latitude; // 纬度
// }, function(e) {
// mui.alert("获取定位信息失败,请先打开定位开关!", '提示', ["确定"], function() {}, "div");
// }, {
// geocode: true
// });
// }
//获取定位
function getLatLon() {
plus.geolocation.getCurrentPosition(showLocation, function(e) {
mui.alert("获取定位信息失败,请先打开定位开关!", '提示', ["确定"], function() {}, "div");
}, {
geocode: true
});
}
//处理定位后的信息
function showLocation(r) {
var bd09 = "";
if (r.coordsType == 'gcj02') {
//国测局坐标转百度坐标
bd09 = gcj02_To_Bd09(r.coords.longitude, r.coords.latitude);
} else if (r.coordsType == 'wgs84') {
//wgs84转百度坐标
bd09 = wgs84_To_Bd09(r.coords.longitude, r.coords.latitude);
} else {
bd09 = r.coords.longitude + "," + r.coords.latitude
}
var location = bd09.split(",");
longitude = location[0];
latitude = location[1];
}
//国测局坐标(即火星坐标gcj02) 转化为百度坐标(即BD-09)
function gcj02_To_Bd09(gcj_lon, gcj_lat) {
var x = gcj_lon,
y = gcj_lat;
var z = Math.sqrt(x * x + y * y) + 0.00002 * Math.sin(y * pi);
var theta = Math.atan2(y, x) + 0.000003 * Math.cos(x * pi);
var bd_lon = z * Math.cos(theta) + 0.0065;
var bd_lat = z * Math.sin(theta) + 0.006;
return bd_lon + "," + bd_lat;
}
//地球坐标(即wgs84) 转化为百度坐标(即BD-09)
function wgs84_To_Bd09(wgs_lon, wgs_lat) {
//第一次转换(wgs84转gcj02)
var dlat = transformlat(wgs_lon - 105.0, wgs_lat - 35.0);
var dlng = transformlon(wgs_lon - 105.0, wgs_lat - 35.0);
var radlat = wgs_lat / 180.0 * pi;
var magic = Math.sin(radlat);
magic = 1 - ee * magic * magic;
var sqrtmagic = Math.sqrt(magic);
dlat = (dlat * 180.0) / ((a * (1 - ee)) / (magic * sqrtmagic) * pi);
dlng = (dlng * 180.0) / (a / sqrtmagic * Math.cos(radlat) * pi);
var mglat = wgs_lat + dlat;
var mglng = wgs_lon + dlng;
//第二次转换(gcj02转bd09)
var z = Math.sqrt(mglng * mglng + mglat * mglat) + 0.00002 * Math.sin(mglat * x_pi);
var theta = Math.atan2(mglat, mglng) + 0.000003 * Math.cos(mglng * x_pi);
var bd_lon = z * Math.cos(theta) + 0.0065;
var bd_lat = z * Math.sin(theta) + 0.006;
return bd_lon + "," + bd_lat;
}
function transformlat(lat, lon) {
var ret = -100.0 + 2.0 * lon + 3.0 * lat + 0.2 * lat * lat + 0.1 * lon * lat + 0.2 * Math.sqrt(Math.abs(lon));
ret += (20.0 * Math.sin(6.0 * lon * pi) + 20.0 * Math.sin(2.0 * lon * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(lat * pi) + 40.0 * Math.sin(lat / 3.0 * pi)) * 2.0 / 3.0;
ret += (160.0 * Math.sin(lat / 12.0 * pi) + 320 * Math.sin(lat * pi / 30.0)) * 2.0 / 3.0;
return ret;
}
function transformlon(lat, lon) {
var ret = 300.0 + lon + 2.0 * lat + 0.1 * lon * lon + 0.1 * lon * lat + 0.1 * Math.sqrt(Math.abs(lon));
ret += (20.0 * Math.sin(6.0 * lon * pi) + 20.0 * Math.sin(2.0 * lon * pi)) * 2.0 / 3.0;
ret += (20.0 * Math.sin(lon * pi) + 40.0 * Math.sin(lon / 3.0 * pi)) * 2.0 / 3.0;
ret += (150.0 * Math.sin(lon / 12.0 * pi) + 300.0 * Math.sin(lon / 30.0 * pi)) * 2.0 / 3.0;
return ret;
}