Ext.define('erp.view.oa.doc.OrgTreePanel', {
extend: 'Ext.tree.Panel',
xtype: 'erpOrgTreePanel',
id:'orgtree',
lines:true,
rootVisible: false,
containerScroll : true,
autoScroll: false,
useArrows: true,
split:true,
closeAction:'destroy',
border : false,
enableDD : false,
FormUtil:Ext.create('erp.util.FormUtil'),
store: Ext.create('Ext.data.TreeStore', {
root : {
text: 'root',
id: 'root',
expanded: true
}
}),
initComponent : function(){
this.callParent(arguments);
this.getTreeRootNode(this);
},
listeners:{
itemmousedown: function(selModel, record){
var tree=selModel.ownerCt;
if(! tree.itemselector) tree.itemselector=Ext.getCmp('itemselector-field');
var data=new Array();
data.push({
text:'[组织]'+record.data.text,
value:'org#'+record.data.id
});
Ext.Array.each(record.raw.otherInfo,function(item){
data.push({
text:'[岗位]'+item.jo_name,
value:'job#'+item.jo_id
})
});
Ext.Array.each(record.raw.data,function(item){
data.push({
text:'[个人]'+item.em_name,
value:'employee#'+item.em_id
})
});
tree.itemselector.fromField.store.loadData(data);
}
},
getTreeRootNode: function(treepanel){
treepanel.setLoading(true);
treepanel.store.removeAll(true);
Ext.Ajax.request({//拿到tree数据
url : basePath + 'hr/employee/getHrOrgsTreeAndEmployees.action',
callback : function(options,success,response){
var res = new Ext.decode(response.responseText);
treepanel.setLoading(false);
if(res.tree){
var tree = res.tree;
treepanel.store.setRootNode({
text: 'root',
id: 'root',
expanded: true,
children: tree
});
} else if(res.exceptionInfo){
showError(res.exceptionInfo);
}
}
});
},
});