index.blade.php 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. @extends('admin.base')
  2. @section('content')
  3. <div class="layui-card">
  4. <div class="layui-card-header layuiadmin-card-header-auto">
  5. <div class="layui-btn-group ">
  6. @can('zixun.article.destroy')
  7. <button class="layui-btn layui-btn-sm layui-btn-danger" id="listDelete">删 除</button>
  8. @endcan
  9. @can('zixun.article.create')
  10. <a class="layui-btn layui-btn-sm" href="{{ route('admin.article.create') }}">添 加</a>
  11. @endcan
  12. <button class="layui-btn layui-btn-sm" id="searchBtn">搜 索</button>
  13. </div>
  14. <div class="layui-form" >
  15. <div class="layui-input-inline">
  16. <select name="category_id" lay-verify="required" id="category_id">
  17. <option value="">请选择分类</option>
  18. @foreach($categorys as $category)
  19. <option value="{{ $category->id }}" >{{ $category->name }}</option>
  20. @if(isset($category->allChilds)&&!$category->allChilds->isEmpty())
  21. @foreach($category->allChilds as $child)
  22. <option value="{{ $child->id }}" >&nbsp;&nbsp;&nbsp;┗━━{{ $child->name }}</option>
  23. @if(isset($child->allChilds)&&!$child->allChilds->isEmpty())
  24. @foreach($child->allChilds as $third)
  25. <option value="{{ $third->id }}" >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;┗━━{{ $third->name }}</option>
  26. @endforeach
  27. @endif
  28. @endforeach
  29. @endif
  30. @endforeach
  31. </select>
  32. </div>
  33. <div class="layui-input-inline">
  34. <input type="text" name="title" id="title" placeholder="请输入文章标题" class="layui-input">
  35. </div>
  36. </div>
  37. </div>
  38. <div class="layui-card-body">
  39. <table id="dataTable" lay-filter="dataTable"></table>
  40. <script type="text/html" id="options">
  41. <div class="layui-btn-group">
  42. @can('zixun.article.edit')
  43. <a class="layui-btn layui-btn-sm" lay-event="edit">编辑</a>
  44. @endcan
  45. @can('zixun.article.destroy')
  46. <a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
  47. @endcan
  48. </div>
  49. </script>
  50. <script type="text/html" id="thumb">
  51. <a href="@{{d.thumb}}" target="_blank" title="点击查看"><img src="@{{d.thumb}}" alt="" width="28" height="28"></a>
  52. </script>
  53. <script type="text/html" id="tags">
  54. @{{# layui.each(d.tags, function(index, item){ }}
  55. <button type="button" class="layui-btn layui-btn-sm">@{{ item.name }}</button>
  56. @{{# }); }}
  57. </script>
  58. <script type="text/html" id="category">
  59. @{{ d.category.name }}
  60. </script>
  61. </div>
  62. </div>
  63. @endsection
  64. @section('script')
  65. @can('zixun.article')
  66. <script>
  67. layui.use(['layer','table','form'],function () {
  68. var layer = layui.layer;
  69. var form = layui.form;
  70. var table = layui.table;
  71. //用户表格初始化
  72. var dataTable = table.render({
  73. elem: '#dataTable'
  74. ,height: 500
  75. ,url: "{{ route('admin.article.data') }}" //数据接口
  76. ,page: true //开启分页
  77. ,cols: [[ //表头
  78. {checkbox: true,fixed: true}
  79. ,{field: 'id', title: 'ID', sort: true,width:80}
  80. ,{field: 'category', title: '分类',toolbar:'#category'}
  81. ,{field: 'title', title: '标题'}
  82. ,{field: 'thumb', title: '缩略图',toolbar:'#thumb',width:100}
  83. ,{field: 'keywords', title: '关键词'}
  84. ,{field: 'tags', title: '标签',toolbar:'#tags',width:300}
  85. ,{field: 'click', title: '点击量'}
  86. ,{field: 'created_at', title: '创建时间'}
  87. ,{field: 'updated_at', title: '更新时间'}
  88. ,{fixed: 'right', width: 220, align:'center', toolbar: '#options'}
  89. ]]
  90. });
  91. //监听工具条
  92. table.on('tool(dataTable)', function(obj){ //注:tool是工具条事件名,dataTable是table原始容器的属性 lay-filter="对应的值"
  93. var data = obj.data //获得当前行数据
  94. ,layEvent = obj.event; //获得 lay-event 对应的值
  95. if(layEvent === 'del'){
  96. layer.confirm('确认删除吗?', function(index){
  97. $.post("{{ route('admin.article.destroy') }}",{_method:'delete',ids:[data.id]},function (result) {
  98. if (result.code==0){
  99. obj.del(); //删除对应行(tr)的DOM结构
  100. }
  101. layer.close(index);
  102. layer.msg(result.msg)
  103. });
  104. });
  105. } else if(layEvent === 'edit'){
  106. location.href = '/admin/article/'+data.id+'/edit';
  107. }
  108. });
  109. @can('zixun.article.edit')
  110. //监听是否显示
  111. form.on('switch(isShow)', function(obj){
  112. var index = layer.load();
  113. var url = $(obj.elem).attr('url')
  114. var data = {
  115. "is_show" : obj.elem.checked==true?1:0,
  116. "_method" : "put"
  117. }
  118. $.post(url,data,function (res) {
  119. layer.close(index)
  120. layer.msg(res.msg)
  121. },'json');
  122. });
  123. @endcan
  124. //按钮批量删除
  125. $("#listDelete").click(function () {
  126. var ids = []
  127. var hasCheck = table.checkStatus('dataTable')
  128. var hasCheckData = hasCheck.data
  129. if (hasCheckData.length>0){
  130. $.each(hasCheckData,function (index,element) {
  131. ids.push(element.id)
  132. })
  133. }
  134. if (ids.length>0){
  135. layer.confirm('确认删除吗?', function(index){
  136. $.post("{{ route('admin.article.destroy') }}",{_method:'delete',ids:ids},function (result) {
  137. if (result.code==0){
  138. dataTable.reload()
  139. }
  140. layer.close(index);
  141. layer.msg(result.msg)
  142. });
  143. })
  144. }else {
  145. layer.msg('请选择删除项')
  146. }
  147. })
  148. //搜索
  149. $("#searchBtn").click(function () {
  150. var catId = $("#category_id").val()
  151. var title = $("#title").val();
  152. dataTable.reload({
  153. where:{category_id:catId,title:title},
  154. page:{curr:1}
  155. })
  156. })
  157. })
  158. </script>
  159. @endcan
  160. @endsection