使用OM-UI快速搭建系统前台框架

WebRoot里面的目录结构为:
[img]http://dl2.iteye.com/upload/attachment/0092/6034/922edd55-e61a-3f58-b37d-9783eff13a88.jpg[/img]

1、main.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ page import="java.util.*"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>欢迎登录XXXX</title>
<meta http-equiv="Content-Type"
content="application/xhtml+xml; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/main.css"/>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/default/om-default.css"/>
<script type="text/javascript" src="${pageContext.request.contextPath}/script/jquery.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/script/operamasks-ui.min.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/script/frame.js"></script>
<script type="text/javascript">
var basePath = "${pageContext.request.contextPath}";
</script>
</head>
<body>
<div id="page">
<div id="north-panel">
<div class="head_logo" style="text-align:left">
<font class="logo_text">定位服务中心</font>
<div class="right_img">
<img id="to_home" class="right_imgs_css" src="${pageContext.request.contextPath}/images/home.png" />
<img id="set_user" class="right_imgs_css" src="${pageContext.request.contextPath}/images/setting.png" />
<img id="refresh_page" class="right_imgs_css" src="${pageContext.request.contextPath}/images/refresh.png" />
<img id="help_doc" class="right_imgs_css" src="${pageContext.request.contextPath}/images/help.png" />
<img id="logout" class="right_imgs_css" src="${pageContext.request.contextPath}/images/exit.png" />
</div>
</div>
</div>
<div id="center-panel">
<div id="tabs">
<ul>
<li><a tabid="firstTab" id="firstTab" href="#tab1">首页</a></li>
</ul>
<div id="tab1">
欢迎登录XXXX
</div>
</div>
</div>
<div id="west-panel" class="om-accordion" style="position: relative;">
<div id="nav-panel-1" class="nav-panel">
<div class="my_menu_item nav-item" onclick="addItemToTab('/user/initQuery.action',this);">用户数据查询</div>
<div class="my_menu_item nav-item" onclick="addItemToTab('/ueOffset/init.action',this);">手机类型管理</div>
</div>
<div id="nav-panel-2" class="nav-panel">
<div class="my_menu_item nav-item" onclick="addItemToTab('/hnb/initImport.action',this);">基站数据导入</div>
<div class="my_menu_item nav-item" onclick="addItemToTab('/hnb/query.action',this);">基站数据查询</div>
<div class="my_menu_item nav-item" onclick="addItemToTab('/hnb/reference.action',this);">参考点配置</div>
</div>
<div id="nav-panel-4" class="nav-panel">
<div class="my_menu_item nav-item" onclick="addItemToTab('/location/locatonQuery.action',this);">定位结果查询</div>
<div class="my_menu_item nav-item" onclick="addItemToTab('/location/cellLocationQuery.action',this);">关机定位结果</div>
<div class="my_menu_item nav-item" onclick="addItemToTab('/location/exportResult.action',this);">定位结果导出</div>
</div>

<div id="nav-panel-5" class="nav-panel">
<div id="update_info" class="nav-item">个人资料管理</div>
<div class="nav-item" onclick="addItemToTab('/log/initSetLogLevel.action',this);">系统日志配置</div>
<div class="nav-item" onclick="addItemToTab('/setPro/initServiceParameters.action',this);">服务参数配置</div>
<div id="exit_main" class="nav-item">退出</div>
</div>
</div>
</div>

<div id="update_pwd_dialog-modal" title="修改密码" style="padding-top: 25px;padding-left: 25px;">
<input type="text"/ id="username" value="${sessionScope.username}" style="display: none;">
  新密码: <input type="password" id="newpwd"/><br />
<p></p>
<button style="margin-left: 80px;" id="update_pwd">确定</button>
<button id="cancel_pwd">取消</button>
</div>

</body>
</html>




2、frame.js


String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {

if (!RegExp.prototype.isPrototypeOf(reallyDo)) {

return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi" : "g")),
replaceWith);

} else {

return this.replace(reallyDo, replaceWith);

}

}
// tabpanels
//var tabs = null;

