|
|
@@ -2,60 +2,18 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
|
|
|
BaseUtil: Ext.create('saas.util.BaseUtil'),
|
|
|
|
|
|
- // 请求页面组件接口模板
|
|
|
- baseUrl: 'http://192.168.0.181:8560/api/ui/co_view/config?name={xtype}',
|
|
|
- // 模板替换正则
|
|
|
- urlRe: /(.*){xtype}(.*)/g,
|
|
|
-
|
|
|
- /**
|
|
|
- * 获得form的字段配置
|
|
|
- * @param form: form组件
|
|
|
- */
|
|
|
- setItems: function(form) {
|
|
|
- var me = this;
|
|
|
- debuggre;
|
|
|
- Ext.each(form.items.items, function(f){
|
|
|
- if(f.xtype=='core-query-queryformpanel'){
|
|
|
-
|
|
|
- }else if(f.xtype=='core-query-gridpanel'){
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
- });
|
|
|
- // xtype = form.xtype,
|
|
|
- // url = me.baseUrl.replace(me.urlRe, '$1' + xtype);
|
|
|
- // me.BaseUtil.request({url})
|
|
|
- // .then(function(response) {
|
|
|
- // var res = Ext.decode(response.responseText);
|
|
|
- // if(res.success) {
|
|
|
- // var config = res.data, items = [];
|
|
|
- // if(config) {
|
|
|
- // items = config.items;
|
|
|
- // //_baseItems
|
|
|
- // // _BaseColumn: '',
|
|
|
- // // _RelativeColumn: '',
|
|
|
- // form.add(items);
|
|
|
- // }
|
|
|
- // form.fireEvent('afterSetItems', form, items);
|
|
|
- // }
|
|
|
- // })
|
|
|
- // .catch(function(response) {
|
|
|
- // console.error(response);
|
|
|
- // });
|
|
|
- },
|
|
|
/**
|
|
|
* 获得form的字段查询条件
|
|
|
* @param form: form组件
|
|
|
* @returns Mode: 字段模式,默认MAIN 当f.fieldMode = "DETAIL",Mode->"DETAIL"
|
|
|
*/
|
|
|
- getStoreMode: function(form){
|
|
|
+ getStoreMode: function(form,Mode){
|
|
|
var Mode = "MAIN";
|
|
|
- Ext.each(form.items.items, function(f){
|
|
|
- if(!Ext.isEmpty(f.value)&&f.fieldMode == "DETAIL") {
|
|
|
- Mode = "DETAIL";
|
|
|
- break;
|
|
|
- }
|
|
|
- });
|
|
|
+ if(form.items.items.find(function(item) {
|
|
|
+ return !Ext.isEmpty(item.value)&&item.fieldMode == "DETAIL";
|
|
|
+ })) {
|
|
|
+ Mode = "DETAIL";
|
|
|
+ }
|
|
|
return Mode;
|
|
|
},
|
|
|
turnRelativeGrid:function(grid,queryForm,queryMoreForm){
|
|
|
@@ -68,13 +26,16 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
}
|
|
|
console.log("Mode:"+Mode);
|
|
|
if(Mode=="MAIN"){
|
|
|
- grid.loadPage(1);
|
|
|
+ grid._Mode = Mode;
|
|
|
+ grid.reconfigure(grid.store, grid._baseColumn);
|
|
|
+ grid.store.loadPage(1);
|
|
|
}else{
|
|
|
//若明细字段含明细字段注意切换数据源 grid.reconfigure(store, columns);
|
|
|
//关联viewName = 关联viewName+"-RelativeGrid" selModel
|
|
|
//grid.selModel = '';
|
|
|
+ grid._Mode = Mode;
|
|
|
grid.reconfigure(grid.store, grid._relativeColumn);
|
|
|
- grid.loadPage(1);
|
|
|
+ grid.store.loadPage(1);
|
|
|
}
|
|
|
},
|
|
|
/**
|
|
|
@@ -93,19 +54,29 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
condition += ' AND (' + f.logic+')';
|
|
|
}
|
|
|
}
|
|
|
- } else if(f.xtype == 'datefield' && f.value != null && f.value != '' ){
|
|
|
+ } else if (f.xtype == 'condatefield' && f.value != null ){
|
|
|
+ if(f.value.from != null){
|
|
|
+ if(condition == ''){
|
|
|
+ condition += " date("+f.name+") between '"+f.value.from+"' and '"+f.value.to+"' ";
|
|
|
+ } else {
|
|
|
+ condition += " AND date("+f.name+") between '"+f.value.from+"' and '"+f.value.to+"' ";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }else if(f.xtype == 'datefield' && f.value != null && f.value != '' ){
|
|
|
+ debugger;
|
|
|
var v = Ext.Date.format(new Date(f.value), 'Y-m-d');
|
|
|
if(condition == ''){
|
|
|
- condition += "to_char("+f.name+",'yyyy-MM-dd')='"+v+"'";
|
|
|
+ condition += "date("+f.name+")='"+v+"'";
|
|
|
} else {
|
|
|
- condition += " AND to_char("+f.name+",'yyyy-MM-dd')='"+v+"'";
|
|
|
+ condition += " AND date("+f.name+")='"+v+"'";
|
|
|
}
|
|
|
} else if(f.xtype == 'datetimefield' && f.value != null){
|
|
|
- var v = Ext.Date.format(new Date(f.value), 'Y-m-d H:i:s');
|
|
|
+ var v = Ext.Date.format(new Date(f.value), 'Y-m-d H:i:s');
|
|
|
+ debugger;
|
|
|
if(condition == ''){
|
|
|
- condition += f.name + "=to_date('" + v + "', 'yyyy-MM-dd HH24:mi:ss')";
|
|
|
+ condition += 'date('+f.name + ")= '" + v + "'";
|
|
|
} else {
|
|
|
- condition += ' AND ' + f.name + "=to_date('" + v + "', 'yyyy-MM-dd HH24:mi:ss')";
|
|
|
+ condition += ' AND date('+f.name + ")= '" + v + "'";
|
|
|
}
|
|
|
} else if(f.xtype == 'numberfield' && f.value != null && f.value != ''){
|
|
|
var endChar = '=';
|
|
|
@@ -125,9 +96,9 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
f.store.each(function(d, idx){
|
|
|
if(d.data.value != '$ALL') {
|
|
|
if(_a == ''){
|
|
|
- _a += f.name +' '+ d.data.value+' ' ;
|
|
|
+ _a += f.logic + "='" + d.data.value + "'";
|
|
|
} else {
|
|
|
- _a += ' OR ' + f.name +' '+ d.data.value +' ';
|
|
|
+ _a += ' OR ' + f.logic + "='" + d.data.value + "'";
|
|
|
}
|
|
|
}
|
|
|
});
|