|
@@ -8,23 +8,6 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
|
|
|
margin: '0 5 5 0', // formpanel的fieldDefaults未生效
|
|
margin: '0 5 5 0', // formpanel的fieldDefaults未生效
|
|
|
height: 300,
|
|
height: 300,
|
|
|
|
|
|
|
|
- controller: 'core-form-field-detailgridfield',
|
|
|
|
|
-
|
|
|
|
|
- dockedItems: [{
|
|
|
|
|
- xtype: 'toolbar',
|
|
|
|
|
- dock: 'bottom',
|
|
|
|
|
- items: [{
|
|
|
|
|
- iconCls: 'x-fa fa-plus',
|
|
|
|
|
- handler: 'addDetail'
|
|
|
|
|
- }, {
|
|
|
|
|
- iconCls: 'x-fa fa-delete',
|
|
|
|
|
- handler: 'deleteDetail'
|
|
|
|
|
- }, {
|
|
|
|
|
- text: '审核',
|
|
|
|
|
- handler: 'add10EmptyRow'
|
|
|
|
|
- }]
|
|
|
|
|
- }],
|
|
|
|
|
-
|
|
|
|
|
store: {
|
|
store: {
|
|
|
data: []
|
|
data: []
|
|
|
},
|
|
},
|
|
@@ -34,7 +17,82 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
|
|
|
|
|
|
|
|
initComponent: function() {
|
|
initComponent: function() {
|
|
|
var me = this;
|
|
var me = this;
|
|
|
|
|
+ Ext.apply(me, {
|
|
|
|
|
+ dockedItems: [{
|
|
|
|
|
+ xtype: 'toolbar',
|
|
|
|
|
+ dock: 'bottom',
|
|
|
|
|
+ items: [{
|
|
|
|
|
+ iconCls: 'x-fa fa-plus-circle',
|
|
|
|
|
+ handler: me.addDetail
|
|
|
|
|
+ }, {
|
|
|
|
|
+ iconCls: 'x-fa fa-trash',
|
|
|
|
|
+ handler: me.deleteDetail
|
|
|
|
|
+ }, {
|
|
|
|
|
+ iconCls: 'x-fa fa-arrow-up',
|
|
|
|
|
+ handler: me.swapUp
|
|
|
|
|
+ }, {
|
|
|
|
|
+ iconCls: 'x-fa fa-arrow-down',
|
|
|
|
|
+ handler: me.swapDown
|
|
|
|
|
+ }]
|
|
|
|
|
+ }]
|
|
|
|
|
+ });
|
|
|
me.configUrl && me.GridUtil.setColumns(me, me.configUrl);
|
|
me.configUrl && me.GridUtil.setColumns(me, me.configUrl);
|
|
|
me.callParent(arguments);
|
|
me.callParent(arguments);
|
|
|
},
|
|
},
|
|
|
|
|
+
|
|
|
|
|
+ listeners: {
|
|
|
|
|
+ afterSetColumns: function(grid) {
|
|
|
|
|
+ grid.add10EmptyRow();
|
|
|
|
|
+ },
|
|
|
|
|
+ itemClick: function(tableView, record, item, index, e, eOpts) {
|
|
|
|
|
+ var grid = tableView.up('grid'),
|
|
|
|
|
+ store = grid.store,
|
|
|
|
|
+ count = store.getCount();
|
|
|
|
|
+
|
|
|
|
|
+ if(index == count - 1) {
|
|
|
|
|
+ grid.add10EmptyRow();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ 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 grid = this.up('grid'),
|
|
|
|
|
+ store = grid.getStore(),
|
|
|
|
|
+ selectedRecord = grid.selModel.lastSelected;
|
|
|
|
|
+
|
|
|
|
|
+ store.insert(store.indexOf(selectedRecord) + 1, {});
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ deleteDetail: function() {
|
|
|
|
|
+ var grid = this.up('grid'),
|
|
|
|
|
+ store = grid.getStore(),
|
|
|
|
|
+ selectedRecord = grid.selModel.lastSelected;
|
|
|
|
|
+
|
|
|
|
|
+ store.remove(selectedRecord);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ swapUp: function() {
|
|
|
|
|
+ var grid = this.up('grid'),
|
|
|
|
|
+ store = grid.getStore(),
|
|
|
|
|
+ record = grid.selModel.lastSelected,
|
|
|
|
|
+ selectedIdx = store.indexOf(record),
|
|
|
|
|
+ to = store.getAt(selectedIdx - 1);
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ swapDown: function() {
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|