272 lines
11 KiB
HTML
272 lines
11 KiB
HTML
|
{layout name="layout1" /}
|
|||
|
<style>
|
|||
|
.layui-table-cell {
|
|||
|
height: auto;
|
|||
|
}
|
|||
|
</style>
|
|||
|
|
|||
|
<div class="wrapper">
|
|||
|
<div class="layui-card">
|
|||
|
<div class="layui-card-body">
|
|||
|
|
|||
|
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
|
|||
|
<div class="layui-form-item">
|
|||
|
<div class="layui-btn-container" style="display: inline-block;">
|
|||
|
<div class="layui-btn-group">
|
|||
|
<button class="layui-btn {$view_theme_color}" id="add">
|
|||
|
添加
|
|||
|
</button>
|
|||
|
<button class="layui-btn {$view_theme_color}" id="expand-all">全部展开
|
|||
|
</button>
|
|||
|
<button class="layui-btn {$view_theme_color}" id="fold-all">全部折叠
|
|||
|
</button>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<table id="menu-lists" class="layui-table" lay-filter="menu-lists"></table>
|
|||
|
<script type="text/html" id="icon">
|
|||
|
<i class="layui-icon {{d.icon}}"></i>
|
|||
|
</script>
|
|||
|
<script type="text/html" id="operation">
|
|||
|
{{# if(d.system == 0){ }}
|
|||
|
<a class="edit layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i
|
|||
|
class="layui-icon layui-icon-edit"></i>修改
|
|||
|
</a>
|
|||
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i
|
|||
|
class="layui-icon layui-icon-delete"></i>删除
|
|||
|
</a>
|
|||
|
{{# } }}
|
|||
|
{{# if(d.system == 1){ }}
|
|||
|
<a class="edit layui-btn layui-btn-disabled layui-btn-xs" lay-event=""><i
|
|||
|
class="layui-icon layui-icon-edit"></i>修改
|
|||
|
</a>
|
|||
|
<a class="layui-btn layui-btn-disabled layui-btn-xs" lay-event=""><i
|
|||
|
class="layui-icon layui-icon-delete"></i>删除
|
|||
|
</a>
|
|||
|
{{# } }}
|
|||
|
</script>
|
|||
|
|
|||
|
<!-- 表格状态列 -->
|
|||
|
<script type="text/html" id="disable">
|
|||
|
{{# if(d.system == 0 && d.type == 1){ }}
|
|||
|
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
|||
|
lay-text="菜单显示|菜单隐藏" {{# if(d.disable==0){ }} checked {{# } }}/>
|
|||
|
{{# } }}
|
|||
|
{{# if(d.system == 1 && d.type == 1){ }}
|
|||
|
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
|||
|
lay-text="权限显示|权限隐藏" disabled checked />
|
|||
|
{{# } }}
|
|||
|
{{# if(d.system == 0 && d.type == 2){ }}
|
|||
|
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
|||
|
lay-text="权限启用|权限禁用" {{# if(d.disable==0){ }} checked {{# } }}/>
|
|||
|
{{# } }}
|
|||
|
{{# if(d.system == 1 && d.type == 2){ }}
|
|||
|
<input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
|
|||
|
lay-text="权限启用|权限禁用" disabled checked />
|
|||
|
{{# } }}
|
|||
|
</script>
|
|||
|
|
|||
|
<div class="page-loading">
|
|||
|
<div class="ball-loader sm">
|
|||
|
<span></span>
|
|||
|
<span></span>
|
|||
|
<span></span>
|
|||
|
<span></span>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script>
|
|||
|
|
|||
|
layui.config({
|
|||
|
version:"{$front_version}",
|
|||
|
base: '/static/lib/'
|
|||
|
}).extend({
|
|||
|
treeTable: 'treetable/treeTable'
|
|||
|
}).use(['form', 'table', 'treeTable'], function () {
|
|||
|
var form = layui.form
|
|||
|
,treeTable = layui.treeTable;
|
|||
|
|
|||
|
// 渲染表格
|
|||
|
var insTb = treeTable.render({
|
|||
|
elem: '#menu-lists',
|
|||
|
tree: {
|
|||
|
iconIndex:0,
|
|||
|
childName:'sub',
|
|||
|
treeColIndex:3,
|
|||
|
getIcon: function (d) {
|
|||
|
return '<i class="ew-tree-icon layui-icon layui-icon-spread-left "></i>';
|
|||
|
}
|
|||
|
},
|
|||
|
cols: [
|
|||
|
{field: 'name', title: '名称',width: 280},
|
|||
|
{field: 'type_str', title: '类型',width: 70},
|
|||
|
{field: '#icon', title: '图标', width: 80,toolbar: '#icon'},
|
|||
|
{field: 'uri', title: '规则',width: 200},
|
|||
|
{field: 'sort', title: '排序', width: 80,event: 'tips',edit:'number'},
|
|||
|
{templet: '#disable', title: '控制', width: 120},
|
|||
|
{align: 'center', toolbar: '#operation', title: '操作', width: 200},
|
|||
|
{field: '', title: '',width: ''},
|
|||
|
],
|
|||
|
reqData: function(data, callback) {
|
|||
|
// 在这里写ajax请求,通过callback方法回调数据
|
|||
|
like.ajax({
|
|||
|
url:'{:url("auth/lists")}',
|
|||
|
type:'get',
|
|||
|
success:function (res) {
|
|||
|
jsonObj = JSON.parse(res.data);
|
|||
|
if(res.code==0) {
|
|||
|
callback(jsonObj);
|
|||
|
} else {
|
|||
|
callback(res.msg);
|
|||
|
}
|
|||
|
}
|
|||
|
})
|
|||
|
},
|
|||
|
style: 'margin-top:0;'
|
|||
|
});
|
|||
|
|
|||
|
|
|||
|
treeTable.on('tool(menu-lists)', function(obj) {
|
|||
|
var menu_id = obj.data.id;
|
|||
|
|
|||
|
if(obj.event === 'del'){
|
|||
|
layer.confirm('确定删除此菜单及其子菜单?', function(index){
|
|||
|
like.ajax({
|
|||
|
url:'{:url("auth/del")}',
|
|||
|
data: {ids:[menu_id]},
|
|||
|
type:"post",
|
|||
|
success:function(res)
|
|||
|
{
|
|||
|
if(res.code == 1) {
|
|||
|
layer.close(index);
|
|||
|
layui.layer.msg(res.msg, {
|
|||
|
offset: '15px'
|
|||
|
, icon: 1
|
|||
|
, time: 1000
|
|||
|
},function(){
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
if(obj.event === 'edit'){
|
|||
|
layer.open({
|
|||
|
type: 2
|
|||
|
,title: '编辑菜单'
|
|||
|
,content: '{:url("auth/edit")}?id='+menu_id
|
|||
|
,area: ['90%', '90%']
|
|||
|
,btn: ['确定', '取消']
|
|||
|
,yes: function(index, layero){
|
|||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
|||
|
,submit = layero.find('iframe').contents().find('#menu-submit');
|
|||
|
iframeWindow.layui.form.on('submit(menu-submit)', function(data){
|
|||
|
var field = data.field;
|
|||
|
like.ajax({
|
|||
|
url:'{:url("auth/edit")}',
|
|||
|
data:field,
|
|||
|
type:"post",
|
|||
|
success:function(res)
|
|||
|
{
|
|||
|
if(res.code == 1) {
|
|||
|
layer.close(index);
|
|||
|
layui.layer.msg(res.msg, {
|
|||
|
offset: '15px'
|
|||
|
, icon: 1
|
|||
|
, time: 1000
|
|||
|
},function(){
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
submit.trigger('click');
|
|||
|
}
|
|||
|
});
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
form.on('switch(switch-disable)',function (obj) {
|
|||
|
var menu_id = obj.elem.attributes['data-id'].nodeValue;
|
|||
|
var disable = 1;
|
|||
|
if(obj.elem.checked){
|
|||
|
disable = 0;
|
|||
|
}
|
|||
|
var data ={disable:disable,id:menu_id};
|
|||
|
like.ajax({
|
|||
|
url:'{:url("auth/status")}',
|
|||
|
data:data,
|
|||
|
type:"post",
|
|||
|
success:function (res) {
|
|||
|
if(res.code == 1) {
|
|||
|
layui.layer.msg(res.msg, {
|
|||
|
offset: '15px'
|
|||
|
, icon: 1
|
|||
|
, time: 1000
|
|||
|
},function(){
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
|
|||
|
$('#add').click(function(){
|
|||
|
layer.open({
|
|||
|
type: 2
|
|||
|
,title: '添加菜单'
|
|||
|
,content: '{:url("auth/add")}'
|
|||
|
,area: ['90%', '90%']
|
|||
|
,btn: ['确定', '取消']
|
|||
|
,yes: function(index, layero) {
|
|||
|
var iframeWindow = window['layui-layer-iframe'+ index]
|
|||
|
,submit = layero.find('iframe').contents().find('#menu-submit');
|
|||
|
iframeWindow.layui.form.on('submit(menu-submit)', function(data) {
|
|||
|
var field = data.field;
|
|||
|
like.ajax({
|
|||
|
url:'{:url("auth/add")}',
|
|||
|
data:field,
|
|||
|
type:"post",
|
|||
|
success:function(res)
|
|||
|
{
|
|||
|
if(res.code == 1) {
|
|||
|
layer.close(index);
|
|||
|
layui.layer.msg(res.msg, {
|
|||
|
offset: '15px'
|
|||
|
, icon: 1
|
|||
|
, time: 1000
|
|||
|
},function(){
|
|||
|
location.reload();
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
submit.trigger('click');
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
|
|||
|
// 全部展开
|
|||
|
$('#expand-all').click(function () {
|
|||
|
insTb.expandAll();
|
|||
|
});
|
|||
|
|
|||
|
// 全部折叠
|
|||
|
$('#fold-all').click(function () {
|
|||
|
insTb.foldAll();
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|