优化系统管理模块的各个页面体验,权限删除添加限制:还在使用的权限组限制删除
This commit is contained in:
parent
6d083d9405
commit
87c526ae38
@ -12,7 +12,6 @@ namespace app\home\controller;
|
|||||||
use app\base\BaseController;
|
use app\base\BaseController;
|
||||||
use backup\Backup;
|
use backup\Backup;
|
||||||
use think\facade\Session;
|
use think\facade\Session;
|
||||||
use think\facade\Db;
|
|
||||||
use think\facade\View;
|
use think\facade\View;
|
||||||
|
|
||||||
class Database extends BaseController
|
class Database extends BaseController
|
||||||
@ -121,7 +120,6 @@ class Database extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//备份文件列表
|
//备份文件列表
|
||||||
public function backuplist()
|
public function backuplist()
|
||||||
{
|
{
|
||||||
@ -192,7 +190,8 @@ class Database extends BaseController
|
|||||||
/**
|
/**
|
||||||
* 删除备份文件
|
* 删除备份文件
|
||||||
*/
|
*/
|
||||||
public function del($time = 0,$lock=0){
|
public function del($time = 0, $lock = 0)
|
||||||
|
{
|
||||||
$db = new Backup();
|
$db = new Backup();
|
||||||
if ($lock == 1) {
|
if ($lock == 1) {
|
||||||
$fileinfo = $db->getFile();
|
$fileinfo = $db->getFile();
|
||||||
@ -212,7 +211,8 @@ class Database extends BaseController
|
|||||||
/**
|
/**
|
||||||
* 下载备份文件
|
* 下载备份文件
|
||||||
*/
|
*/
|
||||||
public function downfile($time = 0,$part=0){
|
public function downfile($time = 0, $part = 0)
|
||||||
|
{
|
||||||
$db = new Backup();
|
$db = new Backup();
|
||||||
add_log('down');
|
add_log('down');
|
||||||
$db->downloadFile((int) $time, $part - 1);
|
$db->downloadFile((int) $time, $part - 1);
|
||||||
|
@ -22,7 +22,7 @@ class Log extends BaseController
|
|||||||
$param = get_params();
|
$param = get_params();
|
||||||
$where = array();
|
$where = array();
|
||||||
if (!empty($param['keywords'])) {
|
if (!empty($param['keywords'])) {
|
||||||
$where[] = ['name|content|param_id', 'like', '%' . $param['keywords'] . '%'];
|
$where[] = ['name|content|param_id|uid', 'like', '%' . $param['keywords'] . '%'];
|
||||||
}
|
}
|
||||||
if (!empty($param['action'])) {
|
if (!empty($param['action'])) {
|
||||||
$where[] = ['action','=',$param['action']];
|
$where[] = ['action','=',$param['action']];
|
||||||
|
@ -89,15 +89,23 @@ class Role extends BaseController
|
|||||||
//删除
|
//删除
|
||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
|
if (request()->isDelete()) {
|
||||||
$id = get_params("id");
|
$id = get_params("id");
|
||||||
if ($id == 1) {
|
if ($id == 1) {
|
||||||
return to_assign(1, "该组是系统所有者,无法删除");
|
return to_assign(1, "该组是系统所有者,无法删除");
|
||||||
}
|
}
|
||||||
|
$count = Db::name('PositionGroup')->where(["group_id" => $id])->count();
|
||||||
|
if ($count > 0) {
|
||||||
|
return to_assign(1, "该权限组还在使用,请去除使用者关联再删除");
|
||||||
|
}
|
||||||
if (Db::name('AdminGroup')->delete($id) !== false) {
|
if (Db::name('AdminGroup')->delete($id) !== false) {
|
||||||
add_log('delete', $id, []);
|
add_log('delete', $id, []);
|
||||||
return to_assign(0, "删除角色成功");
|
return to_assign(0, "删除权限组成功");
|
||||||
} else {
|
} else {
|
||||||
return to_assign(1, "删除失败");
|
return to_assign(1, "删除失败");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return to_assign(1, "错误的请求");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -83,6 +83,7 @@ class Rule extends BaseController
|
|||||||
//删除
|
//删除
|
||||||
public function delete()
|
public function delete()
|
||||||
{
|
{
|
||||||
|
if (request()->isDelete()) {
|
||||||
$id = get_params("id");
|
$id = get_params("id");
|
||||||
$count = Db::name('AdminRule')->where(["pid" => $id])->count();
|
$count = Db::name('AdminRule')->where(["pid" => $id])->count();
|
||||||
if ($count > 0) {
|
if ($count > 0) {
|
||||||
@ -95,5 +96,8 @@ class Rule extends BaseController
|
|||||||
} else {
|
} else {
|
||||||
return to_assign(1, "删除失败");
|
return to_assign(1, "删除失败");
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
return to_assign(1, "错误的请求");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="reset">清除不完整的备份</a>
|
<a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="reset">清除不完整的备份</a>
|
||||||
{else/}
|
{else/}
|
||||||
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="import">数据还原</a>
|
<a class="layui-btn layui-btn-xs layui-btn-normal" lay-event="import">数据还原</a>
|
||||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">备份删除</a>
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除备份</a>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
@ -29,7 +29,6 @@
|
|||||||
var tableIns = table.render({
|
var tableIns = table.render({
|
||||||
elem: '#log',
|
elem: '#log',
|
||||||
title: '操作日志列表',
|
title: '操作日志列表',
|
||||||
toolbar: '#toolbarDemo',
|
|
||||||
url: "/home/log/index", //数据接口
|
url: "/home/log/index", //数据接口
|
||||||
page: true, //开启分页
|
page: true, //开启分页
|
||||||
limit: 20,
|
limit: 20,
|
||||||
|
@ -1,23 +1,28 @@
|
|||||||
{extend name="../../base/view/common/base" /}
|
{extend name="../../base/view/common/base" /}
|
||||||
{block name="style"}
|
{block name="style"}
|
||||||
<style>
|
<style>
|
||||||
.checkbox16 .layui-form-checkbox span{font-size:15px;font-weight:800;}
|
.left-note{font-weight:800; vertical-align:top; padding-top:28px!important; text-align:center}
|
||||||
#rule .layui-checkbox-disabled span {color: #666666!important;}
|
.left-note .layui-form-checkbox span{background-color: #969696;}
|
||||||
|
.left-note .layui-form-checkbox:hover span{background-color: #808080;}
|
||||||
|
|
||||||
|
.left-note .layui-form-checked span, .left-note .layui-form-checked:hover span { background-color: #5fb878;}
|
||||||
|
.checkbox14 .layui-form-checkbox span{font-size:15px;font-weight:800;}
|
||||||
|
.right-note .layui-checkbox-disabled span {color: #666666!important;}
|
||||||
</style>
|
</style>
|
||||||
{/block}
|
{/block}
|
||||||
<!-- 主体 -->
|
<!-- 主体 -->
|
||||||
{block name="body"}
|
{block name="body"}
|
||||||
|
|
||||||
<form class="layui-form p-4">
|
<form class="layui-form p-4">
|
||||||
<h3 class="pb-3">权限角色</h3>
|
<h3 class="pb-3">权限组</h3>
|
||||||
<table class="layui-table layui-table-form">
|
<table class="layui-table layui-table-form">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="layui-td-gray">角色名称<font>*</font>
|
<td class="layui-td-gray-2">权限组名称<font>*</font>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input type="hidden" name="id" value="{$id}" />
|
<input type="hidden" name="id" value="{$id}" />
|
||||||
<input class="layui-input" type="text" name="title" lay-verify="required" lay-reqText="请输入角色名称" {notempty name="$role.title"
|
<input class="layui-input" type="text" name="title" lay-verify="required" lay-reqText="请输入权限组名称" {notempty name="$role.title"
|
||||||
}value="{$role.title}" {/notempty} placeholder="请输入角色名称" autocomplete="off" />
|
}value="{$role.title}" {/notempty} placeholder="请输入权限组名称" autocomplete="off" />
|
||||||
</td>
|
</td>
|
||||||
<td class="layui-td-gray">状态<font>*</font>
|
<td class="layui-td-gray">状态<font>*</font>
|
||||||
</td>
|
</td>
|
||||||
@ -32,23 +37,26 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="layui-td-gray" style="vertical-align:top">权限配置<font>*</font></td>
|
<td class="layui-td-gray">权限配置说明<font>*</font></td>
|
||||||
<td colspan="3">
|
<td colspan="3"><strong class="red">注意:如果右侧子级权限有节点被勾选了,左侧的顶级权限就必须勾选,否则无法查看右侧的子级菜单。</strong></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td colspan="4">
|
||||||
<table style="width:100%" id="rule">
|
<table style="width:100%" id="rule">
|
||||||
<tr>
|
<tr>
|
||||||
<td style="text-align:left; background-color:#f8f8f8; width:160px;">选择可操作的顶级权限 <font style="color:red">↓</font></td>
|
<td style="text-align:center; background-color:#f8f8f8; width:160px;">选择可操作的顶级权限 <font style="color:red">↓</font></td>
|
||||||
<td style="text-align:left; background-color:#f8f8f8;">选择可操作的子级权限 <font style="color:red">↓</font></td>
|
<td style="text-align:left; background-color:#f8f8f8;">选择可操作的子级权限 <font style="color:red">↓</font></td>
|
||||||
</tr>
|
</tr>
|
||||||
{volist name="role_rule" id="vo"}
|
{volist name="role_rule" id="vo"}
|
||||||
<tr>
|
<tr>
|
||||||
<td style="font-weight:800;">
|
<td class="left-note">
|
||||||
<input type="checkbox" name="rule[]" value="{$vo.id}" title="{$vo.title}" {eq name="$vo.checked" value="true" }checked{/eq}>
|
<input type="checkbox" name="rule[]" value="{$vo.id}" title="{$vo.title}" class="aaa" {eq name="$vo.checked" value="true" }checked{/eq}>
|
||||||
</td>
|
</td>
|
||||||
{notempty name="vo.children"}
|
{notempty name="vo.children"}
|
||||||
<td>
|
<td class="right-note">
|
||||||
<div style="padding:0 0 0 10px;">
|
<div style="padding:0 0 0 10px;">
|
||||||
{volist name="vo.children" key="k" id="voo"}
|
{volist name="vo.children" key="k" id="voo"}
|
||||||
<div class="checkbox16" style="padding:10px 0;">
|
<div class="checkbox15" style="padding:10px 0;">
|
||||||
<input type="checkbox" lay-filter="rule" name="rule[]" value="{$voo.id}" lay-skin="primary" title="{$voo.title}" {eq name="$voo.checked" value="true" }checked{/eq}>
|
<input type="checkbox" lay-filter="rule" name="rule[]" value="{$voo.id}" lay-skin="primary" title="{$voo.title}" {eq name="$voo.checked" value="true" }checked{/eq}>
|
||||||
</div>
|
</div>
|
||||||
{notempty name="voo.children"}
|
{notempty name="voo.children"}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
</script>
|
</script>
|
||||||
<script type="text/html" id="toolbarDemo">
|
<script type="text/html" id="toolbarDemo">
|
||||||
<div class="layui-btn-container">
|
<div class="layui-btn-container">
|
||||||
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="add">+ 添加权限组</button>
|
<button class="layui-btn layui-btn-sm" lay-event="add">+ 添加权限组</button>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
@ -40,7 +40,7 @@
|
|||||||
, { field: 'desc', title: '备注' }
|
, { field: 'desc', title: '备注' }
|
||||||
, { field: 'status', title: '状态', toolbar: '#status', align: 'center', width: 80 }
|
, { field: 'status', title: '状态', toolbar: '#status', align: 'center', width: 80 }
|
||||||
, { width: 100,title: '操作',align: 'center',templet: function (d) {
|
, { width: 100,title: '操作',align: 'center',templet: function (d) {
|
||||||
var html = '<div class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></div>';
|
var html = '<div class="layui-btn-group"><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button></div>';
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -62,15 +62,12 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (obj.event === 'del') {
|
if (obj.event === 'del') {
|
||||||
layer.confirm('确定要删除该权限角色吗?', { icon: 3, title: '提示' }, function (index) {
|
layer.confirm('确定要删除该权限组吗?', { icon: 3, title: '提示' }, function (index) {
|
||||||
let callback = function (e) {
|
let callback = function (e) {
|
||||||
layer.msg(e.msg);
|
layer.msg(e.msg);
|
||||||
if (e.code == 0) {
|
if (e.code == 0) {
|
||||||
layer.msg(res.msg);
|
layer.msg(res.msg);
|
||||||
if (res.code == 0) {
|
|
||||||
obj.del();
|
obj.del();
|
||||||
layer.close(index);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tool.delete("/home/role/delete", { id: obj.data.id }, callback);
|
tool.delete("/home/role/delete", { id: obj.data.id }, callback);
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
{block name="body"}
|
{block name="body"}
|
||||||
<div class="p-3">
|
<div class="p-3">
|
||||||
<div class="gg-form-bar border-t border-x">
|
<div class="gg-form-bar border-t border-x">
|
||||||
<button class="layui-btn layui-btn-normal layui-btn-sm add-menu">+ 添加菜单/节点</button>
|
<button class="layui-btn layui-btn-sm add-menu">+ 添加菜单/节点</button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
|
<table class="layui-hide" id="treeTable" lay-filter="treeTable"></table>
|
||||||
@ -23,7 +23,7 @@
|
|||||||
, elem: '#treeTable'
|
, elem: '#treeTable'
|
||||||
, idField: 'id'
|
, idField: 'id'
|
||||||
, url: "/home/rule/index"
|
, url: "/home/rule/index"
|
||||||
, cellMinWidth: 80
|
, cellMinWidth: 150
|
||||||
, treeId: 'id'//树形id字段名称
|
, treeId: 'id'//树形id字段名称
|
||||||
, treeUpId: 'pid'//树形父id字段名称
|
, treeUpId: 'pid'//树形父id字段名称
|
||||||
, treeShowName: 'title'//以树形式显示的字段
|
, treeShowName: 'title'//以树形式显示的字段
|
||||||
@ -46,7 +46,7 @@
|
|||||||
, {
|
, {
|
||||||
width: 188, title: '操作', align: 'center'
|
width: 188, title: '操作', align: 'center'
|
||||||
, templet: function (d) {
|
, templet: function (d) {
|
||||||
var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="add">添加子菜单/节点</button><button class="layui-btn layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
|
var html = '<span class="layui-btn-group"><button class="layui-btn layui-btn-xs" lay-event="add">添加子菜单/节点</button><button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button><button class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user