You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
7.7 KiB

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="../../../component/ztree/zTreeStyle.css">
<link rel="stylesheet" href="../../../component/pear/css/pear.css" />
<style>
.ztree li span.button.add {
margin-left: 2px;
margin-right: -1px;
background-position: -144px 0;
vertical-align: top;
}
html,
body {
height: 98%;
margin: 0;
padding: 0;
}
.container {
display: flex;
flex-direction: column;
height: 100%;
}
.layui-card {
flex: 1;
}
</style>
</head>
<body class="pear-container">
<div class="container">
<div class="layui-card">
<div class="layui-card-body">
<div class='ztree' id='mytree'></div>
</div>
</div>
</div>
<script src="../../../component/layui/layui.js"></script>
<script src="../../../component/pear/pear.js"></script>
<script src="../../../admin/js/jquery-3.6.0.min.js"></script>
<script src="../../../component/ztree/jquery.ztree.core-3.5.min.js"></script>
<script src="../../../component/ztree/jquery.ztree.exedit-3.5.min.js"></script>
<script>
layui.use(['jquery', 'layer'], function () {
var $ = layui.jquery,
layer = layui.layer;
var org_id = "";//单位id
var setting1 = {
view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom,
selectedMulti: false
},
edit: {
enable: true,
editNameSelectAll: true,
showRemoveBtn: showBtn,
showRenameBtn: showBtn
},
data: {
simpleData: {
enable: true,
idKey: "org_id",
pIdKey: "parent_id",
rootPId: 0
},
view: {
showTitle: true
}
},
callback: {
beforeEditName: beforeEditName,
beforeRemove: beforeRemove,
onRemove: onRemove,
beforeDrag: function () { //禁用拖拽
return false;
}
}
};
window.loadTree = function () {
var loginPersonInfo = getPersonLoginInfo($);
if (loginPersonInfo.identity_id == "4") {
org_id = loginPersonInfo.bureau_id;
} else {
org_id = GetQueryString('org_id');
}
// if (getcookie().identity_id == 4) {//单位管理员
// org_id = getcookie().bureau_id;
// } else {
// org_id = GetQueryString('org_id');
// }
// 加载部门树
$.ajax({
type: "GET",
async: false,
url: '/QingLong/organization/getOrgTreeByBureauId?bureau_id=' + org_id,
dataType: "json",
success: function (data) {
if (data.code == 0) {
for (var i = 0; i < data.data.length; i++) data.data[i].name = data.data[i].org_name;
var zNodes = data.data;
$.fn.zTree.init($("#mytree"), setting1, zNodes);
var treeObj = $.fn.zTree.getZTreeObj("mytree");
treeObj.expandAll(true);
}
}
});
}
$(function () {
loadTree();
})
//增加
function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0)
return;
var addStr = "<span class='button add ' id='addBtn_" + treeNode.tId
+ "' title='增加' onfocus='this.blur();'></span>";
sObj.after(addStr);
var btn = $("#addBtn_" + treeNode.tId);
if (btn)
btn.bind("click", function () {
layer.open({
type: 2,
title: '新增',
shade: 0.1,
area: ['650px', '225px'],
content: './add.html?org_id=' + treeNode.org_id
});
});
}
function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.tId).unbind().remove();
}
function beforeRemove(treeId, treeNode) {
var b_del = false;
if (treeNode.isParent) {
layer.msg('存在子部门,请先删除子部门!', { icon: 2, time: 2000, shade: 0.1 });
} else {
layer.confirm('确定要删除该部门吗?', {
icon: 3,
title: '提示'
}, function () {
onRemove(treeNode.org_id);
})
}
return b_del;
}
function onRemove(id) {
$.ajax({
type: "POST",
async: false,
url: '/QingLong/organization/deleteOrgById',
data: {
org_id: id
},
dataType: "json",
success: function (data) {
if (data.success) {
layer.msg("删除成功!", { icon: 1, time: 1000 });
loadTree();
} else {
layer.msg(data.message, { icon: 1, time: 2000 });
return false;
}
}
});
}
function showBtn(treeId, treeNode) {
if (treeNode.level == 0) {
return false;
} else {
return true;
}
}
// 编辑
function beforeEditName(treeId, treeNode) {
// WeAdminShow('编辑', '../dep/edit.html?org_id=' + treeNode.parent_id + '&dep_id=' + treeNode.org_id, 550, 260);
layer.open({
type: 2,
title: '编辑',
shade: 0.1,
area: ['650px', '225px'],
content: './update.html?org_id=' + treeNode.org_id + '&parent_id=' + treeNode.parent_id
});
}
function GetQueryString(name, istop) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (typeof (istop) != "undefined") r = top.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}
})
</script>
</body>
</html>