|
|
<!DOCTYPE html>
|
|
|
<html lang="en">
|
|
|
<head>
|
|
|
<meta charset="UTF-8">
|
|
|
<title>Title</title>
|
|
|
<link rel="stylesheet" href="../../lib/layui/css/layui.css" media="all">
|
|
|
<link rel="stylesheet" href="../../static/css/cyType.css" media="all">
|
|
|
<link rel="stylesheet" href="../../static/css/cyStyle.css" media="all">
|
|
|
<link rel="stylesheet" href="../../static/css/font-awesome.min.css" media="all">
|
|
|
<script src="../../lib/jquery-3.6.0.min.js" type="text/javascript" charset="utf-8"></script>
|
|
|
<link rel="stylesheet" href="../../lib/ztree/zTreeStyle.css">
|
|
|
<!--加载必要的javascript文件-->
|
|
|
<script src="../../lib/layui/layui.js"></script>
|
|
|
<script src="../../lib/jquery-3.6.0.min.js"></script>
|
|
|
<script src="../../lib/ztree/jquery.ztree.core-3.5.min.js"></script>
|
|
|
<script src="../../lib/ztree/jquery.ztree.excheck-3.5.min.js"></script>
|
|
|
<script src="../../lib/persist-min.js"></script>
|
|
|
</head>
|
|
|
|
|
|
<body>
|
|
|
<div class="weadmin-body">
|
|
|
<form class="layui-form">
|
|
|
<div class="layui-form-item">
|
|
|
<div class='pc_selectModel_tree' style="overflow-y: auto">
|
|
|
<div class='ztree' id='mytree'></div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="layui-form-item" align="center">
|
|
|
<button class="layui-btn" lay-filter="save" lay-submit="">确定</button>
|
|
|
</div>
|
|
|
</form>
|
|
|
</div>
|
|
|
</body>
|
|
|
<script>
|
|
|
//获取url传参的办法
|
|
|
window.GetQueryString = function (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;
|
|
|
};
|
|
|
//ztree的配置信息
|
|
|
var setting = {
|
|
|
view: {
|
|
|
dblClickExpand: false,
|
|
|
showLine: true,
|
|
|
selectedMulti: false
|
|
|
},
|
|
|
data: {
|
|
|
simpleData: {
|
|
|
enable: true,
|
|
|
idKey: "id",
|
|
|
pIdKey: "pId",
|
|
|
rootPId: 0
|
|
|
}
|
|
|
},
|
|
|
callback: {
|
|
|
onCheck: function (event, treeId, treeNode) {
|
|
|
//addType(event, treeId, treeNode);
|
|
|
}
|
|
|
},
|
|
|
check: {
|
|
|
enable: true,
|
|
|
/*
|
|
|
setting.check.chkboxType = { "Y" : "s", "N" : "s" };
|
|
|
Y指的是勾选checkbox的时候对父结点或子结点产生的影响
|
|
|
N指的是取消checkbox的时候对父结点或子结点产生的影响
|
|
|
大小写是有区另的。s指子结点,p指父结点
|
|
|
* */
|
|
|
chkboxType: {"Y": "ps", "N": "ps"}
|
|
|
}
|
|
|
};
|
|
|
|
|
|
// 加载树结构
|
|
|
function loadZtree(selectedArray) {
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
url: '/FengHuang/menu/selectAll',
|
|
|
dataType: "json",
|
|
|
success: function (data) {
|
|
|
if (data.code == 0) {
|
|
|
var zNodes = data.data;
|
|
|
//加载选中状态
|
|
|
for (var i = 0; i < data.data.length; i++) {
|
|
|
for (var j = 0; j < selectedArray.length; j++) {
|
|
|
if (zNodes[i].id == selectedArray[j]) {
|
|
|
zNodes[i].checked = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
$.fn.zTree.init($("#mytree"), setting, zNodes);
|
|
|
var treeObj = $.fn.zTree.getZTreeObj("mytree");
|
|
|
treeObj.expandAll(true);
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
|
|
|
layui.extend({
|
|
|
admin: '{/}../../static/js/admin'
|
|
|
});
|
|
|
layui.use(['form', 'jquery', 'admin', 'layer'], function () {
|
|
|
var form = layui.form,
|
|
|
$ = layui.jquery,
|
|
|
admin = layui.admin,
|
|
|
layer = layui.layer;
|
|
|
//注册保存事件
|
|
|
form.on('submit(save)', function (data) {
|
|
|
var zTree = $.fn.zTree.getZTreeObj("mytree");
|
|
|
var nodes = new Array();
|
|
|
if (zTree != null) {
|
|
|
nodes = zTree.getCheckedNodes(true);
|
|
|
var menu_ids = "";
|
|
|
if (nodes.length > 0) {
|
|
|
for (var i = 0; i < nodes.length; i++)
|
|
|
menu_ids += nodes[i].id + ",";
|
|
|
|
|
|
//去掉最后面的逗号
|
|
|
menu_ids = menu_ids.substring(0, menu_ids.length - 1);
|
|
|
}
|
|
|
//哪个职务+分管工作id
|
|
|
var id = GetQueryString("id");
|
|
|
//拼接数据
|
|
|
data = {"id": id,"menu_ids": menu_ids};
|
|
|
//保存
|
|
|
$.ajax({
|
|
|
type: "POST",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/FengHuang/menu/saveMenuByDutyInCharge",
|
|
|
data: data,
|
|
|
success: function (data) {
|
|
|
if (data.success) {
|
|
|
layer.msg("保存成功", {icon: 1, time: 1000, shade: [0.5, '#000', true]}, function () {
|
|
|
var index = parent.layer.getFrameIndex(window.name);
|
|
|
parent.layer.close(index);
|
|
|
});
|
|
|
|
|
|
} else {
|
|
|
layer.alert(data.message, {icon: 0});
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
return false;
|
|
|
});
|
|
|
//实始化加载
|
|
|
$(function () {
|
|
|
//加载树(一会扩展为读取现有哪些菜单节点)
|
|
|
selectedArray = [];
|
|
|
//拼接数据
|
|
|
$.ajax({
|
|
|
type: "GET",
|
|
|
async: false,
|
|
|
dataType: "json",
|
|
|
url: "/FengHuang/menu/selectMenuByDutyInCharge?id="+GetQueryString("id"),
|
|
|
success: function (data) {
|
|
|
if (data.success) {
|
|
|
for (var i = 0; i < data.list.length; i++)
|
|
|
{
|
|
|
selectedArray.push(data.list[i].menu_id);
|
|
|
}
|
|
|
} else {
|
|
|
layer.alert(data.message, {icon: 0});
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
})
|
|
|
loadZtree(selectedArray);
|
|
|
})
|
|
|
});
|
|
|
</script>
|
|
|
</html> |