|
@@ -1,242 +1,248 @@
|
|
|
var menuTree;
|
|
|
// zTree的参数配置,setting主要是设置一些tree的属性,是本地数据源,还是远程,动画效果,是否含有复选框等等
|
|
|
var setting = {
|
|
|
- // 复选框
|
|
|
- check : {
|
|
|
- enable : true,
|
|
|
- chkboxType: { "Y": "", "N": "" }
|
|
|
- },
|
|
|
- async : {
|
|
|
- enable : true,
|
|
|
- type : 'post',
|
|
|
- url : basePath + "/menu/list"
|
|
|
- },
|
|
|
- data : {
|
|
|
- // 简单的数据源
|
|
|
- simpleData : {
|
|
|
- enable : true,
|
|
|
- idKey : "id",
|
|
|
- pIdKey : "pid",
|
|
|
- rootPId : 0 // 根节点
|
|
|
- }
|
|
|
- },
|
|
|
- callback : {
|
|
|
- // onCheck : onCheck
|
|
|
- }
|
|
|
+ // 复选框
|
|
|
+ check : {
|
|
|
+ enable : true,
|
|
|
+ chkboxType : {
|
|
|
+ "Y" : "",
|
|
|
+ "N" : ""
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async : {
|
|
|
+ enable : true,
|
|
|
+ type : 'post',
|
|
|
+ url : basePath + "/menu/list"
|
|
|
+ },
|
|
|
+ data : {
|
|
|
+ // 简单的数据源
|
|
|
+ simpleData : {
|
|
|
+ enable : true,
|
|
|
+ idKey : "id",
|
|
|
+ pIdKey : "pid",
|
|
|
+ rootPId : 0
|
|
|
+ // 根节点
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
-function onCheck(e, treeId, treeNode) {
|
|
|
- alert("onCheck");
|
|
|
-}
|
|
|
-
|
|
|
$(document).ready(function() {
|
|
|
- // 初始化zTree对象
|
|
|
- menuTree = $.fn.zTree.init($("#menuTree"), setting);
|
|
|
+ // 初始化zTree对象
|
|
|
+ menuTree = $.fn.zTree.init($("#menuTree"), setting);
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* 新增菜单
|
|
|
*/
|
|
|
function addInfo() {
|
|
|
- // 获取勾选节点
|
|
|
- var nodes = menuTree.getCheckedNodes(true);
|
|
|
- if (nodes.length > 1) {
|
|
|
- layer.alert("请选择一条记录!");
|
|
|
- return;
|
|
|
- } else if (nodes.length == 1) {
|
|
|
- var node = nodes[0];
|
|
|
- if (node.leaf == 'B') { // 按钮节点
|
|
|
- layer.alert("只能在菜单下新增!");
|
|
|
- return;
|
|
|
- } else if (node.leaf == 'Y') { // 末级菜单节点
|
|
|
- // 清空按钮表单信息
|
|
|
- comClearFormData("#editBtnForm");
|
|
|
- $("#menuId").val(node.id);
|
|
|
- $("#menuName").val(node.name);
|
|
|
- // 弹出按钮模态框
|
|
|
- showModelDialog("editBtnWin", "新增");
|
|
|
- } else { // 非末级菜单节点
|
|
|
- // 清空菜单表单信息
|
|
|
- comClearFormData("#editForm");
|
|
|
- $("#pid").val(node.id);
|
|
|
- $("#pname").val(node.name);
|
|
|
- $("#pcode").val(node.code);
|
|
|
- // 弹出菜单模态框
|
|
|
- showModelDialog("editWin", "新增");
|
|
|
- }
|
|
|
- } else { // 根级菜单节点
|
|
|
- // 清空菜单表单信息
|
|
|
- comClearFormData("#editForm");
|
|
|
- // 弹出菜单模态框
|
|
|
- showModelDialog("editWin", "新增");
|
|
|
- }
|
|
|
+ // 获取勾选节点
|
|
|
+ var nodes = menuTree.getCheckedNodes(true);
|
|
|
+ if (nodes.length > 1) {
|
|
|
+ layer.alert("请选择一条记录!");
|
|
|
+ return;
|
|
|
+ } else if (nodes.length == 1) {
|
|
|
+ var node = nodes[0];
|
|
|
+ if (node.leaf == 'B') { // 按钮节点
|
|
|
+ layer.alert("只能在菜单下新增!");
|
|
|
+ return;
|
|
|
+ } else if (node.leaf == 'Y') { // 末级菜单节点
|
|
|
+ // 清空按钮表单信息
|
|
|
+ comClearFormData("#editBtnForm");
|
|
|
+ $("#menuId").val(node.id);
|
|
|
+ $("#menuName").val(node.name);
|
|
|
+ // 弹出按钮模态框
|
|
|
+ showModelDialog("editBtnWin", "新增");
|
|
|
+ } else { // 非末级菜单节点
|
|
|
+ // 清空菜单表单信息
|
|
|
+ comClearFormData("#editForm");
|
|
|
+ $("#pid").val(node.id);
|
|
|
+ $("#pname").val(node.name);
|
|
|
+ $("#pcode").val(node.code);
|
|
|
+ // 弹出菜单模态框
|
|
|
+ showModelDialog("editWin", "新增");
|
|
|
+ }
|
|
|
+ } else { // 根级菜单节点
|
|
|
+ // 清空菜单表单信息
|
|
|
+ comClearFormData("#editForm");
|
|
|
+ // 弹出菜单模态框
|
|
|
+ showModelDialog("editWin", "新增");
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 编辑菜单
|
|
|
*/
|
|
|
function editInfo() {
|
|
|
- // 获取勾选节点
|
|
|
- var nodes = menuTree.getCheckedNodes(true);
|
|
|
- if (nodes.length != 1) {
|
|
|
- layer.alert("请选择一条记录!");
|
|
|
- return;
|
|
|
- } else {
|
|
|
- var node = nodes[0];
|
|
|
- if (node.leaf == 'B') { // 按钮节点
|
|
|
- var pnode = node.getParentNode();
|
|
|
- $.ajax({
|
|
|
- type : 'POST',
|
|
|
- dataType : "json",
|
|
|
- data : {"id" : node.id},
|
|
|
- url : basePath + '/btn/getRecord',
|
|
|
- success : function(data) {
|
|
|
- $("#menuId").val(pnode.id);
|
|
|
- $("#menuName").val(pnode.name);
|
|
|
- $("#btnId").val(data.btnId);
|
|
|
- $("#btnName").val(data.btnName);
|
|
|
- $("#btnCode").val(data.btnCode);
|
|
|
- $("#btnSortno").val(data.btnSortno);
|
|
|
- showModelDialog("editBtnWin", "编辑");
|
|
|
- },
|
|
|
- error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
|
- layer.alert("error:" + errorThrown);
|
|
|
- }
|
|
|
- });
|
|
|
- } else { // 菜单节点
|
|
|
- var pnode = node.getParentNode();
|
|
|
- $.ajax({
|
|
|
- type : 'POST',
|
|
|
- dataType : "json",
|
|
|
- data : {"id" : node.id},
|
|
|
- url : basePath + '/menu/getRecord',
|
|
|
- success : function(data) {
|
|
|
- if (!isNull(pnode)) {
|
|
|
- $("#pid").val(pnode.id);
|
|
|
- $("#pcode").val(pnode.code);
|
|
|
- $("#pname").val(pnode.name);
|
|
|
- }
|
|
|
- $("#id").val(data.id);
|
|
|
- $("#name").val(data.name);
|
|
|
- $("#code").val(data.code);
|
|
|
- $("#leaf").val(data.leaf);
|
|
|
- $("#url").val(data.url);
|
|
|
- $("#sortno").val(data.sortno);
|
|
|
- showModelDialog("editWin", "编辑");
|
|
|
- },
|
|
|
- error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
|
- layer.alert("error:" + errorThrown);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- }
|
|
|
+ // 获取勾选节点
|
|
|
+ var nodes = menuTree.getCheckedNodes(true);
|
|
|
+ if (nodes.length != 1) {
|
|
|
+ layer.alert("请选择一条记录!");
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ var node = nodes[0];
|
|
|
+ if (node.leaf == 'B') { // 按钮节点
|
|
|
+ var pnode = node.getParentNode();
|
|
|
+ $.ajax({
|
|
|
+ type : 'POST',
|
|
|
+ dataType : "json",
|
|
|
+ data : {
|
|
|
+ "id" : node.id
|
|
|
+ },
|
|
|
+ url : basePath + '/btn/getRecord',
|
|
|
+ success : function(data) {
|
|
|
+ $("#menuId").val(pnode.id);
|
|
|
+ $("#menuName").val(pnode.name);
|
|
|
+ $("#btnId").val(data.btnId);
|
|
|
+ $("#btnName").val(data.btnName);
|
|
|
+ $("#btnCode").val(data.btnCode);
|
|
|
+ $("#btnSortno").val(data.btnSortno);
|
|
|
+ showModelDialog("editBtnWin", "编辑");
|
|
|
+ },
|
|
|
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ layer.alert("error:" + errorThrown);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else { // 菜单节点
|
|
|
+ var pnode = node.getParentNode();
|
|
|
+ $.ajax({
|
|
|
+ type : 'POST',
|
|
|
+ dataType : "json",
|
|
|
+ data : {
|
|
|
+ "id" : node.id
|
|
|
+ },
|
|
|
+ url : basePath + '/menu/getRecord',
|
|
|
+ success : function(data) {
|
|
|
+ if (!isNull(pnode)) {
|
|
|
+ $("#pid").val(pnode.id);
|
|
|
+ $("#pcode").val(pnode.code);
|
|
|
+ $("#pname").val(pnode.name);
|
|
|
+ }
|
|
|
+ $("#id").val(data.id);
|
|
|
+ $("#name").val(data.name);
|
|
|
+ $("#code").val(data.code);
|
|
|
+ $("#leaf").val(data.leaf);
|
|
|
+ $("#url").val(data.url);
|
|
|
+ $("#sortno").val(data.sortno);
|
|
|
+ showModelDialog("editWin", "编辑");
|
|
|
+ },
|
|
|
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ layer.alert("error:" + errorThrown);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 删除菜单及其子菜单
|
|
|
*/
|
|
|
function delInfo() {
|
|
|
- // 获取选择节点
|
|
|
- var nodes = menuTree.getCheckedNodes(true);
|
|
|
- if(nodes.length > 0) {
|
|
|
- var chkIds = "";
|
|
|
- var chkNames = "";
|
|
|
- for (var i = 0; i < nodes.length; i++) {
|
|
|
- if (i != 0) {
|
|
|
- chkIds += ",";
|
|
|
- chkNames += ",";
|
|
|
- }
|
|
|
- chkIds += nodes[i].id;
|
|
|
- chkNames += nodes[i].name;
|
|
|
- }
|
|
|
- layer.confirm('删除所选记录及其下级记录:<br>' + chkNames, {icon: 3, title:'提示'}, function(index){
|
|
|
- $.ajax({
|
|
|
- type : 'POST',
|
|
|
- dataType : "json",
|
|
|
- data : {"ids" : chkIds},
|
|
|
- url : basePath + '/menu/delRecodes',
|
|
|
- success : function(data) {
|
|
|
- layer.close(index);
|
|
|
- menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
- },
|
|
|
- error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
|
- layer.close(index);
|
|
|
- layer.alert("error:" + errorThrown);
|
|
|
- }
|
|
|
- });
|
|
|
- });
|
|
|
- } else {
|
|
|
- layer.alert("请选择记录");
|
|
|
- }
|
|
|
+ // 获取选择节点
|
|
|
+ var nodes = menuTree.getCheckedNodes(true);
|
|
|
+ if (nodes.length > 0) {
|
|
|
+ var chkIds = "";
|
|
|
+ var chkNames = "";
|
|
|
+ for (var i = 0; i < nodes.length; i++) {
|
|
|
+ if (i != 0) {
|
|
|
+ chkIds += ",";
|
|
|
+ chkNames += ",";
|
|
|
+ }
|
|
|
+ chkIds += nodes[i].id;
|
|
|
+ chkNames += nodes[i].name;
|
|
|
+ }
|
|
|
+ layer.confirm('删除所选记录及其下级记录:<br>' + chkNames, {
|
|
|
+ icon : 3,
|
|
|
+ title : '提示'
|
|
|
+ }, function(index) {
|
|
|
+ $.ajax({
|
|
|
+ type : 'POST',
|
|
|
+ dataType : "json",
|
|
|
+ data : {
|
|
|
+ "ids" : chkIds
|
|
|
+ },
|
|
|
+ url : basePath + '/menu/delRecodes',
|
|
|
+ success : function(data) {
|
|
|
+ layer.close(index);
|
|
|
+ menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
+ },
|
|
|
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ layer.close(index);
|
|
|
+ layer.alert("error:" + errorThrown);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ layer.alert("请选择记录");
|
|
|
+ }
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 刷新菜单
|
|
|
*/
|
|
|
function refresh() {
|
|
|
- menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
+ menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 保存数据
|
|
|
*/
|
|
|
function save() {
|
|
|
- $.ajax({
|
|
|
- type : "post",
|
|
|
- url : basePath + '/menu/save',
|
|
|
- dataType:'json',
|
|
|
- data : $('#editForm').serialize(), //表单序列化,获取数据
|
|
|
- success : function(data) {
|
|
|
- // 成功删除后刷新页面
|
|
|
- if (data && data.success == true) {
|
|
|
- layer.alert("数据已成功保存!");
|
|
|
- closeWin();
|
|
|
- menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
- } else {
|
|
|
- layer.alert("数据保存失败!");
|
|
|
- }
|
|
|
- }, //操作成功后的操作!data是后台传过来的值
|
|
|
- error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
|
- layer.alert("error:" + errorThrown);
|
|
|
+ $.ajax({
|
|
|
+ type : "post",
|
|
|
+ url : basePath + '/menu/save',
|
|
|
+ dataType : 'json',
|
|
|
+ data : $('#editForm').serialize(), // 表单序列化,获取数据
|
|
|
+ success : function(data) {
|
|
|
+ // 成功删除后刷新页面
|
|
|
+ if (data && data.success == true) {
|
|
|
+ layer.alert("数据已成功保存!");
|
|
|
+ closeWin();
|
|
|
+ menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
+ } else {
|
|
|
+ layer.alert("数据保存失败!");
|
|
|
+ }
|
|
|
+ }, // 操作成功后的操作!data是后台传过来的值
|
|
|
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ layer.alert("error:" + errorThrown);
|
|
|
}
|
|
|
- });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 关闭窗口
|
|
|
*/
|
|
|
function closeWin() {
|
|
|
- hideModelDialog("editWin");
|
|
|
+ hideModelDialog("editWin");
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保存按钮数据
|
|
|
*/
|
|
|
function btnSave() {
|
|
|
- $.ajax({
|
|
|
- type : "post",
|
|
|
- url : basePath + '/btn/save',
|
|
|
- dataType:'json',
|
|
|
- data : $('#editBtnForm').serialize(), //表单序列化,获取数据
|
|
|
- success : function(data) {
|
|
|
- // 成功删除后刷新页面
|
|
|
- if (data && data.success == true) {
|
|
|
- layer.alert("数据已成功保存!");
|
|
|
- closeBtnWin();
|
|
|
- menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
- } else {
|
|
|
- layer.alert("数据保存失败!");
|
|
|
- }
|
|
|
- }, //操作成功后的操作!data是后台传过来的值
|
|
|
- error: function (XMLHttpRequest, textStatus, errorThrown) {
|
|
|
- layer.alert("error:" + errorThrown);
|
|
|
+ $.ajax({
|
|
|
+ type : "post",
|
|
|
+ url : basePath + '/btn/save',
|
|
|
+ dataType : 'json',
|
|
|
+ data : $('#editBtnForm').serialize(), // 表单序列化,获取数据
|
|
|
+ success : function(data) {
|
|
|
+ // 成功删除后刷新页面
|
|
|
+ if (data && data.success == true) {
|
|
|
+ layer.alert("数据已成功保存!");
|
|
|
+ closeBtnWin();
|
|
|
+ menuTree.reAsyncChildNodes(null, "refresh");
|
|
|
+ } else {
|
|
|
+ layer.alert("数据保存失败!");
|
|
|
+ }
|
|
|
+ }, // 操作成功后的操作!data是后台传过来的值
|
|
|
+ error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
+ layer.alert("error:" + errorThrown);
|
|
|
}
|
|
|
- });
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 关闭按钮窗口
|
|
|
*/
|
|
|
function closeBtnWin() {
|
|
|
- hideModelDialog("editBtnWin");
|
|
|
+ hideModelDialog("editBtnWin");
|
|
|
}
|