operationlog.html 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <!-- 正文开始 -->
  2. <div class="layui-fluid">
  3. <div class="layui-card">
  4. <div class="layui-card-body">
  5. <table id="dataTable" lay-filter="dataTable"></table>
  6. </div>
  7. </div>
  8. </div>
  9. <script type="text/html" id="toolbar">
  10. <div class="layui-btn-group fl">
  11. <a app-event="request" event-data="{'url':'/system/operation/clear','action':'post'}" confirm class="layui-btn layui-btn-danger layui-btn-sm layui-icon layui-icon-delete">清空所有</a>
  12. </div>
  13. </script>
  14. <!-- js部分 -->
  15. <script>
  16. layui.use(['layer', 'form', 'table', 'util', 'laydate', 'setter'], function () {
  17. var $ = layui.jquery;
  18. var layer = layui.layer;
  19. var form = layui.form;
  20. var table = layui.table;
  21. var util = layui.util;
  22. var laydate = layui.laydate;
  23. var setter = layui.setter;
  24. // 渲染表格
  25. var insTb = table.render({
  26. elem: '#dataTable',
  27. url: setter.baseServer + 'system/operation',
  28. page: true,
  29. title: '登录日志',
  30. toolbar: '#toolbar',
  31. text: {
  32. none : '暂无相关数据'
  33. },
  34. cols: [[
  35. {type: 'numbers'},
  36. {field: 'username', title: '用户名', templet: function (d) {
  37. return d.user.username
  38. },width: 100},
  39. {field: 'operate', title: '操作'},
  40. {field: 'route', title: '路由' ,width: 200},
  41. {field: 'query', title: '参数',width: 200},
  42. {field: 'ip', title: 'IP',width: 100},
  43. {field: 'os', title: '操作系统'},
  44. {field: 'browser',title: '浏览器'},
  45. {field: 'count', title: '操作次数'},
  46. {
  47. field: 'created_at', templet: function (d) {
  48. return util.toDateString(d.created_at * 1e3);
  49. }, title: '记录时间',width: 180
  50. }
  51. ]]
  52. });
  53. // 时间范围
  54. laydate.render({
  55. elem: 'input[name="dateRange"]',
  56. type: 'date',
  57. range: true
  58. });
  59. // 搜索
  60. form.on('submit(formSubSearchLog)', function (data) {
  61. if (data.field.dateRange) {
  62. var searchDate = data.field.dateRange.split(' - ');
  63. data.field.startDate = searchDate[0];
  64. data.field.endDate = searchDate[1];
  65. }
  66. data.field.dateRange = undefined;
  67. insTb.reload({where: data.field}, 'data');
  68. });
  69. });
  70. </script>