Browse Source

查询界面-查询完善

rainco 7 years ago
parent
commit
d3fef98e56

+ 31 - 13
frontend/saas-web/app/util/QueryUtil.js

@@ -48,14 +48,18 @@ Ext.define('saas.util.QueryUtil', {
      * @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;
-            }
-        });
+        // Ext.each(form.items.items, function(f){
+        //     if(!Ext.isEmpty(f.value)&&f.fieldMode == "DETAIL") {
+        //         Mode = "DETAIL";
+        //     }
+        // });
+        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,11 +72,15 @@ Ext.define('saas.util.QueryUtil', {
         }
         console.log("Mode:"+Mode);
         if(Mode=="MAIN"){
+            grid.reconfigure(grid.store, grid._baseColumn);
             grid.loadPage(1);
         }else{
             //若明细字段含明细字段注意切换数据源 grid.reconfigure(store, columns);
             //关联viewName = 关联viewName+"-RelativeGrid" selModel
             //grid.selModel = '';
+            Ext.apply(store.proxy.extraParams, {
+                mode: Mode
+            });
             grid.reconfigure(grid.store, grid._relativeColumn);
             grid.loadPage(1);
         }
@@ -93,19 +101,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 = '=';

+ 3 - 1
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -49,7 +49,9 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
                 },
                 listeners: {
                     beforeload: function (store, op) {
-                        var condition = '';
+                        var condition = '',
+                        queryForm = me.ownerCt.down('form'),
+                        condition = me.QueryUtil.getFormCondition(queryForm);
                         if (Ext.isEmpty(condition)) {
                             condition = " 1=1 ";
                         }

+ 1 - 2
frontend/saas-web/app/view/core/query/QueryPanel.js

@@ -48,10 +48,9 @@ Ext.define('saas.view.core.query.QueryPanel', {
     setQuertGridConfigs: function() {
         var me = this,
         queryGrid = me.items[1];
-        me.queryGridConfig['Columns']=me.queryGridConfig._baseColumn;
+        me.queryGridConfig['columns']=me.queryGridConfig._baseColumn;
         console.log('me.queryGridConfig:',me.queryGridConfig);
         Ext.apply(queryGrid,me.queryGridConfig);
-        debugger;
     }
 
 });

+ 3 - 3
frontend/saas-web/app/view/core/query/QueryPanelController.js

@@ -29,9 +29,9 @@ Ext.define('saas.view.core.query.QueryPanelController', {
     },
     onQuery: function (btn) {
         var me = this,
-        queryForm = btn.ownerCt.ownerCt.down('form'),
-        grid = btn.ownerCt.ownerCt.down('grid');
+        queryForm = btn.ownerCt.ownerCt,
+        grid = queryForm.ownerCt.down('grid');
         console.log("queryForm:",queryForm,"grid:",grid);
-        //turnRelativeGrid(grid,queryForm);
+        grid.QueryUtil.turnRelativeGrid(grid,queryForm);
     }
 });

+ 2 - 2
frontend/saas-web/app/view/test/query/QueryPanel.js

@@ -100,7 +100,7 @@ Ext.define('saas.view.test.query.QueryPanel', {
         allowBlank: true,
         columnWidth: 0.25
     }, {
-        xtype: 'remotecombo',
+        xtype: 'combobox',
         name: 'pr_statuscode',
         bind: '{pr_statuscode}',
         fieldLabel: '审核状态',
@@ -118,7 +118,7 @@ Ext.define('saas.view.test.query.QueryPanel', {
             ]
         })
     }, {
-        xtype: 'remotecombo',
+        xtype: 'combobox',
         name: 'pu_acceptstatuscode',
         bind: '{pu_acceptstatuscode}',
         fieldLabel: '入库状态',