F7连带、过滤与编辑表格的计算

1.样例说明

F7连带与过滤条件:
1)表头的过滤功能 - - 点击“组织”F7控件,选中后,通过js改变“审核人”F7控件的查询结果
2)表头的连带功能 - - 点击“审核人”F7控件,选中后,连带把“审核人姓名”值带出并且赋值
3)分录的过滤功能 - - 点击“组织”F7控件,选中后,通过js改变“物料”F7控件的查询结果
4)分录的连带功能 - - 点击“物料”F7控件,选中后,连带把“计量单位”值带出并且赋值
5)编辑表格的计算 - - 点击“单价”或者“数量”后,进行“金额”的重新计算

2.表头的过滤功能

2.1样例配置如下图所示:
F7连带与过滤条件

2.2关键代码:

changeAuditor:function(event,value){
    var cu = value.current;
    //按照组织的id进行过滤,筛选审核人
    waf('#auditor').wafPromptStandard('option','filteritem',"cU.id='"+cu.id+"'");
}

2.3显示效果:
点击“组织”F7控件前,“审核人”F7控件显示列表数据
F7连带与过滤条件

点击“组织”F7控件后,“审核人”F7控件显示列表数据
F7连带与过滤条件

3.表头的连带功能

3.1样例配置如下图所示:
F7连带与过滤条件

3.2关键代码:

changeDescription:function(event,value){
    var authorName = value.current.name;
    waf("#description").wafText("setValue", authorName[waf.getContext().locale]);
}

3.3显示效果:
F7连带与过滤条件

4.分录的过滤功能

4.1样例配置如下图所示:
F7连带与过滤条件

4.2关键代码:

changeAuditor:function(event,value){
    var cu = value.current;
    //按照组织的id进行过滤,筛选分录表格中的物料
    waf('#entrys').wafGrid('setCellEditorAllConfig', "item","filteritem","cU.id='"+cu.id+"'","promptGrid",null); 
}

4.3显示效果:
点击“组织”F7控件前,“物料”F7控件显示列表数据
F7连带与过滤条件

点击“组织”F7控件后,“物料”F7控件显示列表数据
F7连带与过滤条件

5.分录的连带功能

5.1样例配置如下图所示:
F7连带与过滤条件

5.2关键代码:

changeUnitByGrid:function(rowid,cellname,value,iRow,Col,oldValue){
     if (cellname == 'item') {                                   //“物料”单元格
        var unit = value.baseUnit;                
        waf('#entrys').wafGrid('setCell',rowid,'unit',unit);    //把“单价”单元格赋值
    }
}

5.3显示效果:
F7连带与过滤条件

6.分录的计算功能

6.1样例配置如下图所示:
F7连带与过滤条件

6.2关键代码:

changeUnitByGrid:function(rowid,cellname,value,iRow,Col,oldValue){
    var price = 0.0;
    var qty = 0.0;
    var amnt = 0.0;
    
    if (cellname == 'price') {                            //“单价”单元格
        price = value;
        qty = waf('#entrys').wafGrid('getCell',rowid,'qty');
        amnt = price * qty                                //计算金额
    	waf('#entrys').wafGrid('setCell',rowid,'amnt',amnt);
    }else if (cellname == 'qty') {                        //“数量”单元格
        qty = value;
        price = waf('#entrys').wafGrid('getCell',rowid,'price');
        amnt = price * qty                                //计算金额
   		waf('#entrys').wafGrid('setCell',rowid,'amnt',amnt);
    }
    
}

6.3显示效果:
F7连带与过滤条件

7.样例演示

1.配置页面

2.预览页面

相关样例