onlineIPMonitor.blade.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. @extends('admin.layouts')
  2. @section('css')
  3. <link href="/assets/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
  4. <link href="/assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.css" rel="stylesheet" type="text/css" />
  5. <style type="text/css">
  6. input,select {
  7. margin-bottom: 5px;
  8. }
  9. </style>
  10. @endsection
  11. @section('content')
  12. <!-- BEGIN CONTENT BODY -->
  13. <div class="page-content" style="padding-top:0;">
  14. <!-- BEGIN PAGE BASE CONTENT -->
  15. <div class="row">
  16. <div class="col-md-12">
  17. <!-- BEGIN EXAMPLE TABLE PORTLET-->
  18. <div class="portlet light bordered">
  19. <div class="portlet-title">
  20. <div class="caption font-dark">
  21. <span class="caption-subject bold uppercase"> 在线IP监控<small>(实时)</small> </span>
  22. </div>
  23. </div>
  24. <div class="portlet-body">
  25. <div class="row">
  26. <div class="col-md-3 col-sm-4 col-xs-12">
  27. <input type="text" class="col-md-4 col-sm-4 col-xs-12 form-control" name="id" value="{{Request::get('id')}}" id="id" placeholder="用户ID" onkeydown="if(event.keyCode==13){doSearch();}">
  28. </div>
  29. <div class="col-md-3 col-sm-4 col-xs-12">
  30. <input type="text" class="col-md-4 col-sm-4 col-xs-12 form-control" name="ip" value="{{Request::get('ip')}}" id="ip" placeholder="IP" onkeydown="if(event.keyCode==13){doSearch();}">
  31. </div>
  32. <div class="col-md-3 col-sm-4 col-xs-12">
  33. <input type="text" class="col-md-4 col-sm-4 col-xs-12 form-control" name="username" value="{{Request::get('username')}}" id="username" placeholder="用户名" onkeydown="if(event.keyCode==13){doSearch();}">
  34. </div>
  35. <div class="col-md-3 col-sm-4 col-xs-12">
  36. <input type="text" class="col-md-4 col-sm-4 col-xs-12 form-control" name="port" value="{{Request::get('port')}}" id="port" placeholder="端口" onkeydown="if(event.keyCode==13){doSearch();}">
  37. </div>
  38. <div class="col-md-3 col-sm-4 col-xs-12">
  39. <select class="form-control" name="nodeId" id="nodeId" onChange="doSearch()">
  40. <option value="" @if(Request::get('nodeId') == '') selected @endif>选择节点</option>
  41. @foreach($nodeList as $node)
  42. <option value="{{$node->id}}" @if(Request::get('nodeId') == $node->id) selected @endif>{{$node->name}}</option>
  43. @endforeach
  44. </select>
  45. </div>
  46. <div class="col-md-3 col-sm-4 col-xs-12">
  47. <button type="button" class="btn blue" onclick="doSearch();">查询</button>
  48. <button type="button" class="btn grey" onclick="doReset();">重置</button>
  49. </div>
  50. </div>
  51. <div class="table-scrollable table-scrollable-borderless">
  52. <table class="table table-hover table-light">
  53. <thead>
  54. <tr>
  55. <th> # </th>
  56. <th> 时间 </th>
  57. <th> 类型 </th>
  58. <th> 节点 </th>
  59. <th> 用户 </th>
  60. <th> IP </th>
  61. <th> 归属地 </th>
  62. </tr>
  63. </thead>
  64. <tbody>
  65. @if ($list->isEmpty())
  66. <tr>
  67. <td colspan="7" style="text-align: center;">暂无数据</td>
  68. </tr>
  69. @else
  70. @foreach($list as $vo)
  71. <tr>
  72. <td>{{$vo->id}}</td>
  73. <td>{{$vo->created_at}}</td>
  74. <td>{{$vo->type}}</td>
  75. <td>{{$vo->node ? $vo->node->name : '【节点已删除】'}}</td>
  76. <td>{{$vo->user ? $vo->user->username : '【用户已删除】'}}</td>
  77. <td><a href="https://www.ipip.net/ip/{{$vo->ip}}.html" target="_blank">{{$vo->ip}}</a></td>
  78. <td>{{$vo->ipInfo}}</td>
  79. </tr>
  80. @endforeach
  81. @endif
  82. </tbody>
  83. </table>
  84. </div>
  85. <div class="row">
  86. <div class="col-md-4 col-sm-4">
  87. <div class="dataTables_info" role="status" aria-live="polite">共 {{$list->total()}} 个账号</div>
  88. </div>
  89. <div class="col-md-8 col-sm-8">
  90. <div class="dataTables_paginate paging_bootstrap_full_number pull-right">
  91. {{ $list->links() }}
  92. </div>
  93. </div>
  94. </div>
  95. </div>
  96. </div>
  97. <!-- END EXAMPLE TABLE PORTLET-->
  98. </div>
  99. </div>
  100. <!-- END PAGE BASE CONTENT -->
  101. </div>
  102. <!-- END CONTENT BODY -->
  103. @endsection
  104. @section('script')
  105. <script src="/assets/global/plugins/clipboardjs/clipboard.min.js" type="text/javascript"></script>
  106. <script type="text/javascript">
  107. // 搜索
  108. function doSearch() {
  109. var id = $("#id").val();
  110. var ip = $("#ip").val();
  111. var username = $("#username").val();
  112. var port = $("#port").val();
  113. var nodeId = $("#nodeId option:checked").val();
  114. window.location.href = '{{url('admin/onlineIPMonitor')}}' + '?id=' + id + '&ip=' + ip + '&username=' + username + '&port=' + port + '&nodeId=' + nodeId;
  115. }
  116. // 重置
  117. function doReset() {
  118. window.location.href = '{{url('admin/onlineIPMonitor')}}';
  119. }
  120. </script>
  121. @endsection