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

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