JS参数获取问题

1750657069103.png

1750657250000.png

var url = '/webroot/decision/view/report?reportlets='; //定义url

var pars = '&format=excel&__filename__=主数据项目字典'; //设置导出格式和导出文件名称

var path = "${reportName}"; //获取模板名称和路径

//获取模板中参数值,以数组形式存储,每个参数值对应一个sheet

var json = [];

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

var sheet = {

reportlet: path,

type: area[i]

};

json.push(sheet);

}

jsonStr = encodeURIComponent(JSON.stringify(json)); //对url进行encodeURIComponent编码

url += jsonStr; //给url添加模板参数

url += pars; //给url添加导出参数

console.log(url);

console.log("area    "+ area);

console.log("typeof   "+typeof(area));

//alert(url);//打印url

//window.open(url);

为什么这里的area 获取是null  ,参数type的分隔符是','

FineReport 睿驰曼 发布于 2025-6-23 13:41 (编辑于 2025-6-23 13:41)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
CD20160914Lv8专家互助
发布于2025-6-23 14:55

如果参数变了,用公式是获取不到的,你这样只有默认值!!!改成类似如下就行了,

全部用js写

let type =_g().getParameterContainer().getWidgetByName("type").getValue();

//改成你的表名称与字段,从where 后面不要改,只改前面加粗就行了

let sql='=sql("FRDemo","SELECT count(*) as tn from 订单 where 执行课室 in(\''+type+'\')",1,1)';

var aa=FR.remoteEvaluate(sql);

let area=aa.split("','");

var url = '/webroot/decision/view/report?reportlets='; //定义url

var pars = '&format=excel&__filename__=主数据项目字典'; //设置导出格式和导出文件名称

var path = "${reportName}"; //获取模板名称和路径

//获取模板中参数值,以数组形式存储,每个参数值对应一个sheet

var json = [];

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

var sheet = {

reportlet: path,

type: area[i]

};

json.push(sheet);

}

jsonStr = encodeURIComponent(JSON.stringify(json)); //对url进行encodeURIComponent编码

url += jsonStr; //给url添加模板参数

url += pars; //给url添加导出参数

console.log(url);

console.log("area    "+ area);

console.log("typeof   "+typeof(area));

最佳回答
0
用户k6280494Lv6专家互助
发布于2025-6-23 13:44(编辑于 2025-6-23 13:45)

把这个公式放在单元格看下 有没有值 没值说明你公式有问题哦

image.png

  • 睿驰曼 睿驰曼(提问者) 我输入示例: 2903','3003 ,能出结果 2903,3003
    2025-06-23 14:00 
  • 睿驰曼 睿驰曼(提问者) 这边的$type 是下拉复选框参数名,我设置的是','分隔符
    2025-06-23 14:01 
  • 用户k6280494 用户k6280494 回复 睿驰曼(提问者) '"+REPLACE($type,",","','")+"' 替换一下
    2025-06-23 14:07 
  • 睿驰曼 睿驰曼(提问者) 回复 用户k6280494 这个替换的前提是分隔符是 , 吧,我的分隔符现在设置的是 ',',我也是过,没用的,感觉还是我这里的SQL()有问题,我写死数据,就有了
    2025-06-23 14:20 
  • 3关注人数
  • 49浏览人数
  • 最后回答于:2025-6-23 14:55
    请选择关闭问题的原因
    确定 取消
    返回顶部