Ext.QuickTips.init(); Ext.define('erp.controller.oa.custom.SingleForm', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'oa.custom.SingleForm','core.form.Panel','core.form.CheckBoxGroup', 'core.button.UUListener','core.button.Sync','core.form.MultiField','core.form.FileField', 'core.button.Add','core.button.Save','core.button.Close','core.button.Update','core.button.Delete','core.button.DeleteDetail', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.toolbar.Toolbar','core.trigger.MultiDbfindTrigger','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit', 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit', 'core.button.Scan','core.button.Banned','core.button.ResBanned','core.form.MultiField','core.button.Confirm','core.button.Sync', 'core.button.UpdateJYDate', 'core.grid.TfColumn','core.button.DbfindButton','core.button.ComboButton', 'core.form.YnField' ], init:function(){ var me = this; this.control({ 'erpSaveButton': { click: function(btn){ var form = me.getForm(btn); if(!Ext.isEmpty(form.codeField) && Ext.getCmp(form.codeField) && ( Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == '')){ me.BaseUtil.getRandomNumber(caller);//自动添加编号 } this.FormUtil.beforeSave(this); } }, 'erpDeleteButton' : { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp(me.getForm(btn).keyField).value); } }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } }, 'erpAddButton': { click: function(btn){ var title = btn.ownerCt.ownerCt.title || ' '; var url = window.location.href; url = url.replace(basePath, ''); url = url.substring(0, url.lastIndexOf('formCondition')-1); me.FormUtil.onAdd('add' + caller, title, url); } }, 'erpCloseButton': { click:function(btn){ me.FormUtil.beforeClose(me); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onSubmit(Ext.getCmp(me.getForm(btn).keyField).value); } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp(me.getForm(btn).keyField).value); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp(me.getForm(btn).keyField).value); } }, 'erpBannedButton': { afterrender:function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'CANUSE'){ btn.hide(); } }, click: function(btn){ var crid = Ext.getCmp(me.getForm(btn).keyField).value; me.FormUtil.onBanned(crid); } }, 'erpResBannedButton': { afterrender:function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'BANNED'){ btn.hide(); } }, click: function(btn){ var crid = Ext.getCmp(me.getForm(btn).keyField).value; me.FormUtil.onResBanned(crid); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp(me.getForm(btn).statuscodeField); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp(me.getForm(btn).keyField).value); } }, 'erpPrintButton': { click: function(btn){ me.FormUtil.onPrint(Ext.getCmp(me.getForm(btn).keyField).value); } } }); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, onChange: function(field, value){ field.setValue(value); if(value == 'C'){ } }, save: function(){ //默认流程CAllER 和页面caller一致; var flowcaller=Ext.getCmp('fo_flowcaller'); if(!flowcaller.value){ flowcaller.setValue(Ext.getCmp('fo_caller').value); } var grid = Ext.getCmp('grid'); var dd = grid.getChange(); if(dd.added.length > 0) { var form = Ext.getCmp('form'); this.FormUtil.getSeqId(form); this.FormUtil.save(form.getValues(), Ext.encode(dd.added)); } else { showError('请至少配置一个有效字段!'); } }, update: function(){ var grid = Ext.getCmp('grid'), items = grid.store.data.items; var field = Ext.getCmp('fo_table'), id = Ext.getCmp('fo_id').value; Ext.Array.each(items, function(item){ if(item.data['fd_field'] != null && item.data['fd_field'] != ''){ item.set('fd_table', field.value); item.set('fd_foid', id); } }); var me = this; if(! me.FormUtil.checkForm()){ return; } var dd = grid.getChange(); me.FormUtil.update(Ext.getCmp('form').getValues(), Ext.encode(dd.added), Ext.encode(dd.updated), Ext.encode(dd.deleted)); }, });