通用查询

简介

WAFII通用查询组件,提供Web上基于数据表格的较复杂的查询功能,可配置组织、日期、状态作为固定过滤条件,也可配置增加自定义过滤条件,同时支持查询方案的设置和保存。


使用方法

2.1 静态框架使用方法EAS8.0+
<wafbiz:bizCommonQuery id="id" gridId="gridId" queryPK="queryPK" orgField="orgField" dateField="dateField" dateFormat="[{name:'今天',value:'d1'},{name:'本月',value:'m1'}]" />
2.2 JS动态创建EAS8.0+
var options = {
    id:"bizCommonQuery", 
    gridId="gridId",
    queryPK="com.kingdee.eas.custom.app.TestQuery",
    orgField="company.id",
    dateField="bizDate",
    dateFormat="[{name:'今天',value:'d1'},{name:'本月',value:'m1'}]"
};
var parentDom = waf("body");
var dom = waf.createDOM("bizCommonQuery", options);
waf.appendDOM(parentDom, dom);
waf.initComponent("bizCommonQuery", options, dom);
2.3 方法&事件使用EAS8.0+
//调用方法
waf("#id").bizCommonQuery('method', parameter...);
//eg:获取当前过滤条件
waf("#id").bizCommonQuery("getCurrentFilter");
//eg:查询前处理事件
waf("#id").bizCommonQuery("option","beforeSearch",fn);

属性说明

ID String 不可空 不可以在运行期改变 EAS8.0+

定义通用查询组件的id

queryPK String 不可空 不可以在运行期改变 EAS8.0+

定义查询组件使用的queryPK

gridId String 不可空 EAS8.0+

定义用于展现数据的表格控件id

loadDefault Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义框架是否根据通用查询组件的默认条件,在页面初始化时自动装载数据,默认为true,如果设置为false,则需要业务开发自行调用reloadDataGrid方法来装载数据。

asyncLoadDefSch Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义组件初始化时是否需要异步装载默认查询方案,默认false。如果业务单据的默认查询方案比较复杂,则建议设置为true,以便提升页面初始化性能。

isWorkflow Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义组件是否支持工作流条件“当前处理人”,默认true。设置为true时,方案查询页签的增加条件下拉框中会自动增加“当前处理人”选项,设置为false时,则不显示。

isShowHistory Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义组件是否支持优先显示历史查询条件,默认true。设置为true时,对象型过滤条件(如组织条件)会将历史使用过的5个选项放在前面优先显示,设置为false时,则按照正常排序显示。

组织条件

orgField String 不可以在运行期改变 EAS8.0+

定义组织字段名,如果为空,则查询组件中无组织条件。示例:company.id

orgTitle String 缺省值: ‘组织’ 不可以在运行期改变 EAS8.0+

定义组织条件项显示标题,默认值显示为:'组织”

orgMutiSelect Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义组织条件是否可多选,默认值为true

orgRequired Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义组织条件是否是必选条件,默认值为false,如果定义为true,则组织条件不可删除。

orgUnlimited Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义组织条件是否显示'不限”选项,默认值为false。

bizUnit Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义组织选项是否只包含实体组织,默认值为true,如果设置为false,则实体组织和虚体组织都会显示出来。

showSealUp Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义组织选项是否包含封存组织,默认值为false,如果设置为true,则封存组织也会显示出来。

permItemName String 不可以在运行期改变 EAS8.0+

定义组织绑定的权限项。

cusOrgScope Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义组织选项是否由业务自定义,默认值为false,如果设置为true,则组织选项范围根据业务自定义的过滤条件orgCusFilterItems显示。

orgQueryPK String 缺省值: com.kingdee.eas.basedata.org.app.FullOrgUnitQuery 不可以在运行期改变 EAS8.0+

定义组织查询对象,默认为com.kingdee.eas.basedata.org.app.FullOrgUnitQuery

orgCusFilterItems String 不可以在运行期改变 EAS8.0+

定义组织过滤条件,定义方式请参考样例说明。

日期条件

dateField String 不可以在运行期改变 EAS8.0+

定义日期字段名,如果为空,则查询组件中无日期条件。

dateTitle String 缺省值: ‘日期’ 不可以在运行期改变 EAS8.0+

定义日期条件项显示标题,默认值为'日期”。

dateRequired Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义日期条件是否是必选条件,默认值为false,如果定义为true,则日期条件不可删除。

dateFormat String 缺省值: 有 不可以在运行期改变 EAS8.0+

定义日期枚举格式,默认值为[{'name':'今天','value':'d1'},{'name':'本周','value':'w1','isDefault':true},{'name':'本月','value':'m1'},{'name':'近三月','value':'m3'}]。
说明:
1、'isDefault':true表示默认选中条件项;
2、除了今天d1、本周w1、本月m1、近三月m3这4种定义,还可自定义枚举值,如:{'name':'上半年','value':'halfYear'},然后在cusDateConverter事件中定义起始时间。

状态条件

stateField String 不可以在运行期改变 EAS8.0+

定义状态字段名,如果为空,则查询组件中无状态条件。

