Browse Source

改为只支持单从表

zhuth 7 years ago
parent
commit
94b81ac8ba

+ 3 - 6
frontend/saas-web/app/util/FormUtil.js

@@ -36,12 +36,9 @@ Ext.define('saas.util.FormUtil', {
                         if(item.xtype == 'detailGridField') {
                             var storeName = item.name || item.xtype + Ext.id();
                             item.bind = {
-                                store: '{' + storeName + '}'
+                                store: '{_detailStore}'
                             };           
-                            var detailGrids = formModel.get('detailGrids');
-                            detailGrids.push(storeName);
-                            formModel.set('detailGrids', detailGrids);
-                            formModel.set(storeName, Ext.create('Ext.data.Store', {
+                            formModel.set('_detailStore', Ext.create('Ext.data.Store', {
                                 fields: item.columns ? item.columns.filter(function(c) {
                                     return !!c.dataIndex;
                                 }).map(function(c) {
@@ -83,7 +80,7 @@ Ext.define('saas.util.FormUtil', {
                 if(res.success) {
                     var viewModel = form.getViewModel();
                     viewModel.setData(res.data.main);
-                    var detailStore = viewModel.get('detailGridField');
+                    var detailStore = viewModel.get('_detailStore');
                     detailStore.loadData(res.data.items);
                 }
             })

+ 14 - 10
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -91,16 +91,15 @@ Ext.define('saas.view.core.form.FormPanel', {
         };
 
         for(k in allData) {
-            if(k == 'detailGridField') {
-                var store = allData[k],
-                storeData = store.getData().items;
-                formData.detail = storeData.map(function(d) {
-                    return d.getData();
-                });
-                continue;
-            }
+            var d = allData[k];
+            // 主表数据
             if(bindFields.indexOf(k) != -1) {
-                formData.main[k] = allData[k];
+                formData.main[k] = d;
+            }
+            // 从表数据
+            if(k == '_detailStore') {
+                storeData = d.getData().items;
+                formData.detail = storeData;
             }
         }
         
@@ -133,9 +132,14 @@ Ext.define('saas.view.core.form.FormPanel', {
         viewModel.set('bindFields', bindFields);
     },
 
-    initValues: function(values) {
+    initFormData: function(formData) {
         var me = this,
+        main = formData.main,
+        detail = formData.detail,
         viewModel = me.getViewModel();
+
+        viewModel.setData(main);
+        // viewModel.set('detailGridField');
     }
     
 });

+ 1 - 1
frontend/saas-web/app/view/core/form/FormPanelModel.js

@@ -4,6 +4,6 @@ Ext.define('saas.view.core.form.FormPanelModel', {
 
     data: {
         bindFields: [], // 请求绑定字段,绑定到formfield并且未设置ignore为true
-        detailGrids: [], // 记录从表绑定项
+        _detailStore: null, // 从表store
     }
 });

+ 1 - 3
frontend/saas-web/app/view/main/MainController.js

@@ -68,9 +68,7 @@ Ext.define('saas.view.main.MainController', {
             collapsing = !navigationList.getMicro(),
             new_width = collapsing ? 64 : 250;
 
-        if (Ext.isIE9m || !Ext.os.is 
-
-.Desktop) {
+        if (Ext.isIE9m || !Ext.os.is.Desktop) {
             Ext.suspendLayouts();
 
             refs.mainLogo.setWidth(new_width);