海南旅游SAAS
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.

101 lines
3.0 KiB

  1. <?php
  2. namespace App\AdminSupplier\Controllers;
  3. use App\AdminSupplier\Extensions\Grid\IndustryOrderStatus;
  4. use App\AdminSupplier\Repositories\IndustryOrder;
  5. use App\Common\OrderStatus;
  6. use Dcat\Admin\Admin;
  7. use Dcat\Admin\Form;
  8. use Dcat\Admin\Grid;
  9. use Dcat\Admin\Show;
  10. use Dcat\Admin\Http\Controllers\AdminController;
  11. class IndustryOrderController extends AdminController
  12. {
  13. /**
  14. * Make a grid builder.
  15. *
  16. * @return Grid
  17. */
  18. protected function grid()
  19. {
  20. return Grid::make(new IndustryOrder(['agent:id,company_name']), function (Grid $grid) {
  21. $grid->disableCreateButton();
  22. $grid->disableRowSelector();
  23. $grid->disableActions();
  24. $grid->model()->where('supplier_id', Admin::user()->id);
  25. $grid->column('id')->sortable();
  26. $grid->column('agent.company_name', '代理商名称');
  27. $grid->column('order_no');
  28. $grid->column('num');
  29. $grid->column('price');
  30. $grid->column('name');
  31. $grid->column('mobile');
  32. $grid->column('industry_product_id', '产品ID');
  33. $grid->column('title');
  34. $grid->column('picture')->image('', 60, 60);
  35. $grid->column('status')
  36. ->using(OrderStatus::array())
  37. ->if(fn() => $this->status == OrderStatus::OFFLINE_UNPAID)
  38. ->action(new IndustryOrderStatus);
  39. $grid->column('paid_at');
  40. // $grid->column('timeout');
  41. $grid->column('created_at');
  42. $grid->filter(function (Grid\Filter $filter) {
  43. $filter->equal('id')->width(2);
  44. $filter->equal('order_no')->width(3);
  45. });
  46. });
  47. }
  48. /**
  49. * Make a show builder.
  50. *
  51. * @param mixed $id
  52. *
  53. * @return Show
  54. */
  55. protected function detail($id)
  56. {
  57. /*return Show::make($id, new IndustryOrder(), function (Show $show) {
  58. $show->field('id');
  59. $show->field('agent_id');
  60. $show->field('supplier_id');
  61. $show->field('order_no');
  62. $show->field('industry_product_id');
  63. $show->field('num');
  64. $show->field('price');
  65. $show->field('name');
  66. $show->field('mobile');
  67. $show->field('title');
  68. $show->field('picture');
  69. $show->field('status');
  70. $show->field('paid_at');
  71. $show->field('verify_code');
  72. $show->field('timeout');
  73. $show->field('created_at');
  74. $show->field('updated_at');
  75. });*/
  76. }
  77. /**
  78. * Make a form builder.
  79. *
  80. * @return Form
  81. */
  82. protected function form()
  83. {
  84. return Form::make(new IndustryOrder(), function (Form $form) {
  85. $form->display('id');
  86. // $form->select('status')->options([OrderStatus::OFFLINE_PAID => '已付款']);
  87. })->saving(function(Form $form) {
  88. return $form->response()->error('操作禁止');
  89. })->deleting(function(Form $form) {
  90. return $form->response()->error('操作禁止');
  91. });
  92. }
  93. }