|
|
@@ -8,6 +8,23 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
|
|
|
margin: '0 5 5 0', // formpanel的fieldDefaults未生效
|
|
|
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: {
|
|
|
data: []
|
|
|
},
|
|
|
@@ -17,82 +34,7 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
|
|
|
|
|
|
initComponent: function() {
|
|
|
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.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() {
|
|
|
-
|
|
|
- }
|
|
|
});
|