Browse Source

放大镜触发grid edit事件

zhuth 7 years ago
parent
commit
c3bb070f92

+ 3 - 1
frontend/saas-web/app/view/core/dbfind/DbfindGridPanel.js

@@ -95,11 +95,13 @@ Ext.define('saas.view.core.dbfind.DbfindGridPanel', {
                 if(me.belong=='grid'){
                     for (let index = 0; index < dbfinds.length; index++) {
                         var item = dbfinds[index];
-                        var rec = me.dbfindtrigger.column.ownerCt.ownerCt.selModel.getLastSelected();
+                        var mainGrid = me.dbfindtrigger.column.ownerCt.ownerCt;
+                        var rec = mainGrid.selModel.getLastSelected();
                         if(rec){
                             var nowRec = me.dbfindtrigger.column.ownerCt.ownerCt.store.getData().getByKey(rec.id);
                             nowRec.set(item.to,record.get(item.from));
                             //me.column.getEditor().setValue(record.get(item.from));
+                            mainGrid.up('detailGridField').fireEvent('edit');
                         }
                     }
                 }else if(me.belong=='form'){

+ 1 - 1
frontend/saas-web/app/view/core/dbfind/DbfindTrigger.js

@@ -18,7 +18,7 @@ Ext.define('saas.view.core.dbfind.DbfindTrigger', {
                 'value':me.value
             }]
         });
-        this.callParent();
+        me.callParent();
     },
     //输入值之后进行模糊查询
     doQuery: function(queryString, forceAll, rawQuery) {

+ 5 - 4
frontend/saas-web/app/view/core/dbfind/MultiDbfindGridPanel.js

@@ -112,12 +112,12 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                             var selectRecordArr = grid.selectRecordArr;
                             var dbfinds = grid.dbfinds;
                             //点开放大镜的行
-                            var rec = grid.dbfindtrigger.column.ownerCt.ownerCt.selModel.getLastSelected();
                             var mainGrid = grid.dbfindtrigger.column.ownerCt.ownerCt;
-                            Ext.Array.each(selectRecordArr,function(record,x) {
+                            var rec = mainGrid.selModel.getLastSelected();
+                            Ext.Array.each(selectRecordArr,function(record,index) {
                                 Ext.Array.each(dbfinds,function(dbfind) {
                                     if(rec){
-                                        var nowRec = grid.dbfindtrigger.column.ownerCt.ownerCt.store.getData().getByKey(rec.id);
+                                        var nowRec = mainGrid.store.getData().getByKey(rec.id);
                                         nowRec.set(dbfind.to,record.get(dbfind.from));
                                     }
                                 });
@@ -125,13 +125,14 @@ Ext.define('saas.view.core.dbfind.MultiDbfindGridPanel', {
                                     return f.id==(rec&&rec.id?rec.id:0)
                                 });
                                 rec = mainGrid.store.data.getAt(index+1);
-                                if(!rec&&x!=selectRecordArr.length-1){//添加下一行
+                                if(!rec&&index!=selectRecordArr.length-1){//添加下一行
                                     var data = {};
                                     data[mainGrid.ownerCt.detnoColumn] = index + 2;
                                     mainGrid.store.insert(index+1, data);
                                     rec = mainGrid.store.data.getAt(index+1);
                                 }
                             });
+                            mainGrid.up('detailGridField').fireEvent('edit');
                             grid.ownerCt.close();
                         }
                     }])

+ 4 - 2
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -124,7 +124,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                     xtype: 'button',
                     text: '删除',
                     bind: {
-                        hidden: '{deleteHidden}'
+                        hidden: '{deleteHidden || ' + me._statusCodeField + '=="' + auditTexts.auditCode + '"}'
                     },
                     handler: 'delete'
                 }, {
@@ -268,7 +268,8 @@ Ext.define('saas.view.core.form.FormPanel', {
                 store = detail.detailStore;
 
             if (detailData) {
-                store.loadData(detailData);
+                store.removeAll();
+                store.add(detailData);
             }
         }
 
@@ -293,6 +294,7 @@ Ext.define('saas.view.core.form.FormPanel', {
             if (xtype == 'detailGridField') {
                 item.listeners = item.listeners || {};
                 item.listeners.validChange = function() {
+                    console.log('validChange');
                     me.isValid();
                 }
 

+ 4 - 3
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -61,8 +61,8 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                 emptyText: '<div style="width: 100%; text-align: center; cursor: pointer; color: green;" class="fa fa-plus" title="新增行" onclick="addRows(\'' + me.id + '\')"></div>',
             },
             listeners: {
-                edit: function(grid) {
-                    grid.fireEvent('validChange');
+                edit: function() {
+                    this.fireEvent('validChange');
                 },
                 itemmouseenter: function(view, record, item, index, e, eOpts) {
                     if(!view.up('detailGridField').editable) {
@@ -97,7 +97,8 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
                     }else if(target.classList.contains('fa-plus')) {
                         me.addDetail(detno);
                     }
-                }
+                },
+                scope: me
             }
         });
         me.callParent(arguments);