链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
2.4 KiB

6 years ago
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\StoreUserReport;
  4. use Dcat\Admin\Form;
  5. use Dcat\Admin\Grid;
  6. use Dcat\Admin\Show;
  7. use Dcat\Admin\Controllers\AdminController;
  8. use App\Models\v3\Market as MarketModel;
  9. use App\Models\StoreAccount as StoreAccountModel;
  10. use App\Models\v3\Store as StoreModel;
  11. class StoreUserReportController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new StoreUserReport(), function (Grid $grid) {
  21. $grid->disableCreateButton();
  22. $grid->disableDeleteButton();
  23. $grid->disableEditButton();
  24. $grid->disableQuickEditButton();
  25. $grid->disableViewButton();
  26. $grid->disableActions();
  27. $grid->disableRowSelector();
  28. $marketList = MarketModel::getMarketArray();
  29. $storeList = StoreModel::getStoreArray();
  30. $grid->store_id;
  31. $grid->market_id->display(function ($marketId) use($marketList){
  32. return $marketList[$marketId] ?? '';
  33. });
  34. $grid->store_name->width('25%');
  35. $grid->new_total;
  36. $grid->filter(function (Grid\Filter $filter) use($marketList,$storeList){
  37. $filter->panel();
  38. $filter->equal('start_time','开始时间')->date()->width(2);
  39. $filter->equal('end_time','结束时间')->date()->width(2);
  40. $filter->equal('market_id')->select($marketList)->width(3);
  41. $filter->in('store_id','店铺名称')->multipleSelect($storeList)->width(4);
  42. });
  43. // 每页10条
  44. $grid->paginate(10);
  45. });
  46. }
  47. /**
  48. * Make a show builder.
  49. *
  50. * @param mixed $id
  51. *
  52. * @return Show
  53. */
  54. protected function detail($id)
  55. {
  56. return Show::make($id, new StoreUserReport(), function (Show $show) {
  57. $show->id;
  58. $show->market_id;
  59. $show->name;
  60. $show->mm_user_id;
  61. });
  62. }
  63. /**
  64. * Make a form builder.
  65. *
  66. * @return Form
  67. */
  68. protected function form()
  69. {
  70. return Form::make(new StoreUserReport(), function (Form $form) {
  71. $form->display('id');
  72. $form->text('market_id');
  73. $form->text('name');
  74. $form->text('mm_user_id');
  75. });
  76. }
  77. }