123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <!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: "org_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: 'org_getAuth?orgGuid=' + guid,
- success: function (data) {
- if (data.code === 0) {
- var menuData = [];
- (function setMenuData(submenu, obj) {//组装tree需要的数据
- for (var i = 0; i < submenu.length; i++) {
- oData.push(submenu[i]);
- //判定是否是父节点 父节点没有checked属性
- let pan = submenu[i].subMenuList && submenu[i].subMenuList.length > 0;
- obj.push({
- id: submenu[i].id,
- label: submenu[i].funName,
- spread: true,
- checked: !pan && submenu[i].isChecked == 1
- });
- if (pan) {
- obj[i].children = [];
- setMenuData(submenu[i].subMenuList, obj[i].children);
- }
- }
- })(data.data, menuData);
- 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>
|