/**
* <一句话功能简述> <功能详细描述>
*
* @author smart
* @version [版本号, 2012-11-28]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
$(document).ready(function() {

$("#update_pwd_dialog-modal").omDialog({
autoOpen: false,
height: 140,
modal: true
});

var element = $('#page').omBorderLayout({

panels : [{
id : "north-panel",
header : false,
region : "north",
height : 90
}, {
id : "center-panel",
header : false,
region : "center"
}, {
id : "west-panel",
resizable : true,
collapsible : true,
title : "系统目录",
region : "west",
width : 180
}]

});

var menuPanel = [{
id : "nav-panel-1",
title : "用户管理"
},

{
id : "nav-panel-2",
title : "基站管理"
},

{
id : "nav-panel-3",
title : "参数配置"
},

{
id : "nav-panel-4",
title : "定位信息"
},

{
id : "nav-panel-5",
title : "系统管理"
}];

$(menuPanel).each(function(index, panel) {

$("#" + panel.id).omPanel({

title : panel.title,
collapsed : true,
collapsible : true,

// 面板收缩和展开的时候重新计算自定义滚动条是否显示

onCollapse : function() {

$("#west-panel").omScrollbar("refresh");

},

onExpand : function() {

$("#west-panel").omScrollbar("refresh");

}

});

});

// 初始化中间的tab页签
$('#center-tab').omTabs({
height : "fit",
border : false
});

// tabpanel
var tabs = $("#tabs").omTabs({
width : '100%',
height : '100%',
tabMenu : true,
closeFirst: false,
closable : true,
// switchMode : 'mouseover',
tabWidth : 100
});

// 把首页的关闭图标去掉
$("#firstTab").find("+ a.om-icon-close").remove();

// 给logo右边的图片增加样式
changeHeaderImg();

// 回到主页
$("#to_home").click(function(){
$('#tabs').omTabs('activate', "firstTab");
});

// 设置
$("#set_user").click(function(){
$("#update_pwd_dialog-modal").omDialog('open');
});

// 修改密码
$("#update_pwd").click(function(){
var username = $("#username")[0].value;
var newpwd = $("#newpwd")[0].value;

$.ajax({
url : basePath + "/login/updatePassword.action",
data : "username=" + username + "&newpwd=" + newpwd,
success: function(msg){
$("#update_pwd_dialog-modal").omDialog('close');
if(msg == '1')
{
$.omMessageTip.show(
{
type : 'success',
title : "提示",
content : "修改密码成功",
timeout : 1500
});
}
else
{
$.omMessageTip.show(
{
type : 'error',
title : "提示",
content : "修改密码失败",
timeout : 1500
});
}
}
});
});

// 取消修改密码
$("#cancel_pwd").click(function(){
$("#update_pwd_dialog-modal").omDialog('close');
});

// 刷新
$("#refresh_page").click(function(){
// window.location.reload();

// 关闭其它页签,刷新首页页签
var self = tabs, $headers = self.find('>div.om-tabs-headers');

$headers.find('ul li').each(function(index, item) {
var itemId = $(item).find('a.om-tabs-inner')
.attr('tabid');
if ("firstTab" === itemId)
return;
self.omTabs('close', (self.omTabs('getAlter',
itemId)));
});

// 刷新首页页签

});

// 帮助
$("#help_doc").click(function() {
var a = window
.open(
"../help/help.docx",
"111",
"height=0,width=0, top=100 left=50 toolbar=no,menubar=no,scrollbars=no,resizable=on,location=no,status=no");

a.document.execCommand("SaveAs");
});

// 导航退出
$("#logout").click(function(){
window.location = basePath + "/";
});

// 菜单退出
$("#exit_main").click(function(){
window.location = basePath + "/";
});

// 修改个人资料
$("#update_info").click(function(){
$("#update_pwd_dialog-modal").omDialog('open');
});
});


// 单击菜单项时,增加一个tabpanel
function addItemToTab(url, obj) {
var urltemp = url;
var tabid = urltemp.replaceAll("/", "");
tabid = tabid.replace("\.", "");
if ($("a[tabId='" + tabid + "']").length > 0) {
$('#tabs').omTabs('activate', tabid);
} else {
url = basePath + url;
$('#tabs').omTabs('add', {
tabId : tabid,
title : obj.innerHTML,
closable : true,
tabMenu : true,
border : false,
content : "<iframe src ='" + url + "' id='" + tabid + "' name='" + tabid
+ "' marginwidth=0 style='overflow:hidden;' marginheight=0 width=100% height='' "
//+ " onload='setIframeHeight(this)' "
+ " frameborder='no' border=0 ></iframe>"

});
}
}

/**
* 鼠标移入移出时改变图片的样式
*/
function changeHeaderImg() {
var oLi = $(".right_imgs_css");
for (var i = 0; i < oLi.length; i++) {
oLi[i].onmouseover = function() {
$(this).addClass("header_alpha");
};
oLi[i].onmouseout = function() {
$(this).removeClass("header_alpha");
}
}
}

