Browse Source

查询界面按钮调整

rainco 7 years ago
parent
commit
42cc533ed4
1 changed files with 131 additions and 43 deletions
  1. 131 43
      frontend/saas-web/app/view/core/query/QueryGridPanel.js

+ 131 - 43
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -71,21 +71,91 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             dockedItems: [{
                 xtype: 'toolbar',
                 dock: 'top',
+                defaults: { // defaults 将会应用所有的子组件上,而不是父容器
+                    listeners: {
+                        'mouseover':function(){
+                            this.showMenu(); 
+                        },
+                        'mouseout':function(btn,e){
+                            var cx = e.browserEvent.clientX, cy = e.browserEvent.clientY;
+                            var btnLayout = btn.el.dom.getBoundingClientRect();
+                            if(cx <= btnLayout.left || cx >= btnLayout.left+btnLayout.width || cy <= btnLayout.top) {
+                                btn.hideMenu();
+                            }
+                        }
+                    }
+                },
                 items: ['->', {
                     text: '新增',
                     handler: me.onAddMore
                 }, {
                     text: '审核',
-                    handler: me.onAudit
-                }, {
-                    text: '反审核',
-                    handler: me.onUnAudit
+                    xtype: 'button',
+                    handler: me.onAudit,
+                    menu: {
+                        items: [{
+                            text:'反审核',
+                            handler:function(){
+                                me.onUnAudit(this)
+                            }
+                        }],
+                        listeners: {
+                            'mouseleave':function(enu){
+                                this.hide();
+                            } 
+                        }
+                    }
                 }, {
                     text: '打印',
-                    handler: me.onPrint
+                    handler: me.onPrint,
+                    menu: {
+                        width: 80,
+                        items: [{
+                            text:'设置',
+                            handler:function(){
+                                me.onPrintSet(this)
+                            }
+                        }],
+                        listeners: {
+                            'mouseleave':function(enu){
+                                this.hide();
+                            } 
+                        }
+                    }
                 }, {
-                    text: '导出',
-                    handler: me.onExport
+                    text: '导入',
+                    handler: me.onImport,
+                    menu: {
+                        width: 80,
+                        items: [{
+                            text:'导出',
+                            handler:function(){
+                                me.onExport(this)
+                            }
+                        }],
+                        listeners: {
+                            'mouseleave':function(enu){
+                                this.hide();
+                            } 
+                        }
+                    }
+                },{
+                    text: '关闭',
+                    handler: me.onCloseOrder,
+                    menu: {
+                        width: 80,
+                        items: [{
+                            text:'启用',
+                            handler:function(){
+                                me.onOpenOrder(this)
+                            }
+                        }],
+                        listeners: {
+                            'mouseleave':function(enu){
+                                this.hide();
+                            } 
+                        }
+                    }
                 }, {
                     text: '删除',
                     handler: me.onDelete
@@ -130,8 +200,8 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             return c.dataIndex;
         });
     },
-    onAddMore: function (btn) {
-        var grid = this.getGrid(btn),
+    onAddMore: function (me) {
+        var grid = me.up('grid'),
             mainTab = Ext.getCmp('main-tab-panel'),
             id = grid.xtype + '_add';
             existingItem = mainTab.down('[id=' + id + ']');
@@ -144,37 +214,55 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
             mainTab.setActiveTab(mainTab.add(form));
         }
     },
-    onAudit: function(btn){
-        btn.ownerCt.ownerCt.vastOperation("batchAudit");
+    onAudit: function(me){
+        console.log('审核');
+        me.up('grid').vastOperation("batchAudit");
     },
-    onUnAudit:function(btn){
-        btn.ownerCt.ownerCt.vastOperation("batchUnAudit");
+    onUnAudit:function(me){
+        console.log('反审核');
+        me.up('grid').vastOperation("batchUnAudit");
     },
-    onPrint: function () {
+    onPrint: function (me) {
         console.log("打印");
     },
-    onExport: function () {
+    onPrintSet:function(me){
+        console.log("打印设置");
+    },
+    onImport:function(me){
+        console.log("导入");
+    },
+    onExport: function (me) {
         console.log("导出");
     },
+    onCloseOrder:function(me){
+        console.log("关闭订单");
+    },onOpenOrder:function(me){
+        console.log("开启订单");
+    },
     onDelete: function (btn) {
-        btn.ownerCt.ownerCt.vastOperation("batchDelete");
+        btn.up('grid').vastOperation("batchDelete");
     },
     vastOperation :function(type){
-        var me = this,
-        params = JSON.stringify(me.getGridSelected());
-        me.BaseUtil.request({
-                url: me._baseVastUrl+type,
-                params: params,
-                method: 'POST',
-                async:false
-            })
-            .then(function() {
-                Ext.Msg.alert('提示','操作成功');
-            })
-            .catch(function(response) {
-                Ext.Msg.alert('提示','操作失败');
-            });
-            me.getStore().loadPage(1);
+        var me = this;
+        var data = me.getGridSelected();
+        if(data&&data.length>0){
+            var params = JSON.stringify({baseDTOs:data});
+            me.BaseUtil.request({
+                    url: me._baseVastUrl+type,
+                    params: params,
+                    method: 'POST',
+                    async:false
+                })
+                .then(function() {
+                    Ext.Msg.alert('提示','操作成功');
+                })
+                .catch(function(response) {
+                    Ext.Msg.alert('提示','操作失败');
+                });
+                me.getStore().loadPage(1);
+        }else{
+            Ext.Msg.alert('提示','请勾选至少一条明细。');
+        }
     },
     /**
      * 获取grid被选数据
@@ -184,18 +272,18 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
         var me = this,
             items = me.selModel.getSelection(),
             data = new Array() ;
-		Ext.each(items, function(item, index){
-			if(!Ext.isEmpty(item.data[me._idField])&&!Ext.isEmpty(item.data[me._codeField])){
-				var o = new Object();
-				if(me._idField){
-					o['id'] = item.data[me._idField];
-                }
-                if(me._codeField){
-					o['code'] = item.data[me._codeField];
+            Ext.each(items, function(item, index){
+                if(!Ext.isEmpty(item.data[me._idField])&&!Ext.isEmpty(item.data[me._codeField])){
+                    var o = new Object();
+                    if(me._idField){
+                        o['id'] = item.data[me._idField];
+                    }
+                    if(me._codeField){
+                        o['code'] = item.data[me._codeField];
+                    }
+                    data.push(o);
                 }
-				data.push(o);
-            }
-		});
-		return {baseDTOs:data};
+            });
+		return data;
     } 
 });