hy 7 years ago
parent
commit
cca53452ec

+ 5 - 2
frontend/saas-web/app/util/FormUtil.js

@@ -77,9 +77,8 @@ Ext.define('saas.util.FormUtil', {
 
     loadData: function(form) {
         var me = this;
-        
         if(form.initId && form.initId!=0) {
-            var url = form._dataModelUrl + form.initId,async=false;
+            var url = form._readUrl + form.initId,async=false;
             me.BaseUtil.request({url,async })
             .then(function(response) {
                 var res = Ext.decode(response.responseText);
@@ -93,6 +92,10 @@ Ext.define('saas.util.FormUtil', {
             .catch(function(response) {
                 console.error(response);
             });
+        }else{
+            var viewModel = form.getViewModel();
+            var detailStore = viewModel.get('detailGridField');
+            detailStore.loadData([{},{},{},{},{},{},{},{},{},{}]);
         }
     }
 });

+ 15 - 22
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -63,36 +63,29 @@ Ext.define('saas.view.core.form.FormPanelController', {
             return false;
         }
         //form里面数据
-        var formData = form.viewModel.data;
+        var formData = form.getFormData();
         var gridData = [];
-        var newGridData = [];
+        var dirtyGridData = [];
         if(formData.detailGridField){
-            gridData = formData.detailGridField;
+            gridData = formData.detail.data.items;
         }
-
-        var grid = form.query('detailGridField')[0];
-        var items = grid.store.data.items;
-        if(items.length>0){
-            Ext.each(items, function(rec){
-                if(rec.dirty==true){
-                    Ext.each(gridData, function(data,index){
-                        data[form._detnoColumn] = index + 1;
-                        if(rec.id == data.id){
-                            newGridData.push(data);
-                            return false;
-                        }else if ((typeof data.id) != 'number'&&data.id.indexOf('extMode')>-1){
-                            data.id = '';
-                            newGridData.push(data);
-                            return false;
-                        }
-                    });
+        if(gridData.length>0){
+            Ext.each(gridData, function(item){
+                debugger
+                if(item.dirty){
+                    if(item.data.id.indexOf('extMode')>-1){
+                        item.data.id = '';
+                    }
+                    dirtyGridData.push(item.data)
                 }
             });
         }   
+        debugger
         var params = {
-            main:formData,
-            items:newGridData
+            main:formData.main,
+            items:dirtyGridData
         }
+        return false;
         me.BaseUtil.request({
             url: form._saveUrl,
             params: JSON.stringify(params),

+ 1 - 1
frontend/saas-web/app/view/test/order/FormPanel.js

@@ -18,7 +18,7 @@ Ext.define('saas.view.test.order.FormPanel', {
     _auditUrl:'http://192.168.253.58:8800/purchase/audit',
     _deleteUrl:'http://192.168.253.58:8800/purchase/delete/',
     _deleteDetailUrl:'http://192.168.253.58:8800/purchase/deleteItem/',
-    initId:11,
+    initId:0,
 
     toolBtns: [{
         xtype: 'button',