/**
* 设置iframe的高度(目前只考虑ff)
* 用name属性,可兼容所有浏览器
*/
function setIframeHeight(name) {
var iframe = document.getElementById(name.name);
if(iframe)
{
if (undefined != iframe.ownerDocument
&& undefined != iframe.ownerDocument.body.offsetHeight) {
// body的高度减去 top(89)、tab_header(28+12)、边框等高度
iframe.height = parseInt(iframe.ownerDocument.body.offsetHeight) - 150;
}
}

/*if($.browser.mozilla) // ff
}

/**
/*$(window).resize(function(){



3、main.css


html,body {
font-size: 12px;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
border: 0 none;
overflow: hidden;
height: 100%;
}

#north-panel h2{

font-size: 18px;

font-weight: bold;

margin: 5px;

}

div.icon-help{

background-image: url("images/icon-help.png");

margin-top: -2px;

}

#search-panel span.label{

margin-left: 10px;

}

#search-panel .input-text {

border: 1px solid #6D869E;

height: 18px;

vertical-align: middle;

width: 137px;

}

#search-panel span.om-combo,#search-panel span.om-calendar{

vertical-align: middle;

}

#grid .om-btn-icon {

padding-left: 34px;

}

#grid .op-menu{

position: absolute;

display: none;

background-color: #E6ECF5;

border: 1px solid #99A8BC;

padding: 0;

width: 75px;

}

#grid .op-menu div{

cursor: pointer;

padding-left: 20px;

}

#grid .op-menu div:hover{

background-color: #4E76AD;

color: #FFFFFF;

}

#grid .op-menu .edit{

background: url("images/op-edit.png") no-repeat scroll 7px 5px;

}

#grid .op-menu .delete{

background: url("images/op-delete.png") no-repeat scroll 7px 5px;

}

.om-borderlayout-region-west .om-borderlayout-region-header{

padding: 0px;

border: 0;

height: 28px;

line-height: 28px;

background: url("images/accordion/leftmenu_bg.jpg") repeat-x scroll 0 0 #FFFFFF;

border-right:1px solid #99A8BB;

font-size: 14px;

font-weight: bold;

cursor: pointer;

}

.om-borderlayout-region-west .om-panel-body{

padding: 0;

}

.nav-panel {

padding: 0;

}

.nav-panel div.nav-item{

line-height: 25px;

font-size: 13px;

padding-left: 40px;

cursor: pointer;

list-style-type: none;

}

.nav-panel div.user{

background: url("images/user.png") no-repeat scroll 20px 4px;

}

.nav-panel div.nav-item:hover{

border: 1px solid #99A8BC;

background-color: #C4D6EC;

padding-left: 39px;

line-height: 23px;

}

.nav-panel div.user:hover{

background-position: 19px 3px;

}

/* 左侧菜单的title距左15px,字体14px */
.om-panel-title{
padding-left: 15px;
font-size: 14px;
font-weight: bold;
}

.om-tree .om-tree-node a:link {
color: #1E1E1E;
text-decoration: none;
}

span{
font: normal 14px 宋体;
}

ul {
padding: 0;
}

a{
color: #0000EE;
}

li {
font-size: 14px;
list-style-type: none;
margin: 0;
padding: 0;
cursor: pointer;
}

li:hover {
background-color: #46A3FF;
}

.li_selected {
background-color: #0072E3;
}

p {
margin: 5px;
}

#page{
width: 100%;
height: 100%;
}
.settings {
background-image: url(../images/folder_wrench.png);
}

.nav {
background-image: url(../images/folder_go.png);
}

.sub_item{
margin-left: 10px;
background-image: url(../images/leaf.gif);
}

#center-panel{
overflow: hidden;
height:600px;
}

/* logo img */
#north-panel{
background: url(../images/head_bg.png) repeat-x;
overflow: hidden;
}

/* 右边的图标 */
.right_img{
position: absolute;
top: 0px;
right: 0px;
height: 88px;
vertical-align:middle;
margin: 0px 30px 0px 0px;
}

.right_imgs_css{
margin-top: 20px;
margin-right: 30px;
cursor: pointer;
}

/*菜单title*/
.menu_title{
font-size: 14px;
}

/* 左边菜单 div*/
.treeLEheight a{
margin: 2px 0;
padding: 2px 2px 2px 15px;
text-decoration: none;
}

/* 二级菜单css */
.second_menu{
}

.second_menu a{
margin: 2px 0;
padding: 2px 2px 2px 25px;
text-decoration: none;
}

.red_label{
color: 'red';
}

/* header img */
.header_alpha{
background-color:#FFFFFF;
filter:alpha(opacity=80); /* IE 透明度20% */
-moz-opacity:0.8; /* Moz + FF 透明度20%*/
opacity: 0.8; /* 支持CSS3的浏览器(FF 1.5也支持)透明度20%*/
}

.logo_text{
color: white;
font-size: 32px;
font-weight: bold;
line-height: 89px;
text-align: left;
}



用户查询的菜单项:

