|
@@ -36,7 +36,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
initComponent: function() {
|
|
initComponent: function() {
|
|
|
|
|
|
|
|
var me = this;
|
|
var me = this;
|
|
|
- //me.FormUtil.setItems(me);
|
|
|
|
|
|
|
+ me.FormUtil.setItems(me);
|
|
|
|
|
|
|
|
//判断是否加载数据
|
|
//判断是否加载数据
|
|
|
|
|
|
|
@@ -60,7 +60,6 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Ext.apply(me, {
|
|
Ext.apply(me, {
|
|
|
- items:me.defaultItems,
|
|
|
|
|
dockedItems: [{
|
|
dockedItems: [{
|
|
|
xtype: 'toolbar',
|
|
xtype: 'toolbar',
|
|
|
dock: 'top',
|
|
dock: 'top',
|
|
@@ -94,7 +93,70 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
addItems: function(items) {
|
|
addItems: function(items) {
|
|
|
|
|
+ var me = this;
|
|
|
|
|
+ me.setBindFields(items);
|
|
|
return this.add(items);
|
|
return this.add(items);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 获取form数据
|
|
|
|
|
+ */
|
|
|
|
|
+ getFormData: function() {
|
|
|
|
|
+ var me = this,
|
|
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
|
|
+ allData = viewModel.getData(),
|
|
|
|
|
+ bindFields = allData.bindFields,
|
|
|
|
|
+ formData = {
|
|
|
|
|
+ main: {},
|
|
|
|
|
+ detail: []
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ 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;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(bindFields.indexOf(k) != -1) {
|
|
|
|
|
+ formData.main[k] = allData[k];
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return formData;
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 设置需要绑定的字段
|
|
|
|
|
+ */
|
|
|
|
|
+ setBindFields: function(items) {
|
|
|
|
|
+ var me = this,
|
|
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
|
|
+ bindFields = [];
|
|
|
|
|
+
|
|
|
|
|
+ Ext.Array.each(items, function(item) {
|
|
|
|
|
+ var ignore = item.ignore,
|
|
|
|
|
+ bind = item.bind;
|
|
|
|
|
+
|
|
|
|
|
+ if(!ignore && bind) {
|
|
|
|
|
+ if(!Ext.isString(bind)) {
|
|
|
|
|
+ // 这里默认所有的fields都绑定的value,如果是其他属性则需要在加载成组件之后去获取他的defaultBind
|
|
|
|
|
+ bind = bind.value;
|
|
|
|
|
+ }
|
|
|
|
|
+ if(bind) {
|
|
|
|
|
+ bind = bind.replace(/[{|}]/g, '');
|
|
|
|
|
+ bindFields.push(bind);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ viewModel.set('bindFields', bindFields);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ initValues: function(values) {
|
|
|
|
|
+ var me = this,
|
|
|
|
|
+ viewModel = me.getViewModel();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
});
|
|
});
|