diff --git a/app/common/service/ApprovalRecordsService.php b/app/common/service/ApprovalRecordsService.php index c5ea74a..386480d 100644 --- a/app/common/service/ApprovalRecordsService.php +++ b/app/common/service/ApprovalRecordsService.php @@ -61,7 +61,7 @@ class ApprovalRecordsService // if (!in_array(1, $request->user->role_ids)) { // $config['where']['approver_id'] = $request->user->uid; // } - $roles_id = array_intersect([1,5,6], $request->user->role_ids); + $roles_id = array_intersect([1,6], $request->user->role_ids); if(count($roles_id) == 0){ if(in_array(4, $request->user->role_ids)){ $report = User::where('report_to',$request->user->uid)->pluck('id')->toArray(); @@ -89,8 +89,31 @@ class ApprovalRecordsService } if ($p['scene'] === 'history') { - if (!in_array(1, $request->user->role_ids) && !in_array(5, $request->user->role_ids)) { - $config['where']['approver_id'] = $request->user->uid; +// if (!in_array(1, $request->user->role_ids) && !in_array(5, $request->user->role_ids)) { +// $config['where']['approver_id'] = $request->user->uid; +// } + $roles_id = array_intersect([1,6], $request->user->role_ids); + if(count($roles_id) == 0){ + if(in_array(4, $request->user->role_ids)){ + $report = User::where('report_to',$request->user->uid)->pluck('id')->toArray(); + $report = array_merge($report, [$request->user->uid]); + $config['where']['approver_id'] = ['in',$report]; + } elseif (in_array(5, $request->user->role_ids)){ //内勤 + $userGroupMember = UserGroupMembers::where('user_id',$request->user->uid) + ->where('is_leader',1) + ->first(); + if($userGroupMember){ + $report = UserGroupMembers::where('group_id',$userGroupMember->group_id) + ->pluck('user_id') + ->toArray(); + $report = array_merge($report, [$request->user->uid]); + $config['where']['salesperson_id'] = ['in',$report]; + }else{ //内勤没有负责的组时 + $config['where']['salesperson_id'] = $request->user->uid; + } + } else { + $config['where']['approver_id'] = $request->user->uid; + } } $config['where']['status'] = ['!=', 'pending']; }