| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- @extends('admin.layouts')
- @section('css')
- <link href="/assets/global/plugins/datatables/datatables.min.css" rel="stylesheet" type="text/css" />
- <link href="/assets/global/plugins/datatables/plugins/bootstrap/datatables.bootstrap.css" rel="stylesheet" type="text/css" />
- @endsection
- @section('title', '控制面板')
- @section('content')
- <!-- BEGIN CONTENT BODY -->
- <div class="page-content">
- <!-- BEGIN PAGE BREADCRUMB -->
- <ul class="page-breadcrumb breadcrumb">
- <li>
- <a href="javascript:;">节点管理</a>
- <i class="fa fa-circle"></i>
- </li>
- <li>
- <a href="{{url('admin/nodeList')}}">节点列表</a>
- </li>
- </ul>
- <!-- END PAGE BREADCRUMB -->
- <!-- BEGIN PAGE BASE CONTENT -->
- <div class="row">
- <div class="col-md-12">
- <!-- BEGIN EXAMPLE TABLE PORTLET-->
- <div class="portlet light bordered">
- <div class="portlet-title">
- <div class="caption font-dark">
- <i class="icon-list font-dark"></i>
- <span class="caption-subject bold uppercase"> 节点列表 </span>
- </div>
- <div class="actions">
- <div class="btn-group">
- <button class="btn sbold blue" onclick="addNode()"> 新增
- <i class="fa fa-plus"></i>
- </button>
- </div>
- </div>
- </div>
- <div class="portlet-body">
- <div class="table-scrollable">
- <table class="table table-striped table-bordered table-hover table-checkable order-column">
- <thead>
- <tr>
- <th> ID </th>
- <th> 节点名称 </th>
- <th> 出口带宽 </th>
- <th> 负载 </th>
- <th> 在线人数 </th>
- <th> 产生流量/可用流量 </th>
- <th> 流量比例 </th>
- <th> 协议 </th>
- <th> 混淆 </th>
- <th> 操作 </th>
- </tr>
- </thead>
- <tbody>
- @if($nodeList->isEmpty())
- <tr>
- <td colspan="10">暂无数据</td>
- </tr>
- @else
- @foreach($nodeList as $node)
- <tr class="odd gradeX">
- <td> {{$node->id}} </td>
- <td> {{$node->name}} @if ($node->compatible) <span class="label label-warning"> 兼容 </span> @endif </td>
- <td> {{$node->bandwidth}}M </td>
- <td> <span class="label label-danger"> {{$node->load}} </span> </td>
- <td> <span class="label label-danger"> {{$node->online_users}} </span> </td>
- <td> {{$node->transfer}} / {{$node->traffic}}G </td>
- <td> {{$node->traffic_rate}} </td>
- <td> <span class="label label-info"> {{$node->protocol}} </span> </td>
- <td> <span class="label label-info"> {{$node->obfs}} </span> </td>
- <td>
- <button type="button" class="btn btn-sm blue btn-outline" onclick="editNode('{{$node->id}}')">编辑</button>
- <button type="button" class="btn btn-sm red btn-outline" onclick="delNode('{{$node->id}}')">删除</button>
- </td>
- </tr>
- @endforeach
- @endif
- </tbody>
- </table>
- </div>
- <div class="row">
- <div class="col-md-4 col-sm-4">
- <div class="dataTables_info" role="status" aria-live="polite">共 {{$nodeList->total()}} 个节点</div>
- </div>
- <div class="col-md-8 col-sm-8">
- <div class="dataTables_paginate paging_bootstrap_full_number pull-right">
- {{ $nodeList->links() }}
- </div>
- </div>
- </div>
- </div>
- </div>
- <!-- END EXAMPLE TABLE PORTLET-->
- </div>
- </div>
- <!-- END PAGE BASE CONTENT -->
- </div>
- <!-- END CONTENT BODY -->
- @endsection
- @section('script')
- <script src="/assets/global/plugins/bootbox/bootbox.min.js" type="text/javascript"></script>
- <script src="/js/layer/layer.js" type="text/javascript"></script>
- <script type="text/javascript">
- // 添加节点
- function addNode() {
- window.location.href = '{{url('admin/addNode')}}';
- }
- // 编辑节点
- function editNode(id) {
- window.location.href = '{{url('admin/editNode?id=')}}' + id + '&page=' + '{{Request::get('page', 1)}}';
- }
- // 删除节点
- function delNode(id) {
- var _token = '{{csrf_token()}}';
- bootbox.confirm({
- message: "确定删除节点?",
- buttons: {
- confirm: {
- label: '确定',
- className: 'btn-success'
- },
- cancel: {
- label: '取消',
- className: 'btn-danger'
- }
- },
- callback: function (result) {
- if (result) {
- $.post("{{url('admin/delNode')}}", {id:id, _token:_token}, function(ret){
- layer.msg(ret.message, function() {
- if (ret.status == 'success') {
- window.location.reload();
- }
- });
- });
- }
- }
- });
- }
- </script>
- @endsection
|