fix: 业务主管备货单列表恢复"自己+直属下属"视图
原因:生效角色列表 [1,5,6] 不含业务主管(4),且主管分支被注释, 导致主管落到默认条件只看自己。 修复:intersect 改为 [1,4,5,6],新增主管分支—— salesperson_id IN (自己 + report_to 指向自己的直属下属,一级, 不过滤审批状态即含草稿)。内勤/超管分支优先级不变。 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -61,7 +61,7 @@ class StockOrdersService extends \app\common\service\StockOrdersService
|
||||
|
||||
$user_role_id = UserRoles::where('user_id', $request->user->uid)->pluck('role_id')->toArray();
|
||||
//$roles_id = array_intersect([1,6], $request->user->role_ids);
|
||||
$roles_id = array_intersect([1,5,6], $user_role_id);
|
||||
$roles_id = array_intersect([1,4,5,6], $user_role_id);
|
||||
if (count($roles_id) != 0){
|
||||
// if(in_array(4, $request->user->role_ids)){ //业务主管
|
||||
// $report = User::where('report_to',$request->user->uid)->pluck('id')->toArray();
|
||||
@@ -88,6 +88,10 @@ class StockOrdersService extends \app\common\service\StockOrdersService
|
||||
$config['orWhere'][] = ['approval_status','>=',1];
|
||||
$config['orWhere'][] = ['salesperson_id','=',$request->user->uid];
|
||||
unset($config['where']['salesperson_id']);
|
||||
} elseif (in_array(4,$roles_id)) { //业务主管:自己+直属下属(report_to指向他,一级,含草稿)
|
||||
$report = User::where('report_to',$request->user->uid)->pluck('id')->toArray();
|
||||
$report[] = $request->user->uid;
|
||||
$config['where']['salesperson_id'] = ['in',$report];
|
||||
}else{
|
||||
$config['where']['salesperson_id'] = $request->user->uid;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user