index.blade.php 4.4 KB

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