web开发--扩展费用报销单报销人职员F7原创
6人赞赏了该文章
368次浏览
编辑于2022年03月03日 13:48:19
扩展费用报销单报销人职员F7,下面以8.2版本为例
如下图,费用报销单报销人只能选择当前组织,并添加了过滤条件,现需要二开修改,
要求能选择所有组织全部员工,即把过滤条件去掉,并且左树能选择所有组织
首先查出过滤条件是在那里添加的,调试过程如下图:
通过调试可知,有两个过滤条件:
var customFilter = this._getCustomFilter();
var specialFilter = this._getSpecialFilter();
getCustomFilter()这个过滤条件是可以自定义重写的,在BizAccountBill_Edit_Open的
getApplierFilter()方法进行了重写,
getSpecialFilter()这个方法不能扩展,但是设置显示所有组织的话,这个过滤条件则为空。
所以现在只要设置显示所有组织,并且把getCustomFilter()的过滤条件重写即可。
方法如下:
1、设置职员F7显示所有组织
但是8.2版本设置显示组织不生效,调试如下:
allAdmin获取不到正确的值,导致设置显示所有组织不生效,这是8.2版本的bug,需要出补丁处理
下面会通过扩展的方法修改此bug。
2、扩展修改过滤条件
脚本:
/**************************提示:只允许修改开发区域,其他区域会被覆盖!********************************/ mod.definePage("extend/cp/bc/js/BizAccountBill_Edit_Open011",function(waf){ //@beginUseModule var bizCollBillBase = mod.useSync("cp/bc/js/bizCollBillBase"); var promptExpenseType = mod.useSync("cp/bc/js/promptExpenseType"); var websocket_eas = mod.useSync("cp/bc/js/websocket_eas"); var BizAccountBill_Edit_Open = mod.useSync("cp/bc/js/BizAccountBill_Edit_Open"); //@endUseModule var _public = {},_private = {},me=_self; //@beginPublic waf.extend(_public,{ }); //@endPublic //@beginTemplateFunctions //@endTemplateFunctions /**************************开发区域开始**********************************************/ //@beginPrivate waf.extend(_private,{ getPersonF7Filter:function(){ return ""; } });//@endPrivate BizAccountBill_Edit_Open.setInitComponentOpt = function(type,option,com){ //先调用标准方法 _self.setInitComponentOpt(type,option,com); //二开处理 // 设置页面控件属性 var model = _self.getCurrentModel(); var initData = bizCollBillBase.getModelInitData(); switch (option.id) { case "applier": // 申请人F7 option.subWidgetOptions = { filteritem: _private.getPersonF7Filter(), allAdmin:true }; break; } } /**************************开发区域结束**********************************************/ return _public; });
效果:
赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读