OrderIssuePerformanceController.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. if (!Gate::allows('订单管理-问题件-绩效统计')) {
  18. return redirect(url('/'));
  19. }
  20. $service = app('orderIssuePerformanceService');
  21. $performance = $service->paginate($request->all());
  22. $options = ['timeFrame'=>$request->input('timeFrame'),'create_start'=>$request->input('create_start')??'','create_end'=>$request->input('create_end')??''];
  23. return view('order.issue.performance',compact('performance','options'));
  24. }
  25. public function export(Request $request){
  26. $service = app('orderIssuePerformanceService');
  27. return $service->exportPerformance($request->all());
  28. }
  29. public function workLoadPage(Request $request){
  30. if (!Gate::allows('订单管理-问题件-工作量')) {
  31. return redirect(url('/'));
  32. }
  33. $workLoadService = app('orderIssueWorkLoadService');
  34. $workLoads = $workLoadService->paginate($request->all());
  35. $user = Auth::user();
  36. $owner_ids = $user ? $user->getPermittingOwnerIdsAttribute() : [];
  37. $owners = Owner::where('id',$owner_ids)->get();
  38. $users = $workLoadService->getUsers();
  39. return view('order/issue/workload',compact('workLoads','owners','users'));
  40. }
  41. public function exportWorkLoad(Request $request){
  42. }
  43. }