/*!
* Copyright 2011 Guangzhou Donghong Software Technology Inc.
* Licensed under the www.jxstar.org
*/
/**
* 主菜单构建工具类。
*
* @author TonyTan
* @version 1.0, 2010-01-01
*/
JxMenu = {};
(function(){
//系统样式风格
JxMenu.style = 'black';
//主菜单是否树形展示
JxMenu.istree = false;
//自动隐藏菜单
var autoHide = function(m, e, item) {
var rt = e.getRelatedTarget();
if (!rt) return;
if (!rt.contains(e.getTarget()) && !m.getEl().contains(rt)) {
//下面这句if语句,是判断鼠标是否移动到子菜单上。
if (!Ext.get(e.getTarget()).hasClass('x-menu-item')){
m.hide();
}
} else if(rt.contains(m.getEl().dom)) {
//下面这句if语句,是判断鼠标是否移动到子菜单上。
if (!Ext.get(e.getTarget()).hasClass('x-menu-item-icon') && !Ext.get(e.getTarget()).hasClass('x-menu-item')){
m.hide();
}
}
};
//绑定鼠标滑到菜单上就显示下级菜单
var addover = function(node, treeMenu){
if (treeMenu.isCollapsed) {
//折叠状态在一级菜单上绑定事件
if (node.id == 'xnode-11' && !node.hasmv) {
node.eachChild(function(item){
Ext.get(item.ui.getEl()).on('mouseenter', function(){
if (this.isLeaf()) return;
if (!treeMenu.isCollapsed || this.isExpanded()) return;
this.fireEvent('click', this);
}, item);
});
node.hasmv = true;
}
} else {
//展开状态在二级菜单上绑定事件
if (node.attributes.cls == 'one-menu' && !node.hasmv) {
node.eachChild(function(item){
Ext.get(item.ui.getEl()).on('mouseenter', function(){
//如果是折叠状态、或是叶子节点则不显示
if (this.isLeaf()) return;
if (treeMenu.isCollapsed || this.isExpanded()) return;
this.fireEvent('click', this);
}, item);
});
node.hasmv = true;
}
}
};
//收缩主菜单
var collpse = function(treeMenu) {
if (treeMenu.isCollapsed) {
treeMenu.setWidth(200);
var nodes = treeMenu.root.childNodes;
for (var i = 0; i < nodes.length; i++) {
var li = nodes[i].ui.getEl();
li.querySelector('div.one-menu').classList.remove('collpse');
}
Ext.getCmp('top_left_img').setWidth(200);
Ext.fly('main_logo_bg').removeClass('collpse');
Jxstar.viewport.doLayout();
treeMenu.isCollapsed = false;
} else {
treeMenu.root.collapse(true);//把展开的节点都收起
treeMenu.setWidth(56);
var nodes = treeMenu.root.childNodes;
for (var i = 0; i < nodes.length; i++) {
var li = nodes[i].ui.getEl();
li.querySelector('div.one-menu').classList.add('collpse');
}
Ext.getCmp('top_left_img').setWidth(56);
Ext.fly('main_logo_bg').addClass('collpse');
Jxstar.viewport.doLayout();
treeMenu.isCollapsed = true;
}
//绑定事件
addover(treeMenu.root, treeMenu);
//保存到会话中
Ext.util.Cookies.set('menu_collapsed', treeMenu.isCollapsed?'1':'0');
};
var collpse2 = function(treeMenu) {
if (treeMenu.isCollapsed) {
treeMenu.setWidth(200);
var nodes = treeMenu.root.childNodes;
for (var i = 0; i < nodes.length; i++) {
var li = nodes[i].ui.getEl();
li.querySelector('div.one-menu').classList.remove('collpse');
}
Ext.getCmp('top_left_img').setWidth(200);
Ext.fly('main_logo_bg').removeClass('collpse');
Jxstar.viewport.doLayout();
treeMenu.isCollapsed = false;
} else {
treeMenu.root.collapse(true);//把展开的节点都收起
treeMenu.setWidth(56);
var nodes = treeMenu.root.childNodes;
for (var i = 0; i < nodes.length; i++) {
var li = nodes[i].ui.getEl();
li.querySelector('div.one-menu').classList.add('collpse');
}
Ext.getCmp('top_left_img').setWidth(56);
Ext.fly('main_logo_bg').addClass('collpse');
Jxstar.viewport.doLayout();
treeMenu.isCollapsed = true;
}
//绑定事件
addover(treeMenu.root, treeMenu);
//保存到会话中
Ext.util.Cookies.set('menu_collapsed', treeMenu.isCollapsed?'1':'0');
};
//给菜单更新设置的图标
//必须在node显示时修改text才有效,所以需要在每次展开事件中调用此方法
var addIcon = function(node){
var itc = (!Ext.isTrident && Ext.isGecko) ? 'itc' : '';
if (node.isLeaf()) {
if (node.text.indexOf('fun-icon') < 0) {
var iconcls = node.attributes.iconcls;
if (!iconcls || iconcls.length == 0) {
iconcls = 'fa-funicon';
}
var s = '' + node.text;
node.setText(s);
}
} else {
if (node.attributes.cls != 'one-menu' && node.text.indexOf('funmd-icon') < 0) {
var iconcls = node.attributes.iconcls;
if (!iconcls || iconcls.length == 0) {
iconcls = 'fa-folder-o';
}
var cls = JxMenu.istree ? 'funmdy-icon ' : 'funmdx-icon ';
var s = '' + node.text;
node.setText(s);
}
node.eachChild(function(item){
addIcon(item);
});
}
};
//菜单展开前处理事件
var preexpand = function(node, treeMenu) {
//构建子菜单
var submm = function(mds, curMenuId, curItem) {
if (!mds || mds.length == 0) return;
var items = [];
for (var i = 0; i < mds.length; i++) {
if (curMenuId.indexOf(mds[i].id) == 0) {//前缀相同,表示在同一模块中
if (curMenuId == mds[i].id) {
var sms = [], sdd = mds[i].children;//取下级菜单数据
for (var j = 0; j < sdd.length; j++) {
var cls = sdd[j].cls;
var iconcls = sdd[j].iconcls;
if (!iconcls || iconcls.length == 0) iconcls = 'fa-funicon';
var s = sdd[j].text;
if (s.indexOf('fun-icon') < 0) {
s = '' + s;
}
var sub = {itemId:sdd[j].id, text:s, cls:cls};
//处理子子菜单
if (cls == 'two-menu') {
var s = sdd[j].text;
if (s.indexOf('funmd-icon') < 0) {
sub.text = '' + s;
} else {
sub.text = s;
}
submm(sdd, sdd[j].id, sub);
}
sms[sms.length] = sub;
}
if (sms.length > 0) {
var mm = new Ext.menu.Menu({width:200, cls:'x-menu x-menu-two', items:sms});
mm.on('mouseout', autoHide);
curItem.menu = mm;
mm.on('click', function(m, item){
var id = item.getItemId();
var cls = item.initialConfig.cls;
if (cls == 'three-menu') {
Jxstar.createNode(id);
}
});
}
return;
} else {
//如果不是当前级别则继续查找下级
submm(mds[i].children, curMenuId, curItem);
}
}
}
};
//添加功能的图标
addIcon(node);
//折叠状态时,如果是第一级菜单,并且有子菜单,则显示侧滑菜单
//展开状态时,如果是第二级菜单,并且有子菜单,则显示侧滑菜单
if ((node.attributes.cls == 'two-menu') ||
(treeMenu.isCollapsed && node.attributes.cls == 'one-menu')) {
if (!node.menu) {
var items = [];
node.eachChild(function(item){
var cls = item.attributes.cls;
var s = item.text;
if (s.indexOf(' itc ') > 0) s = s.replace(' itc ', ' ');
var mitem = {itemId:item.id, text:s, cls:cls};
//处理子菜单
if (cls == 'two-menu') {
submm(treeMenu.menuData, item.id, mitem);
}
items[items.length] = mitem;
});
if (node.attributes.cls == 'one-menu') {
var ss = node.text.split('>');
var sss = ss[ss.length-2].split('<');
items.insert(0, {itemId:node.id, text:sss[0], disabled:true});
}
node.menu = new Ext.menu.Menu({width:200, cls:'x-menu x-menu-two', items:items});
node.menu.on('mouseout', autoHide);
//添加打开功能事件
node.menu.on('click', function(m, item){
var id = item.getItemId();
var cls = item.initialConfig.cls;
if (cls == 'three-menu') {
Jxstar.createNode(id);
}
});
}
var fix = treeMenu.isCollapsed ? 55 : 199;
var el = Ext.get(node.ui.getEl());
node.menu.showAt([el.getX()+fix, el.getY()-1]);
return false;
}
return true;
};
Ext.apply(JxMenu, {
/**
* public 主菜单显示时要处理的事件
*/
init: function(treeMenu) {
var isfirst = true;
//主菜单显示方式[tree|slip]
JxMenu.istree = Jxstar.systemVar.index__menu__mode == 'tree';
//绑定菜单收缩展开事件
Ext.fly('main_collpse').on('click', function() {
collpse(treeMenu);
});
//菜单是否折叠状态
var csed = Ext.util.Cookies.get('menu_collapsed');
treeMenu.on('expandnode', function(node) {
if (csed=='1' && isfirst) {
collpse(treeMenu);
isfirst = false;
}
if (!JxMenu.istree || treeMenu.isCollapsed) addover(node, treeMenu);
});
treeMenu.on('beforeexpandnode', function(node) {
if (JxMenu.istree && !treeMenu.isCollapsed) {
addIcon(node);
} else {
return preexpand(node, treeMenu);
}
});
},
/**
* public 创建TOP菜单的代理工作连接
*/
showProxy: function() {
//如果当前是代理状态,则显示退出代理的链接
var proxy_id = Jxstar.session['proxy_id'];
if (proxy_id) {
//标记当前用户是代理状态
Jxstar.isProxyUser = true;
return;
}
var hdCall = function(data) {
//标记当前用户有代理设置
Jxstar.hasProxyUser = (data.total > 0);
};
//当前用户ID与当前日期-1天
var userid = Jxstar.session['user_id'];
var ed = (new Date()).add(Date.DAY, -1).format('Y-m-d');
var params = 'eventcode=query_data&funid=queryevent&pagetype=grid'+
'&query_funid=sys_proxy&where_sql=auditing=1 and user_id = ? and end_date > ?'+
'&where_type=string;date&where_value='+userid+';'+ed;
Request.dataRequest(params, hdCall);
},
selProxy: function() {
var hdcall = function(grid) {
//当前用户ID与当前日期-1天
var userid = Jxstar.session['user_id'];
var ed = (new Date()).add(Date.DAY, -1).format('Y-m-d');
var options = {
where_sql: 'auditing=1 and user_id = ? and end_date > ?',
where_type: 'string;date',
where_value: userid+';'+ed
};
Jxstar.loadData(grid, options);
};
var define = Jxstar.findNode('sys_proxy_sel');
Jxstar.showData({
filename: define.gridpage,
title: define.nodetitle,
pagetype: 'selgrid',
width: 600,
height: 300,
callback: hdcall
});
},
/**
* public 退出代理
*/
outProxy: function() {
var proxy_id = Jxstar.session['proxy_id'];
var to_userid = Jxstar.session['user_id'];
var proxy_userid = Jxstar.session['proxy_user_id'];
//退出代理
JxMenu.loginProxy(to_userid, proxy_userid, '0', proxy_id);
},
/**
* public 进入代理工作或退出代理工作
* to_userid -- 被代理人ID
* proxy_userid -- 当前用户ID
* isin -- 是否进入代理:1 进入, 0 退出
* proxy_id -- 如果是退出代理,则需要此值
*/
loginProxy: function(to_userid, proxy_userid, isin, proxy_id) {
var login_url = Jxstar.path + '/jxstar/other/jsp/workproxy.jsp?proxy_in='+ isin
+'&to_userid=' + to_userid + '&proxy_userid=' + proxy_userid;
if (proxy_id) {
login_url += '&proxy_id=' + proxy_id;
}
//代理登陆成功
var f_success = function(data) {
//销毁原主界面对象
Jxstar.viewport.destroy();
Jxstar.viewport = null;
//删除部分遗漏控件
var mm = Ext.getCmp('main_user_menu');
if (mm) mm.destroy();
delete Jxstar.isProxyUser;
delete Jxstar.hasProxyUser;
//保留原来的一些会话信息
data.maxInterval = Jxstar.session.maxInterval;
data.sessionId = Jxstar.session.sessionId;
Jxstar.session = data;
Request.loadJS('/public/core/JxBody.js');
};
Ext.Ajax.request({
method: 'POST',
url: login_url,
success: function(response) {
var result = Ext.decode(response.responseText);
if (result.success == true || result.success == 'true') {
JxHint.hint(jx.util.exesus + result.message);//执行成功:
//成功执行后重新打开系统主页面
f_success(result.data);
} else {
var msg = result.message;
JxHint.alert(jx.util.exefa + msg);//'执行失败:'
}
},
failure: function(response) {
response.srcdesc = 'JxMenu.js?login_url='+login_url;
JxUtil.errorResponse(response);
}
});
},
//更新用户头像
updatePhoto: function(img) {
var userid = Jxstar.session['user_id'];
var params = 'funid=sys_attach&eventcode=qryatt&attachfield=user_photo';
params += '&tablename=sys_user&dataid='+ userid;
Request.dataRequest(params, function(data){
if (data && data.attachId) {
var params = 'funid=sys_attach&eventcode=downPhoto&keyid='+ data.attachId;
params += '&dataType=byte&image_small_use=1&image_small_size=120&nousercheck=1&dc=' + (new Date()).getTime();
img.src = Jxstar.path+'/fileAction.do?'+params;
}
});
},
//更新未阅消息数量
updateNum: function() {
var params = 'funid=oa_msg&eventcode=getnum';
Request.dataRequest(params, function(data){
var numdom = document.getElementById("main_msg_icon").querySelector("span.badge");
if (numdom) {
if (!data || !data.num || data.num == 0) {
data.num = '';
Ext.fly(numdom).addClass('hidden');
} else {
Ext.fly(numdom).removeClass('hidden');
}
numdom.innerHTML = data.num;
}
});
},
//显示未阅消息
showMsg: function(from) {
var id = 'xx_main_msg_win';
var win = Ext.getCmp(id);
if (win != null) return;
var w = 450;
var jv = Jxstar.viewport;
var js = Jxstar.sysMainTab;
var hdCall = function(f) {
var page = f();
var win = new Ext.Window({
id: id,
title: '通知',
x: jv.getWidth()-w,
y: jv.getComponent(0).getHeight()+1,
width: w,
height: js.getHeight(),
constrainHeader: true,
border: false,
modal: false,
closeAction: 'close',
autoScroll: true,
tools: [
{id:'fa-cube', qtip:'标记全部已阅', handler: function(){page.readall();}},
{id:'fa-search', qtip:'查看更多', handler: function(e, target, cell){
var userid = Jxstar.session['user_id'];
Jxstar.createNode('oa_msg', {pageType:'query', isNotRight:'1', whereSql:"to_userid = ?", whereType:'string', whereValue:userid});
win.close();
}}],
items: [page]
});
win.show(from);
};
var url = '/jxstar/oa/pub/plet_oa_msg.js';
Request.loadJS(url, hdCall);
},
changeTheme: function(item) {
var t = item.initialConfig.value;
JxMenu.setTheme(t);
Ext.util.Cookies.set('menu_theme', t);
},
setTheme: function(t) {
if (!t) {
t = Ext.util.Cookies.get('menu_theme');
}
var h = document.getElementsByTagName('head')[0];
var dt = Jxstar.domTheme;
if (dt) {
h.removeChild(dt);
Jxstar.domTheme = null;
}
if (t == 'green') {
Jxstar.domTheme = JxUtil.loadCss('/resources/css/main-green.css', true);
} else if (t == 'gray') {
Jxstar.domTheme = JxUtil.loadCss('/resources/css/main-gray.css', true);
}
return t;
},
//加载顶部公共菜单事件
showTopMenu: function(topPanel) {
//初始化租户信息
var ts = localStorage.getItem('select_tenants');
if (ts) {
Jxstar.tenants = JSON.parse(ts);
localStorage.removeItem('select_tenants');
}
var topCmp = topPanel.getComponent(2);
//显示消息记录
var msgDiv = topCmp.el.child('li.top-menu-msg');
msgDiv.on('click', function(){
JxMenu.showMsg(msgDiv);
});
JxMenu.updateNum();
//设置60秒刷新一次通知数量
setInterval(function(){JxMenu.updateNum();}, 1000*60);
var tt, suse = Jxstar.systemVar.index__style__use;
if (suse == '1') {
tt = JxMenu.setTheme();
if (!tt || tt.length == 0) tt = 'black';
JxMenu.style = tt;
}
//显示用户信息菜单
var userDiv = topCmp.el.child('li.top-menu-user');
//修改头像
var img = userDiv.child('img.nav-user-photo').dom;
this.updatePhoto(img);
//修改公司信息
var d = JxDefault.getDeptName();
var u = JxDefault.getUserName();
//处理工作代理
var proxyuser = Jxstar.session['proxy_user_name'];
if (JxLang.type != 'zh') proxyuser = Jxstar.session['proxy_user_code'];
if (proxyuser) {
u += '('+ proxyuser +'-'+ jx.base.proxy +')';//代理
u = ''+u+'';
}
var str = u +'
'+d+'';
userDiv.child('span.user-info').dom.innerHTML = str;
userDiv.on('click', function(){
var usermenu = Ext.getCmp('main_user_menu');
if (!usermenu) {
var items = [
{text:jx.cloud.text1, handler:function(){JxUtil.showUser();}},//'个人设置'
{text:jx.base.lineuser, handler:function(){JxUtil.onLineUser();}},//'在线用户'
{text:jx.sys.modpwd, handler:function(){JxUtil.setPass(JxDefault.getUserId());}},'-',//'修改密码'
{text:jx.base.exitsys1, handler:function(){JxUtil.logout();}}//'退出系统'
];
//添加风格设置
if (suse == '1') {
items.insert(1, {text:jx.cloud.text2, menu: {items: [//'风格设置'
{
text: jx.cloud.text3,//'黑色风格'
value: 'black',
checked: (tt=='black'),
group: 'theme',
handler: JxMenu.changeTheme
}, {
text: jx.cloud.text4,//'绿色风格'
value: 'green',
checked: (tt=='green'),
group: 'theme',
handler: JxMenu.changeTheme
}, {
text: jx.cloud.text5,//'深蓝风格'
value: 'gray',
checked: (tt=='gray'),
group: 'theme',
handler: JxMenu.changeTheme
}]}
});
}
if (Jxstar.tenants) {//'切换公司'
items.insert(2, {text:jx.cloud.text6, handler:function(){JxUtil.showTenants();}});
}
//退出代理
if (Jxstar.isProxyUser === true) {
items.insert(3, {text:jx.index.mtext2, handler:function(){JxMenu.outProxy();}});
} else {
//代理工作
if (Jxstar.hasProxyUser === true) {
items.insert(3, {text:jx.index.mtext1, handler:function(){JxMenu.selProxy();}});
}
}
usermenu = new Ext.menu.Menu({id:'main_user_menu', items:items});
//usermenu.on('mouseout', autoHide);
}
usermenu.showAt([userDiv.getX(), userDiv.getY()+60]);
});
},
//给主菜单添加滚动条
addScroll: function(treeMenu) {
var mainBox = treeMenu.body.dom;
var contentBox = treeMenu.body.child('ul.x-tree-root-ct', true);
new JxScrollBar({mainBox:mainBox, contentBox:contentBox,
onInit:function(s){
treeMenu.on('expandnode', function(){
s.resizeScorll();
});
treeMenu.on('resize', function(){
s.resizeScorll();
});
}
});
}
});//Ext.apply
//显示流程导航
JxUtil.showWfnav = function(t) {
var el = Ext.get(t);
var hdCall = function(data) {
if (data != null) data = data.root;
if (data == null || data.length == 0) return;
var items = [];
for (var i = 0, n = data.length; i < n; i++) {
var gid = data[i].wfnav_graph__graph_id;
var title = data[i].wfnav_graph__graph_name;
if (JxLang.type != 'zh') {
var t = joLang.wftitle['wfnav__'+gid];
if (t && t.length > 0) title = t;
}
items[i] = {text:title, itemId:gid, handler:function(b){
JxWfGraph.showGraphFun(b.getItemId(), null, false, b.text);
}};
}
var menu = new Ext.menu.Menu({items:items});
menu.showAt([el.getX(), el.getY()+60]);
};
var where_sql = encodeURIComponent('auditing = 1');
var params = 'eventcode=query_data&funid=queryevent&pagetype=grid'+
'&query_funid=wfnav_graph&where_sql=' + where_sql;
Request.dataRequest(params, hdCall);
};
})();
/*自定义滚动条*/
JxScrollBar = function(config) {
Ext.apply(this, config);
this.init();
JxScrollBar.superclass.constructor.call(this, config);
};
(function(){
var _wheelData = -1;//上次滚轮位置
var _showBared = false;//是否需要显示滚动条
function bind(node, type, handler) {
if (node.addEventListener) {
node.addEventListener(type, handler, false);
} else if (node.attachEvent) {
node.attachEvent('on' + type, handler);
} else {
node['on' + type] = handler;
}
}
function mouseWheel(node, handler) {
bind(node, 'mousewheel', function(event) {
var data = -getWheelData(event);
handler(data);
if (document.all) {
window.event.returnValue = false;
} else {
event.preventDefault();
}
});
//火狐
bind(node, 'DOMMouseScroll', function(event) {
var data = getWheelData(event);
handler(data);
event.preventDefault();
});
function getWheelData(event) {
var e = event || window.event;
return e.wheelDelta ? e.wheelDelta : e.detail * 40;
}
}
//创建滚动条
var _createScroll = function(mainBox, className) {
var _scrollBox = document.createElement('div')
var _scroll = document.createElement('div');
var span = document.createElement('span');
_scrollBox.appendChild(_scroll);
_scroll.appendChild(span);
_scroll.className = className;
mainBox.appendChild(_scrollBox);
return _scroll;
};
//拖动滚动条
var _tragScroll = function(element, mainBox, contentBox, color, color_over) {
element.onmousedown = function(event) {
var mainHeight = mainBox.clientHeight;
var _scrollTop = element.offsetTop;
var e = event || window.event;
var top = e.clientY;
document.onmousemove = scrollGo;
document.onmouseup = function(event) {
this.onmousemove = null;
}
function scrollGo(event) {
var e = event || window.event;
var _top = e.clientY;
var _t = _top - top + _scrollTop;
if (_t > (mainHeight - element.offsetHeight)) {
_t = mainHeight - element.offsetHeight;
}
if (_t <= 0) {
_t = 0;
}
element.style.top = _t + "px";
contentBox.style.top = -_t
* (contentBox.offsetHeight / mainBox.offsetHeight)
+ "px";
_wheelData = _t;
}
}
element.onmouseover = function() {
this.style.background = color_over;
}
element.onmouseout = function() {
this.style.background = color;
}
};
//鼠标滚轮滚动,滚动条滚动
var _wheelChange = function(element, mainBox, contentBox) {
var flag = 0, wheelFlag = 0;
mouseWheel(
mainBox,
function(data) {
if (!_showBared) return;
wheelFlag += data;
if (_wheelData >= 0) {
flag = _wheelData;
element.style.top = flag + "px";
wheelFlag = _wheelData * 12;
_wheelData = -1;
} else {
flag = wheelFlag / 12;
}
if (flag <= 0) {
flag = 0;
wheelFlag = 0;
}
if (flag >= (mainBox.offsetHeight - element.offsetHeight)) {
flag = (mainBox.clientHeight - element.offsetHeight);
wheelFlag = (mainBox.clientHeight - element.offsetHeight) * 12;
}
element.style.top = flag + "px";
contentBox.style.top = -flag
* (contentBox.offsetHeight / mainBox.offsetHeight)
+ "px";
});
};
Ext.extend(JxScrollBar, Ext.util.Observable, {
color_box : '#32404E', //滚动条的颜色
color_div : '#222', //滚动条轨道的颜色
color_div_over : '#222',//光标进入滚动条的颜色
mainBox : null, //固定高度盒子
contentBox : null, //超出高度盒子,需要滚动的内容
scrollDivClassName : 'menu_scrolldiv', //滚动条的样式
scrollDiv : null, //滚动条
init : function() {
var t = JxMenu.style;//根据风格调整滚动条的颜色
if (t == 'green' || t == 'gray') {
this.color_box = '#C7C7CC';
this.color_div = '#929292';
this.color_div_over = '#797979';
}
this.scrollDiv = _createScroll(this.mainBox, this.scrollDivClassName);
this.resizeScorll();
_tragScroll(this.scrollDiv, this.mainBox, this.contentBox, this.color_div, this.color_div_over);
_wheelChange(this.scrollDiv, this.mainBox, this.contentBox);
if (this.onInit) {this.onInit(this);}
},
//调整滚动条
resizeScorll : function() {
var me = this;
var element = me.scrollDiv;
var mainBox = me.mainBox;
var contentBox = me.contentBox;
var p = element.parentNode;
var conHeight = contentBox.offsetHeight;
var _width = mainBox.clientWidth;
var _height = mainBox.clientHeight;
var _sw = element.offsetWidth;
if (_sw == 0) _sw = 8;//没有显示时宽度为0
var _left = _width - _sw;
//console.log('_width='+_width+';_sw='+_sw);
p.style.width = _sw + "px";
p.style.height = _height + "px";
p.style.left = _left + "px";
p.style.position = "absolute";
p.style.background = me.color_box;
//contentBox.style.width = (mainBox.offsetWidth - _sw) + "px";
var _scrollHeight = parseInt(_height * (_height / conHeight));
if (_scrollHeight >= mainBox.clientHeight) {
_showBared = false;
p.style.display = "none";
p.style.top = "0px";
contentBox.style.top = "0px";
} else {
_showBared = true;
p.style.display = "";
}
element.style.height = _scrollHeight + "px";
if (_showBared) {
mainBox.onmouseover = function() {
p.style.display = "";
}
mainBox.onmouseout = function() {
p.style.display = "none";
}
} else {
mainBox.onmouseover = null;
mainBox.onmouseout = null;
}
}
});
})();