|
|
@@ -37,7 +37,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
remoteConfig: true, // 是否需要从远端读取form配置
|
|
|
toolBtns: [], // 自定义按钮
|
|
|
|
|
|
- initComponent: function() {
|
|
|
+ initComponent: function () {
|
|
|
var me = this;
|
|
|
me.initViewModel();
|
|
|
me.FormUtil.setItems(me);
|
|
|
@@ -53,21 +53,38 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
xtype: 'tbtext',
|
|
|
bind: {
|
|
|
html: '<span class="x-tb x-no">NO. </span>' +
|
|
|
- '<span class="x-tb x-code">{base.codeEditable ? "" : form.' + me._codeField + '}</span>'
|
|
|
+ '<span class="x-tb x-code">{base.codeEditable ? "" : form.' + me._codeField + '}</span>'
|
|
|
}
|
|
|
}, {
|
|
|
xtype: 'textfield',
|
|
|
minHeight: 24,
|
|
|
maxHeight: 24,
|
|
|
+ width: 150,
|
|
|
cls: 'x-codeeditor',
|
|
|
+ hidden: true,
|
|
|
bind: {
|
|
|
value: '{form.' + me._codeField + '}',
|
|
|
hidden: '{!base.codeEditable}'
|
|
|
},
|
|
|
listeners: {
|
|
|
blur: 'codeEditorBlur',
|
|
|
- show: function(field, eOpts) {
|
|
|
+ show: function (field, eOpts) {
|
|
|
+ field.animate({
|
|
|
+ duration: 500,
|
|
|
+ to: {
|
|
|
+ width: 200
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
field.focus();
|
|
|
+ },
|
|
|
+ hide: function(field) {
|
|
|
+ field.animate({
|
|
|
+ duration: 500,
|
|
|
+ to: {
|
|
|
+ width: 150
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
}, {
|
|
|
@@ -86,11 +103,11 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
hidden: '{!base.editable}'
|
|
|
},
|
|
|
handler: 'codeEditorClick'
|
|
|
- },'->'].concat(me.toolBtns.map(function(btn){
|
|
|
- btn.cls = btn.cls ? btn.cls + ' x-formpanel-btn-blue':'x-formpanel-btn-blue';
|
|
|
+ }, '->'].concat(me.toolBtns.map(function (btn) {
|
|
|
+ btn.cls = btn.cls ? btn.cls + ' x-formpanel-btn-blue' : 'x-formpanel-btn-blue';
|
|
|
return btn;
|
|
|
}).concat([{
|
|
|
- cls:'x-formpanel-btn-orange',
|
|
|
+ cls: 'x-formpanel-btn-orange',
|
|
|
xtype: 'button',
|
|
|
text: '新增',
|
|
|
handler: 'add'
|
|
|
@@ -112,7 +129,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
text: '{auditBtnText}'
|
|
|
},
|
|
|
handler: "auditBtnClick",
|
|
|
-
|
|
|
+
|
|
|
}]))
|
|
|
}]
|
|
|
});
|
|
|
@@ -122,34 +139,34 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
/**
|
|
|
* 一些初始化viewModel的方法
|
|
|
*/
|
|
|
- initViewModel: function() {
|
|
|
+ initViewModel: function () {
|
|
|
var me = this,
|
|
|
- codeField = me._codeField,
|
|
|
- statusField = me._statusField,
|
|
|
- statusCodeField = me._statusCodeField,
|
|
|
- viewModel = me.getViewModel();
|
|
|
-
|
|
|
- viewModel.set('form.' + codeField, '--------------');
|
|
|
+ codeField = me._codeField,
|
|
|
+ statusField = me._statusField,
|
|
|
+ statusCodeField = me._statusCodeField,
|
|
|
+ viewModel = me.getViewModel();
|
|
|
+
|
|
|
+ viewModel.set('form.' + codeField, '');
|
|
|
viewModel.set('form.createTime', new Date());
|
|
|
viewModel.set('form.updateTime', new Date());
|
|
|
|
|
|
- if(statusCodeField) {
|
|
|
+ if (statusCodeField) {
|
|
|
var o = {};
|
|
|
o['auditBtnText'] = {
|
|
|
bind: '{form.' + statusCodeField + '}',
|
|
|
- get: function(value) {
|
|
|
+ get: function (value) {
|
|
|
viewModel.set('form.' + statusField, value == 'AUDITED' ? '审核' : '反审核');
|
|
|
return value == 'AUDITED' ? '反审核' : '审核'
|
|
|
}
|
|
|
};
|
|
|
viewModel.setFormulas(o);
|
|
|
viewModel.set('form.' + statusCodeField, "UNAUDITED");
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
viewModel.set('auditBtnText', "审核");
|
|
|
}
|
|
|
},
|
|
|
|
|
|
- addItems: function(items) {
|
|
|
+ addItems: function (items) {
|
|
|
var me = this;
|
|
|
me.setBindFields(items);
|
|
|
return this.add(items);
|
|
|
@@ -158,19 +175,19 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
/**
|
|
|
* 获取form数据
|
|
|
*/
|
|
|
- getFormData: function() {
|
|
|
+ getFormData: function () {
|
|
|
var me = this,
|
|
|
- viewModel = me.getViewModel(),
|
|
|
- allData = viewModel.getData(),
|
|
|
- formData = allData['form'],
|
|
|
- detailCount = me.detailCount,
|
|
|
- data = {
|
|
|
- main: formData,
|
|
|
- };
|
|
|
-
|
|
|
- for(var i = 0; i < detailCount; i++) {
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ allData = viewModel.getData(),
|
|
|
+ formData = allData['form'],
|
|
|
+ detailCount = me.detailCount,
|
|
|
+ data = {
|
|
|
+ main: formData,
|
|
|
+ };
|
|
|
+
|
|
|
+ for (var i = 0; i < detailCount; i++) {
|
|
|
var detail = allData['detail' + i],
|
|
|
- store = detail.detailStore;
|
|
|
+ store = detail.detailStore;
|
|
|
|
|
|
data['detail' + i] = store.getData().items;
|
|
|
}
|
|
|
@@ -178,21 +195,21 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
return data;
|
|
|
},
|
|
|
|
|
|
- setFormData: function(formData) {
|
|
|
+ setFormData: function (formData) {
|
|
|
var me = this,
|
|
|
- main = formData.main,
|
|
|
- detailCount = me.detailCount,
|
|
|
- viewModel = me.getViewModel(),
|
|
|
- viewData = viewModel.getData();
|
|
|
+ main = formData.main,
|
|
|
+ detailCount = me.detailCount,
|
|
|
+ viewModel = me.getViewModel(),
|
|
|
+ viewData = viewModel.getData();
|
|
|
|
|
|
viewModel.set('form', main);
|
|
|
|
|
|
- for(var i = 0; i < detailCount; i++) {
|
|
|
+ for (var i = 0; i < detailCount; i++) {
|
|
|
var detailData = formData['detail' + i] || [],
|
|
|
- detail = viewData['detail' + i],
|
|
|
- store = detail.detailStore;
|
|
|
+ detail = viewData['detail' + i],
|
|
|
+ store = detail.detailStore;
|
|
|
|
|
|
- if(detailData){
|
|
|
+ if (detailData) {
|
|
|
store.loadData(detailData);
|
|
|
}
|
|
|
}
|
|
|
@@ -201,36 +218,36 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
/**
|
|
|
* 设置需要绑定的字段
|
|
|
*/
|
|
|
- setBindFields: function(items) {
|
|
|
+ setBindFields: function (items) {
|
|
|
var me = this,
|
|
|
- viewModel = me.getViewModel();
|
|
|
+ viewModel = me.getViewModel();
|
|
|
|
|
|
- Ext.Array.each(items, function(item) {
|
|
|
+ Ext.Array.each(items, function (item) {
|
|
|
var xtype = item.xtype,
|
|
|
- bind = item.bind,
|
|
|
- name = item.name,
|
|
|
- ignore = item.ignore,
|
|
|
- defaultValue = item.defaultValue;
|
|
|
+ bind = item.bind,
|
|
|
+ name = item.name,
|
|
|
+ ignore = item.ignore,
|
|
|
+ defaultValue = item.defaultValue;
|
|
|
|
|
|
- if(xtype == 'detailGridField') {
|
|
|
+ if (xtype == 'detailGridField') {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
// 设置model绑定
|
|
|
- if(!ignore) {
|
|
|
- if(bind) {
|
|
|
- if(!Ext.isString(bind)) {
|
|
|
+ if (!ignore) {
|
|
|
+ if (bind) {
|
|
|
+ if (!Ext.isString(bind)) {
|
|
|
Ext.apply(bind, {
|
|
|
value: '{form.' + name + '}'
|
|
|
});
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
item.bind = '{form.' + name + '}';
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
item.bind = '{form.' + name + '}';
|
|
|
}
|
|
|
// 设置默认值
|
|
|
- if(defaultValue) {
|
|
|
+ if (defaultValue) {
|
|
|
viewModel.set('form.' + name, defaultValue);
|
|
|
}
|
|
|
}
|