链街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.

99 lines
2.9 KiB

  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Admin\Repositories\LanzuAdminUserMarket;
  4. use App\Models\AdminUsers;
  5. use App\Models\v3\Market;
  6. use Dcat\Admin\Form;
  7. use Dcat\Admin\Grid;
  8. use Dcat\Admin\Show;
  9. use Dcat\Admin\Controllers\AdminController;
  10. class LanzuAdminUserMarketController extends AdminController
  11. {
  12. /**
  13. * Make a grid builder.
  14. *
  15. * @return Grid
  16. */
  17. protected function grid()
  18. {
  19. return Grid::make(new LanzuAdminUserMarket(), function (Grid $grid) {
  20. $grid->column('id')->sortable();
  21. $grid->column('admin_user_id','用户名')->display(function (){
  22. return AdminUsers::where('id',$this->admin_user_id)->first()->name;
  23. });
  24. $grid->column('market_id','关联市场')->display(function (){
  25. return Market::where('id',$this->market_id)->first()->name;
  26. });
  27. $grid->column('created_at')->display(function ($time){
  28. return date('Y-m-d H:i:s',$time);
  29. });
  30. $grid->filter(function (Grid\Filter $filter) {
  31. $filter->equal('id');
  32. });
  33. $grid->disableViewButton();
  34. });
  35. }
  36. /**
  37. * Make a show builder.
  38. *
  39. * @param mixed $id
  40. *
  41. * @return Show
  42. */
  43. protected function detail($id)
  44. {
  45. return Show::make($id, new LanzuAdminUserMarket(), function (Show $show) {
  46. $show->field('id');
  47. $show->field('admin_user_id');
  48. $show->field('market_id');
  49. $show->field('created_at');
  50. $show->field('updated_at');
  51. });
  52. }
  53. /**
  54. * Make a form builder.
  55. *
  56. * @return Form
  57. */
  58. protected function form()
  59. {
  60. $this->getAdminUser();
  61. return Form::make(new LanzuAdminUserMarket(), function (Form $form) {
  62. $form->display('id');
  63. if ($form->isCreating()){
  64. $aumIds = \App\Models\LanzuAdminUserMarket::pluck('admin_user_id')->toArray();
  65. $form->select('admin_user_id','用户名')->options($this->getAdminUser($aumIds));
  66. }else{
  67. $form->select('admin_user_id','用户名')->options($this->getAdminUser(null))->disable();
  68. }
  69. $form->select('market_id','关联市场')->options($this->getMarket());
  70. $form->disableViewButton();
  71. $form->disableEditingCheck();
  72. $form->disableCreatingCheck();
  73. $form->disableViewCheck();
  74. });
  75. }
  76. public function getAdminUser($aumIds=null)
  77. {
  78. if ($aumIds){
  79. $data = AdminUsers::whereNotIn('id',$aumIds)->pluck('name','id')->toArray();
  80. }else{
  81. $data = AdminUsers::pluck('name','id')->toArray();
  82. }
  83. return $data;
  84. }
  85. public function getMarket()
  86. {
  87. $data = Market::pluck('name','id')->toArray();
  88. return $data;
  89. }
  90. }