AskOrderController.php 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <?php
  2. namespace App\Admin\Controllers\Ask;
  3. use App\Admin\Repositories\Ask\Askorder;
  4. use App\Wen\Utils\Settings;
  5. use Dcat\Admin\Form;
  6. use Dcat\Admin\Grid;
  7. use Dcat\Admin\Show;
  8. use Dcat\Admin\Http\Controllers\AdminController;
  9. use Illuminate\Http\Request;
  10. use Dcat\Admin\Widgets\Metrics\Card;
  11. class AskOrderController extends AdminController
  12. {
  13. public function askorder(Request $request)
  14. {
  15. $q = $request->get('q');
  16. return \App\Models\Ask\Askorder::where('title', 'like', "%$q%")->paginate(null, ['id', 'title as text']);
  17. }
  18. /**
  19. * Make a grid builder.
  20. *
  21. * @return Grid
  22. */
  23. protected function grid()
  24. {
  25. return Grid::make(new Askorder(), function (Grid $grid) {
  26. $grid->simplePaginate();
  27. $grid->model()->orderBy('id', 'desc');
  28. $grid->quickSearch(['user_id', 'blogger_user_id','question'])->placeholder('搜索咨询用户ID,答主用户ID');
  29. $grid->column('id');
  30. $grid->column('user_id');
  31. $grid->column('blogger_user_id');
  32. $grid->column('question','咨询内容')->display('更多')->expand(function ($a) {
  33. $question = $this->question;
  34. $images = explode(',',$this->images);
  35. $card = Card::make(view('admin/ask/askorder', compact('question', 'images')));
  36. return $card;
  37. });
  38. $grid->column('images')->display(function($images){
  39. return explode(',',$images);
  40. })->image('',50);
  41. $grid->column('ask_price');
  42. $grid->column('sit_price');
  43. $grid->column('ask_minute');
  44. $grid->column('is_hidden')->using([
  45. 0=>'非匿名',
  46. 1=>'匿名',
  47. ])->label([
  48. 'default' => 'primary', // 设置默认颜色,不设置则默认为 default
  49. 0 => 'danger',
  50. 1 => 'primary',
  51. ]);
  52. $grid->column('is_public')->using([
  53. 0=>'不公开',
  54. 1=>'公开',
  55. ])->label([
  56. 'default' => 'primary', // 设置默认颜色,不设置则默认为 default
  57. 0 => 'primary',
  58. 1 => 'danger',
  59. ]);
  60. $grid->column('eva_score');
  61. $grid->column('sit_number');
  62. $grid->column('status')->using([
  63. 0 =>'待支付',
  64. 10=>'已支付',
  65. 20=>'已结束',
  66. ])->label([
  67. 'default' => 'info', // 设置默认颜色,不设置则默认为 default
  68. 0 => 'info',
  69. 10 => 'danger',
  70. 20 => 'success',
  71. ]);
  72. $grid->column('createtime')->display(function($createtime){
  73. return empty($createtime) ? '' : date('Y-m-d H:i:s',$createtime);
  74. });
  75. $grid->filter(function (Grid\Filter $filter) {
  76. $filter->like('question');
  77. });
  78. // 禁用新增按钮
  79. $grid->disableCreateButton();
  80. // 禁用编辑按钮
  81. $grid->disableEditButton();
  82. // 禁用详情按钮
  83. // $grid->disableViewButton();
  84. // 禁用删除按钮
  85. $grid->disableDeleteButton();
  86. });
  87. }
  88. /**
  89. * Make a show builder.
  90. *
  91. * @param mixed $id
  92. *
  93. * @return Show
  94. */
  95. protected function detail($id)
  96. {
  97. return Show::make($id, new Askorder(), function (Show $show) {
  98. $show->field('id');
  99. $show->field('user_id');
  100. $show->field('blogger_user_id');
  101. $show->field('question');
  102. $show->field('images')->image();
  103. $show->field('ask_price');
  104. $show->field('sit_price');
  105. $show->field('ask_minute');
  106. $show->field('is_hidden')->using([
  107. 0=>'非匿名',
  108. 1=>'匿名',
  109. ]);
  110. $show->field('is_public')->using([
  111. 0=>'不公开',
  112. 1=>'公开',
  113. ]);
  114. $show->field('good_number');
  115. $show->field('eva_score');
  116. $show->field('eva_content');
  117. // $show->field('eva_time');
  118. $show->field('sit_number');
  119. $show->field('status')->using([
  120. 0 =>'待支付',
  121. 10=>'已支付',
  122. 20=>'已结束',
  123. ]);
  124. $show->field('createtime')->as(function(){
  125. return empty($this->createtime) ? '' : date('Y-m-d H:i:s',$this->createtime);
  126. });
  127. // $show->field('paytime');
  128. // $show->field('finish_time');
  129. // $show->field('countdown_time');
  130. $show->field('blogger_rate');
  131. $show->field('blogger_price');
  132. });
  133. }
  134. /**
  135. * Make a form builder.
  136. *
  137. * @return Form
  138. */
  139. protected function form()
  140. {
  141. /*return Form::make(new Askorder(), function (Form $form) {
  142. $form->display('id');
  143. $form->text('title')->required();
  144. $form->image('image')->url('files/uploads')->autoUpload()->required();
  145. $form->number('sort')->default(0);
  146. $form->deleting(function (Form $form){
  147. global $__MINI_GLOBAL_TENANT_ID__;
  148. if($__MINI_GLOBAL_TENANT_ID__ > 0){
  149. return $form->response()->error('权限不足,不可以删除其他分站对象');
  150. }
  151. });
  152. });*/
  153. }
  154. }