index.blade.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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" @click="logsClick(log)" style="cursor: pointer">
  33. <td class="text-muted">@{{log.id}}</td>
  34. <td>@{{log.user_name}}</td>
  35. <td>@{{log.operation}}</td>
  36. <td>@{{log.type}}</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: [
  61. @if($logs)
  62. @foreach( $logs as $log )
  63. {
  64. id: '{{$log->id}}',
  65. user_name: '{{$log->user_name}}',
  66. operation: '{{$log->operation}}',
  67. type: '{{$log->type}}',
  68. ip: '{{$log->ip}}',
  69. created_at: '{{$log->created_at}}'
  70. },
  71. @endforeach
  72. @endif
  73. ],
  74. },
  75. mounted: function () {
  76. let data = [
  77. [
  78. {name: 'operation', type: 'input', tip: '操作', placeholder: '操作'},
  79. {name: 'type', type: 'input', tip: '操作', placeholder: '类型'},
  80. {name: 'description', type: 'input', tip: '详情:可在两侧添加百分号(%)进行模糊搜索', placeholder: '详情'},
  81. {name:'created_at_start',type:'dateTime',tip:'选择显示指定日期的起始时间'},
  82. {name:'created_at_end',type:'dateTime',tip:'选择显示指定日期的截止'}
  83. ]
  84. ];
  85. this.from = new query({
  86. el: '#form_div',
  87. condition: data,
  88. });
  89. this.from.init();
  90. },
  91. methods: {
  92. logsClick: function (log) {
  93. console.log(log);
  94. window.open("{{url('maintenance/log')}}"+'/'+log.id,'_blank');
  95. }
  96. }
  97. });
  98. </script>
  99. @endsection