stateTitle String 缺省值: ‘状态’ 不可以在运行期改变 EAS8.0+

定义状态条件项显示标题,默认值为'状态”。

stateUnlimited Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义状态条件是否显示'不限”选项,默认值为true。

stateFormat String 不可以在运行期改变 EAS8.0+

定义状态枚举格式,例如:[{name:'暂存',value:1,isDefault:true},{name:'提交',value:2},{name:'审核',value:3}]。
说明:
1、可设置'isDefault':true来表示默认选中条件项;
2、可自定义枚举值。

显示

commonUseTabHide Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义常用条件页签是否隐藏,默认false,如果设置为true,则常用条件页签不显示,只显示方案查询页签。

schemeTabHide Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义方案查询页签是否隐藏,默认false,如果设置为true,则方案查询页签不显示,只显示常用条件页签。

quickSearchHide Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义快速过滤条是否隐藏,默认false,如果设置为true,则快速过滤条不显示。

expand Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义通用查询组件过滤条件面板是否默认展开,默认false,如果设置为true,则初始化时过滤条件面板默认展开。

自定义常用过滤条件

field String 不可空 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的字段名。

title String 不可空 缺省值: 字段名称 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的字段显示标题。

required Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件是否必选,默认false,如果设置为true,则该过滤条件不可删除。

miltiSelect Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件是否可多选,默认false。

unlimited Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件是否显示'不限”选项,默认false,如果设置为true,则会在该过滤条件的选项列表中第一个显示为'不限”。

dataType String 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的字段数据类型:ObjectValue;Date;Timestamp;Enum;EnumString

querySource String 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项query来源,如果dataType是ObjectValue,则可用该属性来定义数据来源。

cu Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项query来源是否需要cu过滤,默认为true。

async Boolean 缺省值: true 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项query数据源是否需要异步加载,默认为true。
在某些业务需求中,如果各个过滤条件之间存在逻辑关系,则过滤条件的初始化可能需要同步加载数据,以保证逻辑的正确性,这时可将此参数设置为false。

needScope Boolean 缺省值: false 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条是否支持范围选择,默认false,此属性仅供日期或时间型过滤条件配置,如果设置为true,则过滤选项后会追加显示自定义时间范围,XX时间至XX时间。

enumSource String 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项枚举来源,如果dataType是枚举型,则可用该属性来定义数据来源。

displayCount int 缺省值: 5 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项默认显示个数,默认值为5,大于此数值的选项默认隐藏,点击更多显示全部。

funcSource String 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项功能来源。

filterItems String 不可以在运行期改变 EAS8.0+

定义常用条件页签自定义过滤条件的选项,需要按照json格式定义,例如:[{value:'d1',alias:'今天',isDefault:false},{value:'w',alias:'本周',isDefault:false},{value:'m1',alias:'本月',isDefault:true}]

自定义方案过滤条件

field String 不可空 不可以在运行期改变 EAS8.0+

定义方案查询页签自定义过滤条件的字段名。

title String 不可空 缺省值: 字段名称 不可以在运行期改变 EAS8.0+

定义方案查询页签自定义过滤条件的字段显示标题。

dataType String 缺省值: null 不可以在运行期改变 EAS8.0+

定义方案查询页签自定义过滤条件的字段数据类型:String;link;Number;Date;Timestamp;Boolean;Enum;EnumString

defaultValue String 缺省值: null 不可以在运行期改变 EAS8.0+

定义方案查询页签自定义过滤条件的默认值。

operators String 缺省值: null 不可以在运行期改变 EAS8.0+

定义方案查询页签自定义过滤条件的比较符,默认根据数据类型来显示比较符。

方法说明

reloadDataGrid 参数:(无) 返回值类型:(无) EAS8.0+

重新根据过滤条件加载表格数据。 
- 参数说明: 无 
- 返回值说明: 无 

getCurrentFilter 参数:(无) 返回值类型:(String) EAS8.0+

获取当前过滤条件。 
- 参数说明: 无 
- 返回值说明: 
    当前过滤条件。 

getSelectItems 参数:(无) 返回值类型:(Map) EAS8.0+

获取当前选中条件集合,这个方法是针对常用条件页签的选中条件集合。 
- 参数说明: 无 
- 返回值说明: 
    当前选中条件Map,其中key为当前选中条件字段名,value是当前选中条件值。 

getCurrentOrgUnits 参数:(无) 返回值类型:(String) EAS8.0+

获取当前选中组织。 
- 参数说明: 无 
- 返回值说明: 
    当前选中组织id,如果选中组织是多个,则返回逗号分隔的多个组织id字符串 

getCurrentOrgType 参数:(无) 返回值类型:(String) EAS8.0+

获取当前组织类型。 
- 参数说明: 无 
- 返回值说明: 
    当前组织类型,如NONE,Admin,Company,Sale,Purchase,Storage,CostCenter,ProfitCenter,ControlUnit,UnionDebt,Transport,ServiceOrgType,MarketOrgType等。

getAllOrgIds 参数:(无) 返回值类型:(String) EAS8.0+

