|
@@ -2,61 +2,41 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
|
|
|
|
|
BaseUtil: Ext.create('saas.util.BaseUtil'),
|
|
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的字段查询条件
|
|
* 获得form的字段查询条件
|
|
|
* @param form: form组件
|
|
* @param form: form组件
|
|
|
* @returns Mode: 字段模式,默认MAIN 当f.fieldMode = "DETAIL",Mode->"DETAIL"
|
|
* @returns Mode: 字段模式,默认MAIN 当f.fieldMode = "DETAIL",Mode->"DETAIL"
|
|
|
*/
|
|
*/
|
|
|
- getStoreMode: function(form){
|
|
|
|
|
|
|
+ getStoreMode: function(form,Mode){
|
|
|
var Mode = "MAIN";
|
|
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;
|
|
return Mode;
|
|
|
|
|
+ },
|
|
|
|
|
+ turnRelativeGrid:function(grid,queryForm,queryMoreForm){
|
|
|
|
|
+ var me = this,
|
|
|
|
|
+ Mode = me.getStoreMode(queryForm);
|
|
|
|
|
+ if(queryMoreForm){//更多查询
|
|
|
|
|
+ if(Mode=="MAIN"){
|
|
|
|
|
+ me.getStoreMode(queryMoreForm);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log("Mode:"+Mode);
|
|
|
|
|
+ if(Mode=="MAIN"){
|
|
|
|
|
+ grid._Mode = Mode;
|
|
|
|
|
+ grid.reconfigure(grid.store, grid._baseColumn);
|
|
|
|
|
+ grid.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);
|
|
|
|
|
+ }
|
|
|
},
|
|
},
|
|
|
/**
|
|
/**
|
|
|
* 获得form的字段查询条件
|
|
* 获得form的字段查询条件
|
|
@@ -74,19 +54,29 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
condition += ' AND (' + f.logic+')';
|
|
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');
|
|
var v = Ext.Date.format(new Date(f.value), 'Y-m-d');
|
|
|
if(condition == ''){
|
|
if(condition == ''){
|
|
|
- condition += "to_char("+f.name+",'yyyy-MM-dd')='"+v+"'";
|
|
|
|
|
|
|
+ condition += "date("+f.name+")='"+v+"'";
|
|
|
} else {
|
|
} 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){
|
|
} 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 == ''){
|
|
if(condition == ''){
|
|
|
- condition += f.name + "=to_date('" + v + "', 'yyyy-MM-dd HH24:mi:ss')";
|
|
|
|
|
|
|
+ condition += 'date('+f.name + ")= '" + v + "'";
|
|
|
} else {
|
|
} 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 != ''){
|
|
} else if(f.xtype == 'numberfield' && f.value != null && f.value != ''){
|
|
|
var endChar = '=';
|
|
var endChar = '=';
|
|
@@ -152,10 +142,41 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
condition += ' AND (' + f.name + " like '" + f.value + "')";
|
|
condition += ' AND (' + f.name + " like '" + f.value + "')";
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
- if(condition == ''){
|
|
|
|
|
- condition += '('+f.name + "='" + f.value + "')";
|
|
|
|
|
- } else {
|
|
|
|
|
- condition += ' AND (' + f.name + "='" + f.value + "')";
|
|
|
|
|
|
|
+ if(f.queryType=='VAG'){
|
|
|
|
|
+ if(condition == ''){
|
|
|
|
|
+ if(me.contains(f.name.toString(), '#', true)){
|
|
|
|
|
+ var nameArr = f.name.split("#");
|
|
|
|
|
+ Ext.each(nameArr, function(nameItem,index) {
|
|
|
|
|
+ if(index==0){
|
|
|
|
|
+ condition = (nameItem+ " like '%" +f.value + "%'");
|
|
|
|
|
+ }else{
|
|
|
|
|
+ condition += " or "+nameItem+ " like '%" +f.value + "%' ";
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }else{
|
|
|
|
|
+ condition += '('+ f.name + " like '%" + f.value + "%')";
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ if(me.contains(f.name.toString(), '#', true)){
|
|
|
|
|
+ var nameArr = f.name.split("#");
|
|
|
|
|
+ Ext.each(nameArr, function(nameItem,index) {
|
|
|
|
|
+ if(index==0){
|
|
|
|
|
+ condition = ' AND ('+(nameItem+ " like '%" +f.value + "%'");
|
|
|
|
|
+ }else{
|
|
|
|
|
+ condition += " or "+nameItem+ " like '%" +f.value + "%' ";
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ condition+=')';
|
|
|
|
|
+ }else{
|
|
|
|
|
+ condition += ' AND (' + f.name + " like '%" + f.value + "%')";
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ if(condition == ''){
|
|
|
|
|
+ condition += '('+f.name + "='" + f.value + "')";
|
|
|
|
|
+ } else {
|
|
|
|
|
+ condition += ' AND (' + f.name + "='" + f.value + "')";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -182,30 +203,30 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
*
|
|
*
|
|
|
*/
|
|
*/
|
|
|
queryData: function(grid,condition){
|
|
queryData: function(grid,condition){
|
|
|
- var me = this;
|
|
|
|
|
- if(Ext.isEmpty(condition)){
|
|
|
|
|
- condition =" 1=1 ";
|
|
|
|
|
- }
|
|
|
|
|
- var params = { keyword: condition,number:1,size:15 };
|
|
|
|
|
- var dataRes = {
|
|
|
|
|
- url :grid.listUrl,
|
|
|
|
|
- async:false,
|
|
|
|
|
- params:params
|
|
|
|
|
- };
|
|
|
|
|
- me.BaseUtil.request(dataRes)
|
|
|
|
|
- .then(function(response) {
|
|
|
|
|
- var res = Ext.decode(response.responseText);
|
|
|
|
|
- if(res.success) {
|
|
|
|
|
- var data = res.data;
|
|
|
|
|
- console.log(data);
|
|
|
|
|
- grid.getStore().loadData(data.list);
|
|
|
|
|
- grid.fireEvent('afterLoadData', grid, data.list);
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
- .catch(function(response) {
|
|
|
|
|
- console.log(response);
|
|
|
|
|
- // something...
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ // var me = this;
|
|
|
|
|
+ // if(Ext.isEmpty(condition)){
|
|
|
|
|
+ // condition =" 1=1 ";
|
|
|
|
|
+ // }
|
|
|
|
|
+ // var params = { keyword: condition,number:1,size:15 };
|
|
|
|
|
+ // var dataRes = {
|
|
|
|
|
+ // url :grid.listUrl,
|
|
|
|
|
+ // async:false,
|
|
|
|
|
+ // params:params
|
|
|
|
|
+ // };
|
|
|
|
|
+ // me.BaseUtil.request(dataRes)
|
|
|
|
|
+ // .then(function(response) {
|
|
|
|
|
+ // var res = Ext.decode(response.responseText);
|
|
|
|
|
+ // if(res.success) {
|
|
|
|
|
+ // var data = res.data;
|
|
|
|
|
+ // console.log(data);
|
|
|
|
|
+ // grid.getStore().loadData(data.list);
|
|
|
|
|
+ // grid.fireEvent('afterLoadData', grid, data.list);
|
|
|
|
|
+ // }
|
|
|
|
|
+ // })
|
|
|
|
|
+ // .catch(function(response) {
|
|
|
|
|
+ // console.log(response);
|
|
|
|
|
+ // // something...
|
|
|
|
|
+ // });
|
|
|
},
|
|
},
|
|
|
onQuery: function(parentForm,queryMoreForm){
|
|
onQuery: function(parentForm,queryMoreForm){
|
|
|
var me = this,
|
|
var me = this,
|
|
@@ -260,7 +281,8 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
}
|
|
}
|
|
|
if(grid._codeField){
|
|
if(grid._codeField){
|
|
|
o['code'] = item.data[grid._codeField];
|
|
o['code'] = item.data[grid._codeField];
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ o['name'] = '';
|
|
|
data.push(o);
|
|
data.push(o);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
@@ -271,10 +293,13 @@ Ext.define('saas.util.QueryUtil', {
|
|
|
* grid:原始字符串
|
|
* grid:原始字符串
|
|
|
*/
|
|
*/
|
|
|
vastRes:function(url,params){
|
|
vastRes:function(url,params){
|
|
|
- var me = this;
|
|
|
|
|
|
|
+ console.log("params",params);
|
|
|
|
|
+ var me = this,
|
|
|
|
|
+ pp ={baseDTOs:params} ;
|
|
|
|
|
+ console.log("pp",pp);
|
|
|
me.BaseUtil.request({
|
|
me.BaseUtil.request({
|
|
|
url: url,
|
|
url: url,
|
|
|
- params: JSON.stringify(params),
|
|
|
|
|
|
|
+ params: JSON.stringify(pp),
|
|
|
method: 'POST',
|
|
method: 'POST',
|
|
|
})
|
|
})
|
|
|
.then(function() {
|
|
.then(function() {
|