$(document)
.ready(
function()
{
// 条件查询的面板
var panel = $("#condition_query").omPanel(
{
width : 'fit',
height : '105px',
iconCls : "panel_search",
header : true,
title : '条件查询',
collapsed : false,
collapsible : true
});

// 把查询的表单加入到面板当中
$("#condition_query").append($("form[name='locationResult']"));

// 修改图标
$(".panel_search").removeClass("om-icon");
$(".panel_search").removeClass("om-panel-icon");

// 手机号码自动搜索
$("#msisdn").omSuggestion(
{
queryName : 'msisdn',
method : 'POST',
dataSource : path + "/location/getAllMsisdnByJson.action"
});

// 用户名自动搜索
$("#userName").omSuggestion(
{
queryName : 'userName',
method : 'POST',
dataSource : path + "/location/getAllUserNameByJson.action"
});

// 手机短号联想搜索
$("#shortMsisdn").omSuggestion(
{
queryName : 'shortNum',
method : 'POST',
dataSource : path + "/location/getAllShortNumByJson.action"
});

// imsi联想搜索
$("#imsi").omSuggestion(
{
queryName : 'imsi',
method : 'POST',
dataSource : path + "/user/getAllImsiByJson.action"
});

$("#userInfoGrid")
.omGrid(
{
dataSource : path + "/user/getAllUser.action",
singleSelect : true,
showIndex : true,
height: 450,
colModel :
[
{
header : '用户名',
name : 'userName',
width : 100,
align : 'center'
},
{
header : '手机号码',
name : 'msisdn',
width : 100,
align : 'center'
},
{
header : '手机短号码',
name : 'shortMsisdn',
width : 100,
align : 'center'
},
{
header : 'IMSI号码',
name : 'imsi',
width : 200,
align : 'center'
},
{
header : '手机类型标识',
name : 'imei',
width : 100,
align : 'center',
editor :
{
type : 'text',
editable : true,
name : 'imei',
rules :
[
[
"required", true, "手机类型标识是必填的"
],
[
"minlength", 6, "手机类型标识长度为六位"
],
[
"maxlength", 6, "手机类型标识长度为六位"
]
]
}
},
{
header : '用户状态',
name : 'ueState',
width : 100,
align : 'center',
renderer : function(colValue)
{
if ("0" == colValue)
{
return '<span style="color:red;">离线</span>';
}
else
{
return '<span style="color:green;">在线</span>';
}
},
editor :
{
type : 'text',
editable : false,
name : 'ueState',
renderer : function(colValue)
{
if ("0" == colValue)
{
return '<input type="text" value="离线" class="grid-edit-text readonly-text" readonly="readonly" style="width:95%"/>';
}
else
{
return '<input type="text" value="在线" class="grid-edit-text readonly-text" readonly="readonly" style="width:95%"/>';
}
}
}
},
{
header : '备注',
name : 'remark',
width : 180,
align : 'center'
}
],
onAfterEdit : function(rowIndex, rowData)
{
var msisdn = rowData['msisdn'];
var imei = rowData['imei'];

// 修改后的数据入库
$.ajax(
{
type : 'POST',
data : 'msisdn=' + msisdn + '&imei=' + imei,
url : path + '/user/updateUserImei.action',
dataType : 'script',
success : function(msg)
{
if ("1" == msg)
{
$.omMessageBox.alert(
{
type : 'success',
title : '提示',
content : '修改成功'
});
}
else
{
$.omMessageBox.alert(
{
type : 'error',
title : '提示',
content : '修改失败'
});
}

// 重新加载数据
$('#userInfoGrid').omGrid('reload');
}
});
}
});
// 设置父页面iframe的高度
parent.document.getElementById("userinitQueryaction").height=560;
});
// 条件查询
function submitForm()
{
var imsi = $.trim($("#imsi").val());
var msisdn = $.trim($("#msisdn").val());
var userName = encodeURI(encodeURI($.trim($("#userName").val())));
var shortMsisdn = $.trim($("#shortMsisdn").val());
$('#userInfoGrid').omGrid(
"setData",
path + '/user/getAllUser.action?imsi=' + imsi + '&msisdn=' + msisdn + '&userName=' + userName
+ '&shortMsisdn=' + shortMsisdn);
};

// 查询条件重置
function reset()
{
var msisdn = $.trim($("#msisdn").val(""));
var userName = $.trim($("#userName").val(""));
var imsi = $.trim($("#imsi").val(""));
var shortMsisdn = $.trim($("#shortMsisdn").val(""));
}



最终的效果为:
[img]http://dl2.iteye.com/upload/attachment/0092/6044/9929ce91-a0e8-37a0-93ce-e405b0cf85f7.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值