diff --git a/app/crm/service/StockOrdersService.php b/app/crm/service/StockOrdersService.php index f5d33e9..1c3ec45 100644 --- a/app/crm/service/StockOrdersService.php +++ b/app/crm/service/StockOrdersService.php @@ -21,6 +21,25 @@ class StockOrdersService extends \app\common\service\StockOrdersService switch ($scene) { case 'index': + // ====== view_scope:仅 user_id=73 生效,最高优先级,覆盖下方业务id默认值与角色范围逻辑 ====== + $viewScope = $p['view_scope'] ?? ''; + if ($request->user->uid == 73 && in_array($viewScope, ['all', 'self'], true)) { + if ($viewScope === 'self') { + $config['where']['salesperson_id'] = $request->user->uid; // 只看自己(含自己草稿) + } else { // 'all':自己和别人的,排除草稿(approval_status=0) + $config['where']['approval_status'] = ['>=', 1]; + } + $config['where']['is_final'] = $p['is_final'] ?? 0; + if (isset($p['keyword']) && $p['keyword']) { + $k = '%' . $p['keyword'] . '%'; + foreach (['pi_no', 'order_no', 'customer_snapshot'] as $col) { + $config['orWhere'][] = [$col, 'like', $k]; + } + } + $config['order']['id'] = 'desc'; + break; // 最高优先级:跳过下方业务id默认值与角色范围逻辑 + } + // ====== ====== 筛选 ====== ====== // 业务id if (isset($p['salesperson_id']) && $p['salesperson_id']) {