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

83 lines
2.0 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 GoodsReportExport 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 = '/goods_report_export?';
  25. $name = $request->get('name', '');
  26. $marketId = $request->get('market_id',0);
  27. $storeId = $request->get('store_id',0);
  28. $startTime = $request->get('start_time','');
  29. $endTime = $request->get('end_time','');
  30. if(!empty($name)){
  31. $url .= '&name='.$name;
  32. }
  33. if(!empty($marketId)){
  34. $url .= '&market_id='.$marketId;
  35. }
  36. if(!empty($storeId)){
  37. $url .= '&store_id='.$storeId;
  38. }
  39. if(!empty($startTime)){
  40. $url .= '&start_time='.$startTime;
  41. }
  42. if(!empty($endTime)){
  43. $url .= '&end_time='.$endTime;
  44. }
  45. return $this->response()
  46. ->success('导出中~')
  47. ->redirect($url);
  48. }
  49. public function parameters()
  50. {
  51. return [
  52. 'name' => request()->input('name', ''),
  53. 'market_id' => request()->input('market_id',0),
  54. 'store_id' => request()->input('store_id',0),
  55. 'start_time' => request()->input('start_time',''),
  56. 'end_time' => request()->input('end_time',''),
  57. ];
  58. }
  59. /**
  60. * @return string|array|void
  61. */
  62. public function confirm()
  63. {
  64. return '确定导出数据吗?';
  65. }
  66. /**
  67. * @param Model|Authenticatable|HasPermissions|null $user
  68. *
  69. * @return bool
  70. */
  71. protected function authorize($user): bool
  72. {
  73. return true;
  74. }
  75. }