<!DOCTYPE html>
<html lang="zh-CN">
<head>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/style.min.css" rel="stylesheet">
</head>
<body>
<div class="wrapper wrapper-content float-e-margins">
<div class="row">
<div id="div1"></div>
</div>
</div>
<script src="jquery.min.js"></script>
<script src="treegrid.js"></script>
<script type="text/javascript">
var url = "/menu";
var manageUrl = "/manage/menus";
function customCheckBox(row, col){
return "<input name='menu' type='checkbox'>";
}
function itemClickEvent(id, index, data){
jQuery("#currentRow").val(id + ", " + index + ", " + TreeGrid.json2str(data));
}
function expandAll(isOpen){
treeGrid.expandAll(isOpen);
}
function selectedItem(){
var treeGridItem = treeGrid.getSelectedItem();
if(treeGridItem!=null){
//获取数据行属性值
//alert(treeGridItem.id + ", " + treeGridItem.index + ", " + treeGridItem.data.name);
//获取父数据行
var parent = treeGridItem.getParent();
if(parent!=null){
//jQuery("#currentRow").val(parent.data.name);
}
//获取子数据行集
var children = treeGridItem.getChildren();
if(children!=null && children.length>0){
jQuery("#currentRow").val(children[0].data.name);
}
}
}
var data = [];
for(var i = 0;i < 10; i++){
var object = new Object();
object.icon = 'cc';
object.id = i;
object.level = null;
object.name = '测试' + i;
object.pid = null;
object.sort = i;
object.state = null;
object.url = '';
if(i == 0){
object.isopen = 'Y';
}
var children = [];
for(var j = 0;j < 10; j++){
var objects = new Object();
objects.icon = 'cc';
objects.id = j;
objects.level = null;
objects.name = '测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试测试' + j;
objects.pid = j;
objects.sort = j;
objects.state = null;
objects.url = '123';
var childrens = [];
for(var m = 0;m < 10; m++){
var objectss = new Object();
objectss.icon = 'cc';
objectss.id = m;
objectss.level = null;
objectss.name = '测试' + m;
objectss.pid = m;
objectss.sort = m;
objectss.state = null;
objectss.url = '123';
var a = [];
for(var p = 0;p < 10; p++) {
var objectsss = new Object();
objectsss.icon = 'cc';
objectsss.id = m;
objectsss.level = null;
objectsss.name = '测试' + m;
objectsss.pid = m;
objectsss.sort = m;
objectsss.state = null;
objectsss.url = '123';
a.push(objectsss);
}
objectss.children = a;
childrens.push(objectss);
}
objects.children = childrens;
children.push(objects);
}
object.children = children;
data.push(object);
}
function loadMenu(){
var config = {
id: "tg1",
width: "800",
renderTo: "div1",
headerAlign: "left",
headerHeight: "30",
dataAlign: "left",
indentation: "20",
folderColumnIndex: "1",
// folderOpenIcon: "img/folderOpen.png",
// folderCloseIcon: "img/folderClose.png",
// defaultLeafIcon: "img/defaultLeaf.png",
itemClick: "itemClickEvent",
doubleClick: "",
expandLayer: 1,
columns:[
{headerText: "", headerAlign: "center", dataAlign: "center", width: "20", folderHidden:"true"},
{headerText: "资源名称", dataField: "name" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "资源名称", dataField: "name1" ,width: "120"},
{headerText: "ID", dataField: "id",folderHidden:"true",headerAlign: "center", width: "120"},
{headerText: "资源地址", dataField: "url", headerAlign: "center", dataAlign: "left", width: "120"}
],
data:data
};
//创建一个组件对象
var treeGrid = new TreeGrid(config);
treeGrid.show();
treeGrid.expandAll("N");
}
loadMenu();
$("#newMenuButton").on("click", function() {
var con = true;
$('input:checkbox[name=menu]:checked').each(function(i){
var row = $(this).parent().parent().attr('data');
row = eval("("+row+")");
$("#pid").val(row.name);
if(!row.pid && row.url){
con = false;
}
});
if(!con){
layer.alert('所选菜单无法添加子菜单,请清除链接!');
return;
}
$('#menuModal').modal('show');
});
$("#deleteMenuButton").on("click", function() {
var selectMenusName = [];
var menuIds = [];
$('input:checkbox[name=menu]:checked').each(function(i){
var row = $(this).parent().parent().attr('data');
row = eval("("+row+")");
menuIds.push(row.id);
selectMenusName.push(row.name);
});
if(!$('input:checkbox[name=menu]:checked').length){
layer.alert('请选择删除项!');
return;
}
layer.confirm("菜单名为" + selectMenusName, {icon: 3, title: "删除菜单"}, function(index){
$.ajax({
type:"POST",
url: manageUrl + "/remove",
contentType:"application/json",
data:JSON.stringify(menuIds),
success: function(data){
layer.alert("删除成功!", {icon: 1, time : 1500});
loadMenu();
},
error: function(e,xhr,opt){
layer.alert("删除失败! " + e.responseJSON.message, {icon: 2});
}
});
layer.close(index);
});
});
$("#saveButton").on("click", function() {
var data = {};
data.name = $("#name").val();
data.url = $("#url").val();
$('input:checkbox[name=me