nodeList.blade.php 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. @extends('user.layouts')
  2. @section('css')
  3. <script src="//at.alicdn.com/t/font_682457_e6aq10jsbq0yhkt9.js" type="text/javascript"></script>
  4. <link href="/assets/global/fonts/font-awesome/font-awesome.min.css" type="text/css" rel="stylesheet">
  5. <link href="/assets/global/vendor/webui-popover/webui-popover.min.css" type="text/css" rel="stylesheet">
  6. @endsection
  7. @section('content')
  8. <!-- BEGIN CONTENT BODY -->
  9. <div class="page-content container-fluid">
  10. <div class="row">
  11. @foreach($nodeList as $node)
  12. <div class="col-xxl-3 col-xl-4 col-sm-6">
  13. <div class="card card-inverse card-shadow bg-white">
  14. <div class="card-block p-30 row">
  15. <div class="col-4">
  16. <svg class="w-p100 text-center" aria-hidden="true">
  17. <use xlink:href="@if($node->country_code)#icon-{{$node->country_code}}@else #icon-un @endif"></use>
  18. </svg>
  19. </div>
  20. <div class="col-8 text-break text-right">
  21. <p class="font-size-20 blue-600">
  22. @if($node->offline)
  23. <i class="red-600 icon wb-warning" data-content="线路不稳定/维护中" data-trigger="hover" data-toggle="popover" data-placement="top"></i>
  24. @endif
  25. @if($node->traffic_rate != 1)
  26. <i class="green-600 icon wb-info-circle" data-content="{{$node->traffic_rate}} 倍流量消耗" data-trigger="hover" data-toggle="popover" data-placement="top"></i>
  27. @endif
  28. {{$node->name}}
  29. <span class="badge badge-pill font-size-10 up m-0 @if($node->labels->label_id == 1) badge-success @elseif($node->labels->label_id == 7) badge-danger @else badge-info @endif">{{$node->labels->labelInfo->name}}</span>
  30. </p>
  31. <blockquote>
  32. {{$node->desc}}
  33. </blockquote>
  34. <p class="font-size-14">
  35. <button class="btn btn-sm btn-outline-info" onclick="getInfo('{{$node->id}}','code')"><i class="icon fa-code"></i></button>
  36. <button class="btn btn-sm btn-outline-info" onclick="getInfo('{{$node->id}}','qrcode')"><i class="icon fa-qrcode"></i></button>
  37. <button class="btn btn-sm btn-outline-info" onclick="getInfo('{{$node->id}}','text')"><i class="icon fa-list"></i></button>
  38. </p>
  39. </div>
  40. </div>
  41. </div>
  42. </div>
  43. @endforeach
  44. </div>
  45. </div>
  46. @endsection @section('script')
  47. <script src="/assets/custom/Plugin/jquery-qrcode/jquery.qrcode.min.js" type="text/javascript"></script>
  48. <script src="/assets/global/js/Plugin/webui-popover.js" type="text/javascript"></script>
  49. <script type="text/javascript">
  50. function getInfo(id, type) {
  51. $.post("/nodeList", {_token: '{{csrf_token()}}', id: id, type: type}, function (ret) {
  52. if (ret.status === 'success') {
  53. switch (type) {
  54. case 'code':
  55. swal.fire({
  56. html: '<textarea class="form-control" rows="8" readonly="readonly">' + ret.data + '</textarea>' +
  57. '<a href="' + ret.data + '" class="btn btn-danger btn-block mt-10">打开' + ret.title + '</a>',
  58. showConfirmButton: false
  59. });
  60. break;
  61. case 'qrcode':
  62. swal.fire({
  63. title: '{{trans('home.scan_qrcode')}}',
  64. html: '<div id="qrcode"></div>',
  65. onBeforeOpen: () => {
  66. $("#qrcode").qrcode({text: ret.data});
  67. },
  68. showConfirmButton: false
  69. });
  70. break;
  71. case 'text':
  72. swal.fire({
  73. title: '{{trans('home.setting_info')}}',
  74. html: '<textarea class="form-control" rows="12" readonly="readonly">' + ret.data + '</textarea>',
  75. showConfirmButton: false
  76. });
  77. break;
  78. default:
  79. swal.fire({title: ret.title, text: ret.data});
  80. }
  81. }
  82. });
  83. }
  84. </script>
  85. @endsection