中小后台系统UI框架--EasyUI

后台开发人员不擅长前端UI界面,而小型软件公司没有专职美工岗位,开发人员只能借助开源UI框架,复用已有组件,完成用户操作界面。EasyUI是基于jQuery的UI插件集合体,可帮助开发者轻松构建网页。

官方地址:http://www.jeasyui.com/

一、引用EasyUI

官网下载EasyUI组件jquery-easyui-1.*.*.zip,项目工程导入locale文件夹、themes文件夹、jquery.easyui.min.js、jquery.min.js文件。

二、以系统用户首页为例,使用EasyUI

1) 用户登录系统,首页界面

2)home.jsp编码设计

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head >
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>管理系统</title>
    <link rel="stylesheet"  href="plugin/easyui/themes/icon.css" />
    <link rel="stylesheet"  href="plugin/easyui/themes/default/easyui.css" />
    <link rel="stylesheet" href="css/home.css"/>
    <script type="text/javascript" src="plugin/easyui/jquery.min.js"></script>
    <script type="text/javascript" src="plugin/easyui/jquery.easyui.min.js"></script>
    <script type="text/javascript" src="plugin/easyui/locale/easyui-lang-zh_CN.js"></script>
        <script type="text/javascript" src="js/pathurl.js"></script>
    <script type="text/javascript" src="js/home.js?v=1.01"></script>
    <script type="text/javascript" src="js/head.js"></script>
    </head>
    <!-- ${userName} -->
<body  class="easyui-layout" style="overflow-y: hidden"  scroll="no">
  <input id="logUser" type="hidden" value="${userName}"/>
  <input id="userNotice" type="hidden" value="${userNotice}"/>
<div region="north" split="true" border="false" style="overflow: hidden; height: 35px;
        background: url(images/header.jpg) #7f99be repeat-x center 50%;
        line-height: 30px;color: #fff; font-family: Verdana, 宋体">
        <span style="padding-left:5px; font-size: 18px; ">管理系统</span>
        <span style="float:right; padding-right:20px; font-size: 18px;" class="head">
        <a href="javascript:void(0)" id="menub" class="easyui-menubutton"
        data-options="menu:‘#userfunc‘,iconCls:‘icon-userMgr‘">${userName}</a>
        </span>
        </div>
    <div region="south" split="true" style="height: 30px; background: #D2E0F2; ">
      <div class="footer">Copyright © 2010-2017 Start, All rights reserved.</div>
    </div>
<div region="west" hide="true" split="true" title="导航菜单" style="width:180px;" id="west">
  <div id="menunav" class="easyui-accordion" fit="true" border="false">
    <!--  导航内容 --> 

  </div>
    </div>
<div id="mainPanle" region="center" style="background: #eee; overflow-y:hidden">
      <div id="tabs" class="easyui-tabs"  fit="true" border="false" >
    <div title="首页" style="padding:20px;overflow:hidden; color:blue; " >
          <h1 style="font-size:20px;" align="center">欢迎使用管理系统</h1>
        </div>
  </div>
    </div>

<!--修改密码窗口-->
<div id="w" class="easyui-window" title="修改密码" collapsible="false" minimizable="false"
        maximizable="false" icon="icon-save"  style="width: 300px; height: 150px; padding: 5px;
        background: #fafafa;">
      <div class="easyui-layout" fit="true">
    <div region="center" border="false" style="padding: 10px; background: #fff; border: 1px solid #ccc;">
       <table cellpadding=3>
        <tr>
              <td>旧密码:</td>
              <td><input id="txtOldPass" type="password" class="easyui-textbox" /></td>
        </tr>
        <tr>
              <td>新密码:</td>
              <td><input id="txtNewPass" type="password" class="easyui-textbox" /></td>
        </tr>
        <tr>
              <td>确认密码:</td>
              <td><input id="txtRePass" type="password" class="easyui-textbox" /></td>
        </tr>
      </table>
        </div>
    <div region="south" border="false" style="text-align: right; height: 30px; line-height: 30px;"> <a id="btnEp" class="easyui-linkbutton" icon="icon-ok" href="javascript:void(0)" > 确定</a> <a id="btnCancel" class="easyui-linkbutton" icon="icon-cancel" href="javascript:void(0)">取消</a> </div>
  </div>
