This commit is contained in:
wolfcode
2023-07-17 22:26:15 +08:00
parent 8a8493a1c4
commit 33772a9c9c
2 changed files with 117 additions and 34 deletions

View File

@@ -16,20 +16,32 @@ define(["jquery", "easy-admin"], function ($, ea) {
cols: [[
{field: 'id', width: 80, title: 'ID', search: false},
{field: 'month', title: '日志月份', hide: true, search: 'time', timeType: 'month', searchValue: util.toDateString(new Date(), 'yyyy-MM')},
{field: 'admin.username', minWidth: 80, title: '后台用户', search: false},
{field: 'method', minWidth: 80, title: '请求方法'},
{field: 'url', minWidth: 80, title: '路由地址'},
{field: 'title', minWidth: 80, title: '日志标题'},
{field: 'content', minWidth: 80, title: '操作内容'},
{field: 'ip', minWidth: 80, title: 'IP地址'},
{field: 'useragent', minWidth: 80, title: 'useragent'},
{field: 'create_time', minWidth: 80, title: '创建时间', search: 'range'},
{
field: 'admin.username', width: 100, title: '后台用户', search: false, templet: function (res) {
let admin = res.admin
return admin ? admin.username : '-'
}
},
{field: 'method', width: 100, title: '请求方法'},
{field: 'ip', width: 150, title: 'IP地址'},
{field: 'url', minWidth: 100, title: '路由地址', align: "left"},
{
field: 'content', minWidth: 200, title: '操作内容', align: "left", templet: function (res) {
let html = '<div class="layui-colla-item">' +
'<div class="layui-colla-title">点击预览</div>' +
'<div class="layui-colla-content">' + prettyFormat(res.content) + '</div>' +
'</div>'
return '<div class="layui-collapse" lay-accordion>' + html + '</div>'
}
},
{field: 'create_time', width: 200, title: '创建时间', search: 'range'},
]],
done: function () {
layui.element.render('collapse')
}
});
ea.listen();
},
};
return Controller;
});
});

View File

@@ -44,18 +44,46 @@ if ("undefined" != typeof CONFIG.AUTOLOAD_JS && CONFIG.AUTOLOAD_JS) {
function getRangeShortcuts() {
return [
{
text: "上个月",
text: "昨天",
value: function () {
var value = [];
var date1 = new Date();
date1.setMonth(date1.getMonth() - 1);
date1.setDate(1);
let value = [];
let date1 = new Date();
date1.setDate(date1.getDate() - 1);
date1.setHours(0, 0, 0, 0);
value.push(date1);
var date2 = new Date();
date2.setDate(1);
let date2 = new Date();
date2.setHours(0, 0, 0, 0);
value.push(new Date(date2));
return value;
}()
},
{
text: "前天",
value: function () {
let value = [];
let date1 = new Date();
date1.setDate(date1.getDate() - 2);
date1.setHours(0, 0, 0, 0);
value.push(date1);
let date2 = new Date();
date2.setDate(date2.getDate() - 1);
date2.setHours(0, 0, 0, 0);
value.push(new Date(date2));
return value;
}()
},
{
text: "7天内",
value: function () {
let value = [];
let date1 = new Date();
// date1.setMonth(date1.getMonth() - 1);
date1.setDate(date1.getDate() - 7);
date1.setHours(0, 0, 0, 0);
value.push(date1);
let date2 = new Date();
date2.setDate(date2.getDate());
date2.setHours(0, 0, 0, 0);
date2 = date2.getTime() - 1;
value.push(new Date(date2));
return value;
}()
@@ -63,38 +91,81 @@ function getRangeShortcuts() {
{
text: "这个月",
value: function () {
var value = [];
var date1 = new Date();
let value = [];
let date1 = new Date();
// date1.setMonth(date1.getMonth() - 1);
date1.setDate(1);
date1.setHours(0, 0, 0, 0);
value.push(date1);
var date2 = new Date();
date2.setMonth(date2.getMonth() + 1);
date2.setDate(1);
let date2 = new Date();
date2.setDate(date2.getDate());
date2.setHours(0, 0, 0, 0);
date2 = date2.getTime() - 1;
value.push(new Date(date2));
return value;
}()
},
{
text: "个月",
text: "个月",
value: function () {
var value = [];
var date1 = new Date();
date1.setMonth(date1.getMonth() + 1);
let value = [];
let date1 = new Date();
date1.setMonth(date1.getMonth() - 1);
date1.setDate(1);
date1.setHours(0, 0, 0, 0);
value.push(date1);
var date2 = new Date();
date2.setMonth(date2.getMonth() + 2);
let date2 = new Date();
date2.setDate(1);
date2.setDate(date2.getDate() - 1);
date2.setHours(0, 0, 0, 0);
date2 = date2.getTime() - 1;
value.push(new Date(date2));
return value;
}()
}
]
},
{
text: "今年",
value: function () {
let value = [];
let date1 = new Date();
date1.setMonth(0);
date1.setDate(1);
date1.setHours(0, 0, 0, 0);
value.push(date1);
let date2 = new Date();
date2.setDate(date2.getDate());
date2.setHours(0, 0, 0, 0);
value.push(new Date(date2));
return value;
}()
},
];
}
function prettyFormat(str) {
let result = ''
try {
// 设置缩进为2个空格
str = JSON.stringify(JSON.parse(str), null, 2);
str = str
.replace(/&/g, '&amp;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
result += str.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g, function (match) {
let cls = 'number';
if (/^"/.test(match)) {
if (/:$/.test(match)) {
cls = 'key';
} else {
cls = 'string';
}
} else if (/true|false/.test(match)) {
cls = 'boolean';
} else if (/null/.test(match)) {
cls = 'null';
}
return '<span class="' + cls + '">' + match + '</span>';
});
} catch (e) {
return ''
}
return "<pre>" + result + "</pre>"
}