永洪社区
标题: 页面跳转后传参组件取数失败 [打印本页]
作者: 感谢论坛的大神 时间: 2022-5-23 10:00
标题: 页面跳转后传参组件取数失败
现在(1)中的参数没有取到,但界面上该组件显示已经取到了“3”,详见附图)
(1)param["机构权限等级范围"]
过滤条件1 → 范围传参组件(值从数据集中取) 【跳转后组件显示值正确,但debug中未取到正确值】
(2)param["orgidNew"]
页面加载脚本(根据test参数是否为null)→对过滤条件1进行赋值 【取到正确值】
(3)param["test"]/param["test1"]
点击交叉表页面跳转时→将表中参数test/test1传到下一个页面 【跳转后取到正确的值】
作者: _YH_lashi 时间: 2022-5-23 10:00
,你试试 这个 自己给自己 设置 一下 自己的数据呢?
//获取范围参数的绑定值并设置值
var b5=getData('机构权限等级范围');
var W5size=b5.size();
var arrb5=new Array();
for(i=W5size-1; i>0; i--){
arrb5=b5.get(i,0);
}
机构权限等级范围.setSelectedObjects(arrb5,STRING);
作者: 永洪tech-cc 时间: 2022-5-23 10:18
您好,这边正在帮您处理中,麻烦您稍微等下,解决后给您答复。
作者: 永洪tech-cc 时间: 2022-5-23 10:43
能发一下您的完整脚本吗?
作者: 感谢论坛的大神 时间: 2022-5-23 11:04
【装载时】
//写死机构号进行验证
param["orgId"]="A0001"
//用户控制
if(param["orgId"]=="A0001"){
param["orgidNew"] ="A0021"
} else{
param["orgidNew"]=param["orgId"]
}
//跳转传机构号
if(trim(param["test"])=="null"){
param["orgidNew"]=param["orgidNew"]
} else{
param["orgidNew"]=param["test"]
}
if(trim(param["机构权限等级范围"])=='null'){
机构明细图表.visible=false;
图表时间.visible=false;
图表单位.visible=false;
} else{
机构明细图表.visible=true;
图表时间.visible=true;
图表单位.visible=true;
}
【变化时】
//组件显示
var vdata= getData("机构明细图表",DATA);
var empty = vdata.get(2,3)== null;
if(empty){
机构明细图表.mobileVisible=false;
图表单位.mobileVisible=false;
图表时间.mobileVisible=false;
} else{
机构明细图表.mobileVisible=true;
图表单位.mobileVisible=true;
图表时间.mobileVisible=true;
}
clearData();
作者: 感谢论坛的大神 时间: 2022-5-23 11:06
装载:
debug("装载时test1:"+param["test1"])
debug("装载时等级范围:"+param["机构权限等级范围"])
debug("装载时orgidNew:"+param["orgidNew"])
变化:
debug("变化时test1:"+param["test1"])
debug("变化时等级范围:"+param["机构权限等级范围"])
debug("变化时时orgidNew:"+param["orgidNew"])
作者: 我有两只猫 时间: 2022-5-23 14:16
可以试试调整一下脚本顺序呢
作者: 感谢论坛的大神 时间: 2022-5-23 15:02
请问具体调哪部分脚本顺序呢?我把装载时脚本的三部分随便调了一下,也不行。 之前出现过这个情况,我们发现把if(trim(param["机构权限等级范围"])这部分的脚本放进去就没问题了,实际上这部分脚本我们是不需要的,但删掉之后会出问题。 现在过了几天,即使有这部分脚本也取不到变化时的param["机构权限等级范围"]了。。。
作者: 永洪tech-cc 时间: 2022-5-23 15:10
您是想实现什么场景写这些脚本呢
作者: _YH_lashi 时间: 2022-5-23 15:35
本帖最后由 _YH_lashi 于 2022-5-23 15:41 编辑
有点没看懂,实在不行的话,我远程看看你的问题
作者: 感谢论坛的大神 时间: 2022-5-23 15:42
1.交叉表中对“机构名称”(列1)设置了超链接,点击表中某一个机构后,将所点机构的“机构号”(列2,被隐藏)传给test,再根据判断条件将test赋值给orgidNew;所点机构的"等级加一"被赋值给test1。
2. ?{机构权限等级范围} 这个参数的过滤条件是机构号=?{orgidNew} (值来源于数据集,我们在数据集里对每一行数据对应的“机构等级”进行了打标。比如某机构是一级机构,那么,“机构等级”=1,“等级加一“=2。作为一个下辖表,一级机构的用户在交叉表里看到的机构应该是二级的)
3.交叉表中涉及的过滤条件是 : ①等级加一 不是 =?{test1} ;② 机构等级 是 =?{机构权限等级范围} ③机构 是 =?{orgidNew}
现在的问题是:?{机构权限等级范围}没取到数,导致过滤条件失效,没有在表中筛选出我们的目标数据。
作者: 感谢论坛的大神 时间: 2022-5-23 15:44
没法远程,我们用的公司内网开发,只能给您发视频或者图片。 您看看下一楼我的描述?
作者: 感谢论坛的大神 时间: 2022-5-23 15:44
10楼的描述
作者: _YH_lashi 时间: 2022-5-23 17:02
方便拿一下报告看看吗?麻烦从管理系统->资源部署里,导出有问题的报告(数据集),以供我们本地分析一下,谢谢~
作者: 感谢论坛的大神 时间: 2022-5-23 17:13
可以,怎么给你们?
=
作者: 永洪tech-cc 时间: 2022-5-23 17:26
您直接粘贴附件就可以的,如果不想让其他人下载,可以设置为只能管理员下载
作者: 感谢论坛的大神 时间: 2022-5-23 17:37
数据集做了测试版EXCEL的给你们,麻烦您导一下。 原报告数据集是直接连数据库用SQL建的。
想沟通高效一点的话,您可以加我V:Nefelibata12890
作者: 永洪tech-cc 时间: 2022-5-23 18:12
您好,这边正在帮您处理中,麻烦您稍微等下,解决后给您答复。
作者: _YH_lashi 时间: 2022-5-23 18:12
我看报告的脚本里面没有对这个 param["机构权限等级范围"]) 赋值 ,您先赋值看看是不是 就对了
作者: _YH_lashi 时间: 2022-5-23 18:27
作者: 感谢论坛的大神 时间: 2022-5-23 18:28
这个值是从组件里取的,有一个范围传参组件,被我隐藏了,是一个拖动条,您在报告里看得到吗?
作者: 感谢论坛的大神 时间: 2022-5-23 18:33
我试过把它调到最前面,或者用户控制和跳转机构号中间,也试过变化时运行里放到最前面,均无果。
您说的赋值是开头写死一个值吗?
作者: _YH_lashi 时间: 2022-5-23 18:39
或者直接用组件的脚本,getselectedObjects()[0] 试试
?
作者: 感谢论坛的大神 时间: 2022-5-23 18:50
var fselect=机构权限等级范围.getSelectedObjects();
debug(param["fselect"]);
跳转后结果是Null。
作者: _YH_lashi 时间: 2022-5-23 18:52
本帖最后由 _YH_lashi 于 2022-5-23 18:54 编辑
这个 debug(fselect) 不需要带 param 了吧,如果是null 说明组件有问题了
作者: 感谢论坛的大神 时间: 2022-5-23 18:55
不带param,弹窗报错:[Ljava.lang.Object;@40b02f7f
作者: 感谢论坛的大神 时间: 2022-5-23 18:57
下拉传参组件也有问题,我之前用的是下拉参数组件,设置里选了”默认选中第一个值“,结果执行出来根本不选默认第一个值,才换了范围传参组件。
作者: _YH_lashi 时间: 2022-5-23 19:08
加个 [0] 在后面呢
作者: _YH_lashi 时间: 2022-5-23 19:10
那估计整个组件都有问题
作者: 感谢论坛的大神 时间: 2022-5-24 08:40
加[0],跳转之后获取到的是"undefined"
作者: 感谢论坛的大神 时间: 2022-5-24 09:01
组件有问题有方法解决吗?
作者: Fiona 时间: 2022-5-24 09:15
//param["机构权限等级范围"]
您把这段注释加到装载时运行脚本的最前面试一下。
作者: 感谢论坛的大神 时间: 2022-5-24 10:38
试了,不行。
在初始页面能取到组件的数,超链接跳转传参之后就”undefined“。
作者: _YH_lashi 时间: 2022-5-24 11:22
我们再看看
作者: Fiona 时间: 2022-5-24 11:31
getData("机构权限等级范围",DATA)
这行加到最前面试下呢
作者: 感谢论坛的大神 时间: 2022-5-24 12:00
在加载时脚本前面加这行之后,跳转后也是"undeifind", 甚至影响到了变化时脚本里对表格可见性的控制,跳转后的表格都被隐藏了。
作者: _YH_lashi 时间: 2022-5-24 12:02
我能远程给你调吗? 看看你的场景 看看 最适合的方式吧
作者: 感谢论坛的大神 时间: 2022-5-24 14:53
外网没法远程进我们内网,我昨天下午把jar包发在论坛里,那个您能下载吗? 或者视频给您直播,你指挥我调行吗?
作者: _YH_lashi 时间: 2022-5-24 14:59
可以,直播吧
作者: 感谢论坛的大神 时间: 2022-5-24 15:08
加我微信吧 : Nefelibata12890
视频通话
作者: _YH_lashi 时间: 2022-5-24 15:46
加不上
作者: 感谢论坛的大神 时间: 2022-5-24 16:54
看私信?
作者: _YH_lashi 时间: 2022-5-24 17:09
好
作者: _YH_lashi 时间: 2022-5-25 09:35
本帖最后由 _YH_lashi 于 2022-5-25 10:20 编辑
机构权限等级范围.getObjects()[0][0] 用这个 东西 再 转一道 参数 给 对应的图表 应该 就可以了 ,问题我们再看看
作者: 感谢论坛的大神 时间: 2022-5-25 10:18
_YH_lashi 发表于 2022-5-25 09:35
我其实不太懂这个 必选 的含义,你取消 机构权限等级范围 组件的必选 好像就可以了 ...
您说的是这里的必选吗?我试着取消掉了,也不行呀。你有改脚本吗?
作者: _YH_lashi 时间: 2022-5-25 10:20
机构权限等级范围.getObjects()[0][0] 用这个 东西 再 转一道 参数 给 对应的图表 应该 就可以了 ,问题我们再看看
作者: 感谢论坛的大神 时间: 2022-5-25 10:32
是 机构权限等级范围.getSelectedObjects()[0] 吗? 用”机构权限等级范围.getObjects()[0][0]“报错了,没有这个方法。 您是写在组件脚本上还是页面加载脚本上?我咋试不出来呢。
作者: _YH_lashi 时间: 2022-5-25 10:35
你试试我这个呢?
作者: 感谢论坛的大神 时间: 2022-5-25 10:46
"资源版本比当前系统版本高,无法运行" 我们的版本是9.2.3.2b。 要不您把脚本粘贴给我?
作者: _YH_lashi 时间: 2022-5-25 10:47
本帖最后由 _YH_lashi 于 2022-5-25 10:49 编辑
范围参数2 是直接 复制的 机构权限等级范围
装载时 :
//写死机构号验证
param["orgId"]="14304"
//用户控制
if(param["orgId"]=="14304"){
param["orgidNew"] ="B4410"
} else{
param["orgidNew"]=param["orgId"]
}
//debug(param["test"])
//跳转传机构号
if(trim(param["test"])=="null"){
//debug(param["test"])
param["orgidNew"]=param["orgidNew"]
} else{
param["orgidNew"]=param["test"]
}
/*
if(trim(param["机构权限等级范围"])=='null'){
机构明细图表.visible=false;
图表时间.visible=false;
图表单位.visible=false;
} else{
机构明细图表.visible=true;
图表时间.visible=true;
图表单位.visible=true;
}
*/
机构明细图表.visible=true;
图表时间.visible=true;
图表单位.visible=true;
变化时:
//写死机构号验证
param["orgId"]="14304"
//用户控制
if(param["orgId"]=="14304"){
param["orgidNew"] ="B4410"
} else{
param["orgidNew"]=param["orgId"]
}
//debug(param["test"])
//跳转传机构号
if(trim(param["test"])=="null"){
//debug(param["test"])
param["orgidNew"]=param["orgidNew"]
} else{
param["orgidNew"]=param["test"]
}
//组件显示
//debug(param["orgidNew"])
//debug(param["机构权限等级范围"])
//debug(机构权限等级范围.getSelectedObjects()[1])
var vdata= getData("机构明细图表",DATA);
var empty = vdata.get(0,0)== null;
if(empty){
机构明细图表.mobileVisible=true;
图表单位.mobileVisible=true;
图表时间.mobileVisible=true;
} else{
机构明细图表.mobileVisible=true;
图表单位.mobileVisible=true;
图表时间.mobileVisible=true;
}
clearData("范围参数2");
机构明细图表.visible=true;
图表时间.visible=true;
图表单位.visible=true;
debug(范围参数2.getObjects()[0][0])
作者: 永洪Tech-Una 时间: 2022-5-25 10:58
在超链接过去的报表的装载时运行脚本中补充 :
//获取范围参数的绑定值并设置值
var b5=getData('机构权限等级范围');
var W5size=b5.size();
var arrb5=new Array();
for(i=W5size-1; i>0; i--){
arrb5[i]=b5.get(i,0);
}
机构权限等级范围.setSelectedObjects(arrb5,STRING);
作者: 感谢论坛的大神 时间: 2022-5-25 11:12
no message resource found for message property msg.function.not.found.in at line 33
line 33 是: debug(范围参数2.getObjects()[0][0])
请问是不是我们版本太低了,系统里没有getObjects这个方法哈?
作者: 感谢论坛的大神 时间: 2022-5-25 11:44
修改了一下最后两行:
var f4=机构权限等级范围.setSelectedObjects(arrb5,STRING);
debug("设置参数:"+f4);
然后在范围参数组件2的脚本里也加了debug显示它的值,发现能取到3,但是表格的数据并没有变化.我如果把筛选条件里的?{机构权限等级范围}换成?{范围参数2},那么跳转前的表格筛选出来的数据就不对了。
下一楼附图
作者: 感谢论坛的大神 时间: 2022-5-25 11:45
跳转后执行如图
作者: _YH_lashi 时间: 2022-5-25 11:50
晚点 再 一起 调试 吧 我找一下 熟悉这个组件的同事看看
作者: 感谢论坛的大神 时间: 2022-5-25 11:56
好,下午再联系。
作者: _YH_lashi 时间: 2022-5-25 12:07
(, 下载次数: 1440)