</div>
<div id="mm" class="easyui-menu" style="width:150px;">
      <div id="mm-tabupdate">刷新</div>
      <div class="menu-sep"></div>
      <div id="mm-tabclose">关闭</div>
      <div id="mm-tabcloseall">全部关闭</div>
      <div id="mm-tabcloseother">除此之外全部关闭</div>
      <div class="menu-sep"></div>
      <div id="mm-tabcloseright">当前页右侧全部关闭</div>
      <div id="mm-tabcloseleft">当前页左侧全部关闭</div>
      <div class="menu-sep"></div>
      <div id="mm-exit">退出</div>
    </div>
<div id="userfunc" style="width:150px;">
    <div id="editpass" data-options="iconCls:‘icon-edit‘">修改密码</div>
    <div id="loginOut"  data-options="iconCls:‘icon-stop‘">注销</div>
</div>
</body>
</html>

  3)根据easyUI组件,编写功能菜单UI

$(function() {
			InitLeftMenu();
			tabClose();
			tabCloseEven();
		});

// 初始化左侧菜单
function InitLeftMenu() {

	$("#menunav").accordion({
				animate : false
			});

	$.ajax({
		url : "user/getusermenu.do",
		type : "POST",
		dataType : "json",
		success : function(data) {
			console.log("菜单数据: " + JSON.stringify(data));
			$.each(data.menus, function(i, n) {
						var menulist = ‘‘;
						menulist += ‘<ul>‘;
						$.each(n.menus, function(j, o) {
									menulist += ‘<li><div><a ref="‘
											+ o.menuId
											+ ‘" href="#" rel="‘
											+ o.menuUrl
											+ ‘" ><span class="icon ‘
											+ o.icon
											+ ‘"  > </span><span class="nav">‘
											+ o.menuName
											+ ‘</span></a></div></li> ‘;

								})
						menulist += ‘</ul>‘;

						$(‘#menunav‘).accordion(‘add‘, {
									title : n.menuName,
									content : menulist,
									iconCls : ‘icon ‘ + n.icon
								});
					});

			$(‘.easyui-accordion li a‘).click(function() {
						var tabTitle = $(this).children(‘.nav‘).text();
						var url = $(this).attr("rel");
						var menuid = $(this).attr("ref");
						addTab(tabTitle, url);

						$(‘.easyui-accordion li div‘).removeClass("selected");
						$(this).parent().addClass("selected");
					}).hover(function() {
						$(this).parent().addClass("hover");
					}, function() {
						$(this).parent().removeClass("hover");
					});
			// 选中第一个
			var panels = $(‘#menunav‘).accordion(‘panels‘);
			var t = panels[0].panel(‘options‘).title;
			$(‘#menunav‘).accordion(‘select‘, t);
		}
	});
}

// 添加选项卡
function addTab(subtitle, url) {
	if (!$(‘#tabs‘).tabs(‘exists‘, subtitle)) {
		$(‘#tabs‘).tabs(‘add‘, {
			title : subtitle,
			content : createFrame(url),
			closable : true
				// icon:icon
			});
	} else {
		$(‘#tabs‘).tabs(‘select‘, subtitle);
		$(‘#mm-tabupdate‘).click();
	}
	tabClose();
}

// 创建点击菜单时打开框架
function createFrame(url) {
	var s = ‘<iframe scrolling="auto" frameborder="0"  src="‘ + url
			+ ‘" style="width:100%;height:100%;"></iframe>‘;
	return s;
}

// 关闭选项卡
function tabClose() {
	/* 双击关闭TAB选项卡 */
	$(".tabs-inner").dblclick(function() {
				var subtitle = $(this).children(".tabs-closable").text();
				$(‘#tabs‘).tabs(‘close‘, subtitle);
			})
	/* 为选项卡绑定右键 */
	$(".tabs-inner").bind(‘contextmenu‘, function(e) {
				$(‘#mm‘).menu(‘show‘, {
							left : e.pageX,
							top : e.pageY
						});

				var subtitle = $(this).children(".tabs-closable").text();

				$(‘#mm‘).data("currtab", subtitle);
				$(‘#tabs‘).tabs(‘select‘, subtitle);
				return false;
			});
}
// 绑定右键菜单事件
function tabCloseEven() {
	// 刷新
	$(‘#mm-tabupdate‘).click(function() {
				var currTab = $(‘#tabs‘).tabs(‘getSelected‘);
				var url = $(currTab.panel(‘options‘).content).attr(‘src‘);
				$(‘#tabs‘).tabs(‘update‘, {
							tab : currTab,
							options : {
								content : createFrame(url)
							}
						})
			})
	// 关闭当前
	$(‘#mm-tabclose‘).click(function() {
				var currtab_title = $(‘#mm‘).data("currtab");
				$(‘#tabs‘).tabs(‘close‘, currtab_title);
			})
	// 全部关闭
	$(‘#mm-tabcloseall‘).click(function() {
				$(‘.tabs-inner span‘).each(function(i, n) {
							var t = $(n).text();
							$(‘#tabs‘).tabs(‘close‘, t);
						});
			});
	// 关闭除当前之外的TAB
	$(‘#mm-tabcloseother‘).click(function() {
				$(‘#mm-tabcloseright‘).click();
				$(‘#mm-tabcloseleft‘).click();
			});
	// 关闭当前右侧的TAB
	$(‘#mm-tabcloseright‘).click(function() {
				var nextall = $(‘.tabs-selected‘).nextAll();
				if (nextall.length == 0) {
					$.messager.alert(‘系统提示‘, ‘已关闭‘, ‘error‘);
					return false;
				}
				nextall.each(function(i, n) {
							var t = $(‘a:eq(0) span‘, $(n)).text();
							$(‘#tabs‘).tabs(‘close‘, t);
						});
				return false;
			});
	// 关闭当前左侧的TAB
	$(‘#mm-tabcloseleft‘).click(function() {
				var prevall = $(‘.tabs-selected‘).prevAll();
				if (prevall.length == 0) {
					return false;
				}
				prevall.each(function(i, n) {
							var t = $(‘a:eq(0) span‘, $(n)).text();
							$(‘#tabs‘).tabs(‘close‘, t);
						});
				return false;
			});

	// 退出
	$("#mm-exit").click(function() {
				$(‘#mm‘).menu(‘hide‘);
			})
}

  4)菜单Json对象数据格式

{"menus":[{"icon":null,"menuId":"A","menuName":"机构管理","menus":[{"menuId":"A1","menuName":"部门机构","parentId":"A","menuUrl":"dept/index.do","serialNo":null,"icon":null}]},{"icon":"icon-overview","menuId":"H","menuName":"系统管理","menus":[{"menuId":"H1","menuName":"用户管理","parentId":"H","menuUrl":"system/user/index.do","serialNo":null,"icon":"icon-overview"},{"menuId":"H2","menuName":"角色管理","parentId":"H","menuUrl":"system/role/index.do","serialNo":null,"icon":"icon-overview"},{"menuId":"H3","menuName":"菜单管理","parentId":"H","menuUrl":"system/menu/index.do","serialNo":null,"icon":"icon-overview"},{"menuId":"H4","menuName":"岗位成员","parentId":"H","menuUrl":"system/rolemember/index.do","serialNo":null,"icon":null},{"menuId":"H5","menuName":"系统日志","parentId":"H","menuUrl":"system/log/index.do","serialNo":null,"icon":"icon-overview"},{"menuId":"H6","menuName":"数据字典","parentId":"H","menuUrl":"system/param/index.do","serialNo":null,"icon":"icon-overview"}]}]}

三、API手册

1) 官网组件(英文)地址:http://www.jeasyui.com/documentation/index.php#

2) jQuery EasyUI 官方API文档中文版,下载地址:http://download.csdn.net/album/detail/343

原文地址:https://www.cnblogs.com/walkwithmonth/p/11667901.html

时间: 2024-10-14 18:15:34

中小后台系统UI框架--EasyUI的相关文章

H+后台主题UI框架---整理(三)

这里面介绍下H+后台主题UI框架里面插件的应用,不过都是最最简单最初级的功能.主要有日历插件,input单选多选(icheck)插件,input下拉搜索(chosen)插件. 一.日历插件 有如下几种应用的形式: (一) 1.首先,需要引入laydate.js,而且,只需要引入js即可. 2.在script里面粘贴如下代码: [外部js调用]<input id="hello" class="laydate-icon"> //是在html里面的内容,也就是

H+后台主题UI框架---整理(二)

本篇文章是针对H+后台主题UI框架的整理的第二部分.主要只有一个point.如下: 其代码如下: <div class="ibox float-e-margins"> <div class="ibox-title"> <h5>数据报告</h5> <span class="label label-primary">K+</span> <div class="ib

后台管理UI

后台管理UI 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.INSPINIA 十.LigerUI 十一.其它UI 十二.总结 最近要做一个企业的OA系统,以前一直使用EasyUI,一切都好,但感觉有点土了,想换成现在流行的Bootstrap为基础的后台UI风格,想满足的条件应该达到如下几个: 1.美观.大方.简洁 2.兼容IE8.不考虑兼容IE6/IE7,因为现在还有很多公司在使用Wi

后台管理UI的选择

后台管理UI的选择 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.INSPINIA 十.LigerUI 十一.FineUI 十二.其它UI 十三.总结 最近要做一个企业的OA系统,以前一直使用EasyUI,一切都好,但感觉有点土了,想换成现在流行的Bootstrap为基础的后台UI风格,想满足的条件应该达到如下几个: 1.美观.大方.简洁 2.兼容IE8.不考虑兼容IE6/IE7,因为

后台管理UI皮肤的选择

后台管理UI的选择 目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.Admin LTE 九.INSPINIA 十.LigerUI 十一.FineUI 十二.其它UI 十三.总结 最近要做一个企业的OA系统,以前一直使用EasyUI,一切都好,但感觉有点土了,想换成现在流行的Bootstrap为基础的后台UI风格,想满足的条件应该达到如下几个: 1.美观.大方.简洁 2.兼容IE8.不考虑兼容IE6/IE7,因为

后台管理UI模板

一.EasyUI easyui是一种基于jQuery的用户界面插件集合. easyui为创建现代化,互动,JavaScript应用程序,提供必要的功能. 使用easyui你不需要写很多代码,你只需要通过编写一些简单HTML标记,就可以定义用户界面. easyui是个完美支持HTML5网页的完整框架. easyui节省您网页开发的时间和规模. easyui很简单但功能强大的. 优点:轻量.功能强大.免费.兼容性好.帮助详细.使用的人多生态好 缺点:非响应式布局.某些系统看起来有点土(客户与老板的感

后台管理UI推荐

目录 一.EasyUI 二.DWZ JUI 三.HUI 四.BUI 五.Ace Admin 六.Metronic 七.H+ UI 八.其它UI 九.总结 最近要做一个企业的OA系统,以前一直使用EasyUI,一切都好,但感觉有点土了,想换成现在流行的Bootstrap为基础的后台UI风格,想满足的条件应该达到如下几个: 1.美观.大方.简洁 2.兼容IE8.不考虑兼容IE6/IE7,因为现在还有很多公司在使用Win7系统,系统内置了IE8 3.能通过选项卡打开多个页面,不想做单页,iframe也

专刊文章 - Web UI框架引领J2EE新开发模式 代码生成器+手工merge半智能开发

前言:随着WEB UI框架(EasyUI/Jquery UI/ExtJS/DWZ)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也可以生成统一规范的界面!代码生成+手工MERGE半智能开发将是新的趋势,单表数据模型和一对多数据模型的增删改查功能直接生成使用,可节省50%工作量,快速提高开发效率!!! jeecg微云快速开发平台 - 云桌面展示  [J2EE  Code Generation]一款基于代码生成器的J2EE智能开发框架. JAVA编程有很多重复机械代码,生成器可以帮助解决50%的重

前端UI框架简单对比和选型建议

Bootstrap3.3.4的后台主题UI框架H+ v3.0 http://www.zi-han.net/developer/1031.html   (组件多而全,但收费) 拼图响应式前端框架 http://demo.pintuer.com/pintuer3/ (响应式,组件多而全) Semantic UI 和 amazeui http://www.semantic-ui.cn/ http://amazeui.org/ (响应式,跨浏览器,组件多而全,活跃性一般) x5应用快速开发 框架 htt