index.blade.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. @extends('layouts.app')
  2. @section('title')日志@endsection
  3. @section('content')
  4. <span id="nav2">
  5. @component('maintenance.menu')@endcomponent
  6. @component('maintenance.log.menu')@endcomponent
  7. </span>
  8. <div class="container-fluid">
  9. <a class="btn btn-outline-dark" href="{{url('maintenance/syncRedisLogs')}}">同步日志</a>
  10. <div class="card">
  11. <div id="form_div"></div>
  12. <div class="card-body">
  13. {{--TODO 错误信息提示 待抽离成为模板--}}
  14. @foreach (['danger', 'warning', 'success', 'info'] as $msg)
  15. @if(session()->has($msg))
  16. <div class="flash-message">
  17. <p class="alert alert-{{ $msg }}">
  18. {{ session()->get($msg) }}
  19. </p>
  20. </div>
  21. @endif
  22. @endforeach
  23. <table class="table table-striped table-sm" id="list">
  24. <tr>
  25. <th>ID</th>
  26. <th>用户</th>
  27. <th>类名</th>
  28. <th>方法名</th>
  29. <th>ip</th>
  30. <th>时间</th>
  31. </tr>
  32. <tr v-for="log in logs" class="hover" style="cursor: pointer;">
  33. <td class="text-muted">@{{log.id}}<span class="badge badge-danger small pull-right mr-3" v-if="log.mark == 'Y'">异常</span></td>
  34. <td><span v-if="log.user">@{{log.user.name}}</span></td>
  35. <td><a :href="'{{url('maintenance/log')}}/'+log.id" target="_blank">@{{log.class}}</a></td>
  36. <td>@{{log.method}}</td>
  37. <td>@{{log.ip}}</td>
  38. <td class="text-muted">@{{log.created_at}}</td>
  39. </tr>
  40. </table>
  41. @if($logs)
  42. <!--带参分页查询-->
  43. {{$logs->withQueryString()->links()}}
  44. @endif
  45. </div>
  46. </div>
  47. </div>
  48. <style>
  49. .hover:hover {
  50. color: #1f6fb2;
  51. }
  52. </style>
  53. @endsection
  54. @section('lastScript')
  55. <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
  56. <script>
  57. new Vue({
  58. el: "#list",
  59. data: {
  60. logs: {!! json_encode($logs->toArray()['data'])??[] !!},
  61. },
  62. mounted: function () {
  63. let data = [
  64. [
  65. {name: 'operation', type: 'input', tip: '操作', placeholder: '操作'},
  66. {name: 'type', type: 'input', tip: '操作', placeholder: '类型'},
  67. {name: 'description', type: 'input', tip: '详情:可在两侧添加百分号(%)进行模糊搜索', placeholder: '详情'},
  68. {name:'created_at_start',type:'dateTime',tip:'选择显示指定日期的起始时间'},
  69. {name:'created_at_end',type:'dateTime',tip:'选择显示指定日期的截止'},
  70. {name:'is_exception',type:'checkbox',tip:'仅显示异常', data: [{name: 'true', value: '仅显示异常'}]}
  71. ]
  72. ];
  73. this.from = new query({
  74. el: '#form_div',
  75. condition: data,
  76. });
  77. this.from.init();
  78. },
  79. });
  80. </script>
  81. @endsection