Browse Source

从表支持默认值配置

zhuth 7 years ago
parent
commit
b5d32c7313

+ 8 - 3
frontend/saas-web/Readme.md

@@ -91,10 +91,11 @@ viewModel: view.core.form.FormPanelModel
 | --- | --- | --- | --- |
 | storeModel | grid model | √ | "saas.model.purchase.purchasedetail" |
 | detnoColumn | 序号列,配置该项后无需再columns定义序号列 | √ | "pud_detno" |
-| columns[i].ignore | 是否忽略,为真时在调用保存方法时不会取到该列值 | x | true |
 | deleteDetailUrl | 删除明细接口 | √ | "/api/purchase/purchase/deleteItem" |
-| allowBlank | 是否必填列 | x | true |
-| isValid | 自定义校验规则,传入value,返回boolean | x | function(v) { return v > 10; } |
+| columns[i].ignore | 是否忽略,为真时在调用保存方法时不会取到该列值 | x | true |
+| columns[i].allowBlank | 是否必填列 | x | true |
+| columns[i].isValid | 自定义校验规则,传入value,返回boolean | x | function(v) { return v > 10; } |
+| columns[i].defaultValue | 默认值,只对设置了dataIndex的column生效 | x | 40 |
 - 需要根据columns在models文件夹下添加storeModel对应的Model
 - allowBlan和isValid的校验只会校验dirty数据
 ---
@@ -162,5 +163,9 @@ deleteDetailUrl 配置调整 formpanel.form->formpanel.detailGridField
 
 从表必填配置说明allowBlamk、isValid
 
+- 2018-10-31 18:00:55
+
+从表默认值配置说明
+
 
 

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

@@ -63,10 +63,14 @@ Ext.define('saas.util.FormUtil', {
                                 return c.dataIndex && !c.ignore;
                             }).map(function(c) {
                                 return c.dataIndex
-                            });
+                            }),
+                            defaultValueColumns = {};
 
                             Ext.Array.each(columns, function(c) {
 
+                                if(c.dataIndex && c.defaultValue) {
+                                    defaultValueColumns[c.dataIndex] = c.defaultValue;
+                                }
 
                                 // 不可锁定
                                 Ext.applyIf(c, {
@@ -113,7 +117,12 @@ Ext.define('saas.util.FormUtil', {
                                 data: [],
                                 listeners: {
                                     add: function(store, records, index, eOpts) {
-                                        console.log(index);
+                                        Ext.Array.each(records, function(r) {
+                                            for(k in defaultValueColumns) {
+                                                r.set(k, defaultValueColumns[k]);
+                                            }
+                                            r.commit();
+                                        });
                                     }
                                 }
                             }));

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

@@ -248,7 +248,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                 store = detail.detailStore;
 
             if (detailData) {
-                store.loadData(detailData);
+                store.add(detailData);
             }
         }