|
|
@@ -54,6 +54,39 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
me.initViewModel();
|
|
|
me.FormUtil.setItems(me);
|
|
|
|
|
|
+ me.defaultBtns = me.defaultBtns || [{
|
|
|
+ cls: 'x-formpanel-btn-orange',
|
|
|
+ xtype: 'button',
|
|
|
+ text: '新增',
|
|
|
+ bind: {
|
|
|
+ hidden: '{!id}'
|
|
|
+ },
|
|
|
+ handler: 'add'
|
|
|
+ }, {
|
|
|
+ xtype: 'button',
|
|
|
+ text: '保存',
|
|
|
+ handler: 'onSave',
|
|
|
+ bind: {
|
|
|
+ // disabled: '{!base.valid || '+ me._statusCodeField + ' == "AUDITED" || ' + me._statusCodeField + ' == "OPEN"}'
|
|
|
+ disabled: '{!base.valid || '+ me._statusCodeField + ' == "' + me.auditTexts.auditCode + '"}'
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ xtype: 'button',
|
|
|
+ text: '删除',
|
|
|
+ bind: {
|
|
|
+ hidden: '{deleteHidden || ' + me._statusCodeField + '=="' + me.auditTexts.auditCode + '"}'
|
|
|
+ },
|
|
|
+ handler: 'delete'
|
|
|
+ }, {
|
|
|
+ xtype: 'button',
|
|
|
+ bind: {
|
|
|
+ text: '{auditBtnText}',
|
|
|
+ disabled: '{!base.valid}',
|
|
|
+ hidden:'{!showAuditBtn}'
|
|
|
+ },
|
|
|
+ handler: "auditBtnClick",
|
|
|
+ }];
|
|
|
+
|
|
|
Ext.apply(me, {
|
|
|
dockedItems: [{
|
|
|
xtype: 'toolbar',
|
|
|
@@ -118,39 +151,6 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
handler: 'codeEditorClick'
|
|
|
}, '->'];
|
|
|
|
|
|
- var defaultBtns = [{
|
|
|
- cls: 'x-formpanel-btn-orange',
|
|
|
- xtype: 'button',
|
|
|
- text: '新增',
|
|
|
- bind: {
|
|
|
- hidden: '{!id}'
|
|
|
- },
|
|
|
- handler: 'add'
|
|
|
- }, {
|
|
|
- xtype: 'button',
|
|
|
- text: '保存',
|
|
|
- handler: 'onSave',
|
|
|
- bind: {
|
|
|
- // disabled: '{!base.valid || '+ me._statusCodeField + ' == "AUDITED" || ' + me._statusCodeField + ' == "OPEN"}'
|
|
|
- disabled: '{!base.valid || '+ me._statusCodeField + ' == "' + me.auditTexts.auditCode + '"}'
|
|
|
- }
|
|
|
- }, {
|
|
|
- xtype: 'button',
|
|
|
- text: '删除',
|
|
|
- bind: {
|
|
|
- hidden: '{deleteHidden || ' + me._statusCodeField + '=="' + me.auditTexts.auditCode + '"}'
|
|
|
- },
|
|
|
- handler: 'delete'
|
|
|
- }, {
|
|
|
- xtype: 'button',
|
|
|
- bind: {
|
|
|
- text: '{auditBtnText}',
|
|
|
- disabled: '{!base.valid}',
|
|
|
- hidden:'{!showAuditBtn}'
|
|
|
- },
|
|
|
- handler: "auditBtnClick",
|
|
|
- }];
|
|
|
-
|
|
|
if(me.codeInHeader) {
|
|
|
items = items.concat(codeHeaderItems);
|
|
|
}
|
|
|
@@ -160,7 +160,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
items = items.concat(me.toolBtns.map(function (btn) {
|
|
|
btn.cls = btn.cls ? btn.cls + ' x-formpanel-btn-blue' : 'x-formpanel-btn-blue';
|
|
|
return btn;
|
|
|
- }).concat(defaultBtns))
|
|
|
+ }).concat(me.defaultBtns))
|
|
|
|
|
|
return items;
|
|
|
},
|
|
|
@@ -297,6 +297,10 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
initFormData: function(data) {
|
|
|
var me = this;
|
|
|
me.setFormData(data);
|
|
|
+ var fields = me.getForm().getFields().items;
|
|
|
+ Ext.Array.each(fields, function(f) {
|
|
|
+ f.resetOriginalValue ? f.resetOriginalValue() : '';
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
@@ -365,5 +369,26 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
typeof item.setDisabled == 'function' && item.setDisabled(!able);
|
|
|
}
|
|
|
});
|
|
|
- }
|
|
|
+ },
|
|
|
+
|
|
|
+ //overriders
|
|
|
+ isDirty: function () {
|
|
|
+ var me = this,
|
|
|
+ detailGrids = me.query('detailGridField'),
|
|
|
+ dirty = false;
|
|
|
+
|
|
|
+ for(var i = 0; i < detailGrids.length; i++) {
|
|
|
+ var grid = detailGrids[i];
|
|
|
+ if(grid.isDirty()) {
|
|
|
+ dirty = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!dirty) {
|
|
|
+ dirty = me.callParent();
|
|
|
+ }
|
|
|
+
|
|
|
+ return dirty;
|
|
|
+ },
|
|
|
});
|