|
|
var width = -10;
|
|
|
var height = -10;
|
|
|
var zNodes,rMenu;
|
|
|
var menu = {
|
|
|
setting: {
|
|
|
view:{
|
|
|
fontCss : {"font-family": "微软雅黑","color":"blue"}
|
|
|
},
|
|
|
data:{
|
|
|
simpleData: {
|
|
|
enable: true,
|
|
|
idKey: "id",
|
|
|
pIdKey: "parentId",
|
|
|
},
|
|
|
},
|
|
|
callback: { //回调函数
|
|
|
onRightClick: OnRightClick,
|
|
|
onClick: zTreeOnClick
|
|
|
}
|
|
|
},
|
|
|
loadMenuTree:function(){
|
|
|
$.ajax({
|
|
|
type: "get",
|
|
|
url:path+"/menuPower/getDictPowerTree",
|
|
|
dataType:"json",
|
|
|
success:function(data){
|
|
|
$.fn.zTree.init($("#treeDemo"), menu.setting, data);
|
|
|
zTree = $.fn.zTree.getZTreeObj("treeDemo");
|
|
|
var nodes = zTree.getNodes();
|
|
|
rMenu = $("#rMenu");
|
|
|
for (var i = 0; i < nodes.length; i++) { //设置节点展开
|
|
|
zTree.expandNode(nodes[i], true, false, true);
|
|
|
}
|
|
|
zNodes = data;
|
|
|
$('#loadingModal').modal('hide');
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
};
|
|
|
$(function(){
|
|
|
loadTree();
|
|
|
})
|
|
|
function loadTree(){
|
|
|
menu.loadMenuTree();
|
|
|
//初始化模糊搜索方法
|
|
|
fuzzySearch('treeDemo','#key',null,true,menu.setting,zNodes);
|
|
|
}
|
|
|
//tree右键点击事件
|
|
|
function OnRightClick(event, treeId, treeNode) {
|
|
|
if(treeNode != null){
|
|
|
if (!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) {
|
|
|
zTree.cancelSelectedNode();
|
|
|
showRMenu("root", event.clientX-width, event.clientY);
|
|
|
} else if (treeNode && !treeNode.noR) {
|
|
|
zTree.selectNode(treeNode);
|
|
|
showRMenu("node", event.clientX-height, event.clientY,treeNode);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//显示右键菜单
|
|
|
function showRMenu(type, x, y,treeNode) {
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage");
|
|
|
$("#rMenu ul").show();
|
|
|
var level = treeNode.level;
|
|
|
var selfId = treeNode.selfId;
|
|
|
var children = treeNode.children;
|
|
|
if (type=="root") {
|
|
|
$("#m_del").hide();
|
|
|
$("#m_add").hide();
|
|
|
$("#m_reset").hide();
|
|
|
} else {
|
|
|
$("#rMenu").css("height",67);
|
|
|
//删除,只能最后一层或是系统才能删除
|
|
|
if(level != 0 && selfId >= 0 && children == undefined){
|
|
|
$("#m_del").show();
|
|
|
}else{
|
|
|
$("#m_del").hide();
|
|
|
$("#rMenu").css("height",$("#rMenu").height()-17);
|
|
|
}
|
|
|
//添加,系统不能添加
|
|
|
if(level > 1 && selfId >= 0 && children == undefined) {
|
|
|
$("#m_add").hide();
|
|
|
$("#rMenu").css("height",$("#rMenu").height()-17);
|
|
|
}else{
|
|
|
$("#m_add").show();
|
|
|
}
|
|
|
|
|
|
//修改,只有医院或系统才能修改
|
|
|
if(level != 0 && selfId >= 0){
|
|
|
$("#m_reset").show();
|
|
|
}else{
|
|
|
$("#m_reset").hide();
|
|
|
$("#rMenu").css("height",$("#rMenu").height()-17);
|
|
|
}
|
|
|
}
|
|
|
y += document.body.scrollTop;
|
|
|
x += document.body.scrollLeft;
|
|
|
rMenu.css({"top":y+"px", "left":x+"px", "visibility":"visible"});
|
|
|
$("body").bind("mousedown", onBodyMouseDown);
|
|
|
}
|
|
|
//隐藏右键菜单
|
|
|
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();
|
|
|
//树的层级
|
|
|
var node = zTree.getSelectedNodes()[0];
|
|
|
$("#currentTreeId").val(node.selfId);
|
|
|
var treeLevel = node.level;
|
|
|
var selfId = node.selfId;
|
|
|
if(treeLevel > 2 || node.sysType == '权限系统'){
|
|
|
toastr.warning("系统不能再往下添加了!");
|
|
|
}else{
|
|
|
//医院层level为1,只能创建去权限系统
|
|
|
if(treeLevel == 1){
|
|
|
$.ajax({
|
|
|
type: "get",
|
|
|
url: path+"/dict/getHospitalByParentId",
|
|
|
data:{dictId:selfId},
|
|
|
dataType:'json',
|
|
|
success:function(data){
|
|
|
if(data.code == 200){
|
|
|
toastr.warning("只能创建权限系统,已存在权限系统,请选择科室!");
|
|
|
}else{
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage?level="+treeLevel+"&selfId="+selfId+"&operFlag=add")
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}else{
|
|
|
var deptId = '';
|
|
|
if(treeLevel > 0 || selfId < 0){
|
|
|
//科室层,获取父节点selfId
|
|
|
selfId = node.getParentNode().selfId;
|
|
|
deptId = node.selfId;
|
|
|
}
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage?level="+treeLevel+"&selfId="+selfId+"&operFlag=add"+"&deptId="+deptId)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
//删除节点
|
|
|
function removeTreeNode() {
|
|
|
hideRMenu();
|
|
|
var nodes = zTree.getSelectedNodes();
|
|
|
if (nodes && nodes.length>0) {
|
|
|
if (nodes[0].children && nodes[0].children.length > 0) {
|
|
|
var msg = "要删除的节点是父节点,先从子节点删除";
|
|
|
toastr.warning(msg);
|
|
|
} else {
|
|
|
Common.confirm({
|
|
|
title: "提示",
|
|
|
message: "确定是否删除此条记录?",
|
|
|
operate: function (reselt) {
|
|
|
if (reselt) {
|
|
|
var selfId = nodes[0].selfId;
|
|
|
if (selfId != null) {
|
|
|
$.ajax({
|
|
|
type: "post",
|
|
|
url: path + "/dict/delete",
|
|
|
data: {dictId: selfId},
|
|
|
dataType: 'json',
|
|
|
success: function (data) {
|
|
|
if (data.msg == 'success') {
|
|
|
toastr.success("删除成功!");
|
|
|
loadTree();
|
|
|
} else {
|
|
|
toastr.error("删除失败,请联系系统管理员!");
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
} else {
|
|
|
toastr.warning("删除无效!");
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
function checkTreeNode(checked) {
|
|
|
var nodes = zTree.getSelectedNodes();
|
|
|
if (nodes && nodes.length>0) {
|
|
|
zTree.checkNode(nodes[0], checked, true);
|
|
|
}
|
|
|
hideRMenu();
|
|
|
}
|
|
|
//更新节点
|
|
|
function updateTree() {
|
|
|
hideRMenu();
|
|
|
var node = zTree.getSelectedNodes()[0];
|
|
|
$("#currentTreeId").val(node.selfId);
|
|
|
var treeLevel = node.level;
|
|
|
var selfId = node.selfId;
|
|
|
if(treeLevel != 0 && selfId >= 0 || selfId == -100){
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage?level="+treeLevel+"&selfId="+selfId+"&operFlag=edit");
|
|
|
}else{
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage");
|
|
|
toastr.warning("请选中医院或系统!");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function zTreeOnClick(event, treeId, treeNode) {
|
|
|
var treeLevel = treeNode.level;
|
|
|
var selfId = treeNode.selfId;
|
|
|
$("#currentTreeId").val(selfId);
|
|
|
if(treeLevel != 0 && selfId >= 0){
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage?level="+treeLevel+"&selfId="+selfId+"&operFlag=edit");
|
|
|
}else{
|
|
|
$("#iframe").prop("src",path+"/dict/dictManagePage");
|
|
|
toastr.warning("请选中医院或系统!");
|
|
|
}
|
|
|
}
|
|
|
//左侧树全部展开
|
|
|
function expandAll(){
|
|
|
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
|
|
|
treeObj.expandAll(true);
|
|
|
}
|
|
|
//左侧树全部关闭
|
|
|
function collapseAll(){
|
|
|
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
|
|
|
treeObj.expandAll(false);
|
|
|
} |