"use script"; //开发环境建议开启严格模式
|
|
//对应widget.js中MyWidget实例化后的对象
|
var thisWidget;
|
|
function initWidgetView(_thisWidget) {
|
thisWidget = _thisWidget;
|
|
DatePicker("#appDateHourStart", '#appDateHourEnd');
|
$("#appDateHourStart").datetimepicker("setDate", new Date(thisWidget.appDateHourStart));
|
$('#appDateHourEnd').datetimepicker('setDate', new Date(thisWidget.appDateHourEnd));
|
$("#taxisn").val(thisWidget.taxi_sn);
|
|
$("#btnStartDH")
|
.off("click")
|
.on("click", function () {
|
if ($("#btnStartDHText").text() == "开始回放") {
|
thisWidget.startDH();
|
// $("#btnStartDHText").text("停止回放");
|
$("#checkbox_sjgs").show();
|
}
|
// else {
|
// $("#btnStartDHText").text("开始回放");
|
// thisWidget.pauseReplay();
|
// }
|
});
|
|
$("#btnSuspendDH")
|
.off("click")
|
.on("click", function () {
|
if ($("#btnSuspendDHText").text() == "暂停回放") {
|
thisWidget.pauseReplay();
|
$("#btnSuspendDHText").text("继续回放");
|
$("#checkbox_sjgs").show();
|
} else {
|
$("#btnSuspendDHText").text("暂停回放");
|
thisWidget.ContinueReplay();
|
}
|
});
|
|
$("#checkbox_sjgs")
|
.off("click")
|
.on("click", function () {
|
var checked = $(this).prop("checked");
|
if (checked) {
|
thisWidget.startGS();
|
} else {
|
thisWidget.removeTrack();
|
}
|
});
|
|
|
//开始查询轨迹
|
$("#startQueryTaxiData").click(function () {
|
console.log(thisWidget.taxi_sn,"汽车编号")
|
haoutil.loading.show();
|
thisWidget.appDateHourStart = $("#appDateHourStart").val()
|
thisWidget.appDateHourEnd = $("#appDateHourEnd").val()
|
if(!$("#taxisn").val() || $("#taxisn").val()=='') {$("#taxisn").val(thisWidget.taxi_sn)}
|
let str = $("#taxisn").val()
|
let time_1 = thisWidget.appDateHourStart
|
let time_2 = thisWidget.appDateHourEnd
|
console.log(str,time_1,time_2,"参数")
|
$.getJSON(thisWidget.nodejs_url_predix + "dataapi/Bdata?bid=get_1004_real&siteid=" + $("#taxisn").val(), {
|
// $.getJSON(thisWidget.nodejs_url_predix + "dataapi/Bdata?bid=get_1004_single_path&siteid=" + thisWidget.taxi_sn, {
|
datatime1: thisWidget.appDateHourStart,
|
datatime2: thisWidget.appDateHourEnd
|
}, (result) => {
|
haoutil.loading.hide();
|
thisWidget.clearReplayLayers();
|
if (result.data.result.length > 0) {
|
thisWidget.setSingleTaxiReplayData(result.data.result);
|
var points = [];
|
for (var i = 0, len = result.data.result.length; i < len; i++) {
|
let item = result.data.result[i];
|
points[points.length] = [item["lon"], item["lat"]];
|
}
|
thisWidget.addTaxiReplayGraphic(points);
|
$("#route_box").show();
|
} else {
|
haoutil.msg("无查询记录,请更换查询条件!");
|
}
|
});
|
});
|
|
//开始撒点查询轨迹
|
$("#SprinkleQueryTaxiData").click(function () {
|
haoutil.loading.show();
|
haoutil.loading.hide();
|
thisWidget.clearReplayLayers();
|
thisWidget.addTaxiPointInfoGraphic();
|
});
|
}
|
|
|
function refreshDetailTable(tmpattr) {
|
|
$("#indexTaxiContent").empty();
|
var _tr = "<tr><td>1</td><td>Code</td><td>" + tmpattr.code + "</td><td>/</td></tr>"
|
$("#indexTaxiContent").append(_tr);
|
_tr = "<tr><td>3</td><td>datatime</td><td>" + tmpattr.datatime + "</td><td>/</td></tr>"
|
$("#indexTaxiContent").append(_tr);
|
var tmp_index = 3;
|
tmpattr = changeNullAndundefinedToEmpty(tmpattr);
|
for (var p in tmpattr) {//遍历json对象的每个key/value对,p为key
|
if (p !== 'code' && p !== 'datatime') {
|
_tr = "<tr><td>" + tmp_index + "</td><td>" + p + "</td><td>" + tmpattr[p] + "</td><td>" + getUnitByqindex(p) + "</td></tr>"
|
$("#indexTaxiContent").append(_tr);
|
tmp_index++;
|
}
|
}
|
$("#indexTaxiContent").find("td:contains(Code)").text("编码");
|
$("#indexTaxiContent").find("td:contains(datatime)").text("时间");
|
$("#indexTaxiContent").find("td:contains(lon)").text("经度");
|
$("#indexTaxiContent").find("td:contains(lat)").text("纬度");
|
$("#indexTaxiContent").find("td:contains(speed)").text("车速");
|
|
$("#indexTaxiContent").find("td:contains(pm25)").text("PM₂.₅");
|
$("#indexTaxiContent").find("td:contains(pm10)").text("PM₁₀");
|
$("#indexTaxiContent").find("td:contains(no2)").text("NO₂");
|
$("#indexTaxiContent").find("td:contains(co)").text("CO");
|
$("#indexTaxiContent").find("td:contains(nox)").text("NOₓ");
|
$("#indexTaxiContent").find("td:contains(no)").text("NO");
|
}
|
|
function getUnitByqindex(qindex) {
|
qindex = qindex.toUpperCase();
|
if (qindex == 'PM25' || qindex == 'PM10' || qindex == 'NO' || qindex == 'NO2' || qindex == 'NOX' || qindex == 'SO2') {
|
return 'μg/m³';
|
} else if (qindex == 'CO') {
|
return 'mg/m³';
|
} else if (qindex == 'SPEED') {
|
return 'km/h';
|
} else {
|
return '/';
|
}
|
}
|
|
function resetStartQueryTaxiDataText(taxi) {
|
console.log(taxi,"taxi编号")
|
$("#taxisn").val(taxi)
|
// $("#startQueryTaxiDataText").text("轨迹查询(" + taxi + ")");
|
|
$("#route_box").hide();
|
}
|
|
function DatePicker(beginSelector, endSelector) {
|
$(beginSelector).datetimepicker(
|
{
|
bootcssVer: 3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头
|
format: 'yyyy-mm-dd hh:ii:00',
|
// minView: 'day',//设置时间选择为年月日 去掉时分秒选择
|
todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。
|
clearBtn: true,
|
language: 'zh-CN',
|
autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
|
keyboardNavigation: true, //是否允许通过方向键改变日期。
|
forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。
|
initialDate: new Date(),
|
todayHighlight: 1, //如果为true, 高亮当前日期
|
endDate: new Date()
|
}).on('changeDate', function (ev) {
|
ev.preventDefault();
|
ev.stopPropagation();
|
var startTime = ev.date;
|
$(endSelector).datetimepicker('setStartDate',startTime);
|
// $(endSelector).val("");
|
// if (ev.date) {
|
// $(endSelector).datetimepicker('setStartDate', new Date(ev.date.valueOf()))
|
// } else {
|
// $(endSelector).datetimepicker('setStartDate', null);
|
// }
|
thisWidget.appDateHourStart = $(beginSelector).val();
|
})
|
$(endSelector).datetimepicker(
|
{
|
bootcssVer: 3, //bootstrap-datetimepicker+bootstrap v3,但这个插件使用的时候,并没有和V3相匹配,仍然调用的是bootstrap V2的图标 把bootcssVer的值直接设为3,否则datetimepicker不会显示出上、下个月的箭头
|
format: 'yyyy-mm-dd hh:ii:00',
|
todayBtn: true, //如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。
|
clearBtn: true,
|
language: 'zh-CN',
|
autoclose: true, //当选择一个日期之后是否立即关闭此日期时间选择器。
|
keyboardNavigation: true, //是否允许通过方向键改变日期。
|
forceParse: true, //当选择器关闭的时候,是否强制解析输入框中的值。
|
initialDate: new Date(),
|
todayHighlight: 1, //如果为true, 高亮当前日期
|
endDate: new Date()
|
}).on('changeDate', function (ev) {
|
ev.preventDefault();
|
ev.stopPropagation();
|
var endTime = ev.date;
|
$(beginSelector).datetimepicker('setEndDate',endTime);
|
thisWidget.appDateHourEnd = $(endSelector).val();
|
})
|
}
|