权限控制:查看角色页面添加显示表格列权限

This commit is contained in:
suncz
2024-05-06 16:17:49 +08:00
parent 7fe7d434f0
commit eec463ac58
3 changed files with 53 additions and 23 deletions

View File

@@ -76,8 +76,10 @@ public class RoleController extends BaseController {
@RequestMapping("/view")
public String view(ModelMap modelMap, Long id) {
modelMap.addAttribute("role", roleService.find(id));
modelMap.addAttribute("authorities", roleService.find(id).getAuthorities());
Role role = roleService.find(id);
modelMap.addAttribute("role", role);
modelMap.addAttribute("authorities", role.getAuthorities());
modelMap.addAttribute("tableColumnControlAuthorityList", role.getTableColumnControlAuthorityList());
modelMap.addAttribute("dataRanges", DataRange.values());
return "/role/view";
}

View File

@@ -12,8 +12,7 @@
padding: 6px 10px !important;
}
.authorities-wrapper .authorities, .table-column-control-authorities-wrapper .authorities
{
.authorities-wrapper .authorities, .table-column-control-authorities-wrapper .authorities {
margin-bottom: 20px;
}

View File

@@ -5,13 +5,13 @@
<form id="addForm" action="role/update.html" returnUrl="role/list.html" enctype="multipart/form-data" method="post">
<div class="appPage addPage">
<style>
.authorities-wrapper {
.authorities-wrapper, .table-column-control-authorities-wrapper {
width: initial !important;
height: auto !important;
padding: 6px 10px !important;
}
.authorities-wrapper .authorities {
.authorities-wrapper .authorities, .table-column-control-authorities-wrapper .authorities {
margin-bottom: 20px;
}
@@ -32,7 +32,8 @@
<div class="tabBody">
<ul class="tagSwitch">
<li tagindex="1" class="tag active">功能权限</li>
<li tagindex="2" class="tag">数据权限</li>
<li tagindex="2" class="tag">表格列权限</li>
<li tagindex="3" class="tag">数据权限</li>
</ul>
<div class="tagContents">
<div tagindex="1" class="submitBody tagContent active">
@@ -54,6 +55,9 @@
<div class="authorities-wrapper"></div>
</div>
<div tagindex="2" class="submitBody tagContent">
<div class="table-column-control-authorities-wrapper"></div>
</div>
<div tagindex="3" class="submitBody tagContent">
<div class="dataRange-wrapper single-checkbox-group" data-name="dataRange">
<th:block th:each="item : ${dataRanges}">
<div class="common-single-checkbox" th:data-name="${item}"
@@ -68,25 +72,50 @@
</form>
<script src="/resources/js/permissionData.js?v=240329"></script>
<script src="/resources/js/tableColumnControlPermissionData.js"></script>
<script th:inline="javascript">
var authorities = [[${authorities}]]
var authorities = [[${authorities}]];
var tableColumnControlAuthorityList = [[${tableColumnControlAuthorityList}]];
</script>
<script>
var $authoritiesWrapper = $(".authorities-wrapper");
for (var i in permissions) {
var permission = permissions[i];
var $authorities = $('<div class="authorities"></div>');
$authorities.append('<span>\n' +
' <a href="javascript:;" class="selectAll">' + permission.entityName + '权限全选</a>\n' +
' </span>');
var $fieldSet = $('<span class="fieldSet"></span>');
for (var j in permission.itemList) {
var item = permission.itemList[j];
var value = permission.entity + ':' + item.value;
var init = authorities.indexOf(value) !== -1;
$fieldSet.append('<span class="common-single-checkbox" data-init="' + init + '" disabled></span><span>' + item.text + '</span>\n')
// var $authoritiesWrapper = $(".authorities-wrapper");
// for (var i in permissions) {
// var permission = permissions[i];
// var $authorities = $('<div class="authorities"></div>');
// $authorities.append('<span>\n' +
// ' <a href="javascript:;" class="selectAll">' + permission.entityName + '权限全选</a>\n' +
// ' </span>');
// var $fieldSet = $('<span class="fieldSet"></span>');
// for (var j in permission.itemList) {
// var item = permission.itemList[j];
// var value = permission.entity + ':' + item.value;
// var init = authorities.indexOf(value) !== -1;
// $fieldSet.append('<span class="common-single-checkbox" data-init="' + init + '" disabled></span><span>' + item.text + '</span>\n')
// }
// $authorities.append($fieldSet.prop('outerHTML'));
// $authoritiesWrapper.append($authorities.prop('outerHTML'));
// }
function authorityWrapperInit($dom, dataName, permissions, authorities) {
for (var i in permissions) {
var permission = permissions[i];
var $authorities = $('<div class="authorities"></div>');
$authorities.append('<span>\n' +
' <a href="javascript:;" class="selectAll">' + permission.entityName + '权限全选</a>\n' +
' </span>');
var $fieldSet = $('<span class="fieldSet"></span>');
for (var j in permission.itemList) {
var item = permission.itemList[j];
var value = permission.entity + ':' + item.value;
var init = authorities && authorities.indexOf(value) !== -1;
$fieldSet.append('<span class="common-single-checkbox" data-name="' + dataName +'" data-init="' + init + '" disabled></span><span>' + item.text + '</span>\n')
}
$authorities.append($fieldSet.prop('outerHTML'));
$dom.append($authorities.prop('outerHTML'));
}
$authorities.append($fieldSet.prop('outerHTML'));
$authoritiesWrapper.append($authorities.prop('outerHTML'));
}
authorityWrapperInit($(".authorities-wrapper"), "authorities", permissions, authorities);
authorityWrapperInit($(".table-column-control-authorities-wrapper"), "tableColumnControlAuthorityList", tableColumnControlPermissions, tableColumnControlAuthorityList);
</script>