WxUserAvatarFrameController.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace App\Admin\Controllers\User;
  3. use App\Admin\Repositories\User\WxUserAvatarFrame;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Http\Controllers\AdminController;
  8. class WxUserAvatarFrameController extends AdminController
  9. {
  10. /**
  11. * Make a grid builder.
  12. *
  13. * @return Grid
  14. */
  15. protected function grid()
  16. {
  17. return Grid::make(new WxUserAvatarFrame(), function (Grid $grid) {
  18. $grid->quickSearch(['id', 'name', 'description'])->placeholder('搜索头像框ID,名字,描述...');
  19. $grid->model()->orderBy('id', 'desc');
  20. $grid->column('id')->sortable();
  21. $grid->column('name');
  22. $grid->column('image_url')->image('', 50, 50);
  23. $grid->column('type')->sortable()->using([0=>'普通', 1=>'会员', 2=>'金币', 3=>'余额'])->label([
  24. 0 => 'primary',
  25. 1 => '#f3bc6e',
  26. 2 => 'rgb(221, 101, 114)',
  27. 3 => 'rgb(1, 192, 170)'
  28. ]);
  29. $grid->column('price')->sortable();
  30. // $grid->column('description');
  31. $grid->column('quantity')->sortable();
  32. $grid->column('status')->sortable()->radio([0=>'正常', 1=>'已下架']);
  33. // $grid->column('created_at');
  34. $grid->column('updated_at')->sortable();
  35. $grid->filter(function (Grid\Filter $filter) {
  36. $filter->equal('id');
  37. });
  38. });
  39. }
  40. /**
  41. * Make a show builder.
  42. *
  43. * @param mixed $id
  44. *
  45. * @return Show
  46. */
  47. protected function detail($id)
  48. {
  49. return Show::make($id, new WxUserAvatarFrame(), function (Show $show) {
  50. $show->field('id');
  51. $show->field('name');
  52. $show->field('image_url');
  53. $show->field('type');
  54. $show->field('price');
  55. $show->field('description');
  56. $show->field('quantity');
  57. $show->field('status');
  58. $show->field('created_at');
  59. $show->field('updated_at');
  60. });
  61. }
  62. /**
  63. * Make a form builder.
  64. *
  65. * @return Form
  66. */
  67. protected function form()
  68. {
  69. return Form::make(new WxUserAvatarFrame(), function (Form $form) {
  70. $form->display('id');
  71. $form->text('name')->required();
  72. $form->image('image_url')->url('files/uploads')->uniqueName()->autoUpload()->required()->help('<a href="https://img.mini.minisns.cn/2023/06/01/1ea8a6882bc183b117785692a8a7592d.png" target="_blank">点击下载默认图</a>');
  73. $form->radio('type')->options([0=>'普通', 1=>'会员', 2=>'金币', 3=>'余额'])->required()->default(0);
  74. $form->text('price')->default(0);
  75. $form->textarea('description');
  76. $form->number('quantity')->help('0代表无限制');
  77. $form->radio('status')->options([0=>'正常', 1=>'已下架'])->default(0);
  78. $form->display('created_at');
  79. $form->display('updated_at');
  80. $form->deleting(function (Form $form){
  81. global $__MINI_GLOBAL_TENANT_ID__;
  82. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  83. return $form->response()->error('权限不足,不可以删除其他分站对象');
  84. }
  85. });
  86. });
  87. }
  88. }