业务场景:单据头含有商品分类F7字段,单据头含有商品F7字段,商品需要根据商品分类进行数据过滤。
单据分录中也含有商品F7字段,分录中商品字段同样需要根据单据头的商品类型字段进行数据过滤。
/**************************提示:只允许修改开发区域,其他区域会被覆盖!********************************/
mod.definePage("extend/custom/js/COrderEdit",function(waf){
//@beginUseModule
//@endUseModule
var _public = {},_private = {},me=_self;
//@beginPublic
waf.extend(_public,{
//控件事件描述:
goodType_onchange:function(event,value){
return _private.goodType_onchange(event,value);
}
,
//控件事件描述:
entrys_good_onfocus:function(event){
return _private.entrys_good_onfocus(event);
}
});
//@endPublic
//@beginTemplateFunctions
//@endTemplateFunctions
/**************************开发区域开始**********************************************/
//@beginPrivate
waf.extend(_private,{
// 单据头商品类型值改变事件
// 根据商品类型过滤商品
goodType_onchange:function(event, value){
// 获取商品类型
var goodType = waf("#goodType").wafPromptBox('getValue');
// alert(waf.toJSON(goodType));
var typeId = goodType.id;
// 商品实体中商品类型F7属性:goodType
waf("#good").wafPromptStandard("option", "filteritem", "goodType.id = '" + typeId + "'");
},
// 分录商品F7列控件点击事件
// 根据商品类型过滤商品
entrys_good_onfocus:function(event){
// 当前选择行
var selectedIds = waf("#entrys").dataGrid("getSelectedRows");
if(selectedIds.length == 0){
return;
}
// 当前选择行ID
var selectId = selectedIds[0];
// 获取商品类型,列名直接取实体中属性
var goodType = waf("#entrys").wafGrid("getCell", selectId, "goodType");
var filteritem = ""; //过滤条件
if(goodType && goodType.id){
filteritem += "goodType.id = '" + goodType.id + "'"
}
var rowIndex = 1; //当前行号
var ids = waf("#entrys").dataGrid("getDataIDs");
for (var i = 0; i < ids.length; i++) {
if(selectId == ids[i]){
rowIndex = (i + 1); //比对并确认当前行号
}
}
// 列名后缀取实体中属性
waf("#entrys_" + rowIndex + "_good").wafPromptStandard("option", "filteritem", filteritem);
}
});//@endPrivate
/**************************开发区域结束**********************************************/
return _public;
});