<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>菜单管理title>
<%@ include file="../head.jsp"%>
<style type="text/css">``
style>
head>
<body>
<div class="easyui-layout" style="width: 1200px; height: 650px;">
<div data-options="region:'west',title:'部门',split:true" style="width: 200px;">
<ul id="menuTreeManage" class="easyui-tree"animate:true>ul>
div>
<div data-options="region:'center',title:'操作'"style="padding-left: 20px; background: #eee;width: 600px;">
body>
<script type="text/javascript">
function showSubMenu(id) {
var subNode;
$.ajax({
type : "POST",
async : false,
url : "getSmallMenu",
data : "id=" + id,
timeout : 10000,
success : function(msg) {
subNode = msg;
},
error : function() {
alert('网络超时,请重试!');
}
});
return subNode;
}
function convert(rows) {
function exists(rows, parentId) {
for (var i = 0; i < rows.length; i++) {
if (rows[i].id == parentId) {
return true;
}
}
return false;
}
var nodes = [];
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (!exists(rows, row.pid)) {
nodes.push({
id : row.id,
text : row.name
});
}
}
var toDo = [];
for (var i = 0; i < nodes.length; i++) {
toDo.push(nodes[i]);
}
while (toDo.length) {
var node = toDo.shift();
for (var i = 0; i < rows.length; i++) {
var row = rows[i];
if (row.pid == node.id) {
var child = {
id : row.id,
text : row.name,
};
if (node.children) {
node.children.push(child);
} else {
node.children = [ child ];
}
toDo.push(child);
}
}
}
return nodes;
}
function initMenuTree() {
$('#menuTreeManage').tree({
url : 'findAllMenu',
lines : true,
cascadeCheck : false,
loadFilter : function(data) {
$('#cz').datagrid({
checkOnSelect :true,
rownumbers : true,
pagination : true,
striped:true,
data : data,
columns:[[
{field:'xxx',title:'选择',align:'center',width:20,checkbox:'true'},
{field:'name',title:'菜单名称',align:'center',width:200},
{field:'url',title:'URL',align:'center',width:200},
{field:'_operate',title:'操作',align:'center',width:100,formatter:compile},
]],
});
return convert(data);
},
onClick : function(node) {
var selectTarget = $('#menuTreeManage').tree('getSelected');
if(!selectTarget.children){
$('#menuTreeManage').tree('append', {
parent : selectTarget.target,
data : JSON.parse(showSubMenu(selectTarget.id)),
});
}
$('#cz').datagrid({
rownumbers : true,
pagination : true,
striped : true,
checkOnSelect :true,
data:JSON.parse(showSubMenu(selectTarget.id)),
columns:[[
{field:'xxx',title:'选择',align:'center',width:20,checkbox:'true'},
{field:'name',title:'菜单名称',align:'center',width:200},
{field:'url',title:'URL',align:'center',width:200},
{field:'_operate',title:'操作',align:'center',width:100,formatter:compile},
]],
});
}
});
}
script>
html>