获取当前全部组织id。 
- 参数说明: 无 
- 返回值说明: 
    当前全部组织id,逗号分隔的多个组织id字符串 

showCusFilterByField 参数:(field) 返回值类型:(无) EAS8.0+

显示某个过滤条件项。 
- 参数说明:  
    - field: 字段名 
- 返回值说明: 无

hideCusFilterByField 参数:(field) 返回值类型:(无) EAS8.0+

隐藏某个过滤条件项。 
- 参数说明:  
    - field: 字段名
- 返回值说明: 无 

addCusFilterByGroup 参数:(group 返回值类型:(无) EAS8.0+

添加某个过滤条件项。 
- 参数说明: 
    - group: 属性定义
- 返回值说明: 无 

removeCusFilterByField 参数:(field 返回值类型:(无) EAS8.0+

删除某个过滤条件项。
- 参数说明:  
    - field: 字段名
- 返回值说明: 无 

setFilterSelected 参数:(field,value,value2) 返回值类型:(无) EAS8.0+

设置某个过滤条件项的选中值。 
- 参数说明:  
    - field: 字段名
    - value: 选中值,可以是String,或者是Object集合。
    - value2: 选中值2,仅用于设置日期类型字段的范围值时,与value配合使用,分别设置起始时间值和截止时间值,类型为Date。 
- 返回值说明: 无 

事件说明

beforeSearch 参数:(filter) 返回值类型:(String) EAS8.0+

事件在开始查询数据之前触发,可在此对过滤条件更新,或者进行查询前处理。[[参考样例]](https://waf2.kingdee.com:6999/easweb/webviews/webframework/ctrls/sample.jsp?url=/webviews/webframework/webcom/bizcommonquery/examples/event.jsp?type=beforeSearch.js)<br/>
- 参数说明:
    - filter: 当前过滤条件 
- 返回值说明: 
    修正后的过滤条件

beforeComFilterClick 参数:(e,filterField,filterValue,currentFilterItems) 返回值类型:(Boolean) EAS8.0+

事件在常用过滤条件点击前触发,可在此根据返回值true、false判断是否继续响应,如果返回true,表示可继续进行条件切换并进行数据过滤,返回false,则表示终止该动作的进行,过滤条件不发生变化。
- 参数说明: 
    - e: 事件对象 
    - filterField: 过滤条件字段名 
    - filterValue: 过滤条件值 
    - currentFilterItems: 当前过滤条件集合 
- 返回值说明: 
    true表示正常进行,false表示终止。

afterComFilterClick 参数:(e,filterField,filterValue,currentFilterItems) 返回值类型:(无) EAS8.0+

事件在常用过滤条件点击后触发,可在此对已选中的过滤条件作更新处理。
- 参数说明: 
    - e: 事件对象 
    - filterField: 过滤条件字段名 
    - filterValue: 过滤条件值
    - currentFilterItems: 当前过滤条件集合 
- 返回值说明: 无

afterComFilterRemove 参数:(e,filterField,filterValue,currentFilterItems) 返回值类型:(无) EAS8.0+

事件在已选条件删除后触发,可在此对过滤条件更新,或者进行删除后处理。
- 参数说明: 
    - e: 事件对象 
    - filterField: 过滤条件字段名 
    - filterValue: 过滤条件值
    - currentFilterItems: 当前过滤条件集合  
- 返回值说明: 无

cusDateConverter 参数:(dateExp) 返回值类型:(Object) EAS8.0+

事件在日期选项自定义表达式点击时触发,调用此方法返回解析后的时间范围值(Date型),用于创建日期过滤条件。
- 参数说明:
    - dateExp:日期选项表达式
- 返回值说明:
    日期选项值对象,包含开始时间和结束时间,如:return {beginTime:new Date(),endTime:new Date()};

cusSoluCtrlOptions 参数:(field,inputType,json) 返回值类型:(无) EAS8.0+

事件在添加自定义条件时触发,调用此方法对过滤条件控件的属性进行补充定义。需要注意的是,如果控件初始化需要依赖额外的js文件,必须在json.moduleName定义。
- 参数说明:
    - field:过滤条件字段名
    - inputType:过滤条件控件类型
    - json:当前控件属性 
- 返回值说明:无

getCusFields 参数:(fields) 返回值类型:(无) EAS8.0+

事件在初始化通用查询组件时触发,调用此方法对过滤条件字段进行补充定义,增加修改或删除过滤条件字段。
- 参数说明:
    - fields(从query元数据中获取的过滤条件字段对象数组)   
- 返回值说明:无

getCusOperators 参数:(dataType,field,selectOpts) 返回值类型:([Object]) EAS8.0+

事件在方案查询页签添加过滤条件时触发,调用此方法对当前过滤条件的比较符定义。
- 参数说明:
    - dataType:过滤条件数据类型
    - field:过滤条件字段名
    - selectOpts:当前的过滤条件比较符
- 返回值说明:
    需要的比较符集合,如:return [{value:'=',alias:'等于'},{value:'<>',alias:'不等于'}];