Ext.QuickTips.init();
Ext.define('erp.controller.hr.emplmana.Account', {
    extend: 'Ext.app.Controller',
    FormUtil: Ext.create('erp.util.FormUtil'),
    BaseUtil: Ext.create('erp.util.BaseUtil'),
    GridUtil: Ext.create('erp.util.GridUtil'),
    views:[
    		'hr.emplmana.Account','core.form.Panel','core.button.CopyAll',
    		'core.button.Save','core.button.Close','core.grid.Panel2', 'core.toolbar.Toolbar', 'core.grid.YnColumn',
    		'core.button.Update','core.form.YnField','core.button.ResAudit','oa.doc.ItemSelector',
  			'core.button.Audit','core.button.Submit','core.button.ResSubmit','core.form.HrOrgSelectField',
    		'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger'
    	],
    init:function(){
    	var me = this;
    	this.control({ 
    		'erpCloseButton': {
    			click: function(btn){
    				this.FormUtil.beforeClose(this);
    			}
    		},
    		'erpUpdateButton': {
    			click: function(btn){
    				this.FormUtil.onUpdate(this);
    			}
    		},
    		'erpGridPanel2': {
    			itemclick: this.GridUtil.onGridItemClick
    		},
    		'erpSubmitButton': {
    			afterrender: function(btn){
    				var status = Ext.getCmp('em_statuscode');
    				if(status && status.value != 'ENTERING'){
    					btn.hide();
    				}
    			},
    			click: function(btn){
    				me.FormUtil.onSubmit(Ext.getCmp('em_id').value);
    			}
    		},
    		'erpResSubmitButton': {
    			afterrender: function(btn){
    				var status = Ext.getCmp('em_statuscode');
    				if(status && status.value != 'COMMITED'){
    					btn.hide();
    				}
    			},
    			click: function(btn){
    				me.FormUtil.onResSubmit(Ext.getCmp('em_id').value);
    			}
    		},
    		'erpCopyButton':{
    			click: function(btn){
    				var win = Ext.widget('window', {
						title: '<div align="center" class="WindowTitle">选择对象</div>',
						modal: true,
						width:'80%',
						height:'90%',
						layout:'border',
						requires:['erp.view.oa.doc.ItemSelector'],
						items:[{
							region:'center',
							layout:'border',
							items:[{
								region:'north',
								xtype:'form',
								bodyPadding: 10,
								layout:'column',
								bodyStyle:'background:#fafafa;',
								items:[{
									xtype:'textfield',
									margin:'0 0 0 20',
									fieldLabel:'快速搜索',
									labelStyle:'font-weight:bold;',
									columnWidth:0.8
								},{
									xtype:'button',
									id:'search',
									text:'搜索',
									cls:'button1 pill',
									style:'margin-left:5px;',
									width:60,
									handler:function(btn){
										btn.setDisabled(true);
										var likestring=btn.ownerCt.items.items[0].value;
										if(!likestring) {
											showMessage('提示','请输入需要搜索的信息!',1000);
											btn.setDisabled(false);
											return;
										}
										Ext.Ajax.request({//查询数据
											url : basePath + 'common/ProcessQueryPersons.action',
											params:{
												likestring:likestring
											},
											callback : function(options,success,response){
												var res = new Ext.decode(response.responseText);													
												if(res.data){
													Ext.getCmp('itemselector-field').fromField.store.loadData(res.data);
													btn.setDisabled(false);
												} else if(res.exceptionInfo){
													showError(res.exceptionInfo);
												}
											}
										});
									}
								}]
							},{
								region:'center',
								xtype: 'itemselector',			
								anchor: '100%',	
								id: 'itemselector-field',
								displayField: 'text',
								valueField: 'value',
								allowBlank: false,
								msgTarget: 'side'							
							}],
							buttonAlign:'center',
							buttons:['->',{
								cls:'button1 pill',
								style:'margin-left:5px;',
								text:'确认',
								scope:this,
								handler:function(btn){
									var itemselector=Ext.getCmp('itemselector-field');
									var value=itemselector.getRawValue();
									if(value.length<1){
                                       showMessage('提示','选择需要设置对象',1000);
									}else {
										me.copySettings(value,Ext.getCmp('em_id').value);
										btn.ownerCt.ownerCt.ownerCt.close();
									}
								}
							},{
								cls:'button1 pill',
								style:'margin-left:5px;',
								text:'关闭',
								handler:function(btn){
									btn.ownerCt.ownerCt.ownerCt.close();
								}
							},'->']
						},{
							region:'west',
							width:'40%',
							xtype:'erpOrgTreePanel',
							bodyStyle:'background:#fafafa;'
						}]
					});
					win.show();
    			}
    		 },
    		'erpAuditButton': {
    			afterrender: function(btn){
    				var status = Ext.getCmp('em_statuscode');
    				if(status && status.value != 'COMMITED'){
    					btn.hide();
    				}
    			},
    			click: function(btn){
    				me.FormUtil.onAudit(Ext.getCmp('em_id').value);
    			}
    		},
    		'erpResAuditButton': {
    			afterrender: function(btn){
    				var status = Ext.getCmp('em_statuscode');
    				if(status && status.value != 'AUDITED'){
    					btn.hide();
    				}
    			},
    			click: function(btn){
    				me.FormUtil.onResAudit(Ext.getCmp('em_id').value);
    			}
    		},
    		'field[name=em_password]': {
    			afterrender: function(f) {
    				f.el.dom.getElementsByTagName('input')[0].type = "password";
    			}
    		},
    	    'dbfindtrigger[name=es_field]': {
                focus: function(t) {
                    t.setHideTrigger(false);
                    t.setReadOnly(false);
                    var record = Ext.getCmp('grid').selModel.getLastSelected();
                    var caller = record.data['es_pagecaller'];
                    var pagekind = record.data['es_kind'];
                    if (caller == null || caller == '') {
                        showError("请选选择关联的页面CALLER!");
                        t.setHideTrigger(true);
                        t.setReadOnly(true);
                    } else {
                        t.dbBaseCondition = "dld_caller='" + caller + "'";
                    }
                    if(pagekind=='batchdeal'){
                    	t.dbfind='DetailGrid|dg_field';
                        t.dbBaseCondition="dg_caller='"+caller+"'";
                    }
                    	
                    
                }
            },
            'dbfindtrigger[name=es_pagecaller]': {
                focus: function(t) {
                    t.setHideTrigger(false);
                    t.setReadOnly(false);
                    var record = Ext.getCmp('grid').selModel.getLastSelected();
                    var pagekind = record.data['es_kind'];
                    if(pagekind=='batchdeal')
                    	t.dbfind='Form|fo_caller';
                }
            }
    	});
    },
    getForm: function(btn){
		return btn.ownerCt.ownerCt;
	},
	copySettings:function(value,emid){
		var me=this;
		this.FormUtil.setLoading(true);
		Ext.Ajax.request({
			url : basePath + 'hr/emplmana/copyRelativeSettings.action',
			params : {
				toobjects:value.join(";"),
				fromemid:emid
			},
			async:false,
			method : 'post',
			callback : function(options,success,response){
				me.FormUtil.setLoading(false);
				var localJson = new Ext.decode(response.responseText);
				if(localJson.success){
					showMessage('提示','复制成功',1000);
				} else if(localJson.exceptionInfo){
					showError(localJson.exceptionInfo);
				} else{
					showMessage('提示','复制失败',1000);
				}
			}

		});
		
	}
});