Browse Source

物料资料 设置了期初后 期初设置不允许取消勾选

zhuth 7 years ago
parent
commit
30ec907415

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

@@ -178,6 +178,11 @@ Ext.define('saas.util.FormUtil', {
                         model:item.storeModel,
                         data: [],
                         listeners: {
+                            datachanged: function(s, eOpts) {
+                                var g = form.query('detailGridField')[index];
+                                g.fireEvent('datachanged', g, s, eOpts);
+                            },
+                            // 为新增行设置默认值
                             add: function(store, records, index, eOpts) {
                                 Ext.Array.each(records, function(r) {
                                     for(k in defaultValueColumns) {

+ 7 - 0
frontend/saas-web/app/view/document/product/FormController.js

@@ -175,5 +175,12 @@ Ext.define('saas.view.document.product.FormController', {
            var m = Ext.util.Format.number(pd_num*pd_price, '0,000.00');
            item.set('pd_amount', m);               
         });
+    },
+
+    onDataChanged: function(grid, store) {
+        var me = this,
+        viewModel = me.getViewModel(),
+        trueData = grid.getTrueData();
+        viewModel.set('qcsz_disabled', trueData.length > 0);
     }
 });

+ 1 - 0
frontend/saas-web/app/view/document/product/FormModel.js

@@ -5,6 +5,7 @@ Ext.define('saas.view.document.product.FormModel', {
     data: {
         id: 0,
         qcsz: true,
+        qcsz_disabled: false
     },
 
     formulas:{

+ 7 - 0
frontend/saas-web/app/view/document/product/FormPanel.js

@@ -208,6 +208,9 @@ Ext.define('saas.view.document.product.FormPanel', {
         fieldLabel: '期初设置',
         name: 'qcsz',
         ignore: true,
+        bind: {
+            disabled: '{qcsz_disabled}'
+        },
         listeners: {
             change: 'qcsz_change'
         }
@@ -219,6 +222,9 @@ Ext.define('saas.view.document.product.FormPanel', {
         allowEmpty:true,
         // hidden: true,
         deleteDetailUrl:'/api/document/product/deleteDetail',
+        listeners: {
+            datachanged: 'onDataChanged'
+        },
         columns : [
         {
             text : "ID", 
@@ -369,6 +375,7 @@ Ext.define('saas.view.document.product.FormPanel', {
             trueData = detailGrid.getTrueData();
 
             viewModel.set('qcsz', trueData.length > 0);
+            viewModel.set('qcsz_disabled', trueData.length > 0);
             viewModel.notify();
             form.getForm().findField('qcsz').resetOriginalValue();
         }