userList.blade.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  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. @endsection
  6. @section('title', '控制面板')
  7. @section('content')
  8. <!-- BEGIN CONTENT BODY -->
  9. <div class="page-content">
  10. <!-- BEGIN PAGE BREADCRUMB -->
  11. <ul class="page-breadcrumb breadcrumb">
  12. <li>
  13. <a href="{{url('admin')}}">管理中心</a>
  14. <i class="fa fa-circle"></i>
  15. </li>
  16. <li>
  17. <a href="{{url('admin/userList')}}">账号管理</a>
  18. </li>
  19. </ul>
  20. <!-- END PAGE BREADCRUMB -->
  21. <!-- BEGIN PAGE BASE CONTENT -->
  22. <div class="row">
  23. <div class="col-md-12">
  24. <!-- BEGIN EXAMPLE TABLE PORTLET-->
  25. <div class="portlet light bordered">
  26. <div class="portlet-title">
  27. <div class="caption font-dark">
  28. <i class="icon-users font-dark"></i>
  29. <span class="caption-subject bold uppercase"> 账号管理</span>
  30. </div>
  31. <div class="actions">
  32. <div class="btn-group">
  33. <button class="btn sbold blue" onclick="addUser()"> 新增
  34. <i class="fa fa-plus"></i>
  35. </button>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="portlet-body">
  40. <div class="row" style="padding-bottom:5px;">
  41. <div class="col-md-2 col-sm-2">
  42. <input type="text" class="col-md-4 form-control input-sm" name="username" value="{{Request::get('username')}}" id="username" placeholder="用户名" onkeydown="if(event.keyCode==13){do_search();}">
  43. </div>
  44. <div class="col-md-2 col-sm-2">
  45. <input type="text" class="col-md-4 form-control input-sm" name="wechat" value="{{Request::get('wechat')}}" id="wechat" placeholder="微信" onkeydown="if(event.keyCode==13){do_search();}">
  46. </div>
  47. <div class="col-md-2 col-sm-2">
  48. <input type="text" class="col-md-4 form-control input-sm" name="qq" value="{{Request::get('qq')}}" id="qq" placeholder="QQ" onkeydown="if(event.keyCode==13){do_search();}">
  49. </div>
  50. </div>
  51. <div class="row">
  52. <div class="col-md-2 col-sm-2">
  53. <input type="text" class="col-md-4 form-control input-sm" name="port" value="{{Request::get('port')}}" id="port" placeholder="端口" onkeydown="if(event.keyCode==13){do_search();}">
  54. </div>
  55. <div class="col-md-2 col-sm-2">
  56. <select class="form-control input-sm" name="pay_way" id="pay_way" onChange="do_search()">
  57. <option value="0" @if(empty(Request::get('pay_way'))) selected @endif>付费方式</option>
  58. <option value="1" @if(Request::get('pay_way') == '1') selected @endif>月付</option>
  59. <option value="2" @if(Request::get('pay_way') == '2') selected @endif>半年付</option>
  60. <option value="3" @if(Request::get('pay_way') == '3') selected @endif>年付</option>
  61. </select>
  62. </div>
  63. <div class="col-md-2 col-sm-2">
  64. <select class="form-control input-sm" name="enable" id="enable" onChange="do_search()">
  65. <option value="" @if(empty(Request::get('enable'))) selected @endif>状态</option>
  66. <option value="1" @if(Request::get('enable') == '1') selected @endif>启用</option>
  67. <option value="0" @if(Request::get('enable') == '0') selected @endif>禁用</option>
  68. </select>
  69. </div>
  70. <div class="col-md-2 col-sm-2">
  71. <button type="button" class="btn btn-sm blue" onclick="do_search();">查询</button>
  72. <button type="button" class="btn btn-sm grey" onclick="do_reset();">重置</button>
  73. </div>
  74. </div>
  75. <div class="table-scrollable">
  76. <table class="table table-striped table-bordered table-hover table-checkable order-column" id="sample_1">
  77. <thead>
  78. <tr>
  79. <th> ID </th>
  80. <th> 用户名(昵称) </th>
  81. <th> 端口 </th>
  82. <th> 加密方式 </th>
  83. <th> 可用流量/已消耗 </th>
  84. <th> 最后使用 </th>
  85. <th> 有效期 </th>
  86. <th> 状态 </th>
  87. <th> 操作 </th>
  88. </tr>
  89. </thead>
  90. <tbody>
  91. @if ($userList->isEmpty())
  92. <tr>
  93. <td colspan="8">暂无数据</td>
  94. </tr>
  95. @else
  96. @foreach ($userList as $user)
  97. <tr class="odd gradeX">
  98. <td> {{$user->id}} </td>
  99. <td> {{$user->username}} </td>
  100. <td> <span class="label label-danger"> {{$user->port}} </span> </td>
  101. <td> <span class="label label-default"> {{$user->method}} </span> </td>
  102. <td class="center"> {{$user->transfer_enable}}/{{$user->used_flow}} </td>
  103. <td class="center"> {{empty($user->t) ? '未使用' : date('Y-m-d H:i:s', $user->t)}} </td>
  104. <td class="center"> {{$user->expire_time}} </td>
  105. <td>
  106. @if ($user->enable)
  107. <span class="label label-info">启用</span>
  108. @else
  109. <span class="label label-danger">禁用</span>
  110. @endif
  111. </td>
  112. <td>
  113. <button type="button" class="btn btn-sm blue btn-outline" onclick="editUser('{{$user->id}}')">编辑</button>
  114. <button type="button" class="btn btn-sm red btn-outline" onclick="delUser('{{$user->id}}')">删除</button>
  115. <button type="button" class="btn btn-sm green btn-outline" onclick="do_export('{{$user->id}}')">配置信息</button>
  116. <button type="button" class="btn btn-sm purple btn-outline" onclick="do_monitor('{{$user->id}}')">流量监控</button>
  117. </td>
  118. </tr>
  119. @endforeach
  120. @endif
  121. </tbody>
  122. </table>
  123. </div>
  124. <div class="row">
  125. <div class="col-md-5 col-sm-5">
  126. <div class="dataTables_info" role="status" aria-live="polite">共 {{$userList->total()}} 个用户</div>
  127. </div>
  128. <div class="col-md-7 col-sm-7">
  129. <div class="dataTables_paginate paging_bootstrap_full_number pull-right">
  130. {{ $userList->links() }}
  131. </div>
  132. </div>
  133. </div>
  134. </div>
  135. </div>
  136. <!-- END EXAMPLE TABLE PORTLET-->
  137. </div>
  138. </div>
  139. <!-- END PAGE BASE CONTENT -->
  140. </div>
  141. <!-- END CONTENT BODY -->
  142. @endsection
  143. @section('script')
  144. <script src="/assets/global/plugins/bootbox/bootbox.min.js" type="text/javascript"></script>
  145. <script type="text/javascript">
  146. // 添加账号
  147. function addUser() {
  148. window.location.href = '{{url('admin/addUser')}}';
  149. }
  150. // 编辑账号
  151. function editUser(id) {
  152. window.location.href = '{{url('admin/editUser?id=')}}' + id + '&page=' + '{{Request::get('page', 1)}}';
  153. }
  154. // 删除账号
  155. function delUser(id) {
  156. var _token = '{{csrf_token()}}';
  157. bootbox.confirm({
  158. message: "确定删除账号?",
  159. buttons: {
  160. confirm: {
  161. label: '确定',
  162. className: 'btn-success'
  163. },
  164. cancel: {
  165. label: '取消',
  166. className: 'btn-danger'
  167. }
  168. },
  169. callback: function (result) {
  170. if (result) {
  171. $.post("{{url('admin/delUser')}}", {id:id, _token:_token}, function(ret){
  172. if (ret.status == 'success') {
  173. bootbox.alert(ret.message, function(){
  174. window.location.reload();
  175. });
  176. } else {
  177. bootbox.alert(ret.message);
  178. }
  179. });
  180. }
  181. }
  182. });
  183. }
  184. // 搜索
  185. function do_search() {
  186. var username = $("#username").val();
  187. var wechat = $("#wechat").val();
  188. var qq = $("#qq").val();
  189. var port = $("#port").val();
  190. var pay_way = $("#pay_way option:checked").val();
  191. var enable = $("#enable option:checked").val();
  192. window.location.href = '{{url('admin/userList')}}' + '?username=' + username + '&wechat=' + wechat + '&qq=' + qq + '&port=' + port + '&pay_way=' + pay_way + '&enable=' + enable;
  193. }
  194. // 重置
  195. function do_reset() {
  196. window.location.href = '{{url('admin/userList')}}';
  197. }
  198. // 导出配置
  199. function do_export(id) {
  200. window.location.href = '{{url('admin/export?id=')}}' + id;
  201. }
  202. // 流量监控
  203. function do_monitor(id) {
  204. window.location.href = '{{url('admin/monitor?id=')}}' + id;
  205. }
  206. </script>
  207. @endsection