You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel打印功能异常:点击打印未传递搜索筛选后的数据

问题解决方法

问题出在打印请求没有携带当前页面的筛选参数,导致控制器无法应用筛选条件,返回了全部数据。直接修改前端打印函数,把当前页面的搜索参数一并传递给打印接口即可:

前端代码修改

const handlePrint = () => {
  // 获取当前页面的所有查询参数
  const currentParams = new URLSearchParams(window.location.search);
  // 添加上打印标识参数
  currentParams.set('print', '1');
  // 拼接成完整的打印请求地址
  const printUrl = `printProductSNWLedger?${currentParams.toString()}`;
  window.open(printUrl, '_blank');
};

原理说明

原来的打印函数只传递了print=1这一个参数,没有把用户之前输入的machineries_ID、hospital_ID等筛选参数带过去。控制器的$searchParameters会从请求中获取这些参数,没有参数的话就不会添加筛选条件,自然返回全部数据。修改后,打印请求会包含当前页面的所有筛选参数,控制器就能复用已有的筛选逻辑,返回符合条件的数据给打印视图。

额外验证(可选)

可以在控制器的__invoke方法开头临时添加日志,确认打印请求是否携带了筛选参数:

// 临时添加,测试完成后可删除
Log::info('Print request parameters:', request()->all());

内容的提问来源于stack exchange,提问作者Newbie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:05:13