GroupController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\Group;
  4. use App\Models\Users;
  5. use Encore\Admin\Controllers\AdminController;
  6. use Encore\Admin\Form;
  7. use Encore\Admin\Grid;
  8. use App\Api\Util\IM;
  9. use Encore\Admin\Layout\Content;
  10. use Illuminate\Http\Request;
  11. use Illuminate\Support\MessageBag;
  12. class GroupController extends AdminController
  13. {
  14. use IM;
  15. protected $title = '群管理';
  16. protected function grid()
  17. {
  18. $grid = new Grid(new Group());
  19. $grid->id('ID')->sortable();
  20. $grid->column('name', '名');
  21. $grid->column('im_gid', '群ID');
  22. $grid->column('description', '描述')->limit(30);
  23. $grid->column('user.lid', '所属用户ID');
  24. $grid->column('user.name', '所属用户');
  25. $grid->column('user.avatar', '所属用户头像')->image(config('love.QINIU_MY_DOMAINS'), 50, 50);
  26. $grid->column('admins.lid', '群管ID');
  27. $grid->column('admins.name', '群管名');
  28. $grid->column('admins.avatar', '群管理员用头像')->image(config('love.QINIU_MY_DOMAINS'), 50, 50);
  29. $grid->column('male_size', '男');
  30. $grid->column('girl_size', '女');
  31. $grid->column('sort', '排序');
  32. $grid->created_at('创建时间');
  33. // $grid->expandFilter();
  34. $grid->disableExport();
  35. $grid->disableRowSelector();
  36. $grid->disableColumnSelector();
  37. $grid->actions(function ($actions) {
  38. //$actions->disableEdit();
  39. $actions->disableDelete();
  40. $actions->disableEdit();
  41. });
  42. $grid->filter(function ($filter) {
  43. $filter->disableIdFilter();
  44. $filter->equal('im_gid','群ID')->placeholder('请输群ID');
  45. $filter->equal('user.lid','客户ID')->placeholder('请输入客户ID');
  46. });
  47. return $grid;
  48. }
  49. protected function form()
  50. {
  51. $form = new Form(new Group);
  52. $form->text('name', '群名')->rules('required|min:1');
  53. $form->text('im_gid', '群ID')->default(time())->readonly();
  54. $form->textarea('description', '描述');
  55. $form->select('uid','所属用户')->options(function ($id) {
  56. $user = Users::where('lid',$id)->first();
  57. if ($user) {
  58. return [$user->id => $user->name];
  59. }else{
  60. return [0=> '无'];
  61. }
  62. })->ajax('users')->help('用用户ID搜索');
  63. $form->select('admin','群管账号')->options(function ($id) {
  64. $user = Users::find($id);
  65. if ($user) {
  66. return [$user->id => $user->name];
  67. }else{
  68. return [0=> '无'];
  69. }
  70. })->ajax('users')->help('用用户ID搜索,没有可以不填 也不能和所属用户一样');
  71. $form->number('sort', '排序')->help('app里面群排序');
  72. $form->footer(function ($footer) {
  73. $footer->disableReset();
  74. $footer->disableViewCheck();
  75. $footer->disableEditingCheck();
  76. $footer->disableCreatingCheck();
  77. });
  78. $form->tools(function (Form\Tools $tools) {
  79. $tools->disableView();
  80. $tools->disableDelete();
  81. });
  82. $form->saved(function (Form $form) {
  83. $uid=$form->model()->uid;
  84. $name=$form->model()->name;
  85. $im_gid=$form->model()->im_gid;
  86. $description=$form->model()->description;
  87. $admin=$form->model()->admin;
  88. $user = Users::find($uid);
  89. $this->createGroup($uid,'Public',$user->name.'相亲群',$im_gid,$description,'',$user->avatar,$admin);
  90. });
  91. return $form;
  92. }
  93. public function users(Request $request)
  94. {
  95. $q = $request->get('q');
  96. return Users::where('lid', $q)->paginate(null, ['id', 'name as text']);
  97. }
  98. public function detail($id){
  99. }
  100. }