web开发--扩展费用报销单报销人职员F7原创
金蝶云社区-余路生
余路生
6人赞赏了该文章 368次浏览 未经作者许可,禁止转载编辑于2022年03月03日 13:48:19

扩展费用报销单报销人职员F7,下面以8.2版本为例

如下图,费用报销单报销人只能选择当前组织,并添加了过滤条件,现需要二开修改,

要求能选择所有组织全部员工,即把过滤条件去掉,并且左树能选择所有组织

1.png


首先查出过滤条件是在那里添加的,调试过程如下图:

2.png


3.png


4.png


5.png


6.png


7.png



通过调试可知,有两个过滤条件:
var customFilter = this._getCustomFilter();

var specialFilter = this._getSpecialFilter();

 

getCustomFilter()这个过滤条件是可以自定义重写的,在BizAccountBill_Edit_Open

getApplierFilter()方法进行了重写,

getSpecialFilter()这个方法不能扩展,但是设置显示所有组织的话,这个过滤条件则为空。

 

所以现在只要设置显示所有组织,并且把getCustomFilter()的过滤条件重写即可。

方法如下:

1、设置职员F7显示所有组织

8.png


但是8.2版本设置显示组织不生效,调试如下:

12.png


11.png

allAdmin获取不到正确的值,导致设置显示所有组织不生效,这8.2版本的bug,需要出补丁处理

下面会通过扩展的方法修改此bug

2、扩展修改过滤条件

2.png


脚本:

/**************************提示:只允许修改开发区域,其他区域会被覆盖!********************************/
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;
});

效果:

10.png


图标赞 6
6人点赞
还没有人点赞,快来当第一个点赞的人吧!
图标打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!