index.blade.php 5.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. @extends('admin.table_layouts')
  2. @section('content')
  3. <div class="page-content container-fluid">
  4. <x-admin.table-panel :title="trans('admin.menu.customer_service.article')" :theads="[
  5. '#',
  6. trans('model.common.type'),
  7. trans('model.article.category'),
  8. ucfirst(trans('validation.attributes.title')),
  9. trans('model.article.language'),
  10. trans('model.common.sort'),
  11. trans('model.article.created_at'),
  12. trans('common.action'),
  13. ]" :count="trans('admin.article.counts', ['num' => $articles->total()])" :pagination="$articles->links()" :delete-config="['url' => route('admin.article.destroy', 'PLACEHOLDER'), 'attribute' => trans('model.article.attribute'), 'nameColumn' => 3]">
  14. @can('admin.article.create')
  15. <x-slot:actions>
  16. <a class="btn btn-primary" href="{{ route('admin.article.create') }}">
  17. <i class="icon wb-plus" aria-hidden="true"></i> {{ trans('common.add') }}
  18. </a>
  19. </x-slot:actions>
  20. @endcan
  21. <x-slot:filters>
  22. <x-admin.filter.input class="col-md-1 col-sm-4" name="id" type="number" placeholder="ID" />
  23. <x-admin.filter.selectpicker class="col-xxl-1 col-lg-2 col-md-3 col-4" name="type" :title="trans('model.common.type')" :options="[1 => trans('admin.article.type.knowledge'), 2 => trans('admin.article.type.announcement')]" />
  24. <x-admin.filter.selectpicker class="col-xxl-1 col-md-3 col-4" name="category" :title="trans('model.article.category')" :options="$categories" />
  25. <x-admin.filter.selectpicker class="col-xxl-1 col-lg-2 col-md-3 col-4" name="language" :title="trans('model.article.language')">
  26. @foreach (config('common.language') as $key => $value)
  27. <option data-content="<i class='fi fi-{{ $value[1] }} mr-5' aria-hidden='true'></i> {{ $value[0] }}" value="{{ $key }}">
  28. </option>
  29. @endforeach
  30. </x-admin.filter.selectpicker>
  31. </x-slot:filters>
  32. <x-slot:tbody>
  33. @foreach ($articles as $article)
  34. <tr>
  35. <td> {{ $article->id }} </td>
  36. @if ($article->type === 1)
  37. <td> {{ trans('admin.article.type.knowledge') }}</td>
  38. @elseif ($article->type === 2)
  39. <td> {{ trans('admin.article.type.announcement') }}</td>
  40. @else
  41. <td> {{ trans('common.status.unknown') }}</td>
  42. @endif
  43. <td class="text-left">
  44. @if ($article->category)
  45. {{ Str::limit($article->category, 30) }}
  46. @endif
  47. </td>
  48. <td class="text-left">
  49. @if ($article->logo)
  50. <img class="mr-5" src="{{ asset($article->logo) }}" alt="logo" style="height: 32px" loading="lazy" />
  51. @endif
  52. @if ($article->title)
  53. {{ Str::limit($article->title, 50) }}
  54. @endif
  55. </td>
  56. <td>
  57. @if (isset(config('common.language')[$article->language]))
  58. <i class="fi fis fi-{{ config('common.language')[$article->language][1] }}" aria-hidden="true"></i>
  59. <span style="padding: inherit;">{{ config('common.language')[$article->language][0] }}</span>
  60. @else
  61. {{ __('common.status.unknown') }}
  62. @endif
  63. <td> {{ $article->sort }} </td>
  64. <td> {{ $article->created_at }} </td>
  65. <td>
  66. @canany(['admin.article.show', 'admin.article.edit', 'admin.article.destroy'])
  67. <div class="btn-group">
  68. @can('admin.article.show')
  69. <a class="btn btn-outline-success" href="{{ route('admin.article.show', $article) }}">
  70. <i class="icon wb-eye" aria-hidden="true"></i></a>
  71. @endcan
  72. @can('admin.article.edit')
  73. <a class="btn btn-outline-primary" href="{{ route('admin.article.edit', ['article' => $article->id]) }}">
  74. <i class="icon wb-edit" aria-hidden="true"></i></a>
  75. @endcan
  76. @can('admin.article.destroy')
  77. <a class="btn btn-outline-danger" data-action="delete" href="javascript:(0)">
  78. <i class="icon wb-close" aria-hidden="true"></i></a>
  79. @endcan
  80. </div>
  81. @endcanany
  82. </td>
  83. </tr>
  84. @endforeach
  85. </x-slot:tbody>
  86. </x-admin.table-panel>
  87. </div>
  88. @endsection