;
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%
String name = request.getParameter("username");
String pwd = request.getParameter("password");
String make = request.getParameter("make");
String rand = (String)session.getAttribute("rand");
//System.out.println(make+","+rand);
if(make==null||!make.equals(rand)){
//JOptionPane.showMessageDialog(null,"验证码输入错误!","提示框",JOptionPane.INFORMATION_MESSAGE);
response.sendRedirect("login.jsp");
}else{
try
{
String driverClass="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url="jdbc:sqlserver://localhost:1433;DatabaseName=WKDATA";
String username="sa";
//String password="talentsci@123";
String password="123456";
Class.forName(driverClass);
Connection conn=DriverManager.getConnection(url,username,password);
Statement stmt=conn.createStatement();
PreparedStatement stat=conn.prepareStatement("select * from UserTable where name=? and password=?");
stat.setString(1,name);
stat.setString(2,pwd);
ResultSet result=stat.executeQuery();
if(result.next())
{
//response.sendRedirect("Test.jsp");
}
else
{
//JOptionPane.showMessageDialog(null,"账号密码不匹配!","提示框",JOptionPane.INFORMATION_MESSAGE);
response.sendRedirect("login.jsp");
}
}
catch(Exception e)
{
out.println(e);
}
}
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--[if gte IE 9]><!--><!--<![endif]-->
$(function(){ DWZ.init("dwz.frag.xml", { loginUrl:"login_dialog.html", loginTitle:"登录", // 弹出登录对话框 // loginUrl:"login.html", // 跳到登录页面 statusCode:{ok:200, error:300, timeout:301}, //【可选】 pageInfo:{pageNum:"pageNum", numPerPage:"numPerPage", orderField:"orderField", orderDirection:"orderDirection"}, //【可选】 keys: {statusCode:"statusCode", message:"message"}, //【可选】 ui:{hideMode:'offsets'}, //【可选】hideMode:navTab组件切换的隐藏方式,支持的值有’display’,’offsets’负数偏移位置的值,默认值为’display’ debug:false, // 调试模式 【true|false】 callback:function(){ initEnv(); $("#themeList").theme({themeBase:"themes"}); // themeBase 相对于index页面的主题base路径 } }); }); <!-- navMenu -->
</div>
<div id="leftside">
<div id="sidebar_s">
<div class="collapse">
<div class="toggleCollapse"><div></div></div>
</div>
</div>
<div id="sidebar">
<div class="toggleCollapse"><h2>主菜单</h2><div>收缩</div></div>
<div class="accordion" fillSpace="sidebar">
<div class="accordionHeader">
<h2><span>Folder</span>巡检查看</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2Finspect.cpt" external="true" target="navTab" rel="page0" id="zdy">巡检信息</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>棒图分析</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FTCDAY1.cpt" external="true" target="navTab" rel="page3">日棒图</a></li>
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FTCDAY2.cpt" external="true" target="navTab" rel="page4">整点月曲线</a></li>
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FTCDAY3.cpt" external="true" target="navTab" rel="page3">最高月曲线</a></li>
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FTCDAY4.cpt" external="true" target="navTab" rel="page4">最低月曲线</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>统计分析</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FAnalysis%2FR_TBHB.cpt" external="true" target="navTab" rel="page5">日同比环比数据分析</a></li>
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FAnalysis%2FY_TBHB.cpt" external="true" target="navTab" rel="page6">月同比环比数据分析</a></li>
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FR_TBHB1.cpt" external="true" target="navTab" rel="page6">最高值比较</a></li>
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FR_TBHB2.cpt" external="true" target="navTab" rel="page6">最低值比较</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>报警事件</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FArlm1.cpt" external="true" target="navTab" rel="page7">历史告警信息</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>报表管理</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FReport%2FdayReport.cpt" external="true" target="navTab" rel="page8">日报表</a></li>
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FReport%2FmonthReport.cpt" external="true" target="navTab" rel="page9">月报表</a></li>
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FReport%2FyearReport.cpt" external="true" target="navTab" rel="page10">年报表</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>操作记录</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2Frecord.cpt" external="true" target="navTab" rel="page11">操作信息</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>设备台帐查看</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FSystem%2FDevice.cpt" external="true" target="navTab" rel="page11">设备统计</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>设备台帐管理</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://121.199.57.201:8080/WebReport/ReportServer?reportlet=TMS%2FSystem%2FDevice.cpt" external="true" target="navTab" rel="page11">设备统计</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>巡检任务管理</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2FINSPECT1.cpt&op=write" external="true" target="navTab" rel="page12">巡检任务下达</a></li>
</ul>
</div>
<div class="accordionHeader">
<h2><span>Folder</span>系统管理</h2>
</div>
<div class="accordionContent">
<ul class="tree treeFolder">
<li><a href="http://localhost:8075/WebReport/ReportServer?reportlet=TM%2Fuser.cpt&op=write" external="true" target="navTab" rel="page12">用户管理</a></li>
</ul>
</div>
</div>
</div>
</div>
<div id="container">
<div id="navTab" class="tabsPage">
<div class="tabsPageHeader">
<div class="tabsPageHeaderContent"><!-- 显示左右控制时添加 class="tabsPageHeaderMargin" -->
<ul class="navTab-tab">
<li tabid="main" class="main"><a href="javascript:;"><span><span class="home_icon">我的主页</span></span></a></li>
</ul>
</div>
<div class="tabsLeft">left</div><!-- 禁用只需要添加一个样式 class="tabsLeft tabsLeftDisabled" -->
<div class="tabsRight">right</div><!-- 禁用只需要添加一个样式 class="tabsRight tabsRightDisabled" -->
<div class="tabsMore">more</div>
</div>
<ul class="tabsMoreList">
<li><a href="javascript:;">我的主页</a></li>
</ul>
<div class="navTab-panel tabsPageContent layoutBox">
<div class="page unitBox">
<div class="accountInfo">
<p><span>该系统供温度巡检监测设备专用。</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="footer">Copyright © 2016 <a href="demo_page2.html" target="dialog"></a> 苏ICP备07034205号</div>
dwz.tree.js:
(function($){
$.extend($.fn, {
jTree:function(options) {
var op = $.extend({checkFn:null, selected:"selected", exp:"expandable", coll:"collapsable", firstExp:"first_expandable", firstColl:"first_collapsable", lastExp:"last_expandable", lastColl:"last_collapsable", folderExp:"folder_expandable", folderColl:"folder_collapsable", endExp:"end_expandable", endColl:"end_collapsable",file:"file",ck:"checked", unck:"unchecked"}, options);
return this.each(function(){
var $this = $(this);
var cnum = $this.children().length;
$(">li", $this).each(function(){
var $li = $(this);
var first = $li.prev()[0]?false:true;
var last = $li.next()[0]?false:true;
$li.genTree({
icon:$this.hasClass("treeFolder"),
ckbox:$this.hasClass("treeCheck"),
options: op,
level: 0,
exp:(cnum>1?(first?op.firstExp:(last?op.lastExp:op.exp)):op.endExp),
coll:(cnum>1?(first?op.firstColl:(last?op.lastColl:op.coll)):op.endColl),
showSub:(!$this.hasClass("collapse") && ($this.hasClass("expand") || (cnum>1?(first?true:false):true))),
isLast:(cnum>1?(last?true:false):true)
});
});
setTimeout(function(){
if($this.hasClass("treeCheck")){
var checkFn = eval($this.attr("oncheck"));
if(checkFn && $.isFunction(checkFn)) {
$("div.ckbox", $this).each(function(){
var ckbox = $(this);
ckbox.click(function(){
var checked = $(ckbox).hasClass("checked");
var items = [];
if(checked){
var tnode = $(ckbox).parent().parent();
var boxes = $("input", tnode);
if(boxes.size() > 1) {
$(boxes).each(function(){
items[items.length] = {name:$(this).attr("name"), value:$(this).val(), text:$(this).attr("text")};
});
} else {
items = {name:boxes.attr("name"), value:boxes.val(), text:boxes.attr("text")};
}
}
checkFn({checked:checked, items:items});
});
});
}
}
$("a", $this).click(function(event){
$("div." + op.selected, $this).removeClass(op.selected);
var parent = $(this).parent().addClass(op.selected);
var $li = $(this).parents("li:first"), sTarget = $li.attr("target");
if (sTarget) {
if ($("#"+sTarget, $this).size() == 0) {
$this.prepend('<input id="'+sTarget+'" type="hidden" />');
}
$("#"+sTarget, $this).val($li.attr("rel"));
}
$(".ckbox",parent).trigger("click");
event.stopPropagation();
$(document).trigger("click");
if (!$(this).attr("target")) return false;
});
},1);
});
},
subTree:function(op, level) {
return this.each(function(){
$(">li", this).each(function(){
var $this = $(this);
var isLast = ($this.next()[0]?false:true);
$this.genTree({
icon:op.icon,
ckbox:op.ckbox,
exp:isLast?op.options.lastExp:op.options.exp,
coll:isLast?op.options.lastColl:op.options.coll,
options:op.options,
level:level,
space:isLast?null:op.space,
showSub:op.showSub,
isLast:isLast
});
});
});
},
genTree:function(options) {
var op = $.extend({icon:options.icon,ckbox:options.ckbox,exp:"", coll:"", showSub:false, level:0, options:null, isLast:false}, options);
return this.each(function(){
var node = $(this);
var tree = $(">ul", node);
var parent = node.parent().prev();
var checked = 'unchecked';
if(op.ckbox) {
if($(">.checked",parent).size() > 0) checked = 'checked';
}
if (tree.size()>0) {
node.children(":first").wrap("<div></div>");
$(">div", node).prepend("<div class='" + (op.showSub ? op.coll : op.exp) + "'></div>"+(op.ckbox ?"<div class='ckbox " + checked + "'></div>":"")+(op.icon?"<div class='"+ (op.showSub ? op.options.folderColl : op.options.folderExp) +"'></div>":""));
op.showSub ? tree.show() : tree.hide();
$(">div>div:first,>div>a", node).click(function(){
var $fnode = $(">li:first",tree);
if($fnode.children(":first").isTag('a')) tree.subTree(op, op.level + 1);
var $this = $(this);
var isA = $this.isTag('a');
var $this = isA?$(">div>div", node).eq(op.level):$this;
if (!isA || tree.is(":hidden")) {
$this.toggleClass(op.exp).toggleClass(op.coll);
if (op.icon) {
$(">div>div:last", node).toggleClass(op.options.folderExp).toggleClass(op.options.folderColl);
}
}
(tree.is(":hidden"))?tree.slideDown("fast"):(isA?"":tree.slideUp("fast"));
return false;
});
addSpace(op.level, node);
if(op.showSub) tree.subTree(op, op.level + 1);
} else {
node.children().wrap("<div></div>");
$(">div", node).prepend('<div class="node"></div>'+(op.ckbox?'<div class="ckbox '+checked+'"></div>':'')+(op.icon?'<div class="'+(node.attr('data-icon') || 'file')+'"></div>':''));
addSpace(op.level, node);
if(op.isLast)$(node).addClass("last");
}
if (op.ckbox) node._check(op);
$(">div",node).mouseover(function(){
$(this).addClass("hover");
}).mouseout(function(){
$(this).removeClass("hover");
});
if(/msie/.test(navigator.userAgent.toLowerCase()))
$(">div",node).click(function(){
$("a", this).trigger("click");
return false;
});
});
function addSpace(level,node) {
if (level > 0) {
var parent = node.parent().parent();
var space = !parent.next()[0]?"indent":"line";
var plist = "<div class='" + space + "'></div>";
if (level > 1) {
var next = $(">div>div", parent).filter(":first");
var prev = "";
while(level > 1){
prev = prev + "<div class='" + next.attr("class") + "'></div>";
next = next.next();
level--;
}
plist = prev + plist;
}
$(">div", node).prepend(plist);
}
}
},
_check:function(op) {
var node = $(this);
var ckbox = $(">div>.ckbox", node);
var $input = node.find("a");
var tname = $input.attr("tname"), tvalue = $input.attr("tvalue");
var attrs = "text='"+$input.text()+"' ";
if (tname) attrs += "name='"+tname+"' ";
if (tvalue) attrs += "value='"+tvalue+"' ";
ckbox.append("<input type='checkbox' style='display:none;' " + attrs + "/>").click(function(){
var cked = ckbox.hasClass("checked");
var aClass = cked?"unchecked":"checked";
var rClass = cked?"checked":"unchecked";
ckbox.removeClass(rClass).removeClass(!cked?"indeterminate":"").addClass(aClass);
$("input", ckbox).attr("checked", !cked);
$(">ul", node).find("li").each(function(){
var box = $("div.ckbox", this);
box.removeClass(rClass).removeClass(!cked?"indeterminate":"").addClass(aClass)
.find("input").attr("checked", !cked);
});
$(node)._checkParent();
return false;
});
var cAttr = $input.attr("checked") || false;
if (cAttr) {
ckbox.find("input").attr("checked", true);
ckbox.removeClass("unchecked").addClass("checked");
$(node)._checkParent();
}
},
_checkParent:function(){
if($(this).parent().hasClass("tree")) return;
var parent = $(this).parent().parent();
var stree = $(">ul", parent);
var ckbox = stree.find(">li>a").size()+stree.find("div.ckbox").size();
var ckboxed = stree.find("div.checked").size();
var aClass = (ckboxed==ckbox?"checked":(ckboxed!=0?"indeterminate":"unchecked"));
var rClass = (ckboxed==ckbox?"indeterminate":(ckboxed!=0?"checked":"indeterminate"));
$(">div>.ckbox", parent).removeClass("unchecked").removeClass("checked").removeClass(rClass).addClass(aClass);
var $checkbox = $(":checkbox", parent);
if (aClass == "checked") $checkbox.attr("checked","checked");
else if (aClass == "unchecked") $checkbox.removeAttr("checked");
parent._checkParent();
}
});
})(jQuery);
dwz.nav.tab.js:
var navTab = {
componentBox: null, // tab component. contain tabBox, prevBut, nextBut, panelBox
_tabBox: null,
_prevBut: null,
_nextBut: null,
_panelBox: null,
_moreBut:null,
_moreBox:null,
_currentIndex: 0,
_op: {id:"navTab", stTabBox:".navTab-tab", stPanelBox:".navTab-panel", mainTabId:"main", close$:"a.close", prevClass:"tabsLeft", nextClass:"tabsRight", stMore:".tabsMore", stMoreLi:"ul.tabsMoreList"},
init: function(options){
if ($.History) $.History.init("#container");
var $this = this;
$.extend(this._op, options);
this.componentBox = $("#"+this._op.id);
this._tabBox = this.componentBox.find(this._op.stTabBox);
this._panelBox = this.componentBox.find(this._op.stPanelBox);
this._prevBut = this.componentBox.find("."+this._op.prevClass);
this._nextBut = this.componentBox.find("."+this._op.nextClass);
this._moreBut = this.componentBox.find(this._op.stMore);
this._moreBox = this.componentBox.find(this._op.stMoreLi);
this._prevBut.click(function(event) {$this._scrollPrev()});
this._nextBut.click(function(event) {$this._scrollNext()});
this._moreBut.click(function(){
$this._moreBox.show();
return false;
});
$(document).click(function(){$this._moreBox.hide()});
this._contextmenu(this._tabBox);
this._contextmenu(this._getTabs());
this._init();
this._ctrlScrollBut();
},
_init: function(){
var $this = this;
this._getTabs().each(function(iTabIndex){
$(this).unbind("click").click(function(event){
$this._switchTab(iTabIndex);
});
$(this).find(navTab._op.close$).unbind("click").click(function(){
$this._closeTab(iTabIndex);
});
});
this._getMoreLi().each(function(iTabIndex){
$(this).find(">a").unbind("click").click(function(event){
$this._switchTab(iTabIndex);
});
});
this._switchTab(this._currentIndex);
},
_contextmenu:function($obj){ // navTab右键菜单
var $this = this;
$obj.contextMenu('navTabCM', {
bindings:{
reload:function(t,m){
$this._reload(t, true);
},
closeCurrent:function(t,m){
var tabId = t.attr("tabid");
if (tabId) $this.closeTab(tabId);
else $this.closeCurrentTab();
},
closeOther:function(t,m){
var index = $this._indexTabId(t.attr("tabid"));
$this._closeOtherTab(index > 0 ? index : $this._currentIndex);
},
closeAll:function(t,m){
$this.closeAllTab();
}
},
ctrSub:function(t,m){
var mReload = m.find("[rel='reload']");
var mCur = m.find("[rel='closeCurrent']");
var mOther = m.find("[rel='closeOther']");
var mAll = m.find("[rel='closeAll']");
var $tabLi = $this._getTabs();
if ($tabLi.size() < 2) {
mCur.addClass("disabled");
mOther.addClass("disabled");
mAll.addClass("disabled");
}
if ($this._currentIndex == 0 || t.attr("tabid") == $this._op.mainTabId) {
mCur.addClass("disabled");
mReload.addClass("disabled");
} else if ($tabLi.size() == 2) {
mOther.addClass("disabled");
}
}
});
},
_getTabs: function(){
return this._tabBox.find("> li");
},
_getPanels: function(){
return this._panelBox.find("> div");
},
_getMoreLi: function(){
return this._moreBox.find("> li");
},
_getTab: function(tabid){
var index = this._indexTabId(tabid);
if (index >= 0) return this._getTabs().eq(index);
},
getPanel: function(tabid){
var index = this._indexTabId(tabid);
if (index >= 0) return this._getPanels().eq(index);
},
_getTabsW: function(iStart, iEnd){
return this._tabsW(this._getTabs().slice(iStart, iEnd));
},
_tabsW:function($tabs){
var iW = 0;
$tabs.each(function(){
iW += $(this).outerWidth(true);
});
return iW;
},
_indexTabId: function(tabid){
if (!tabid) return -1;
var iOpenIndex = -1;
this._getTabs().each(function(index){
if ($(this).attr("tabid") == tabid){iOpenIndex = index; return;}
});
return iOpenIndex;
},
_getLeft: function(){
return this._tabBox.position().left;
},
_getScrollBarW: function(){
return this.componentBox.width()-55;
},
_visibleStart: function(){
var iLeft = this._getLeft(), iW = 0;
var $tabs = this._getTabs();
for (var i=0; i<$tabs.size(); i++){
if (iW + iLeft >= 0) return i;
iW += $tabs.eq(i).outerWidth(true);
}
return 0;
},
_visibleEnd: function(){
var iLeft = this._getLeft(), iW = 0;
var $tabs = this._getTabs();
for (var i=0; i<$tabs.size(); i++){
iW += $tabs.eq(i).outerWidth(true);
if (iW + iLeft > this._getScrollBarW()) return i;
}
return $tabs.size();
},
_scrollPrev: function(){
var iStart = this._visibleStart();
if (iStart > 0){
this._scrollTab(-this._getTabsW(0, iStart-1));
}
},
_scrollNext: function(){
var iEnd = this._visibleEnd();
if (iEnd < this._getTabs().size()){
this._scrollTab(-this._getTabsW(0, iEnd+1) + this._getScrollBarW());
}
},
_scrollTab: function(iLeft, isNext){
var $this = this;
this._tabBox.animate({ left: iLeft+'px' }, 200, function(){$this._ctrlScrollBut();});
},
_scrollCurrent: function(){ // auto scroll current tab
var iW = this._tabsW(this._getTabs());
if (iW <= this._getScrollBarW()){
this._scrollTab(0);
} else if (this._getLeft() < this._getScrollBarW() - iW){
this._scrollTab(this._getScrollBarW()-iW);
} else if (this._currentIndex < this._visibleStart()) {
this._scrollTab(-this._getTabsW(0, this._currentIndex));
} else if (this._currentIndex >= this._visibleEnd()) {
this._scrollTab(this._getScrollBarW() - this._getTabs().eq(this._currentIndex).outerWidth(true) - this._getTabsW(0, this._currentIndex));
}
},
_ctrlScrollBut: function(){
var iW = this._tabsW(this._getTabs());
if (this._getScrollBarW() > iW){
this._prevBut.hide();
this._nextBut.hide();
this._tabBox.parent().removeClass("tabsPageHeaderMargin");
} else {
this._prevBut.show().removeClass("tabsLeftDisabled");
this._nextBut.show().removeClass("tabsRightDisabled");
this._tabBox.parent().addClass("tabsPageHeaderMargin");
if (this._getLeft() >= 0){
this._prevBut.addClass("tabsLeftDisabled");
} else if (this._getLeft() <= this._getScrollBarW() - iW) {
this._nextBut.addClass("tabsRightDisabled");
}
}
},
_switchTab: function(iTabIndex){
var $tab = this._getTabs().removeClass("selected").eq(iTabIndex).addClass("selected");
if (DWZ.ui.hideMode == 'offsets') {
this._getPanels().css({position: 'absolute', top:'-100000px', left:'-100000px'}).eq(iTabIndex).css({position: '', top:'', left:''});
} else {
this._getPanels().hide().eq(iTabIndex).show();
}
this._getMoreLi().removeClass("selected").eq(iTabIndex).addClass("selected");
this._currentIndex = iTabIndex;
this._scrollCurrent();
this._reload($tab);
},
_closeTab: function(index, openTabid){
this._getTabs().eq(index).remove();
this._getPanels().eq(index).trigger(DWZ.eventType.pageClear).remove();
this._getMoreLi().eq(index).remove();
if (this._currentIndex >= index) this._currentIndex--;
if (openTabid) {
var openIndex = this._indexTabId(openTabid);
if (openIndex > 0) this._currentIndex = openIndex;
}
this._init();
this._scrollCurrent();
this._reload(this._getTabs().eq(this._currentIndex));
},
closeTab: function(tabid){
var index = this._indexTabId(tabid);
if (index > 0) { this._closeTab(index); }
},
closeCurrentTab: function(openTabid){ //openTabid 可以为空,默认关闭当前tab后,打开最后一个tab
if (this._currentIndex > 0) {this._closeTab(this._currentIndex, openTabid);}
},
closeAllTab: function(){
this._getTabs().filter(":gt(0)").remove();
this._getPanels().filter(":gt(0)").trigger(DWZ.eventType.pageClear).remove();
this._getMoreLi().filter(":gt(0)").remove();
this._currentIndex = 0;
this._init();
this._scrollCurrent();
},
_closeOtherTab: function(index){
index = index || this._currentIndex;
if (index > 0) {
var str$ = ":eq("+index+")";
this._getTabs().not(str$).filter(":gt(0)").remove();
this._getPanels().not(str$).filter(":gt(0)").trigger(DWZ.eventType.pageClear).remove();
this._getMoreLi().not(str$).filter(":gt(0)").remove();
this._currentIndex = 1;
this._init();
this._scrollCurrent();
} else {
this.closeAllTab();
}
},
_loadUrlCallback: function($panel){
$panel.find("[layoutH]").layoutH();
$panel.find(":button.close").click(function(){
navTab.closeCurrentTab();
});
},
_reload: function($tab, flag){
flag = flag || $tab.data("reloadFlag");
var url = $tab.attr("url");
if (flag && url) {
$tab.data("reloadFlag", null);
var $panel = this.getPanel($tab.attr("tabid"));
if ($tab.hasClass("external")){
navTab.openExternal(url, $panel);
}else {
//获取pagerForm参数
var $pagerForm = $("#pagerForm", $panel);
var args = $pagerForm.size()>0 ? $pagerForm.serializeArray() : {}
$panel.loadUrl(url, args, function(){navTab._loadUrlCallback($panel);});
}
}
},
reloadFlag: function(tabid){
var $tab = this._getTab(tabid);
if ($tab){
if (this._indexTabId(tabid) == this._currentIndex) this._reload($tab, true);
else $tab.data("reloadFlag", 1);
}
},
reload: function(url, options){
var op = $.extend({data:{}, navTabId:"", callback:null}, options);
var $tab = op.navTabId ? this._getTab(op.navTabId) : this._getTabs().eq(this._currentIndex);
var $panel = op.navTabId ? this.getPanel(op.navTabId) : this._getPanels().eq(this._currentIndex);
if ($panel){
if (!url) {
url = $tab.attr("url");
}
if (url) {
if ($tab.hasClass("external")) {
navTab.openExternal(url, $panel);
} else {
if ($.isEmptyObject(op.data)) { //获取pagerForm参数
var $pagerForm = $("#pagerForm", $panel);
op.data = $pagerForm.size()>0 ? $pagerForm.serializeArray() : {}
}
$panel.ajaxUrl({
type:"POST", url:url, data:op.data, callback:function(response){
navTab._loadUrlCallback($panel);
if ($.isFunction(op.callback)) op.callback(response);
}
});
}
}
}
},
getCurrentPanel: function() {
return this._getPanels().eq(this._currentIndex);
},
checkTimeout:function(){
var json = DWZ.jsonEval(this.getCurrentPanel().html());
if (json && json[DWZ.keys.statusCode] == DWZ.statusCode.timeout) this.closeCurrentTab();
},
openExternal:function(url, $panel){
var ih = navTab._panelBox.height();
$panel.html(DWZ.frag["externalFrag"].replaceAll("{url}", url).replaceAll("{height}", ih+"px"));
},
/**
*
* @param {Object} tabid
* @param {Object} url
* @param {Object} params: title, data, fresh
*/
openTab: function(tabid, url, options){ //if found tabid replace tab, else create a new tab.
var op = $.extend({title:"New Tab", type:"GET", data:{}, fresh:true, external:false}, options);
var iOpenIndex = this._indexTabId(tabid);
if (iOpenIndex >= 0){
var $tab = this._getTabs().eq(iOpenIndex);
var span$ = $tab.attr("tabid") == this._op.mainTabId ? "> span > span" : "> span";
$tab.find(">a").attr("title", op.title).find(span$).html(op.title);
var $panel = this._getPanels().eq(iOpenIndex);
if(url && (op.fresh || $tab.attr("url") != url)) {
$tab.attr("url", url);
if (op.external || url.isExternalUrl()) {
$tab.addClass("external");
navTab.openExternal(url, $panel);
} else {
$tab.removeClass("external");
$panel.ajaxUrl({
type:op.type, url:url, data:op.data, callback:function(){
navTab._loadUrlCallback($panel);
}
});
}
}
this._currentIndex = iOpenIndex;
} else {
var tabFrag = '<li tabid="#tabid#"><a href="javascript:" title="#title#" class="#tabid#"><span>#title#</span></a><a href="javascript:;" class="close">close</a></li>';
this._tabBox.append(tabFrag.replaceAll("#tabid#", tabid).replaceAll("#title#", op.title));
this._panelBox.append('<div class="page unitBox"></div>');
this._moreBox.append('<li><a href="javascript:" title="#title#">#title#</a></li>'.replaceAll("#title#", op.title));
var $tabs = this._getTabs();
var $tab = $tabs.filter(":last");
var $panel = this._getPanels().filter(":last");
if(url) {
if (op.external || url.isExternalUrl()) {
$tab.addClass("external");
navTab.openExternal(url, $panel);
} else {
$tab.removeClass("external");
$panel.ajaxUrl({
type: op.type, url: url, data: op.data, callback: function () {
navTab._loadUrlCallback($panel);
}
});
}
}
if ($.History) {
setTimeout(function(){
$.History.addHistory(tabid, function(tabid){
var i = navTab._indexTabId(tabid);
if (i >= 0) navTab._switchTab(i);
}, tabid);
}, 10);
}
this._currentIndex = $tabs.size() - 1;
this._contextmenu($tabs.filter(":last").hoverClass("hover"));
}
this._init();
this._scrollCurrent();
this._getTabs().eq(this._currentIndex).attr("url", url);
} };
dwz.theme.js:
(function($){
$.fn.extend({
theme: function(options){
var op = $.extend({themeBase:"themes"}, options);
var _themeHref = op.themeBase + "/#theme#/style.css";
return this.each(function(){
var jThemeLi = $(this).find(">li[theme]");
var setTheme = function(themeName){
$("head").find("link[href$='style.css']").attr("href", _themeHref.replace("#theme#", themeName));
jThemeLi.find(">div").removeClass("selected");
jThemeLi.filter("[theme="+themeName+"]").find(">div").addClass("selected");
if ($.isFunction($.cookie)) $.cookie("dwz_theme", themeName);
}
jThemeLi.each(function(index){
var $this = $(this);
var themeName = $this.attr("theme");
$this.addClass(themeName).click(function(){
setTheme(themeName);
});
});
if ($.isFunction($.cookie)){
var themeName = $.cookie("dwz_theme");
if (themeName) {
setTheme(themeName);
}
}
});
}
});
})(jQuery);
dwz.tab.js:
(function($){
$.fn.extend({
/**
* options: reverse[true, false], eventType[click, hover], currentIndex[default index 0]
* stTab[tabs selector], stTabPanel[tab panel selector]
* ajaxClass[ajax load], closeClass[close tab]
*/
tabs: function (options){
var op = $.extend({reverse:false, eventType:"click", currentIndex:0, stTabHeader:"> .tabsHeader", stTab:">.tabsHeaderContent>ul", stTabPanel:"> .tabsContent", ajaxClass:"j-ajax", closeClass:"close", prevClass:"tabsLeft", nextClass:"tabsRight"}, options);
return this.each(function(){
initTab($(this));
});
function initTab(jT){
var jSelector = jT.add($("> *", jT));
var jTabHeader = $(op.stTabHeader, jSelector);
var jTabs = $(op.stTab + " li", jTabHeader);
var jGroups = $(op.stTabPanel + " > *", jSelector);
jTabs.unbind().find("a").unbind();
jTabHeader.find("."+op.prevClass).unbind();
jTabHeader.find("."+op.nextClass).unbind();
jTabs.each(function(iTabIndex){
if (op.currentIndex == iTabIndex) $(this).addClass("selected");
else $(this).removeClass("selected");
if (op.eventType == "hover") $(this).hover(function(event){switchTab(jT, iTabIndex)});
else $(this).click(function(event){switchTab(jT, iTabIndex)});
$("a", this).each(function(){
if ($(this).hasClass(op.ajaxClass)) {
$(this).click(function(event){
var jGroup = jGroups.eq(iTabIndex);
if (this.href && !jGroup.attr("loaded")) jGroup.loadUrl(this.href,{},function(){
jGroup.find("[layoutH]").layoutH();
jGroup.attr("loaded",true);
});
event.preventDefault();
});
} else if ($(this).hasClass(op.closeClass)) {
$(this).click(function(event){
jTabs.eq(iTabIndex).remove();
jGroups.eq(iTabIndex).remove();
if (iTabIndex == op.currentIndex) {
op.currentIndex = (iTabIndex+1 < jTabs.size()) ? iTabIndex : iTabIndex - 1;
} else if (iTabIndex < op.currentIndex){
op.currentIndex = iTabIndex;
}
initTab(jT);
return false;
});
}
});
});
switchTab(jT, op.currentIndex);
}
function switchTab(jT, iTabIndex){
var jSelector = jT.add($("> *", jT));
var jTabHeader = $(op.stTabHeader, jSelector);
var jTabs = $(op.stTab + " li", jTabHeader);
var jGroups = $(op.stTabPanel + " > *", jSelector);
var jTab = jTabs.eq(iTabIndex);
var jGroup = jGroups.eq(iTabIndex);
if (op.reverse && (jTab.hasClass("selected") )) {
jTabs.removeClass("selected");
jGroups.hide();
} else {
op.currentIndex = iTabIndex;
jTabs.removeClass("selected");
jTab.addClass("selected");
jGroups.hide().eq(op.currentIndex).show();
}
if (!jGroup.attr("inited")){
jGroup.attr("inited", 1000).find("input[type=text]").filter("[alt]").inputAlert();
}
}
}
});
})(jQuery);
贴那么多没s。。。登录成功之后,调用巡查的click事件呗,即可以展开左侧菜单,又可以请求右侧列表
登陆后左侧绑定一个trigger(click)