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.

177 lines
6.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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