<div class="layui-card"> <div class="layui-card-header"> <h2 class="header-title">èœå•管ç†</h2> <span class="layui-breadcrumb pull-right"> <a href="#!home_console">首页</a> <a><cite>èœå•管ç†</cite></a> </span> </div> <div class="layui-card-body"> <div class="layui-form toolbar"> 所属应用:<select id="menu_clients" lay-filter="menu_clients"></select>  æœç´¢ï¼š<input id="menus-edit-search" class="layui-input search-input" type="text" placeholder="输入关键å—"/>  <button id="menus-btn-search" class="layui-btn icon-btn"><i class="layui-icon"></i>æœç´¢</button> <button id="menus-btn-add" class="layui-btn icon-btn"><i class="layui-icon"></i>æ·»åŠ </button> <button id="menus-btn-expand" class="layui-btn">全部展开</button> <button id="menus-btn-fold" class="layui-btn">全部折å </button> </div> <!-- æ•°æ®è¡¨æ ¼ --> <table class="layui-table" id="menus-table" lay-filter="menus-table"></table> </div> </div> <!-- è¡¨æ ¼æ“作列 --> <script type="text/html" id="menus-state"> <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">修改</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">åˆ é™¤</a> </script> <script> layui.use(['form', 'table', 'util', 'config', 'admin', 'formSelects', 'treetable'],function () { let table = layui.table; let layer = layui.layer; let admin = layui.admin; let treetable = layui.treetable; let config = layui.config; let form = layui.form; // æ¸²æŸ“è¡¨æ ¼ var renderTable = function (param) { if (param) { param.access_token = config.getToken().access_token; } else { param = { access_token: config.getToken().access_token }; } treetable.render({ treeColIndex: 1, treeSpid: -1, treeIdName: 'id', treePidName: 'parentId', elem: '#menus-table', url: config.base_server + 'api-user/menus/findAlls', where: param, page: false, cols: [[ {type: 'numbers'}, {field: 'name', minWidth: 200, title: 'èœå•åç§°'}, {field: 'url', title: 'èœå•url'}, {field: 'path', title: 'èœå•path'}, {field: 'css', align: 'center', title: 'æ ·å¼'}, {field: 'sort', width: 80, align: 'center', title: '排åºå·'}, { field: 'type', width: 80, align: 'center', templet: function (d) { if (d.type === 2) { return '<span class="layui-badge layui-bg-gray">资æº</span>'; } if (d.parentId === -1) { return '<span class="layui-badge layui-bg-blue">目录</span>'; } else { return '<span class="layui-badge-rim">èœå•</span>'; } }, title: '类型' }, {templet: '#menus-state', width: 120, align: 'center', title: 'æ“作'} ]] }); }; renderTable({tenantId: config.clientId}); // 获å–应用列表 layer.load(2); admin.req('api-uaa/clients/all', {}, function (data) { layer.closeAll('loading'); if (0 === data.code) { let selected = false; $.each(data.data,function(index,item){ if (config.clientId === item.clientId) { selected = true; } else { selected = false; } //往下拉èœå•é‡Œæ·»åŠ å…ƒç´ $('#menu_clients').append(new Option(item.clientName, item.clientId, false, selected)); }) form.render(); } else { layer.msg(data.msg, {icon: 2, time: 500}); } }, 'GET'); // 工具æ¡ç‚¹å‡»äº‹ä»¶ table.on('tool(menus-table)', function (obj) { var data = obj.data; var layEvent = obj.event; if (layEvent === 'edit') { // 修改 showEditModel(data); } else if (layEvent === 'del') { layer.confirm('ç¡®å®šåˆ é™¤æ¤èœå•å—?', function () { layer.load(2); let tenantId = $('#menu_clients').val(); admin.req('api-user/menus/'+obj.data.id+'?tenantId='+tenantId, {}, function (data) { layer.closeAll('loading'); if (0 === data.code) { layer.msg(data.msg, {icon: 1, time: 500}); renderTable({tenantId: tenantId}); } else { layer.msg(data.msg, {icon: 2, time: 500}); } }, 'DELETE'); }); } }); // 显示编辑弹窗 var showEditModel = function (data) { let tenantId = $('#menu_clients').val(); let title = data ? '修改èœå•' : 'æ·»åŠ èœå•'; if (data){ data.type = data.type.toString(); data.hidden = data.hidden.toString(); } else { data = {}; } data.tenantId = tenantId; admin.putTempData('t_menus', data); admin.popupCenter({ title: title, path: 'pages/system/menus_form.html', finish: function () { renderTable({tenantId: tenantId}); } }); }; // æ·»åŠ æŒ‰é’®ç‚¹å‡»äº‹ä»¶ $('#menus-btn-add').click(function () { showEditModel(); }); // æœç´¢æŒ‰é’®ç‚¹å‡»äº‹ä»¶ $('#menus-btn-search').click(function () { var keyword = $('#menus-edit-search').val(); var searchCount = 0; $('#menus-table').next('.treeTable').find('.layui-table-body tbody tr td').each(function () { $(this).css('background-color', 'transparent'); var text = $(this).text(); if (keyword !== '' && text.indexOf(keyword) >= 0) { $(this).css('background-color', 'rgba(250,230,160,0.5)'); if (searchCount === 0) { $('.layui-tab-item.layui-show').stop(true); $('.layui-tab-item.layui-show').animate({scrollTop: $(this).offset().top - 150}, 500); } searchCount++; } }); if (keyword !== '' && searchCount === 0) { layer.msg("没有匹é…结果", {icon: 5, time: 500}); } else { treetable.expandAll('#menus-table'); } }); $('#menus-btn-expand').click(function () { treetable.expandAll('#menus-table'); }); $('#menus-btn-fold').click(function () { treetable.foldAll('#menus-table'); }); // åº”ç”¨ä¸‹æ¥æ¡†ç‚¹å‡»äº‹ä»¶ form.on('select(menu_clients)', function(data){ renderTable({tenantId: data.value}); }); }); </script>