dlh_test_server/app/admin/view/auth/lists.html
2024-08-03 10:04:14 +08:00

272 lines
11 KiB
HTML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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