在复选框选中多个值作为参数,传递到另一个报表页面

js脚本传参会出现参数未分隔,怎么通过点击多单打印按钮将单号参数传递到另一个页面BBE8687E-9CD9-440c-8E20-C1D335653CC4.png

var products = [];

var paths =[];

var $span = $('.fr-checkbox-checkon');

var $tds = $("td").has($span);

var $trs = $("tr").has($tds);

//alert($trs.length);

for (var i = 0; i < $trs.length; i++) {

var row = $("td:eq(0)", $($trs[i])).attr("row");

// alert('row:'+row);

products.push(contentPane.getCellValue(2, row));

}

// alert(products);

var printurl = "#";

//var printurl = "";

var p = [];

if (products.length > 0) {

//alert("需打印单据数:" + products.length);

var m = products.length - 1;

for (var j = 0; j <= products.length - 1; j++) {

if (products[j] == ''||products[j] == '单号') {

products.remove('');

products.remove('单号');

}

//p.push("{reportlet: '/打印测试/吊牌打印A.cpt', DJBH : " + products[j] + "}");

p.push(products[j]);

}

} else {

alert("请选择需要打印的单据");

}

// alert(p);

var cptpath = "/报表测试/#/WMS/商品出库.cpt";

var urlstring = "{reportlet:" + "'" + FR.cjkEncode(cptpath) + "'" +

",DJBH :" + "'" + p +"'}"; 

paths.push(urlstring);

 

if(paths.length>0){

//将参数值组成的数组转化为字符串

var rpaths=paths.join(","); 

//使用FineReport自带的方法cjkEncode进行转码

var reportlets="["+rpaths+"]";  

var config = {

printUrl : printurl,

printType : 0, 

// 是否弹出设置窗口,true为弹出,false为不弹出

isPopUp : false,

data : {reportlets:reportlets},// 需要打印的模板列表

     printType: 0 // 打印类型,0为零客户端打印,1为本地打印

     };            

FR.doURLPrint(config);

}

FineReport qq1650140833 发布于 2021-9-16 08:19 (编辑于 2021-9-16 08:48)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
孤陌Lv6资深互助
发布于2021-9-16 08:52

数据集的SQL里 直接用公式把逗号转换成','就可以了

最佳回答
0
陈阿大Lv5初级互助
发布于2021-9-16 08:25

image.png

最佳回答
0
snrtuemcLv8专家互助
发布于2021-9-16 08:51

参考JS实现批量选择数据并打印-https://help.fanruan.com/finereport/doc-view-624.html

  • 4关注人数
  • 491浏览人数
  • 最后回答于:2021-9-16 08:52
    请选择关闭问题的原因
    确定 取消
    返回顶部