diff --git a/inventory-backend/app/api/v1/inbound/semi.py b/inventory-backend/app/api/v1/inbound/semi.py index faa7e58..dcf1cac 100644 --- a/inventory-backend/app/api/v1/inbound/semi.py +++ b/inventory-backend/app/api/v1/inbound/semi.py @@ -95,7 +95,16 @@ def get_list(): ) user_permissions = get_current_user_permissions() if result.get('items'): - result['items'] = [filter_item_by_permissions(item, user_permissions) for item in result['items']] + # ★ 字段权限过滤会剥离 base_id,但前端扫码/选物料联动需要它匹配历史批号 + # 在过滤前保留 base_id,过滤后补回(非敏感字段,仅物料关联 ID) + preserved_items = [] + for item in result['items']: + base_id = item.get('base_id') + filtered = filter_item_by_permissions(item, user_permissions) + if base_id is not None: + filtered['base_id'] = base_id + preserved_items.append(filtered) + result['items'] = preserved_items return jsonify({"code": 200, "msg": "success", "data": result}) except Exception as e: traceback.print_exc()