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

91 lines
2.3 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 ReportCommunityExport 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 = '/report_community_export?';
  25. $status = $request->get('status', null);
  26. $name = $request->get('name', '');
  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($startTime) && empty($endTime)){
  32. return $this->response()->error('请先选择时间查询!');
  33. }
  34. if(!empty($status)){
  35. $url .= '&status='.$status;
  36. }
  37. if(!empty($name)){
  38. $url .= '&name='.$name;
  39. }
  40. if(!empty($marketId)){
  41. $url .= '&market_id='.$marketId;
  42. }
  43. if(!empty($storeId)){
  44. $url .= '&user_id='.$storeId;
  45. }
  46. if(!empty($startTime)){
  47. $url .= '&start_time='.$startTime;
  48. }
  49. if(!empty($endTime)){
  50. $url .= '&end_time='.$endTime;
  51. }
  52. return $this->response()
  53. ->success('导出中~')
  54. ->redirect($url);
  55. }
  56. public function parameters()
  57. {
  58. return [
  59. 'status' => request()->input('status', 0),
  60. 'name' => request()->input('name', ''),
  61. 'market_id' => request()->input('market_id',0),
  62. 'user_id' => request()->input('user_id',0),
  63. 'start_time' => request()->input('start_time',''),
  64. 'end_time' => request()->input('end_time',''),
  65. ];
  66. }
  67. /**
  68. * @return string|array|void
  69. */
  70. public function confirm()
  71. {
  72. return '确定导出数据吗?';
  73. }
  74. /**
  75. * @param Model|Authenticatable|HasPermissions|null $user
  76. *
  77. * @return bool
  78. */
  79. protected function authorize($user): bool
  80. {
  81. return true;
  82. }
  83. }