-
-
chestnut 数据领袖Lv6
发表于2025-1-8 18:54
楼主
维下拉实现参数联动
场景1:机构、用户两个参数联动显示,机构参数选择后,用户参数只显示对应机构下的用户。机构参数只显示本级,不显示下级用户。
实现:
两个参数均为维下拉,机构、用户所属维表为通用维,钻取路径:机构-用户。
机构参数名:@jg1,用户参数名:@yh1,维表数据库表名:F_CSCS,机构id:jgid,用户id:userid。
参数设置:
机构参数,只显示本级,节点过滤:item.level=0
用户参数,根节点显示:@jg1,节点过滤:item.level=1
如果需要用户参数只显示本级,不显示机构数据:
根节点显示:item.level=0
节点过滤:if(len(@jg)=0,item.level=1,item.parent=@jg)
注:如果直接用sql查询匹配,将会返回多个父节点不一致的值,原公式:if(len(@jg1)=0,item.level=1,item.id in ardb("select userid from F_CSCS where jgid='"+@jg1.id+"' ") and item.level=1)
场景2:机构、用户两个参数联动显示,机构参数选择后,用户参数只显示对应机构下的用户;用户参数选择后,机构参数显示机构。机构、用户参数只显示本级,不显示其他级次数据。(数据不重复时,显示值唯一)
实现:
两个参数均为维下拉,机构、用户所属维表为通用维,钻取路径:机构-用户。
机构参数名:@jg,用户参数名:@yh,维表数据库表名:F_CSCS,机构id:jgid,用户id:userid。
参数设置:
机构参数
节点过滤:if(len(@jg)=0,item.level=1,item.parent=@jg)
(sql匹配公式:if(len(@yh)=0,item.level=0,item.id in ardb("select JGID from F_CSCS where userid='"+@yh.id+"' ") and item.level=0) ,数据不唯一时显示会重复)
用户参数
根节点显示:item.level=0
节点过滤:if(len(@jg)=0,item.level=1,item.id in ardb("select userid from F_CSCS where jgid='"+@jg.id+"' ") and item.level=1)
场景1:机构、用户两个参数联动显示,机构参数选择后,用户参数只显示对应机构下的用户。机构参数只显示本级,不显示下级用户。

实现:
两个参数均为维下拉,机构、用户所属维表为通用维,钻取路径:机构-用户。
机构参数名:@jg1,用户参数名:@yh1,维表数据库表名:F_CSCS,机构id:jgid,用户id:userid。
参数设置:
机构参数,只显示本级,节点过滤:item.level=0
用户参数,根节点显示:@jg1,节点过滤:item.level=1
如果需要用户参数只显示本级,不显示机构数据:
根节点显示:item.level=0
节点过滤:if(len(@jg)=0,item.level=1,item.parent=@jg)
注:如果直接用sql查询匹配,将会返回多个父节点不一致的值,原公式:if(len(@jg1)=0,item.level=1,item.id in ardb("select userid from F_CSCS where jgid='"+@jg1.id+"' ") and item.level=1)
场景2:机构、用户两个参数联动显示,机构参数选择后,用户参数只显示对应机构下的用户;用户参数选择后,机构参数显示机构。机构、用户参数只显示本级,不显示其他级次数据。(数据不重复时,显示值唯一)

实现:
两个参数均为维下拉,机构、用户所属维表为通用维,钻取路径:机构-用户。
机构参数名:@jg,用户参数名:@yh,维表数据库表名:F_CSCS,机构id:jgid,用户id:userid。
参数设置:
机构参数
节点过滤:if(len(@jg)=0,item.level=1,item.parent=@jg)
(sql匹配公式:if(len(@yh)=0,item.level=0,item.id in ardb("select JGID from F_CSCS where userid='"+@yh.id+"' ") and item.level=0) ,数据不唯一时显示会重复)
用户参数
根节点显示:item.level=0
节点过滤:if(len(@jg)=0,item.level=1,item.id in ardb("select userid from F_CSCS where jgid='"+@jg.id+"' ") and item.level=1)