Browse Source

主从表刷新

zhuth 7 years ago
parent
commit
089e681a21

+ 9 - 0
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -52,6 +52,15 @@ Ext.define('saas.view.core.form.FormPanel', {
         me.initFormItems();
 
         me.defaultBtns = me.defaultBtns || [{
+            cls: 'x-formpanel-btn-blue',
+            xtype: 'button',
+            text: '刷新',
+            hidden: true,
+            bind: {
+                hidden: '{!id}'
+            },
+            handler: 'refresh'
+        }, {
             cls: 'x-formpanel-btn-blue',
             xtype: 'button',
             text: '新增',

+ 19 - 0
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -12,6 +12,25 @@ Ext.define('saas.view.core.form.FormPanelController', {
         status == 'AUDITED' ? me.onUnAudit() : me.onAudit();
     },
 
+    refresh: function() {
+        var me = this,
+        form = me.getView(),
+        xtype = form.xtype,
+        _config = form._config,
+        currentTab = saas.util.BaseUtil.getCurrentTab();
+        
+        var view = {
+            _config: _config,
+            xtype: xtype
+        };
+        Ext.apply(view, _config);
+        
+        Ext.suspendLayouts();
+        currentTab.removeAll();
+        currentTab.add(view);
+        Ext.resumeLayouts(true);
+    },
+
     add: function(){
         var form = this.getView();
         var id = form.xtype + '-add';

+ 5 - 6
frontend/saas-web/app/view/core/tab/Controller.js

@@ -15,13 +15,11 @@ Ext.define('saas.view.core.tab.Controller', {
         };
         Ext.apply(view, viewConfig);
 
-        tab.tabView = tab.add(view);
+        tab.add(view);
     },
 
-    onTabChange: function(component) {
-        var me = this,
-        tabPanel = me.getView(),
-        tabView = tabPanel.tabView;
+    onTabActivate: function(component) {
+        var tabView = component.down('panel');
 
         if(typeof tabView.refresh == 'function') {
             tabView.refresh();
@@ -29,7 +27,8 @@ Ext.define('saas.view.core.tab.Controller', {
 
         if(!component.resetCloseClick) {
             component.tab.onCloseClick = function() {
-                var me = this;
+                var me = this,
+                tabView = component.down('panel');
          
                 if (me.fireEvent('beforeclose', me) !== false) {
                     if (me.tabBar) {

+ 1 - 1
frontend/saas-web/app/view/core/tab/Panel.js

@@ -5,6 +5,6 @@ Ext.define('saas.view.core.tab.Panel', {
     layout: 'fit',
     
     listeners: {
-        activate: 'onTabChange'
+        activate: 'onTabActivate'
     }
 });