OrderIssuePerformanceController.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Owner;
  4. use App\Services\OrderIssuePerformanceService;
  5. use App\Services\OrderIssueWorkLoadService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Auth;
  8. use Illuminate\Support\Facades\Gate;
  9. class OrderIssuePerformanceController extends Controller
  10. {
  11. public function __construct()
  12. {
  13. app()->singleton('orderIssueWorkLoadService', OrderIssueWorkLoadService::class);
  14. app()->singleton('service', OrderIssuePerformanceService::class);
  15. }
  16. public function index(Request $request)
  17. {
  18. if (!Gate::allows('订单管理-问题件-绩效统计')) {
  19. return redirect(url('/'));
  20. }
  21. /** @var OrderIssuePerformanceService $service */
  22. $service = app('orderIssuePerformanceService');
  23. $performance = $service->paginate($request->all());
  24. $options = ['timeFrame' => $request->input('timeFrame'), 'create_start' => $request->input('create_start') ?? '', 'create_end' => $request->input('create_end') ?? ''];
  25. return view('order.issue.performance', compact('performance', 'options'));
  26. }
  27. public function export(Request $request)
  28. {
  29. $service = app('orderIssuePerformanceService');
  30. return $service->exportPerformance($request->all());
  31. }
  32. public function workLoadPage(Request $request)
  33. {
  34. if (!Gate::allows('订单管理-问题件-工作量')) {
  35. return redirect(url('/'));
  36. }
  37. /** @var OrderIssueWorkLoadService $workLoadService */
  38. $workLoadService = app('orderIssueWorkLoadService');
  39. $workLoads = $workLoadService->paginate($request->all());
  40. $users = $workLoadService->getUsers();
  41. $owners = $workLoadService->getOwners();
  42. $options =$workLoadService->getOptions($request->all());
  43. return view('order/issue/workload', compact('workLoads', 'owners', 'users','options'));
  44. }
  45. public function exportWorkLoad(Request $request)
  46. {
  47. $workLoadService = app('orderIssueWorkLoadService');
  48. return $workLoadService->exportWorkLoad($request->all());
  49. }
  50. }