241 lines
5.9 KiB
Plaintext
241 lines
5.9 KiB
Plaintext
|
|
var example = null;
|
|||
|
|
var pers = null;
|
|||
|
|
var form = null;
|
|||
|
|
var layer = null;
|
|||
|
|
var laydate = null;
|
|||
|
|
layui.use(['layer', 'laydate', 'form'], function () {
|
|||
|
|
form = layui.form;
|
|||
|
|
layer = layui.layer;
|
|||
|
|
laydate = layui.laydate;
|
|||
|
|
|
|||
|
|
dataTime();
|
|||
|
|
queryData()
|
|||
|
|
//查询
|
|||
|
|
$("#queryBtn").click(function () {
|
|||
|
|
queryData()
|
|||
|
|
});
|
|||
|
|
//重置
|
|||
|
|
$("#resetBtn").click(function () {
|
|||
|
|
dataTime();
|
|||
|
|
$(".queryType").text("");
|
|||
|
|
$(".queryType").text("");
|
|||
|
|
$(".timeRange").text("");
|
|||
|
|
$(".logType").prop("checked", "true");
|
|||
|
|
queryData()
|
|||
|
|
|
|||
|
|
form.render();
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
function queryData() {
|
|||
|
|
var type = $('input[name="type"]:checked').val();
|
|||
|
|
var startTime = $("#startTime").val();
|
|||
|
|
var endTime = $("#endTime").val();
|
|||
|
|
if (type === 'logType') {
|
|||
|
|
$(".queryType").text("日志类型");
|
|||
|
|
} else if (type === 'model') {
|
|||
|
|
$(".queryType").text("操作类型");
|
|||
|
|
}
|
|||
|
|
$(".timeRange").text("【" + startTime + " ~ " + endTime + "】");
|
|||
|
|
logStatisticsData(type, startTime, endTime);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获得当前时间 yyyy-MM-dd
|
|||
|
|
* @returns {string}
|
|||
|
|
*/
|
|||
|
|
function getNowTime() {
|
|||
|
|
var time = new Date();
|
|||
|
|
var year = time.getFullYear();
|
|||
|
|
var month = time.getMonth() + 1 >= 10 ? time.getMonth() + 1 : '0' + (time.getMonth() + 1);
|
|||
|
|
var day = time.getDate() >= 10 ? time.getDate() : '0' + time.getDate();
|
|||
|
|
return year + "-" + month + "-" + day;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* 获取当月第一天
|
|||
|
|
* @returns {string}
|
|||
|
|
*/
|
|||
|
|
function getCurrentMonthFirst() {
|
|||
|
|
var date = new Date();
|
|||
|
|
date.setDate(1);
|
|||
|
|
var year = date.getFullYear();
|
|||
|
|
var month = date.getMonth() + 1 > 10 ? date.getMonth() + 1 : '0' + (date.getMonth() + 1);
|
|||
|
|
var day = date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
|
|||
|
|
return year + "-" + month + "-" + day;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//操作类型统计 数据源
|
|||
|
|
function logStatisticsData(type, startTime, endTime) {
|
|||
|
|
$.ajax({
|
|||
|
|
headers: {
|
|||
|
|
"encrypt":sm3(JSON.stringify({
|
|||
|
|
startTime: startTime,
|
|||
|
|
endTime: endTime,
|
|||
|
|
keyword: type
|
|||
|
|
}))
|
|||
|
|
},
|
|||
|
|
url: dataUrl + 'system/sys/logs/statistics' + '?token=' + token,
|
|||
|
|
type: 'get',
|
|||
|
|
data: {
|
|||
|
|
startTime: startTime,
|
|||
|
|
endTime: endTime,
|
|||
|
|
keyword: type
|
|||
|
|
},
|
|||
|
|
success: function (obj) {
|
|||
|
|
if (obj.code === 200) {
|
|||
|
|
console.log("obj", obj);
|
|||
|
|
|
|||
|
|
setDate(obj.data);
|
|||
|
|
/*$.each(obj.data, function (index, item) {
|
|||
|
|
|
|||
|
|
})*/
|
|||
|
|
logStatisticsCharts(obj.data);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
function setDate(data) {
|
|||
|
|
$("#num").text(data.totalNum);
|
|||
|
|
$("#successNum").text(data.totalSuccess);
|
|||
|
|
$("#errorNum").text(data.totalFail);
|
|||
|
|
}
|
|||
|
|
//操作类型统计 ECharts
|
|||
|
|
function logStatisticsCharts(data) {
|
|||
|
|
console.log("data", data);
|
|||
|
|
var value = data.statistics
|
|||
|
|
|
|||
|
|
var s = [
|
|||
|
|
{ value: 204, name: '体育' },
|
|||
|
|
{ value: 1631, name: '文史' },
|
|||
|
|
{ value: 1783, name: '理工理科' },
|
|||
|
|
{ value: 595, name: '艺术' },
|
|||
|
|
{ value: 192, name: '其他' }
|
|||
|
|
]
|
|||
|
|
console.log("value", value);
|
|||
|
|
console.log("s", s);
|
|||
|
|
var myChart = echarts.init(document.getElementById('statisticalChart'));
|
|||
|
|
option = {
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'item',
|
|||
|
|
formatter: "{a} <br/>{b} : {c} ({d}%)"
|
|||
|
|
},
|
|||
|
|
series: [
|
|||
|
|
{
|
|||
|
|
name: '数量',
|
|||
|
|
type: 'pie',
|
|||
|
|
radius: ['50%', '65%'],
|
|||
|
|
center: ['50%', '60%'],
|
|||
|
|
data: value,
|
|||
|
|
itemStyle: {
|
|||
|
|
emphasis: {
|
|||
|
|
shadowBlur: 10,
|
|||
|
|
shadowOffsetX: 0,
|
|||
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
myChart.setOption(option);
|
|||
|
|
myChart.off("dblclick");
|
|||
|
|
myChart.on('click', function (params) {
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//时间筛选
|
|||
|
|
function dataTime() {
|
|||
|
|
var minListDate = $('#hidMinListDate').val();//最小可选时间,例:1990-02-01
|
|||
|
|
var maxListDate = $('#hidMaxListDate').val();//最大可选时间,例:2200-12-31
|
|||
|
|
$('#startTime').val(getNowTime());
|
|||
|
|
$('#endTime').val(getNowTime());
|
|||
|
|
var begin = "#startTime", end = "#endTime";//开始时间选择框、结束时间选择框:文本框
|
|||
|
|
var endChange = function (val, date) {
|
|||
|
|
if (date && date.year)
|
|||
|
|
begindate.config.max = {
|
|||
|
|
year: date.year,
|
|||
|
|
month: date.month - 1,//必须减1才是正确值
|
|||
|
|
date: date.date,
|
|||
|
|
hours: date.hours,
|
|||
|
|
minutes: date.minutes,
|
|||
|
|
seconds: date.seconds
|
|||
|
|
};
|
|||
|
|
else {
|
|||
|
|
var dateInit = new Date(maxListDate.replace(/-/g, "/"));
|
|||
|
|
begindate.config.max = {
|
|||
|
|
year: dateInit.getFullYear(),
|
|||
|
|
month: dateInit.getMonth(),
|
|||
|
|
date: dateInit.getDate(),
|
|||
|
|
hours: dateInit.getHours(),
|
|||
|
|
minutes: dateInit.getMinutes(),
|
|||
|
|
seconds: dateInit.getSeconds()
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var beginChange = function (val, date) {
|
|||
|
|
if (date && date.year)
|
|||
|
|
enddate.config.min = {
|
|||
|
|
year: date.year,
|
|||
|
|
month: date.month - 1,
|
|||
|
|
date: date.date,
|
|||
|
|
hours: date.hours,
|
|||
|
|
minutes: date.minutes,
|
|||
|
|
seconds: date.seconds
|
|||
|
|
};
|
|||
|
|
else {
|
|||
|
|
var dateInit = new Date(minListDate.replace(/-/g, "/"));
|
|||
|
|
enddate.config.min = {
|
|||
|
|
year: dateInit.getFullYear(),
|
|||
|
|
month: dateInit.getMonth(),
|
|||
|
|
date: dateInit.getDate(),
|
|||
|
|
hours: dateInit.getHours(),
|
|||
|
|
minutes: dateInit.getMinutes(),
|
|||
|
|
seconds: dateInit.getSeconds()
|
|||
|
|
};
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var enddate = laydate.render({
|
|||
|
|
elem: end,
|
|||
|
|
format: 'yyyy-MM-dd',
|
|||
|
|
min: minListDate,
|
|||
|
|
max: maxListDate,
|
|||
|
|
done: endChange
|
|||
|
|
});
|
|||
|
|
var begindate = laydate.render({
|
|||
|
|
elem: begin,
|
|||
|
|
format: 'yyyy-MM-dd',
|
|||
|
|
min: minListDate,
|
|||
|
|
max: maxListDate,
|
|||
|
|
done: beginChange
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
$("#searchBt").click(function () {
|
|||
|
|
var startTime = $("#startTime").val();
|
|||
|
|
var endTime = $("#endTime").val();
|
|||
|
|
var dateStart = new Date(startTime);
|
|||
|
|
var dateEnd = new Date(endTime);
|
|||
|
|
var difValue = (dateEnd - dateStart) / (1000 * 60 * 60 * 24);
|
|||
|
|
if ((startTime == '' && endTime != '') || (startTime != '' && endTime == '')) {
|
|||
|
|
return top.layer.msg('时间填写不完整', {
|
|||
|
|
icon: 2,
|
|||
|
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
var startDateTemp = startTime.split("-");
|
|||
|
|
var endDateTemp = endTime.split("-");
|
|||
|
|
var allStartDate = new Date(startDateTemp[0], startDateTemp[1], startDateTemp[2]);
|
|||
|
|
var allEndDate = new Date(endDateTemp[0], endDateTemp[1], endDateTemp[2]);
|
|||
|
|
if (allStartDate.getTime() > allEndDate.getTime()) {
|
|||
|
|
return top.layer.msg('时间选择不合理,请重新选择', {
|
|||
|
|
icon: 2,
|
|||
|
|
time: 2000 //2秒关闭(如果不配置,默认是3秒)
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
example.ajax.reload();
|
|||
|
|
});
|
|||
|
|
}
|