找回密码
 注册成为天翎用户
查看: 288|回复: 1

[已解决] 如何使下拉框联动时修改数据库,旧数据正常显示?

[复制链接]
June 发表于 2021-5-27 20:20:03 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:v4.4- sp XX
【浏览器类型】:Chrome/其他
【联系方式-QQ】:请留下您的QQ号码
【联系电话】:    请留下您的联系电话,以便技术同事更好解决您的问题
【问题描述】:原本有区域和分公司联动,如果修改了区域和分公司的关系,旧数据中该区域的分公司不显示?









1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"
 楼主| June 发表于 2021-5-27 20:23:12 | 显示全部楼层
你好,因为下拉框联动是根据区域查询数据库返回分公司给你选择的,所以当关系变动时,原本的旧关系已变动所以不显示,可以通过脚本来展示。如下:
(function() {      
var areavalue = getItemValueAsString("AREA");
var company = getItemValueAsString("COMPANY");
var Process=getDepartmentProcess();
var opts = $TOOLS.createOptions();
if(areavalue!=null && areavalue.trim().length()>0){
    opts.add("","");
        var sql="select * from tlk_REGION_COMPANY where item_AREA ='"+areavalue+"'";   
        println("sql=="+sql);   
        var data=findBySQL(sql);   
        if(data!=null){   
          var COMPANY=data.getItemValueAsString("COMPANY");   
          println("COMPANY=="+COMPANY);   
          if(COMPANY!=null&&!"".equals(COMPANY)){   
                  var COMPANYS=COMPANY.split(';');   
                  for (var i = 0; i <COMPANYS.length; i++) {   
                          var dept=Process.doView(COMPANYS[i]);   
                          if(dept!=null){   
                                  opts.add(dept.getName(),dept.getId());   
                          }   
                                 
                  }   
          }   
        }     
}
if(company != null){
    var sql="select * from tlk_REGION_COMPANY where item_AREA ='"+areavalue+"'"+"AND item_COMPANY ='"+company+"'" ;   
    var data=findBySQL(sql);  
    if(data == null){
        var dept=Process.doView(company);   
        if(dept!=null){   
            opts.add(dept.getName(),dept.getId());   
        }
    }
}
return opts;
})();
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 06:00

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表