<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %>
|
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
|
<html lang="en">
|
|
<head>
|
<meta charset="utf-8">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, shrink-to-fit=no">
|
<title>历史数据</title>
|
<link href="/hxzkoa/hxzk/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/img/favicon.ico" rel="icon" type="image/x-icon" />
|
<link href="/hxzkoa/hxzk/assets/css/components/custom-modal.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/components/custom-sweetalert.css" rel="stylesheet"
|
type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/dashboard/dash_2.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/elements/custom-pagination.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/loader.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/scrollspyNav.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/main.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/structure.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/assets/css/elements/search.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/plugins/apex/apexcharts.css" rel="stylesheet" type="text/css">
|
<link href="/hxzkoa/hxzk/plugins/animate/animate.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/plugins/highlight/styles/monokai-sublime.css" rel="stylesheet"
|
type="text/css" />
|
<link href="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert2.min.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert.css" rel="stylesheet" type="text/css" />
|
<link href="/hxzkoa/hxzk/plugins/table/datatable/datatables.css" rel="stylesheet" type="text/css">
|
<link href="/hxzkoa/hxzk/plugins/table/datatable/custom_dt_html5.css" rel="stylesheet" type="text/css">
|
<link href="/hxzkoa/hxzk/plugins/table/datatable/dt-global_style.css" rel="stylesheet" type="text/css">
|
<link href="/hxzkoa/hxzk/plugins/perfect-scrollbar/perfect-scrollbar.css" rel="stylesheet"
|
type="text/css" />
|
<link href="https://fonts.gstatic.com" rel="preconnect">
|
<link href="https://fonts.googleapis.com/css2?family=Ma+Shan+Zheng&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css?family=Quicksand:400,500,600,700&display=swap"
|
rel="stylesheet">
|
<style>
|
.panel-head {
|
font-size: 1rem;
|
color: rgba(255, 255, 255, .7);
|
line-height: 2rem;
|
text-align: center;
|
background: linear-gradient(rgb(0, 20, 30), rgb(0, 40, 70));
|
border: 2px solid rgba(0, 90, 120, .3);
|
}
|
|
.table-bordered td,
|
.table-bordered th {
|
border: 1px solid #ebedf2;
|
}
|
</style>
|
<script src="/hxzkoa/hxzk/assets/js/app.js"></script>
|
<script src="/hxzkoa/hxzk/assets/js/dashboard/dash_2.js"></script>
|
<script src="/hxzkoa/hxzk/assets/js/loader.js"></script>
|
<script src="/hxzkoa/hxzk/assets/js/libs/jquery-3.1.1.min.js"></script>
|
<script src="/hxzkoa/hxzk/bootstrap/js/bootstrap.min.js"></script>
|
<script src="/hxzkoa/hxzk/bootstrap/js/popper.min.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/apex/apexcharts.min.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/table/datatable/button-ext/jszip.min.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/table/jquery.table2excel.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/sweetalerts/promise-polyfill.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/sweetalerts/sweetalert2.min.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/sweetalerts/custom-sweetalert.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/perfect-scrollbar/perfect-scrollbar.min.js"></script>
|
<script src="/hxzkoa/hxzk/plugins/laydate/laydate.js"></script>
|
</head>
|
|
<body class="alt-menu sidebar-noneoverflow">
|
<!-- BEGIN LOADER -->
|
<div id="load_screen">
|
<div class="loader">
|
<div class="loader-content">
|
<div class="spinner-grow align-self-center"></div>
|
</div>
|
</div>
|
</div>
|
<!-- END LOADER -->
|
<div class="border-left"
|
style="opacity:0.4;float:left;position:absolute;z-index:1;left:120px;height:20px;"><img alt=""
|
src="/hxzkoa/resources/images/border.png" class="img-left"></div>
|
<div class="border-right" style="opacity:0.4;float:right;position:absolute;z-index:2;right:120px;"><img
|
alt="" src="/hxzkoa/resources/images/border2.png" class="img-right"></div>
|
<!-- BEGIN NAVBAR -->
|
<div class="login-page"></div>
|
<!-- END NAVBAR -->
|
<!-- BEGIN MAIN CONTAINER -->
|
<div class="main-container" id="container">
|
<div class="overlay"></div>
|
<div class="search-overlay"></div>
|
<!-- BEGIN TOPBAR -->
|
<div class="header-page"></div>
|
<!-- END TOPBAR -->
|
<!-- BEGIN CONTENT PART -->
|
<div id="content" class="main-content">
|
<div class="layout-px-spacing">
|
<div class="row layout-top-spacing" id="cancel-row">
|
<div class="col-xl-12 col-lg-12 col-sm-12 layout-spacing">
|
<div class="widget-content widget-content-area br-6">
|
<div class="table-responsive mb-4 mt-4">
|
<table id="html5-extension" class="table table-hover" style="width:100%">
|
<div>
|
<div class="search-input-group-style input-group mb-3"
|
style="width:11%;float:left;margin-left:15px;margin-right:15px;">
|
<div class="input-group-prepend">
|
<span class="input-group-text search" id="basic-addon1"><svg
|
xmlns="http://www.w3.org/2000/svg" width="24"
|
height="24" viewBox="0 0 24 24" fill="none"
|
stroke="currentColor" stroke-width="2"
|
stroke-linecap="round" stroke-linejoin="round"
|
class="feather feather-search">
|
<circle cx="11" cy="11" r="8"></circle>
|
<line x1="21" y1="21" x2="16.65" y2="16.65"></line>
|
</svg></span>
|
</div>
|
<input type="text" id="search_input" class="form-control"
|
placeholder="请输入标签ID" aria-label="Username"
|
aria-describedby="basic-addon1">
|
</div>
|
<button style="float:left;margin-left:10px;" type="button"
|
class="btn btn-secondary reset">刷新</button>
|
<button style="float:left;margin-left:10px;" type="button"
|
class="btn btn-secondary delete" id="deleteButton">删除</button>
|
<button style="float:left;margin-left:10px;" type="button"
|
class="btn btn-secondary deleteAll"
|
id="deleteAllButton">全部删除</button>
|
<div style="width:80px;float:left;margin-left:10px;">
|
<input type="text" id="begin"
|
class="form-control form-control-sm" style="font-size:12px;"
|
placeholder="开始时间" />
|
</div>
|
<div style="width:80px;float:left;margin-left:10px;">
|
<input type="text" id="end" class="form-control form-control-sm"
|
style="font-size:12px;" placeholder="结束时间" />
|
</div>
|
<div style="width:60px;float:left;margin-left:10px;">
|
<input type="text" id="tagida"
|
class="form-control form-control-sm" style="font-size:12px;"
|
placeholder="标签id" />
|
</div>
|
<button style="float:left;margin-left:10px;" type="button"
|
class="btn btn-secondary toAllExcel">导出Excel</button>
|
<button style="float:left;margin-left:10px;" type="button"
|
class="btn btn-secondary toAlltxt">导出txt</button>
|
|
<label for="perPage"
|
class="col-sm-2 col-form-label col-form-label-sm"
|
style="float:left;margin-left:10px;width:auto;">每页行数:</label>
|
|
<div style="width:200px;float:left;margin-left:10px;">
|
<input type="text" class="form-control form-control-sm"
|
id="perPage" placeholder="${perPage}"
|
style="font-size:14px;" onBlur="modifyPerPage()">
|
</div>
|
|
<label for="dateList"
|
class="col-sm-2 col-form-label col-form-label-sm"
|
style="float:left;margin-left:10px;width:auto;">日期:</label>
|
|
<div style="width:200px;float:left;margin-left:10px;">
|
<select class="form-control form-control-lg" id="dateList"
|
onchange="page('')">
|
<c:forEach items="${dateList}" var="list">
|
<option value="${list}">${list}</option>
|
</c:forEach>
|
</select>
|
</div>
|
</div>
|
<thead>
|
<tr align="center">
|
<th class="noExl">选择</th>
|
<th>序号</th>
|
<th>UTC时间</th>
|
<th>纬度</th>
|
<th>经度</th>
|
<th>设备id</th>
|
<th>设备电量</th>
|
<th>添加时间</th>
|
</tr>
|
</thead>
|
<tbody id="nr">
|
<c:forEach items="${historicalLocationList}" var="list">
|
<tr align="center">
|
<td class="noExl custom-control custom-checkbox"><input
|
type="checkbox" class="custom-control-input"
|
id="${list.id}" name="selectIds"><label
|
class="custom-control-label" for="${list.id}"
|
style="position:raletive;left:20px;bottom:5px;"></label>
|
</td>
|
<td>${list.id}</td>
|
<td>${list.gps_utc_time}</td>
|
<td>${list.gps_weidu}</td>
|
<td>${list.gsp_jingdu}</td>
|
<td>${list.tagid}</td>
|
<td>${list.gps_power}</td>
|
<td>${list.addtime}</td>
|
</tr>
|
</c:forEach>
|
</tbody>
|
</table>
|
</div>
|
<div class="paginating-container pagination-solid">
|
<input type="hidden" id="curPage" value="${curPage}"></input>
|
<ul class="pagination" id="pageListId">
|
<li><a href="javascript:page('pre');">上一页</a></li>
|
<c:forEach items="${pageList}" var="list">
|
<li id="page_${list}"><a
|
href="javascript:page('${list}');">${list}</a></li>
|
</c:forEach>
|
<li><a href="javascript:page('next');">下一页</a></li>
|
</ul>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<!-- END CONTENT PART -->
|
</div>
|
<%
|
String username=(String)session.getAttribute("username");
|
if(username==null || username.equals("")){
|
request.getRequestDispatcher("/hxzk/login.jsp").forward(request,response);
|
return;
|
}
|
%>
|
<!-- END MAIN CONTAINER -->
|
<script>
|
//执行一个laydate实例
|
laydate.render({
|
elem: '#begin' //指定元素'
|
, type: 'datetime'
|
, done: function (value, date) {
|
var end = document.getElementById("end").value;
|
if (end) {
|
if (end <= value) {
|
alert("结束时间必须大于开始时间");
|
document.getElementById("end").value = "";
|
}
|
}
|
}
|
});
|
|
//执行一个laydate实例
|
laydate.render({
|
elem: '#end' //指定元素'
|
, type: 'datetime'
|
, done: function (value, date) {
|
var begin = document.getElementById("begin").value;
|
if (begin) {
|
if (begin >= value) {
|
alert("结束时间必须大于开始时间");
|
document.getElementById("begin").value = "";
|
}
|
}
|
|
}
|
});
|
</script>
|
<script>
|
// 页面初始化
|
$(document).ready(function () {
|
App.init(); $.ajax({ async: false, type: "POST", url: "/hxzkoa/getSysSetting_list.do", data: {}, dataType: "json", success: function (data) { /* title = data[0].title; document.title = title; */}, });
|
$("#page_1").addClass("active");
|
});
|
// 加载head复用页面
|
$('.header-page').load('/hxzkoa/hxzk/top.html'); $('.login-page').load('/hxzkoa/hxzk/head.html');
|
// 刷新功能
|
$(".reset").click(function () {
|
setTimeout("window.location.reload()", 1000);
|
});
|
// 搜索功能
|
$(".search").click(function () {
|
var input = $("#search_input").val();
|
var datea = $("#dateList").val();
|
if (input == "") {
|
swal('输入有误', '输入不能为空!', 'error'); return;
|
}
|
if (isNaN(input)) {
|
//swal('输入有误','请输入数字!','error');return;
|
}
|
$.ajax({
|
async: false, //同步的
|
type: "POST",
|
url: "/hxzkoa/historicalgpsLocation_search.do",
|
data: {
|
input: input,
|
tttt: datea
|
},
|
dataType: "json",
|
success: function (data) {
|
//搜索完成后刷新页面,只显示查到的部分
|
var str = "";
|
for (var k in data.dataList) {
|
str += "<tr align=\"center\"><td class=\"noExl custom-control custom-checkbox\"><input type=\"checkbox\" class=\"custom-control-input\" id=" + data.dataList[k].id + " name=\"selectIds\"><label class=\"custom-control-label\" for=" + data.dataList[k].id + " style=\"position:raletive;left:20px;bottom:5px;\"></label></td><td>" + data.dataList[k].id + "</td><td>" + data.dataList[k].gps_utc_time + "</td><td>" + data.dataList[k].gps_weidu + "</td><td>" + data.dataList[k].gsp_jingdu + "</td><td>" + data.dataList[k].tagid + "</td><td>" + data.dataList[k].gps_power + "</td><td>" + data.dataList[k].addtime + "</td></tr>";
|
}
|
$("#nr").html(str);
|
if (!data.pageList.length == 0) {
|
str = "";
|
str += "<li><a href=\"javascript:page('pre');\">上一页</a></li>";
|
for (var k = 0; k < data.pageList.length; k++) {
|
str += "<li id=\"page_" + data.pageList[k] + "\"><a href=\"javascript:page('" + data.pageList[k] + "');\">" + data.pageList[k] + "</a></li>";
|
}
|
str += "<li><a href=\"javascript:page('next');\">下一页</a></li>";
|
$("#pageListId").html(str);
|
}
|
$("#pageListId>li.active").removeClass("active");
|
$("#page_" + data.curPage).addClass("active");
|
$("#curPage").val(data.curPage);
|
},
|
error: function () {
|
//console.log('error');
|
}
|
});
|
});
|
// 删除功能
|
$('.delete').on('click', function () {
|
swal({
|
title: '确定要删除么?',
|
text: "删除之后无法恢复!",
|
type: 'warning',
|
showCancelButton: true,
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
padding: '2em'
|
}).then(function (result) {
|
if (result.value) {
|
//获取选中数据
|
var checkVal = [];
|
var datea = $("#dateList").val();
|
var obj = document.getElementsByName("selectIds");
|
for (var k in obj) {
|
if (obj[k].checked) {
|
checkVal.push(obj[k].id);
|
}
|
}
|
if (checkVal.length > 0) {
|
$.ajax({
|
async: false, //同步的
|
type: "POST",
|
url: "/hxzkoa/historicalgpsLocation_delete.do",
|
data: {
|
checkVal: checkVal.toString(),
|
datea: datea
|
},
|
dataType: "json"
|
});
|
swal({
|
title: "Deleted!",
|
text: "删除成功!",
|
type: "success",
|
showCancelButton: false,
|
showConfirmButton: false,
|
buttons: false
|
})
|
setTimeout("window.location.reload()", 1000);
|
} else {
|
swal(
|
'删除失败!',
|
'请先选择删除的内容',
|
'error'
|
)
|
}
|
}
|
})
|
});
|
// 全部删除
|
$('.deleteAll').on('click', function () {
|
swal({
|
title: '确定要全部删除么?',
|
text: "删除之后无法恢复!",
|
type: 'warning',
|
showCancelButton: true,
|
confirmButtonText: '删除',
|
cancelButtonText: '取消',
|
padding: '2em'
|
}).then(function (result) {
|
if (result.value) {
|
//获取选中数据
|
var checkVal = [];
|
var datea = $("#dateList").val();
|
var obj = document.getElementsByName("selectIds");
|
for (var k in obj) {
|
if (obj[k].checked) {
|
checkVal.push(obj[k].id);
|
}
|
}
|
$.ajax({
|
async: false, //同步的
|
type: "POST",
|
url: "/hxzkoa/historicalgpsLocation_deleteAll.do",
|
data: {
|
checkVal: checkVal.toString(),
|
aaaa: datea
|
},
|
dataType: "json"
|
});
|
swal({
|
title: "Deleted!",
|
text: "删除成功!",
|
type: "success",
|
showCancelButton: false,
|
showConfirmButton: false,
|
buttons: false
|
})
|
setTimeout("window.location.reload()", 1000);
|
}
|
})
|
});
|
$(".toAlltxt").click(function () {
|
var dateaa = $("#dateList").val();
|
window.location.href = "/hxzkoa/totxt.do?date=" + dateaa;
|
// swal({
|
// title: "Exported!",
|
// text: "导出成功!",
|
// type: "success",
|
// showCancelButton: false,
|
// showConfirmButton: false,
|
// buttons: false
|
// })
|
// setTimeout("window.location.reload()", 1000);
|
/* $.ajax({
|
async: false,
|
type: 'POST',
|
url: "/hxzkoa/totxt.do",
|
dataType: 'json',
|
success: function(data){
|
console.log(data)
|
}
|
}) */
|
})
|
// 导出表格
|
$(".toAllExcel").click(function () {
|
var tag = document.getElementById("tagida").value;
|
var begin = document.getElementById("begin").value;
|
var end = document.getElementById("end").value;
|
var datea = $("#dateList").val();
|
window.location.href = "/hxzkoa/historicalgpsLocation_export.do?tagid=" + tag + "&begintime=" + begin + "&endtime=" + end + "&date=" + datea;
|
// $.ajax({
|
// async: false,
|
// type: "POST",
|
// url: "/hxzkoa/historicalgpsLocation_export.do",
|
// data: {
|
// tagid : tag,
|
// begintime : begin,
|
// endtime : end,
|
// datebb : datea
|
// },
|
// dataType: "json"
|
// })
|
swal({
|
title: "Exported!",
|
text: "导出成功!",
|
type: "success",
|
showCancelButton: false,
|
showConfirmButton: false,
|
buttons: false
|
})
|
setTimeout("window.location.reload()", 1000);
|
});
|
// 分页跳转
|
function page(page) {
|
var curPage = $("#curPage").val();
|
var date = $("#dateList").val();
|
$.ajax({
|
async: false, //同步的
|
type: "POST",
|
url: "/hxzkoa/historicalgpsLocation_page.do",
|
data: {
|
page: page,
|
curPage: curPage,
|
date: date
|
},
|
dataType: "json",
|
success: function (data) {
|
var str = "";
|
for (var k in data.dataList) {
|
str += "<tr align=\"center\"><td class=\"noExl custom-control custom-checkbox\"><input type=\"checkbox\" class=\"custom-control-input\" id=" + data.dataList[k].id + " name=\"selectIds\"><label class=\"custom-control-label\" for=" + data.dataList[k].id + " style=\"position:raletive;left:20px;bottom:5px;\"></label></td><td>" + data.dataList[k].id + "</td><td>" + data.dataList[k].gps_utc_time + "</td><td>" + data.dataList[k].gps_weidu + "</td><td>" + data.dataList[k].gsp_jingdu + "</td><td>" + data.dataList[k].tagid + "</td><td>" + data.dataList[k].gps_power + "</td><td>" + data.dataList[k].addtime + "</td></tr>";
|
}
|
$("#nr").html(str);
|
if (!data.pageList.length == 0) {
|
str = "";
|
str += "<li><a href=\"javascript:page('pre');\">上一页</a></li>";
|
for (var k = 0; k < data.pageList.length; k++) {
|
str += "<li id=\"page_" + data.pageList[k] + "\"><a href=\"javascript:page('" + data.pageList[k] + "');\">" + data.pageList[k] + "</a></li>";
|
}
|
str += "<li><a href=\"javascript:page('next');\">下一页</a></li>";
|
console.log(str)
|
$("#pageListId").html(str);
|
}
|
$("#pageListId>li.active").removeClass("active");
|
$("#page_" + data.curPage).addClass("active");
|
$("#curPage").val(data.curPage);
|
},
|
error: function () {
|
//console.log('error');
|
}
|
});
|
}
|
$(".table tbody").on('click', 'tr', function (e) {
|
//console.log(e.target.type)
|
if (e.target.type != 'checkbox') {
|
if ($(this).find(":checkbox").prop("checked") == true) {
|
$(this).find(":checkbox").prop("checked", false);
|
} else {
|
$(this).find(":checkbox").prop("checked", true);
|
}
|
} else {
|
return false;
|
}
|
});
|
//修改行数
|
function modifyPerPage() {
|
var perPage = $("#perPage").val();
|
if (isNaN(perPage)) {
|
swal('输入有误', '请输入数字!', 'error'); return;
|
}
|
$.ajax({
|
async: false, //同步的
|
type: "POST",
|
url: "/hxzkoa/modifyPerPage.do",
|
data: {
|
perPage: perPage
|
},
|
dataType: "json",
|
success: function (data) {
|
//console.log("data:"+data.result)
|
$("#perPage").val(data.result);
|
swal({
|
title: "Modified!",
|
text: "修改成功!",
|
type: "success",
|
showCancelButton: false,
|
showConfirmButton: false,
|
buttons: false
|
})
|
setTimeout("window.location.reload()", 1000);
|
},
|
error: function () {
|
//console.log('error');
|
}
|
});
|
}
|
</script>
|
</body>
|
|
</html>
|