核心提示:1.效果如下图,主要是完成后台菜单的搭建,以及某个功能模块的增删查改 2.后台管理页面的搭建,使用到了Layout(布局)组件,以及Tabs(选项卡)组件,Tree(树)组件具体代码如下:!DOCT...
1.效果如下图,主要是完成后台菜单的搭建,以及某个功能模块的增删查改


2.后台管理页面的搭建,使用到了Layout(布局)组件,以及Tabs(选项卡)组件,Tree(树)组件
具体代码如下:
<!DOCTYPE html>
<html>
<head>
<title>jQuery Easy UI</title>
<meta charset="UTF-8" />
<link rel="stylesheet" type="text/css" href="easyui/themes/default/easyui.css" />
<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css" />
<link rel="stylesheet" type="text/css" href="css/admin.css" />
</head>
<body class="easyui-layout">
<p data-options="region:'north',title:'header',split:true,noheader:true" style="height:60px;background:#666;">
<p class="logo">后台管理</p>
<p class="logout">您好,| <a href="logout.php">退出</a></p>
</p>
<p data-options="region:'south',title:'footer',split:true,noheader:true" style="height:35px;line-height:30px;text-align:center;">
©2009-2015 SEVEN_2016. Powered by PHP and EasyUI.
</p>
<p data-options="region:'west',title:'导航',split:true" style="width:180px;padding:10px;">
<ul id="nav" class="easyui-tree"></ul>
</p>
<p data-options="region:'center'" style="overflow:hidden;">
<p id="tabs">
<p title="起始页" style="padding:0 10px;display:block;">
欢迎来到后台管理系统!
</p>
</p>
</p>
<script type="text/javascript" src="easyui/jquery.min.js"></script>
<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js" ></script>
<script type="text/javascript" src="js/admin.js"></script>
</body>
</html>
调整样式:
.logo {
width:180px;
height:50px;
line-height:50px;
text-align:center;
font-size:20px;
font-weight:bold;
float:left;
color:#fff;
}
.logout {
float:right;
padding:30px 15px 0 0;
color:#fff;
}
.dialog-button{
text-align:center;
}
a {
color:#fff;
text-decoration:none;
}
a:hover {
text-decoration:underline;
}
面板组件的创建,导航树的实现
$('#tabs').tabs({
fit : true,
border : false,
});
$('#nav').tree({
url:'get_data.php',
lines:true,
onLoadSuccess:function(node,data){
if(data){
$(data).each(function(){
if(this.state=='closed'){
$('#nav').tree('expandAll');
}
});
}
},
onClick:function(node){
if(node.url){
if($('#tabs').tabs('exists',node.text)){
$('#tabs').tabs('select',node.text);
}else{
$('#tabs').tabs('add',{
title:node.text,
closable:true,
href:node.url
});
}
}
}
});
url返回的数据是json格式,可以从数据库取出,也可以自己构造
get_data.PHP:
[{
"id": 1,
"text": "文章管理",
"state": "closed",
"children": [{
"id": 11,
"text": "文章列表"
},{
"id": 12,
"text": "文章回收"
}]
},
{
"id": 2,
"text": "用户管理",
"state": "closed",
"children": [{
"id": 21,
"text": "用户列表",
"url":"user.php"
}]
}
]
如果存在url,点击之后新增一个面板,并且载入url页面,并且如果原面板已经存在,就不用创建新的面板
3.数据的增删查改的实现,使用到组件DataGrid(数据表格)组件
html代码如下:
<table id="manager"></table>
js代码如下:
$('#manager').datagrid({
url fit: true,
fitColumns: true,
striped: true,
rownumbers: true,
border: false,
pagination: true,
pageSize: 20,
pageList: [10, 20, 30, 40, 50],
pageNumber: 1,
sortName: 'date',
sortOrder: 'desc',
toolbar: '#manager_tool',
columns: [[{
field: 'id',
title: '自动编号',
width: 100,
checkbox: true,
},
{
field: 'manager',
title: '管理员帐号',
width: 100,
},
{
field: 'auth',
title: '拥有权限',
width: 100,
},
{
field: 'date',
title: '创建日期',
width: 100,
},
]],
});
4.管理组件:
<p style="margin-bottom:5px;">
<a href="#" class="easyui-linkbutton" iconCls="icon-add" plain="true" onclick="manager_tool.add();">添加</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="manager_tool.edit();">修改</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-remove" plain="true" onclick="manager_tool.remove();">删除</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-save" plain="true" id="save" onclick="manager_tool.reload();">刷新</a>
<a href="#" class="easyui-linkbutton" iconCls="icon-redo" plain="true" id="redo" onclick="manager_tool.redo();">取消选择</a>
</p>
5.新增管理
页面:
<form id="manager_add" style="margin:0;padding:5px 0 0 25px;color:#333;">
<p>管理帐号:<input type="text" name="manager" class="textbox" style="width:200px;"></p>
<p>管理密码:<input type="password" name="password" class="textbox" style="width:200px;"></p>
<p>分配权限:<input id="auth" class="textbox" name="auth" style="width:205px;"></p>
</form>
js代码:
$('#manager_add').dialog({
width: 350,
modal: true,
closed: true,
title: '新增管理',
buttons: [{
text: '提交',
iconCls: 'icon-add',
handler: function() {
if ($('#manager_add').form('validate')) {
$.ajax({
url: 'addManger.php',
type: "post",
data: {
manager: $('input[name="manager"]').val(),
password: $('input[name="password"]').val(),
auth: $('#auth').combotree('getText')
},
beforeSend: function() {
$.messager.progress({
text: '正在新增中...',
});
},
success: function(data, response, status) {
$.messager.progress('close');
if (data > 0) {
$.messager.show({
title: '提示',
msg: '新增成功!'
});
$('#manager_add').dialog('close').form('reset');
$('#manager').datagrid('reload');
} else {
$.messager.alert('新增失败!', '未知错误!请重试!');
}
}
});
}
}
},
{
text: '取消',
iconCls: 'icon-redo',
handler: function() {
$('#manager_add').dialog('close').form('reset');
}
}],
});
点击按钮之后:
manager_tool = {
add: function() {
$('#manager_add').dialog('open');
$('input[name="manager"]').focus();
}
}
文本框的验证:
//管理账号
$('input[name="manager"]').validatebox({
required: true,
validType: 'length[2,20]',
missingMessage: '请输入管理名称',
invalidMessage: '管理名称在2-20位!'
});
//管理密码
$('input[name="password"]').validatebox({
required: true,
validType: 'length[2,20]',
missingMessage: '请输入管理密码',
invalidMessage: '管理密码在2-20位!'
});
以及树形数据的选择;
//分配权限
$('#auth').combotree({
url: 'get_data.php',
lines: true,
multiple: true,
checkbox: true,
onlyLeafCheck: true,
onLoadSuccess: function(node, data) {
var _this = this;
if (data) {
$(data).each(function() {
if ($.inArray(data.text, auth) != -1) {
$(_this).tree('check', data.target)
}
if (this.state == 'closed') {
$(_this).tree('expandAll');
}
});
}
}
});
6.编辑
页面代码:
<form id="manager_edit" style="margin:0;padding:5px 0 0 25px;color:#333;">
<p>管理帐号:<input name="id" type="hidden"></p>
<p>管理帐号:<input type="text" name="manager_edit" class="textbox" style="width:200px;"></p>
<p>管理密码:<input type="password" name="password_edit" class="textbox" style="width:200px;"></p>
<p>分配权限:<input id="auth_edit" class="textbox" name="auth_edit" style="width:205px;"></p>
</form>
js代码:
//编辑
$('#manager_edit').dialog({
width: 350,
title: '修改管理',
modal: true,
closed: true,
iconCls: 'icon-user-add',
buttons: [{
text: '提交',
iconCls: 'icon-edit-new',
handler: function() {
if ($('#manager_edit').form('validate')) {
$.ajax({
url: 'updateManager.php',
type: 'post',
data: {
id: $('input[name="id"]').val(),
password: $('input[name="password_edit"]').val(),
auth: $('#auth_edit').combotree('getText'),
},
beforeSend: function() {
$.messager.progress({
text: '正在修改中...',
});
},
success: function(data, response, status) {
$.messager.progress('close');
if (data > 0) {
$.messager.show({
title: '提示',
msg: '修改管理成功',
});
$('#manager_edit').dialog('close').form('reset');
$('#manager').datagrid('reload');
} else {
$.messager.alert('修改失败!', '未知错误或没有任何修改,请重试!', 'warning');
}
}
});
}
},
},
{
text: '取消',
iconCls: 'icon-redo',
handler: function() {
$('#manager_edit').dialog('close').form('reset');
},
}],
});
点击按钮之后:
manager_tool = {
edit: function() {
//获取选择的行,
var rows = $('#manager').datagrid('getSelections');
if (rows.length > 1) {
$.messager.alert('警告操作', '编辑记录只能选定一条数据!');
} else if (rows.length == 1) {
$.ajax({
url: 'getManger.php',
type: "post",
data: {
id: rows[0].id
},
beforeSend: function() {
$.messager.progress({
text: '正在获取中...',
});
},
success: function(data, response, status) {
$.messager.progress('close');
if (data > 0) {
//返回修改来的数据
var obj = $.parseJSON(data);
var auth = obj[0].auth.split(',');
$('#manager_edit').form('load', {
id: obj[0].id,
manager_edit: obj[0].manager,
auth_edit: obj[0].auth
}).dialog('open');
} else {
$.messager.alert('获取失败!', '未知错误!请重试!');
}
}
});
} else if (rows.length == 0) {
$.messager.alert('警告操作', '编辑记录至少选定一条数据!');
}
}
}
7.删除
点击按钮之后:
manager_tool = {
remove: function() {
var rows = $('#manager').datagrid('getSelections');
if (rows.length > 0) {
$.messager.confirm('确定操作', '您正在要删除所选的记录吗?',
function(flag) {
if (flag) {
var ids = [];
for (var i = 0; i < rows.length; i++) {
ids.push(rows[i].id);
}
//console.log(ids.join(','));
$.ajax({
type: 'POST',
url: 'deleteManager.php',
data: {
ids: ids.join(','),
},
beforeSend: function() {
$('#manager').datagrid('loading');
},
success: function(data) {
if (data) {
$('#manager').datagrid('loaded');
$('#manager').datagrid('load');
$('#manager').datagrid('unselectAll');
$.messager.show({
title: '提示',
msg: data + '个管理被删除成功!',
});
}
},
});
}
});
} else {
$.messager.alert('提示', '请选择要删除的记录!', 'info');
}
}
}


