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
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> |