Browse Source

detailgrid 调整

zhuth 7 years ago
parent
commit
ecc2b89718
1 changed files with 81 additions and 87 deletions
  1. 81 87
      frontend/saas-web/app/view/core/form/field/DetailGridField.js

+ 81 - 87
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -22,16 +22,9 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     },
 
 
-    store: Ext.create('Ext.data.Store', {
-        fields: ['id', 'pdTaxtotal', 'pdTotal'],
-        data: [{
-            id: '40',
-            pdTaxtotal: 30
-        }, {
-            id: '60',
-            pdTotal: 79
-        }]
-    }),
+    store: {
+        data: []
+    },
 
     showIndex: true,
     configUrl: '',
@@ -44,16 +37,24 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                 dock: 'bottom',
                 items: [{
                     iconCls: 'x-fa fa-plus-circle',
-                    handler: 'addDetail'
+                    handler: function() {
+                        me.addDetail();
+                    }
                 }, {
                     iconCls: 'x-fa fa-trash',
-                    handler: 'deleteDetail'
+                    handler: function() {
+                        me.deleteDetail();
+                    }
                 }, {
                     iconCls: 'x-fa fa-arrow-up',
-                    handler: 'swapUp'
+                    handler: function() {
+                        me.swapUp();
+                    }
                 }, {
                     iconCls: 'x-fa fa-arrow-down',
-                    handler: 'swapDown'
+                    handler: function() {
+                        me.swapDown();
+                    }
                 }]
             }]
         });
@@ -63,90 +64,83 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
     listeners: {
         afterrender: function(grid) {
             if(grid.store.count()==0){
-                grid.getController().add10EmptyRow();
+                grid.add10EmptyRow();
             }
         },
         itemClick: function(tableView, record, item, index, e, eOpts) {
             var grid = tableView.up('grid'),
-            controller = grid.getController(),
-            store = grid.store,
-            count = store.getCount();
+                store = grid.store,
+                count = store.getCount();
 
             if(index == count - 1) {
-                controller.add10EmptyRow();
+                grid.add10EmptyRow();
             }
         }
     },
 
-    controller: Ext.create('Ext.app.ViewController', {
-        add10EmptyRow: function() {
-            var me = this,
-                grid = me.getView(),
-                store = grid.getStore(),
-                selectedRecord = grid.selModel.lastSelected,
-                datas = [];
-    
-            Ext.Array.each(new Array(10), function() {
-                datas.push({});
-            })
-            store.insert(store.indexOf(selectedRecord) + 1, datas);
-        },
-    
-        addDetail: function() {
-            var me = this,
-            grid = me.getView(),
-            store = grid.getStore(),
-            selectedRecord = grid.selModel.lastSelected;
-    
-            store.insert(store.indexOf(selectedRecord) + 1, {});
-        },
-    
-        deleteDetail: function() {
-            var me = this,
-            grid = me.getView(),
-            store = grid.getStore(),
-            selectedRecord = grid.selModel.lastSelected;
-    
-            store.remove(selectedRecord);
-        },
-    
-        swapUp: function() {
-            var me = this,
-            grid = me.getView(),
-            store = grid.getStore(),
-            record = grid.selModel.lastSelected,
-            selectedIdx = store.indexOf(record);
-            
-            me.swap(grid, record, selectedIdx, -1);
-        },
-    
-        swapDown: function() {
-            var me = this,
-            grid = me.getView(),
-            store = grid.getStore(),
-            record = grid.selModel.lastSelected,
+    add10EmptyRow: function() {
+        var me = this,
+            store = me.getStore(),
+            selectedRecord = me.selModel.lastSelected,
+            datas = [];
+
+        Ext.Array.each(new Array(10), function() {
+            datas.push({});
+        })
+        store.insert(store.indexOf(selectedRecord) + 1, datas);
+    },
+
+    addDetail: function() {
+        var me = this,
+            store = me.getStore(),
+            selectedRecord = me.selModel.lastSelected;
+
+        store.insert(store.indexOf(selectedRecord) + 1, {});
+    },
+
+    deleteDetail: function() {
+        var me = this,
+            store = me.getStore(),
+            selectedRecord = me.selModel.lastSelected;
+
+        store.remove(selectedRecord);
+    },
+
+    swapUp: function() {
+        var me = this,
+            store = me.getStore(),
+            record = me.selModel.lastSelected,
             selectedIdx = store.indexOf(record);
             
-            me.swap(grid, record, selectedIdx, 1);
-        },
-    
-        swap: function(grid, from, index, dir) {
-            var store = grid.getStore(),
-            to = store.getAt(index + dir);
-    
-            if(from) {
-                var keys = grid.getColumns().map(function(c) { return c.dataIndex }),
-                data = from.getData(),
-                toData = to.getData();
-    
-                Ext.each(keys, function(key, index) {
-                    to.set(key, null);
-                    from.set(key, toData[key]);
-                    to.set(key, data[key]);
-                });
-                //聚焦目标行
-                grid.selModel.select(to);
-            }
+            me.swap(record, selectedIdx, -1);
+    },
+
+    swapDown: function() {
+        var me = this,
+        store = me.getStore(),
+        record = me.selModel.lastSelected,
+        selectedIdx = store.indexOf(record);
+        
+        me.swap(record, selectedIdx, 1);
+    },
+
+    swap: function(from, index, dir) {
+        var me = this,
+        store = me.getStore(),
+        to = store.getAt(index + dir);
+
+        if(from && to) {
+            var keys = me.getColumns().map(function(c) { return c.dataIndex }),
+            data = from.getData(),
+            toData = to.getData();
+
+            Ext.each(keys, function(key, index) {
+                to.set(key, null);
+                from.set(key, toData[key]);
+                to.set(key, data[key]);
+            });
+            //聚焦目标行
+            me.selModel.select(to);
         }
-    }),
+    }
 });