index.blade.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. @extends('layouts.app')
  2. @section('content')
  3. <span id="nav2">
  4. @component('maintenance.menu')@endcomponent
  5. @component('maintenance.user.menu')@endcomponent
  6. </span>
  7. <div class="container-fluid mt-3">
  8. <div class="card">
  9. <div class="card-body">
  10. @if(Session::has('successTip'))
  11. <div class="alert alert-success h1">{{Session::get('successTip')}}</div>
  12. @endif
  13. <table class="table table-striped table-sm" id="list">
  14. <tr>
  15. <th>ID</th>
  16. <th>用户名</th>
  17. <th>角色</th>
  18. <th>配置承运商</th>
  19. <th>邮件地址</th>
  20. <th>创建时间</th>
  21. <th>操作</th>
  22. </tr>
  23. <tr v-for="user in users">
  24. <td class="text-muted">@{{user.id}}</td>
  25. <td>@{{user.name}}</td>
  26. <td>
  27. <span class="text-danger" v-if="user.isSuperAdmin">超级管理员</span>
  28. <ul v-if="user.roles.length>0" class="list-group">
  29. <li v-for="role in user.roles" style="list-style: none">@{{ role.name }}</li>
  30. </ul>
  31. </td>
  32. <td>
  33. <ul v-if="user.carriers.length>0" class="list-group">
  34. <li v-for="carrier in user.carriers" style="list-style: none">@{{ carrier.name }}</li>
  35. </ul>
  36. </td>
  37. <td>@{{user.email}}</td>
  38. <td class="text-muted">@{{user.created_at}}</td>
  39. <td>
  40. @can('用户-编辑')
  41. <button class="btn btn-sm btn-outline-primary" @click="edit(user.id)">改</button> @endcan
  42. @can('用户-删除')
  43. <button class="btn btn-sm btn-outline-dark" @click="destroy(user)">删</button> @endcan
  44. </td>
  45. </tr>
  46. </table>
  47. {{$users->links()}}
  48. </div>
  49. </div>
  50. </div>
  51. @endsection
  52. @section('lastScript')
  53. <script>
  54. new Vue({
  55. el:"#list",
  56. data:{
  57. users:[
  58. @foreach( $users as $user )
  59. {id:'{{$user->id}}',name:'{{$user->name}}',email:'{{$user->email}}',
  60. isSuperAdmin:'{{$user->isSuperAdmin}}',
  61. roles:{!! $user->roles !!},carriers:{!! $user->carriers !!},created_at:'{{$user->created_at}}'},
  62. @endforeach
  63. ],
  64. },
  65. methods:{
  66. edit:function(id){
  67. location.href = "{{url('maintenance/user')}}/"+id+"/edit";
  68. },
  69. destroy:function(user){
  70. if(!confirm('确定要删除用户“' + user.name + '”吗?')){return};
  71. let data=this;
  72. let url = "{{url('maintenance/user')}}/"+user.id;
  73. axios.delete(url,{id:user.id})
  74. .then(function (response) {
  75. if(response.data.success){
  76. for (let i = 0; i < data.users.length; i++) {
  77. if (data.users[i].id===user.id){
  78. data.users.splice(i,1);
  79. break;
  80. }
  81. }
  82. tempTip.setDuration(1000);
  83. tempTip.showSuccess('删除用户"'+user.name+'"成功!')
  84. }else{
  85. tempTip.setDuration(1000);
  86. tempTip.show('删除用户"'+user.name+'"失败!')
  87. }
  88. })
  89. .catch(function (err) {
  90. tempTip.setDuration(3000);
  91. tempTip.show('删除用户失败!'+'网络错误:' + err)
  92. console.log(err);
  93. });
  94. },
  95. }
  96. });
  97. </script>
  98. @endsection