index.blade.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. @extends('layouts.app')
  2. @section('title')教程@endsection
  3. @section('content')
  4. <span id="nav2">
  5. @component('maintenance.menu')@endcomponent
  6. @component('maintenance.tutorial.menu')@endcomponent
  7. </span>
  8. <div class="container-fluid" id="list">
  9. <div class="card">
  10. <div class="card-body">
  11. @if(Session::has('successTip'))
  12. <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
  13. @endif
  14. <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
  15. <div class="modal-dialog">
  16. <div class="modal-content">
  17. <div class="modal-header">
  18. <button type="button" class="close pull-right" data-dismiss="modal" aria-hidden="true">&times;</button>
  19. </div>
  20. <div class="modal-body custom-rich-text-content" id="content"></div>
  21. <div class="modal-footer">
  22. <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
  23. </div>
  24. </div><!-- /.modal-content -->
  25. </div><!-- /.modal -->
  26. </div>
  27. <table class="table table-striped table-sm" >
  28. <tr>
  29. <th>ID</th>
  30. <th>所属货主</th>
  31. <th>标题</th>
  32. <th>类型</th>
  33. <th>创建时间</th>
  34. <th>操作</th>
  35. </tr>
  36. <tr v-for="tutorial in tutorials">
  37. <td class="text-muted">@{{tutorial.id}}</td>
  38. <td>@{{ tutorial.owner_name }}</td>
  39. <td>
  40. <u @click="showContent(tutorial.id)" class="text-info" style="cursor:pointer">@{{tutorial.name}}</u>
  41. </td>
  42. <td class="text-muted">@{{tutorial.type}}</td>
  43. <td class="text-muted">@{{tutorial.created_at}}</td>
  44. <td>
  45. @can('教程-编辑')
  46. <button class="btn btn-sm btn-outline-primary" @click="edit(tutorial.id)">改</button> @endcan
  47. @can('教程-删除')
  48. <button class="btn btn-sm btn-outline-dark" @click="destroy(tutorial)">删</button> @endcan
  49. </td>
  50. </tr>
  51. </table>
  52. {{$tutorials->links()}}
  53. </div>
  54. </div>
  55. </div>
  56. @endsection
  57. @section('lastScript')
  58. <script>
  59. new Vue({
  60. el:"#list",
  61. data:{
  62. tutorials:[
  63. @foreach( $tutorials as $tutorial )
  64. {!! $tutorial !!},
  65. @endforeach
  66. ],
  67. },
  68. methods:{
  69. edit:function(id){
  70. location.href = "{{url('maintenance/tutorial')}}/"+id+"/edit";
  71. },
  72. destroy:function(tutorial){
  73. if(!confirm('确定要删除教程“' + tutorial.name + '”吗?')){return};
  74. let data=this;
  75. let url = "{{url('maintenance/tutorial')}}/"+tutorial.id;
  76. axios.delete(url,{id:tutorial.id})
  77. .then(function (response) {
  78. if(response.data.success){
  79. for (let i = 0; i < data.tutorials.length; i++) {
  80. if (data.tutorials[i].id===tutorial.id){
  81. data.tutorials.splice(i,1);
  82. break;
  83. }
  84. }
  85. tempTip.setDuration(1000);
  86. tempTip.showSuccess('删除教程"'+tutorial.name+'"成功!')
  87. return;
  88. }
  89. tempTip.setDuration(1000);
  90. tempTip.show('删除教程"'+tutorial.name+'"失败!')
  91. })
  92. .catch(function (err) {
  93. tempTip.setDuration(3000);
  94. tempTip.show('删除教程失败!'+'网络错误:' + err);
  95. });
  96. },
  97. showContent(id) {
  98. axios.post('{{url('maintenance/tutorial/showContent')}}'+"/"+id)
  99. .then(function (response) {
  100. if (response.data.success){
  101. $("#content").html(response.data.data);
  102. $("#myModal").modal('show');
  103. }
  104. }).catch(function (err) {
  105. tempTip.setDuration(3000);
  106. tempTip.show('获取教程失败!'+'网络错误:' + err);
  107. });
  108. }
  109. }
  110. });
  111. </script>
  112. @endsection