|
|
@@ -36,6 +36,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
|
|
|
remoteConfig: true, // 是否需要从远端读取form配置
|
|
|
toolBtns: [], // 自定义按钮
|
|
|
+ codeInHeader: true, // 单据编号显示在toolbar
|
|
|
|
|
|
auditTexts: {
|
|
|
auditCode: 'AUDITED',
|
|
|
@@ -60,84 +61,7 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
style: {
|
|
|
'border-bottom': '1px solid #35baf6 !important'
|
|
|
},
|
|
|
- items: [{
|
|
|
- xtype: 'tbtext',
|
|
|
- bind: {
|
|
|
- html: '<span class="x-tb x-no">NO. </span>' +
|
|
|
- '<span class="x-tb x-code">{base.codeEditable ? "" : ' + me._codeField + '}</span>'
|
|
|
- }
|
|
|
- }, {
|
|
|
- xtype: 'textfield',
|
|
|
- minHeight: 24,
|
|
|
- maxHeight: 24,
|
|
|
- width: 150,
|
|
|
- cls: 'x-codeeditor',
|
|
|
- hidden: true,
|
|
|
- bind: {
|
|
|
- value: '{' + me._codeField + '}',
|
|
|
- hidden: '{!base.codeEditable}'
|
|
|
- },
|
|
|
- listeners: {
|
|
|
- blur: 'codeEditorBlur',
|
|
|
- show: function (field, eOpts) {
|
|
|
- field.focus();
|
|
|
- }
|
|
|
- }
|
|
|
- }, {
|
|
|
- xtype: 'tbtext',
|
|
|
- // html: '已审核',
|
|
|
- html: auditTexts.auditText,
|
|
|
- cls: 'x-audited',
|
|
|
- hidden: true,
|
|
|
- bind: {
|
|
|
- // hidden: '{!(' + me._statusCodeField + ' == "AUDITED")}'
|
|
|
- hidden: '{!(' + me._statusCodeField + ' == "' + auditTexts.auditCode + '")}'
|
|
|
- }
|
|
|
- }, {
|
|
|
- xtype: 'button',
|
|
|
- cls: 'x-codeeditor-btn',
|
|
|
- bind: {
|
|
|
- iconCls: 'fa {base.codeEditable ? "fa-check-circle" : "fa-edit"}',
|
|
|
- // hidden: '{(' + me._statusCodeField + ' == "AUDITED")}'
|
|
|
- hidden: '{(' + me._statusCodeField + ' == "' + auditTexts.auditCode + '")}'
|
|
|
- },
|
|
|
- handler: 'codeEditorClick'
|
|
|
- }, '->'].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',
|
|
|
- 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 + ' == "' + auditTexts.auditCode + '"}'
|
|
|
- }
|
|
|
- }, {
|
|
|
- xtype: 'button',
|
|
|
- text: '删除',
|
|
|
- bind: {
|
|
|
- hidden: '{deleteHidden || ' + me._statusCodeField + '=="' + auditTexts.auditCode + '"}'
|
|
|
- },
|
|
|
- handler: 'delete'
|
|
|
- }, {
|
|
|
- xtype: 'button',
|
|
|
- bind: {
|
|
|
- text: '{auditBtnText}',
|
|
|
- disabled: '{!base.valid}',
|
|
|
- hidden:'{!showAuditBtn}'
|
|
|
- },
|
|
|
- handler: "auditBtnClick",
|
|
|
-
|
|
|
- }]))
|
|
|
+ items: me.getToolBarItems(),
|
|
|
}],
|
|
|
listeners: {
|
|
|
validitychange: function() {
|
|
|
@@ -148,6 +72,99 @@ Ext.define('saas.view.core.form.FormPanel', {
|
|
|
me.callParent(arguments);
|
|
|
},
|
|
|
|
|
|
+ getToolBarItems: function() {
|
|
|
+ var me = this, items = [];
|
|
|
+ var codeHeaderItems = [{
|
|
|
+ xtype: 'tbtext',
|
|
|
+ bind: {
|
|
|
+ html: '<span class="x-tb x-no">NO. </span>' +
|
|
|
+ '<span class="x-tb x-code">{base.codeEditable ? "" : ' + me._codeField + '}</span>'
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ xtype: 'textfield',
|
|
|
+ minHeight: 24,
|
|
|
+ maxHeight: 24,
|
|
|
+ width: 150,
|
|
|
+ cls: 'x-codeeditor',
|
|
|
+ hidden: true,
|
|
|
+ bind: {
|
|
|
+ value: '{' + me._codeField + '}',
|
|
|
+ hidden: '{!base.codeEditable}'
|
|
|
+ },
|
|
|
+ listeners: {
|
|
|
+ blur: 'codeEditorBlur',
|
|
|
+ show: function (field, eOpts) {
|
|
|
+ field.focus();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ xtype: 'tbtext',
|
|
|
+ // html: '已审核',
|
|
|
+ html: me.auditTexts.auditText,
|
|
|
+ cls: 'x-audited',
|
|
|
+ hidden: true,
|
|
|
+ bind: {
|
|
|
+ // hidden: '{!(' + me._statusCodeField + ' == "AUDITED")}'
|
|
|
+ hidden: '{!(' + me._statusCodeField + ' == "' + me.auditTexts.auditCode + '")}'
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ xtype: 'button',
|
|
|
+ cls: 'x-codeeditor-btn',
|
|
|
+ bind: {
|
|
|
+ iconCls: 'fa {base.codeEditable ? "fa-check-circle" : "fa-edit"}',
|
|
|
+ // hidden: '{(' + me._statusCodeField + ' == "AUDITED")}'
|
|
|
+ hidden: '{(' + me._statusCodeField + ' == "' + me.auditTexts.auditCode + '")}'
|
|
|
+ },
|
|
|
+ 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);
|
|
|
+ }
|
|
|
+
|
|
|
+ items.push('->');
|
|
|
+
|
|
|
+ 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))
|
|
|
+
|
|
|
+ return items;
|
|
|
+ },
|
|
|
+
|
|
|
isValid: function() {
|
|
|
var me = this;
|
|
|
var viewModel = me.getViewModel();
|