<!DOCTYPE html>
<html lang="en" style="background-color: #f2f2f2;">

<head>
	<meta charset="UTF-8">
	<title>功能权限</title>
	<meta name="renderer" content="webkit">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
	<meta name="apple-mobile-web-app-status-bar-style" content="black">
	<meta name="apple-mobile-web-app-capable" content="yes">
	<meta name="format-detection" content="telephone=no">
	<link rel="stylesheet" type="text/css" href="../../layui/css/layui.css" />
	<link rel="stylesheet" type="text/css" href="../../layui/css/eleTree.css" />
	<link rel="stylesheet" type="text/css" href="../../css/common.css" />
	<link rel="stylesheet" type="text/css" href="../../css/systemTree.css" />
	<link rel="stylesheet" type="text/css" href="../../iconfont/iconfont.css" />
	<style>
		.role-forbid {
			margin-left: 15px;
		}

		.role-forbid i {
			font-size: 16px;
			color: red;
			font-weight: bold
		}
	</style>
</head>

<body class="main-container">
	<div class="layui-fluid">
		<div class="layui-row layui-col-space1">
			<div class="layui-col-xs12 layui-col-sm12 layui-col-md7">
				<div class="system layui-card">
					<div class="layui-card-body">
						<div class="eleTree" id="menuTree" lay-filter="menuTree"></div>

					</div>

				</div>

				<div class="layui-form-item layui-layer-btn">
					<div class="layui-input-block">
						<button type="reset" class="layui-btn layui-btn-primary" id="closeWin">取消</button>
						<button class="layui-btn" id="saveData">保存</button>
					</div>
				</div>
			</div>
		</div>
	</div>

	<script type="text/javascript">
		function loadJS(url) {
			document.write("<script src='" + url + "?ver=" + new Date().getTime() + "'><\/script>")
		}
		loadJS("../../layui/layui.js");
		loadJS("../../js/ajaxhook.min.js");
		loadJS("../../js/config.js");
	</script>
	<script>
		layui.config({
			base: "../../js/layuiPlugins/"
		}).use(['form', 'jquery', 'eleTree'], function () {
			var form = layui.form,
				$ = layui.jquery,
				eleTree = layui.eleTree;
			var treeObj, oData = [];
			//保存权限
			$('#saveData').on("click", function (obj) {
				var checkedData = treeObj.getChecked(false, true);//获取已选节点(只取叶子节点,选取半选节点)
				var postData = { guid: guid, menuList: [] };
				for (var j = 0; j < oData.length; j++) {
					oData[j].subMenuList = null;
				}
				for (var i = 0; i < checkedData.length; i++) {
					for (var j = 0; j < oData.length; j++) {
						if (checkedData[i].id == oData[j].id) {
							postData.menuList.push(oData[j]);
							break;
						}
					}
				}
				$.ajax({
					type: 'POST',
					url: "role_saveAuth",
					data: JSON.stringify(postData),
					contentType: 'application/json',
					success: function (res) {
						if (!(res.code - 0)) {
							parent.layer.msg(res.msg, {
								icon: 1
							});
							parent.layer.close(parent.layer.getFrameIndex(window.name));
						} else {
							layer.msg(res.msg, {
								icon: 2
							});
						}
					}
				});
			});
			//关闭窗口
			$("#closeWin").on("click", function () {
				parent.layer.close(parent.layer.getFrameIndex(window.name));
			});
			var guid = location.searchObj().guid;
			$.ajax({
				type: "get",
				url: 'role_getAuth?roleId=' + guid,
				success: function (data) {
					if (data.code === 0) {
						var menuData = [];
						var setMenuData = function (submenu, obj, lev) {//组装tree需要的数据
							for (var i = 0; i < submenu.length; i++) {
								oData.push(submenu[i]);
								obj.push({
									id: submenu[i].id,
									label: submenu[i].funName,
									spread: true,
									checked: submenu[i].isChecked == 1 && lev > 2
								});
								if (submenu[i].subMenuList && submenu[i].subMenuList.length > 0) {
									obj[i].children = [];
									setMenuData(submenu[i].subMenuList, obj[i].children, lev + 1);
								}
							}
						};
						setMenuData(data.data, menuData, 0);
						treeObj = eleTree.render({
							elem: '#menuTree',
							data: menuData,
							showCheckbox: true,
							defaultExpandAll: true,
							expandOnClickNode: false
						});
					} else {
						parent.layer.msg(res.msg, {
							icon: 1
						});
					}
				}
			});
			form.render();
		});
	</script>
</body>

</html>