Ext.BLANK_IMAGE_URL = '/plugins/extjs/ext-2.2/resources/images/default/s.gif';
var main, menu, header,bottom,onlineWindow,loginWin,messageWindow;
Ext.QuickTips.init();
if (typeof Global === "undefined") {
Global = {};
}
Global=Ext.apply(Global||{}, {
iframe:false,
openExtAppNode:function(node,e){
//使用树的package来代表所在的包,script代表公共脚本
main.openExtAppNode.call(this,node,e);
},
topicCategoryLoader : new Ext.tree.TreeLoader( {
url : "topicCategory.ejf?cmd=getCategory&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root')<0 ? node.id : "");
}
}
}),
albumCategoryLoader : new Ext.tree.TreeLoader( {
url : "albumCategory.ejf?cmd=getCategory&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root')<0 ? node.id : "");
}
}
}),
departmentLoader : new Ext.tree.TreeLoader( {
url : "department.ejf?cmd=getDepartment&pageSize=-1&treeData=true&all=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root')<0 ? node.id : "");
}
}
}),
systemRegionLoader : new Ext.tree.TreeLoader( {
url : "systemRegion.ejf?cmd=getSystemRegion&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root')<0 ? node.id : "");
}
}
}),
newsDirLoader : new Ext.tree.TreeLoader( {
url : "newsDir.ejf?cmd=getNewsDir&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root')<0 ? node.id : "");
}
}
}),
deptUserLoader : new Ext.tree.TreeLoader({
url : "employee.ejf?cmd=getDepartmentUser&pageSize=-1",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root') < 0
? node.id
: "");
if (typeof node.attributes.checked !== "undefined") {
treeLoader.baseParams.checked = node.attributes.checked;
}
}
}
}),
assetDirLoader : new Ext.tree.TreeLoader({
url : "assetDir.ejf?cmd=getAssetDirTree&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node.id.indexOf('root')<0 ? node.id : "");
if(typeof node.attributes.checked!=="undefined"){
treeLoader.baseParams.checked=false;
}
}
}
})
});
MenuPanel = function() {
MenuPanel.superclass.constructor.call(this, {
id : 'menu',
region : 'west',
title : "系统菜单",
split : true,
width : 200,
minSize : 130,
maxSize : 300,
margins : '0 0 -1 1',
collapsible : true,
layout : "accordion",
defaults:{autoScroll:true,border: false},
items:[
{
title : "日常办公",
iconCls:"icon-daily",
items : [ {} ]
},/*{
title : "业务管理系统",
iconCls:"icon-customer",
items : [ {} ]
},*/{
title : "客户关系",
iconCls:"icon-customer",
items : [ {} ]
},/*
{
title : "销售管理",
iconCls:"icon-customer",
items : [ {} ]
},*/
{
title : "信息中心",
iconCls:"icon-info",
items : [ {} ]
},{
title : "实用工具(测)",
iconCls:"icon-zoom",
items : [ {} ]
},{
title : "人力资源管理",
iconCls:"icon-human",
items : [ {} ]
},{
title : "财务管理",
iconCls:"icon-finance",
items : [ {} ]
},{
title : "库存/采购/产品(测)",
iconCls:"relating",
items : [ {} ]
},
{
title : "设备管理(测)",
iconCls:"icon-prop",
items : [ {} ]
},{
title : "系统参数设置",
iconCls:"icon-sys",
items : [ {} ]
}]
});
};
Ext.extend(MenuPanel, Ext.Panel);
/**
* 日常办公模块菜单(考勤、工作日志、事项办理、计划\总结等)
*/
DailyWorkMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=DailyWork&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
DailyWorkMenu.superclass.constructor.call(this, {
autoScroll :true,
animate :true,
border :false,
// package自定义配置属性,指应该类所在的包结构,好处在于分模块化各大功能,便于单元测试.
package :"dailyWork",
rootVisible :false,
root :new Ext.tree.AsyncTreeNode({
text : '日常办公',
draggable : false,
expanded : true,
loader : this.loader
})
});
this.on("click", Global.openExtAppNode, this);
this.root.on("load",function(){
this.root.appendChild(new Ext.tree.TreeNode( {
text :"企业IM",
icon :"images/menuPanel/tag_blue.gif",
listeners : {
'click' : function() {
onlineWindow.show();
}
}
}));
},this);
}
Ext.extend(DailyWorkMenu, Ext.tree.TreePanel);
StockProductMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=StockProduct&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
StockProductMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"stock",
root : new Ext.tree.AsyncTreeNode( {
text : '库存产品',
draggable : false,
expanded : true,
loader : this.loader })
});
this.root.on("load",function(){
if(this.root.childNodes.length<1){
this.ownerCt.hide();
}
else this.ownerCt.show();
},this);
this.on("click", Global.openExtAppNode, this);
}
Ext.extend(StockProductMenu, Ext.tree.TreePanel);
CrmMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=CRM&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
CrmMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"crm",
root : new Ext.tree.AsyncTreeNode( {
text : '客户关系',
draggable : false,
expanded : true,
loader : this.loader })
});
this.on("click",Global.openExtAppNode,this);
this.root.on("load",function(){
if(this.root.childNodes.length<1){
this.ownerCt.hide();
}
else this.ownerCt.show();
},this);
}
Ext.extend(CrmMenu, Ext.tree.TreePanel);
/**
* 销售管理
*/
SaleMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=sale&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
treeLoader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
SaleMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"crm",
root : new Ext.tree.AsyncTreeNode( {
text : '销售管理',
draggable : false,
expanded : true,
loader : this.loader })
});
this.on("click",Global.openExtAppNode,this);
this.root.on("load",function(){
if(this.root.childNodes.length<1){
this.ownerCt.hide();
}
else this.ownerCt.show();
},this);
}
Ext.extend(SaleMenu, Ext.tree.TreePanel);
/**
* 信息中心
*/
InfoMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=InfoCenter&pageSize=-1&treeData=true&prefix=cms_",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
InfoMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"info",
root :new Ext.tree.AsyncTreeNode({
text : '信息中心',
draggable : false,
expanded : true,
loader : this.loader
})
});
this.reloadNewsDoc=function(){
var node=this.getSelectionModel().getSelectedNode();
var panel=Global.iframe?IFrames["NewsDocManagePanel"]:Ext.getCmp("newsDocManagePanel");
if(panel && panel.store){
if(this.infoNode!==node){
var tid=node.id.replace("cms_","");
panel.store.baseParams.dirId=tid;
panel.currentDir={id:tid,title:node.text};
}else {
panel.store.baseParams.dirId="";
panel.currentDir=null;
}
panel.store.removeAll();
panel.store.reload();
}
else this.reloadNewsDoc.createDelegate(this).defer(1000);
};
this.infoNode=new Ext.tree.AsyncTreeNode( {
id:"root_article",
text : "资讯/信息",
id:"root_article",
appClass:"NewsDocManagePanel",
icon:"images/menuPanel/tag_blue3.gif",
otherScripts:"plugins/extjs/ext-2.2/plugins/RowExpander.js;fckeditor/fckeditor.js",
loader:Global.newsDirLoader,
callback:this.reloadNewsDoc.createDelegate(this)
});
this.root.on("load",function(){
if(!this.root.contains(this.infoNode)){
this.root.insertBefore(this.infoNode,this.root.item(1));
}
},this);
this.on("click",function(node,eventObject){
this.getSelectionModel().select(node);
if(node==this.infoNode||(this.infoNode&&this.infoNode.contains(node))){
Global.openExtAppNode.call(this,this.infoNode,eventObject);
}
else {
Global.openExtAppNode.call(this,node,eventObject);
}
},this)
}
Ext.extend(InfoMenu, Ext.tree.TreePanel);
/**
* 人力资源管理系统模块
*/
HumanMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=HumanMenu&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
HumanMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"human",
root : new Ext.tree.AsyncTreeNode( {
text : '人力资源',
draggable : false,
expanded : true,
loader : this.loader })
});
this.on("click",Global.openExtAppNode,this);
this.root.on("load",function(){
if(this.root.childNodes.length<1){
this.ownerCt.hide();
}
else this.ownerCt.show();
},this);
}
Ext.extend(HumanMenu, Ext.tree.TreePanel);
/**
* 资产设备管理模块
*/
AssetMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=AssertManage&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
AssetMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
package:"asset",
rootVisible : false,
root :new Ext.tree.AsyncTreeNode( {
text : '设备管理',
draggable : false,
expanded : true,
loader : this.loader })
});
this.reloadAsset=function(){
var node=this.getSelectionModel().getSelectedNode();
var panel=Ext.getCmp("assetManagePanel");
if(this.infoNode!==node){
panel.store.baseParams.dirId=node.id;
panel.currentDir={id:node.id,name:node.text};
}else {
panel.store.baseParams.dirId="";
panel.currentDir=null;
}
panel.store.removeAll();
panel.store.reload();
};
this.infoNode=new Ext.tree.AsyncTreeNode( {
text : "设备信息维护",
id:"root_article",
icon:"images/im2.gif",
appClass:"AssetManagePanel",
loader:Global.assetDirLoader,
callback:this.reloadAsset.createDelegate(this)
});
this.on("click",function(node,eventObject)
{
if(node==this.infoNode||(this.infoNode&&this.infoNode.contains(node))){
Global.openExtAppNode.call(this,this.infoNode,eventObject);
}
else {
Global.openExtAppNode.call(this,node,eventObject);
}
},this)
}
Ext.extend(AssetMenu, Ext.tree.TreePanel);
/**
* 客户信息模块
*/
ErpMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=Erp&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
ErpMenu.superclass.constructor.call(this,{
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"erp",
root:new Ext.tree.AsyncTreeNode( {
text : '业务管理系统',
draggable : false,
expanded : true,
loader : this.loader })
});
this.on("click",Global.openExtAppNode,this);
this.root.on("load",function(){
if(this.root.childNodes.length<1){//如果没有任何业务项,则隐藏业务菜单
this.ownerCt.hide();
}
else this.ownerCt.show();
if(this.root.childNodes.length<=2){//如果只有一个或两个菜单项
var node=null;
//客户来访登记特殊处理
if(this.root.childNodes.length==1 && this.root.childNodes[0].text!="客户来访登记")node=this.root.childNodes[0];
else if(this.root.childNodes.length==2 && this.root.childNodes[0].text=="客户来访登记")node=this.root.childNodes[1];
if(node && !node.attributes["leaf"]){
node.expand(false,false,function(n){
for(;n.childNodes.length>0;)
n.parentNode.appendChild(n.childNodes[0]);
n.remove();
});
}
}
},this);
}
Ext.extend(ErpMenu, Ext.tree.TreePanel)
/**
* 财务管理模块
*/
FinanceMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=Finance&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
FinanceMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"account",
root : new Ext.tree.AsyncTreeNode( {
text : '财务管理系统',
draggable : false,
expanded : true,
loader : this.loader })
});
this.on("click",Global.openExtAppNode,this);
this.root.on("load",function(){
if(this.root.childNodes.length<1){
this.ownerCt.hide();
}
else this.ownerCt.show();
},this);
}
Ext.extend(FinanceMenu, Ext.tree.TreePanel);
/**
* 系统管理模块
*/
SystemMenuPanel = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=SystemManage&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
SystemMenuPanel.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"systemManage",
root : new Ext.tree.AsyncTreeNode( {
text : '系统管理',
draggable : false,
expanded : true,
loader : this.loader })
});
var changePasswordNode=new Ext.tree.TreeNode( {
text : "修改密码",
icon:"images/menuPanel/tag_blue2.gif",
listeners : {"click":changePassword}
});
this.root.on("load",function(){
if(!this.root.contains(changePasswordNode)){
this.root.appendChild(changePasswordNode);
}
},this);
this.on("click",Global.openExtAppNode,this);
}
Ext.extend(SystemMenuPanel, Ext.tree.TreePanel);
/**
* 实用工具模块
*/
ToolsMenu = function() {
this.loader=new Ext.tree.TreeLoader({
url : "systemMenu.ejf?cmd=getUserMenuTree&sn=ToolsMenu&pageSize=-1&treeData=true",
listeners : {
'beforeload' : function(treeLoader, node) {
this.loader.baseParams.id = (node!=this.root? node.id: "");
},
scope:this}
});
ToolsMenu.superclass.constructor.call(this, {
autoScroll : true,
animate : true,
border : false,
rootVisible : false,
package:"tools",
root : new Ext.tree.AsyncTreeNode( {
text : '实用工具',
draggable : false,
expanded : true,
loader : this.loader })
});
this.on("click",Global.openExtAppNode,this);
this.root.on("load",function(){
if(this.root.childNodes.length<1){
this.ownerCt.hide();
}
else this.ownerCt.show();
},this);
}
Ext.extend(ToolsMenu, Ext.tree.TreePanel);
ResourceList=Ext.extend(BaseGridList,{
pagingToolbar:false,
storeMapping:["id","resStr","type","desciption"],
initComponent : function(){
this.cm=new Ext.grid.ColumnModel([
{header: "资源描述", sortable:true,width: 300, dataIndex:"resStr"},
{header: "资源类型", sortable:true,width: 80, dataIndex:"type"},
{header: "简介", sortable:true,width: 100, dataIndex:"desciption"}
])
ResourceList.superclass.initComponent.call(this);
}
})
function login(){
if(window.OnlineMessageManager)OnlineMessageManager.stop();
window.location.href='/';
}
function logout(){
Ext.Msg.confirm("友情提示","是否真的要注销当前用户?",function(btn){
if(btn=="yes"){
Ext.Ajax.request({
url:"login.ejf?cmd=logout&ext=true",
success:function(){
login();
}
})
}
}
);
}
MainPanel = function() {
MainPanel.superclass.constructor.call(this, {
id : 'main',
region : 'center',
margins : '0 2 0 0',
items : {
id : 'homePage',
title : '桌 面',
closable : false,
margins:'35 5 5 0',
xtype:'portal',
autoScroll : true,
tbar : [{text:'快速导航',cls:'x-btn-text-icon',icon:'images/icons/help.png',handler:function(){}},'-',{text:"桌面设置",cls:'x-btn-text-icon',icon:'images/icons/picture_empty.png',menu:{items:[{text:'添加模块',cls:'x-btn-text-icon',icon:'images/icons/application_form_add.png',handler:this.createPortlet,scope:this},{text:'保存桌面设置',cls:'x-btn-text-icon',icon:'images/icons/application_put.png',handler:this.savePersonality,scope:this},{text:'恢复默认桌面',cls:'x-btn-text-icon',icon:'images/icons/application_go.png',handler:this.resetPersonality,scope:this}]}},"-",{text:'蓝源首页',cls:'x-btn-text-icon',icon:'images/icons/application_home.png',handler:function(){window.open("http://www.lanyotech.com/")}}],
items:[
{columnWidth:.33,defaults:{height:215},style:'padding:10px 0 10px 10px'},
{columnWidth:.33,defaults:{height:215},style:'padding:10px 0 10px 10px;'},
{columnWidth:.33,defaults:{height:215},style:'padding:10px 0 10px 10px'}]
}
});
this.on("render",this.loadPersonality,this);
};
Ext.extend(MainPanel, EasyJF.Ext[ "MainTabPanel" ]);
Ext.onReady(function() {
header = new Ext.Panel({
border : false,
region : 'north',
layout:'anchor',
height : 50,
items : [{
xtype:"box",
border : true,
el:"header",
anchor: 'none -23'
}/*,
new Ext.Toolbar({items:[ '文章查询:',{xtype:"textfield",width:200,id:"search"},
{text:"搜索",cls:"x-btn-text-icon",icon:"images/search.gif"},"-","->"]})*/
]
});
changeSkin = function(value) {
Ext.util.CSS.swapStyleSheet('window',
'/plugins/extjs/ext-2.2/resources/css/' + value
+ '.css');
};
menu = new MenuPanel();
main = new MainPanel();
var currentUser=new Ext.Toolbar.TextItem("");
var clock = new Ext.Toolbar.TextItem('');
var pr=new Ext.Toolbar.TextItem("版权所有及技术支持 成都蓝源信息技术有限公司");
bottom= new Ext.Toolbar({cls:"x-statusbar",id:"bottom",frame:true,region:"south",height:25,items:["当前用户:",currentUser,
"->",pr,clock],listeners:{
render:{fn:function(){
Ext.fly(pr.getEl().parentNode).addClass('x-status-text-panel').createChild({cls:'spacer'});
Ext.fly(clock.getEl().parentNode).addClass('x-status-text-panel').createChild({cls:'spacer'});
Ext.TaskMgr.start({
run: function(){
Ext.fly(clock.getEl()).update(new Date().format('g:i:s A'));
},
interval: 1000
});
},delay:500}
}});
bottom.currentUser=currentUser;
var viewport = new Ext.Viewport({
hideBorders: true,
layout : 'fit',
items : [{id:"desktop",layout:"border",items:[header, menu, main,bottom]}]
});
// OnlineMessageManager.openMessage({sender:OnlineMessageManager.me,content:"测试一下",inputTime:new Date()});
//MettingManager.joinMeeting(1);
setTimeout(function() {
Ext.get('loading').remove();
Ext.get('loading-mask').fadeOut( {
remove : true
});
}, 300);
//判断是否需要登录
login();
});