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