ztree:数据字典树,右键菜单
2017-08-28 17:07
183 查看
字段树,右键菜单-数据字典树
<link rel="stylesheet" type="text/css" href="<%=base%>/static/plugins/datatables/dataTables.bootstrap.css">
<link rel="stylesheet" href="<%=base%>/static/ztree/css/zTreeStyle/zTreeStyle.css">
<link rel="stylesheet" href="<%=base%>/static/plugins/contextmenu/jquery.contextMenu.css">
<script type="text/javascript" src="<%=base%>/static/ztree/jquery.ztree.core.min.js"></script>
<script type="text/javascript" src="<%=base%>/static/plugins/contextmenu/jquery.contextMenu.js"></script>
<script type="text/javascript" src="<%=base%>/static/plugins/contextmenu/jquery.ui.position.js"></script>
//获取字典树
var setting = {
view: {
selectedMulti: false,
addDiyDom: addDiyDom 用于在节点上固定显示用户自定义控件
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "parentId",
rootPId: -1
}
},
async: {
type: "get",
enable: true,
url: web_ctx+"/manage/sys/dict/getTypeWithDataList"
},
callback: {
onAsyncSuccess: expandAll,
/*onRightClick: rightClick,*/
onClick: processNodeData
}
};
/*初始化字典树*/
$(document).ready(function(){
$.fn.zTree.init($("#dictTree"), setting);
});
/*展开树*/
function expandAll() {
zTree = $.fn.zTree.getZTreeObj("dictTree");
rMenu = $("#rMenu");
zTree.expandAll(true);
rightClick();
}
function addDiyDom(treeId, treeNode) {
var dom = $("#" + treeNode.tId + "_a");
$(dom).addClass(treeNode.nodetype);//根据节点类型添加不同的样式
}
/*树单击事件*/
function processNodeData(event, treeId, treeNode) {
$("#dataTable").clear();
if(!isNull(treeNode.id)&&treeNode.id!=1){
typeid=treeNode.id;
showdata(typeid);//展示此节点的详细信息
}
}
/*树节点右键事件 在初始化展开树时调用*/
function rightClick() {
$.contextMenu({
selector: 'a.level0',
callback: function(key, options) {
currNode = zTree.getNodeByTId($(this).attr("id").replace("_a", ""));
zTree.selectNode(currNode);
switch(key) {
case 'addTreeNode': addTreeNode(); break ;
}
},
items: {
"addTreeNode":{ name: "新增类型", icon: "add" },
}
});
$.contextMenu({
selector: 'a.level1',
callback: function(key, options) {
currNode = zTree.getNodeByTId($(this).attr("id").replace("_a", ""));
zTree.selectNode(currNode);
switch(key) {
case 'adddata': adddata(); break ;
case 'editTreeNode': editTreeNode(); break ;
case 'delTreeNode': delTreeNode(); break ;
}
},
items: {
"adddata":{ name: "新增数据", icon: "add" },
"editTreeNode":{ name: "编辑类型", icon: "edit" },
"delTreeNode":{ name: "删除类型", icon: "delete" },
}
});
/*if(treeNode.parentId==-1) {
showRMenu("type", event.clientX, event.clientY-50);
} else {
showRMenu("data", event.clientX, event.clientY-50);
}*/
}
/*隐藏右键菜单*/
function hideRMenu() {
if (rMenu) rMenu.css({"visibility": "hidden"});
$("body").unbind("mousedown", onBodyMouseDown);
}
function onBodyMouseDown(event) {
if ( !(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length > 0) ) {
rMenu.css({"visibility" : "hidden"});
}
}
/*增加树节点(新增类型)*/
function addTreeNode() {
hideRMenu();
$("#typeName").text("新增类型");
$("#form1").find("input").val("");
$("#parentId").val(currNode.id);
$("#saveBtn").attr("onclick", "save()");
$("#typeModal").modal("show");
}
/*增加类型数据*/
function adddata() {
hideRMenu();
$("#dataName").text("新增数据");
$("#form2").find("input").val("");
$("#typeid").val(currNode.id);
$("#saveBtn").attr("onclick", "savedata()");
$("#dataModal").modal("show");
}
/*编辑类型*/
function editTreeNode() {
hideRMenu();
$("#typeName").text("编辑类型");
$("#id").val(currNode.id);
$("#name").val(currNode.name);
$("#remark").val(currNode.remark);
$("#saveBtn").attr("onclick", "update()");
$("#typeModal").modal("show");
}
/*删除类型*/
function delTreeNode() {
hideRMenu();
bootstrapConfirm("提示", "将删除本类型和类型下所有数据,确定删除?", 300, function() {
$.ajax({
url: web_ctx+"/manage/sys/dict/delete",
dataType: "json",
data: {"id":currNode.id},
success: function(data) {
if(data.code == 1) {
bootstrapAlert("提示", data.result, 400, function() {
zTree.removeNode(currNode);
datatable.draw();
});
} else {
bootstrapAlert("提示", data.result, 400, null);
}
},
error: function(data) {
bootstrapAlert("提示", "网络错误,请稍后重试!", 400, null);
}
});
}, null);
}
<link rel="stylesheet" type="text/css" href="<%=base%>/static/plugins/datatables/dataTables.bootstrap.css">
<link rel="stylesheet" href="<%=base%>/static/ztree/css/zTreeStyle/zTreeStyle.css">
<link rel="stylesheet" href="<%=base%>/static/plugins/contextmenu/jquery.contextMenu.css">
<script type="text/javascript" src="<%=base%>/static/ztree/jquery.ztree.core.min.js"></script>
<script type="text/javascript" src="<%=base%>/static/plugins/contextmenu/jquery.contextMenu.js"></script>
<script type="text/javascript" src="<%=base%>/static/plugins/contextmenu/jquery.ui.position.js"></script>
//获取字典树
var setting = {
view: {
selectedMulti: false,
addDiyDom: addDiyDom 用于在节点上固定显示用户自定义控件
},
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "parentId",
rootPId: -1
}
},
async: {
type: "get",
enable: true,
url: web_ctx+"/manage/sys/dict/getTypeWithDataList"
},
callback: {
onAsyncSuccess: expandAll,
/*onRightClick: rightClick,*/
onClick: processNodeData
}
};
/*初始化字典树*/
$(document).ready(function(){
$.fn.zTree.init($("#dictTree"), setting);
});
/*展开树*/
function expandAll() {
zTree = $.fn.zTree.getZTreeObj("dictTree");
rMenu = $("#rMenu");
zTree.expandAll(true);
rightClick();
}
function addDiyDom(treeId, treeNode) {
var dom = $("#" + treeNode.tId + "_a");
$(dom).addClass(treeNode.nodetype);//根据节点类型添加不同的样式
}
/*树单击事件*/
function processNodeData(event, treeId, treeNode) {
$("#dataTable").clear();
if(!isNull(treeNode.id)&&treeNode.id!=1){
typeid=treeNode.id;
showdata(typeid);//展示此节点的详细信息
}
}
/*树节点右键事件 在初始化展开树时调用*/
function rightClick() {
$.contextMenu({
selector: 'a.level0',
callback: function(key, options) {
currNode = zTree.getNodeByTId($(this).attr("id").replace("_a", ""));
zTree.selectNode(currNode);
switch(key) {
case 'addTreeNode': addTreeNode(); break ;
}
},
items: {
"addTreeNode":{ name: "新增类型", icon: "add" },
}
});
$.contextMenu({
selector: 'a.level1',
callback: function(key, options) {
currNode = zTree.getNodeByTId($(this).attr("id").replace("_a", ""));
zTree.selectNode(currNode);
switch(key) {
case 'adddata': adddata(); break ;
case 'editTreeNode': editTreeNode(); break ;
case 'delTreeNode': delTreeNode(); break ;
}
},
items: {
"adddata":{ name: "新增数据", icon: "add" },
"editTreeNode":{ name: "编辑类型", icon: "edit" },
"delTreeNode":{ name: "删除类型", icon: "delete" },
}
});
/*if(treeNode.parentId==-1) {
showRMenu("type", event.clientX, event.clientY-50);
} else {
showRMenu("data", event.clientX, event.clientY-50);
}*/
}
/*隐藏右键菜单*/
function hideRMenu() {
if (rMenu) rMenu.css({"visibility": "hidden"});
$("body").unbind("mousedown", onBodyMouseDown);
}
function onBodyMouseDown(event) {
if ( !(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length > 0) ) {
rMenu.css({"visibility" : "hidden"});
}
}
/*增加树节点(新增类型)*/
function addTreeNode() {
hideRMenu();
$("#typeName").text("新增类型");
$("#form1").find("input").val("");
$("#parentId").val(currNode.id);
$("#saveBtn").attr("onclick", "save()");
$("#typeModal").modal("show");
}
/*增加类型数据*/
function adddata() {
hideRMenu();
$("#dataName").text("新增数据");
$("#form2").find("input").val("");
$("#typeid").val(currNode.id);
$("#saveBtn").attr("onclick", "savedata()");
$("#dataModal").modal("show");
}
/*编辑类型*/
function editTreeNode() {
hideRMenu();
$("#typeName").text("编辑类型");
$("#id").val(currNode.id);
$("#name").val(currNode.name);
$("#remark").val(currNode.remark);
$("#saveBtn").attr("onclick", "update()");
$("#typeModal").modal("show");
}
/*删除类型*/
function delTreeNode() {
hideRMenu();
bootstrapConfirm("提示", "将删除本类型和类型下所有数据,确定删除?", 300, function() {
$.ajax({
url: web_ctx+"/manage/sys/dict/delete",
dataType: "json",
data: {"id":currNode.id},
success: function(data) {
if(data.code == 1) {
bootstrapAlert("提示", data.result, 400, function() {
zTree.removeNode(currNode);
datatable.draw();
});
} else {
bootstrapAlert("提示", data.result, 400, null);
}
},
error: function(data) {
bootstrapAlert("提示", "网络错误,请稍后重试!", 400, null);
}
});
}, null);
}
相关文章推荐
- oracle查询和编写数据字典
- [置顶] 无限遍历,python实现在多维嵌套字典、列表、元组的JSON中获取数据
- 查看和撤销权限+存储权限信息的数据字典视图+查看权限+撤销系统权限+撤销对象权限
- 使用正则表达式对xml文件中数据字典进行整理
- ORACLE数据字典的使用
- 列表作为字典的值,向列表添加数据时遇到的BUG
- Oracle常用的数据字典和动态视图
- 数据字典的操作和使用
- 内置数据类型之字典,列表,元祖
- abap数据字典
- 探索数据字典,提高自学习Oracle能力
- Oracle常用数据字典查询语句
- 教学笔记-Oracle常用数据字典
- uchome&nbsp;2.0与活动有关的数据字典
- Oracle 一些常用的数据字典
- mysql中导出数据字典
- 数据库库设计:字典表的设计
- Oracle几个常用的数据字典
- 导出数据字典的SQL语句
- 快速从数据库中直接获取数据字典