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

88 lines
2.2 KiB

  1. <?php
  2. namespace App\Admin\Actions\Tools;
  3. use Dcat\Admin\Actions\Response;
  4. use Dcat\Admin\Traits\HasPermissions;
  5. use Dcat\Admin\Tree\AbstractTool;
  6. use Illuminate\Contracts\Auth\Authenticatable;
  7. use Illuminate\Database\Eloquent\Model;
  8. use Illuminate\Http\Request;
  9. class OrderDeliveryExport extends AbstractTool
  10. {
  11. /**
  12. * @return string
  13. */
  14. protected $title = '<span class="feather icon-download">导出<span>';
  15. /**
  16. * Handle the action request.
  17. *
  18. * @param Request $request
  19. *
  20. * @return Response
  21. */
  22. public function handle(Request $request)
  23. {
  24. $url = '/delivery_report_export?';
  25. $name = $request->get('name', '');
  26. $horsemanId = $request->get('horseman_id',0);
  27. $marketId = $request->get('market_id',0);
  28. $storeId = $request->get('user_id',0);
  29. $startTime = $request->get('start_time','');
  30. $endTime = $request->get('end_time','');
  31. if(!empty($name)){
  32. $url .= '&name='.$name;
  33. }
  34. if(!empty($horsemanId)){
  35. $url .= '&horseman_id='.$marketId;
  36. }
  37. if(!empty($marketId)){
  38. $url .= '&market_id='.$marketId;
  39. }
  40. if(!empty($storeId)){
  41. $url .= '&user_id='.$storeId;
  42. }
  43. if(!empty($startTime)){
  44. $url .= '&start_time='.$startTime;
  45. }
  46. if(!empty($endTime)){
  47. $url .= '&end_time='.$endTime;
  48. }
  49. return $this->response()
  50. ->success('导出中~')
  51. ->redirect($url);
  52. }
  53. public function parameters()
  54. {
  55. return [
  56. 'name' => request()->input('name', ''),
  57. 'horseman_id' => request()->input('horseman_id',0),
  58. 'market_id' => request()->input('market_id',0),
  59. 'user_id' => request()->input('user_id',0),
  60. 'start_time' => request()->input('start_time',''),
  61. 'end_time' => request()->input('end_time',''),
  62. ];
  63. }
  64. /**
  65. * @return string|array|void
  66. */
  67. public function confirm()
  68. {
  69. return '确定导出数据吗?';
  70. }
  71. /**
  72. * @param Model|Authenticatable|HasPermissions|null $user
  73. *
  74. * @return bool
  75. */
  76. protected function authorize($user): bool
  77. {
  78. return true;
  79. }
  80. }