|
|
@@ -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);
|
|
|
}
|
|
|
- }),
|
|
|
+ }
|
|
|
});
|