EAS WEB通用查询组件应用常见问题
金蝶云社区-miaochao_1
miaochao_1
0人赞赏了该文章 1,158次浏览 未经作者许可,禁止转载编辑于2015年12月03日 11:12:01
1、如何修改查询组件“方案查询”页签中,客户自定义添加条件中的控件属性。


事件名:cusSoluCtrlOptions

参数:(field,inputType,json)

事件说明:事件在添加自定义条件时触发,调用此方法对过滤条件控件的属性进行补充定义。需要注意的是,如果控件初始化需要依赖额外的js文件,必须在json.moduleName定义。

参数说明:field(过滤条件字段名),inputType(过滤条件控件类型),json(当前控件属性)

返回值说明:无。

样例:

在方案查询页签添加过滤条件时,组件会根据选择的过滤字段数据类型来自动创建相匹配的控件,但是在有些业务场景下,还需要对这些控件的属性做一些调整,甚至是修改为其他类型控件,这时就需要用到该事件。

具体实现方式如下:

1、在定义工具上定义该事件。


2、在js中实现自定义方法getMySoluCtrlOptions。

getMySoluCtrlOptions:function(field,inputType,json){

if (field=="handler.name") {

json.subWidgetOptions.isMulti=true;

json.subWidgetOptions.filteritem="number like '%01%'";

}

if (field=="quantity") {

json.decimalPrecision = 0;

}

}

本样例实现“经手人名称”的F7控件设置为多选,并添加额外过滤条件;“数量”的数字输入框精度设置为0。

3、通常情况下,组件默认创建的F7控件是通用F7,如果需要特定的F7,则需要在json属性中指定类型,并且在json.moduleName定义需要额外依赖的js文件。

比如,“经手人名称”对应的F7控件需要修改为“职员F7”:

if (field=="handler.name") {

json.F7Type="F7Special_Person";

json.subWidgetName="wafPromptSpecial_Person";

json.moduleName="promptSpecial_Person";

}

4、还有些业务场景需要将控件类型进行修改。

比如,“币种”字段默认的控件是“通用F7”,要调整为“下拉框”:

if (field=="currency.name") {​

json.inputType = 'select';

json.type = 'EnumString';

json.enumSource = [{value:"RMB",alias:"人民币"},

{value:"DRL",alias:"美元"},

{value:"EUP",alias:"欧元"}];;

json.listHeight = 200;

json.value = {value:"RMB",alias:"人民币"};

}