Commit 571fde93 by xushihong

新增用户角色和权限角色搜索功能

parent a127b7f2
......@@ -62,7 +62,9 @@ public class PermissionNewController {
public BaseModel list(SysPermissionNew permission) {
BaseModel perPage = null;
SysUser user = TokenUtil.getUser();
if ("admin".equals(user.getUsername())){
if ("admin".equals(user.getUsername()) && permission.getId() == null && permission.getPid() == null && permission.getName() == null){
perPage = permissionService.selectSysPermissionNewPage(permission);
}if(permission.getId() != null || permission.getPid() != null || permission.getName() != null){
perPage = permissionService.selectSysPermissionNewPage(permission);
}else{
permission.setUserId(user.getId());
......
......@@ -65,9 +65,12 @@ public class SysRoleController {
public BaseModel list(SysRole role) {
//获取当前登录用户
SysUser dlUser = TokenUtil.getUser();
if ("admin".equals(dlUser.getUsername())){
if ("admin".equals(dlUser.getUsername()) && role.getRolename() == null && role.getPermissionName() == null){
return sysRoleService.selectSysRolePage(role);
}else{
}if(role.getRolename() != null || role.getPermissionName() != null){
return sysRoleService.selectSysRolePage(role);
}
else{
role.setUserId(dlUser.getId());
return sysRoleService.selectSysRolePage(role);
}
......
......@@ -34,6 +34,9 @@
<include refid="Base_Column_List" />
from sys_permission_new
where SCBZ='0'
<if test="id != null"> and id = #{id,jdbcType=VARCHAR}</if>
<if test="name != null"> and name like '%'||#{name,jdbcType=VARCHAR}||'%'</if>
<if test="pid != null"> and pid like '%'||#{pid,jdbcType=VARCHAR}||'%'</if>
) t where ROWNUM <![CDATA[<=]]>
${limit*page}
) where rn > ${(page-1)*limit}
......
......@@ -37,10 +37,12 @@
from sys_user_role a,sys_role b
where b.SCBZ='0'
AND A.USER_ID=#{userId,jdbcType=VARCHAR} and A.ROLE_ID=b.id
<if test="rolename != null"> and b.ROLENAME like '%'||#{rolename,jdbcType=VARCHAR}||'%'</if>
</if>
<if test="userId == null" >
from sys_role b
where b.SCBZ='0'
<if test="rolename != null"> and b.ROLENAME like '%'||#{rolename,jdbcType=VARCHAR}||'%'</if>
</if>
) t where ROWNUM <![CDATA[<=]]>
${limit*page}
......@@ -239,6 +241,18 @@
where ROLEID=#{id,jdbcType=VARCHAR})
</select>
<!--根据角色id查询角色所拥有的权限名(暂时用权限描述代替)-->
<select id="selectPermissionBySysRoleIdPermissionName" resultType="com.xzxtshiro.pojo.SysPermissionNew">
select id,name from sys_permission_new a where id in (SELECT
permissionid description
FROM
sys_role_permission
where ROLEID=#{id,jdbcType=VARCHAR})
<if test="permissionName !=null"> and a.name like '%'||#{permissionName, jdbcType=VARCHAR}||'%'</if>
</select>
<delete id="delectPermissionByRoleId">
DELETE
FROM
......
......@@ -41,8 +41,34 @@ public class SysRoleServiceImpl implements SysRoleService{
}
}
role1.setPermissionName(permission.toString());
}
Integer count = sysRoleDao.selectSysRoleCountByCondition(SysRole);
//过滤permissmionName查询
if(SysRole.getPermissionName() != null){
for(int i = 0; i < count; i ++){
Iterator<SysRole> it = data.iterator();
while(it.hasNext()){
SysRole role = it.next();
if(role.getPermissionName() == null){
role.setPermissionName("1");
}
Integer test = role.getPermissionName().indexOf(SysRole.getPermissionName());
System.out.println(test);
if(role.getPermissionName().indexOf(SysRole.getPermissionName()) != -1){
}else{
data.remove(role);
break;
}
}
}
}
BaseModel rolePage = new BaseModel();
rolePage.setCount(count);
rolePage.setData(data);
......
......@@ -29,26 +29,42 @@
<i class="fa fa-refresh line-size"></i></a>
</div>
</div>
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12 searchDiv">
<div class="layui-form-mid">
<label class="layui-form-label">权限ID</label>
<div class="layui-input-inline">
<input type="text" name="id" id="id" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-mid">
<label class="layui-form-label">权限名称</label>
<div class="layui-input-block">
<input type="text" name="name" id="name" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-mid">
<label class="layui-form-label">父级权限</label>
<div class="layui-input-block">
<input type="text" name="pid" id="pid" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-item" style="display: inline-block;width:100%;text-align: center;">
<div class="layui-form-item demoTable">
<button class="layui-btn layui-btn-normal queryUserList" data-type="reload" style="margin-left: 20px;">查询</button>
<button class="layui-btn layui-btn-normal" style="margin-left: 20px;" onclick="reset();">清空</button>
<a class="layui-btn layui-btn-normal" role="button"
style="margin-right: 10px;float: right" href="${pageContext.request.contextPath}/admin/permission/add">添加权限</a>
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12">
<table class="layui-table"
lay-data="{height: 'full-110',even: true,url:'${pageContext.request.contextPath}/admin/permission/list',limits:[10,30,50,100], limit: 10,page:true,id:'id'}"
style="margin-right: 20px;" href="${pageContext.request.contextPath}/admin/permission/add">添加权限</a>
</div>
</div>
<table class="layui-table" id="userTable"
lay-filter="user">
<thead>
<tr>
<th lay-data="{field:'rn',align:'center', width:60, sort: true}">序号</th>
<th lay-data="{field:'id',align:'center', width:100}">权限ID</th>
<th lay-data="{field:'name',align:'center', width:150, sort: true}">权限名称</th>
<%--<th lay-data="{field:'permission', align:'center',width:150, sort: true}">权限代码</th>--%>
<th lay-data="{field:'url', align:'center',width:200, sort: true}">权限URL</th>
<th lay-data="{field:'pid', align:'center',width:100, sort: true}">父级权限ID</th>
<th lay-data="{width:200, align:'center', toolbar: '#toolBar'}">操作</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script type="text/html" id="toolBar">
<a class="color1 lineheight28" lay-event="update">修改</a>
......@@ -135,6 +151,67 @@
}
});
</script>
<script>
layui.use('table', function(){
var table = layui.table;
//方法级渲染
table.render({
id:"id",
elem: '#userTable',
limit: 50 ,//默认采用10
url: '${pageContext.request.contextPath}/admin/permission/list',
cols: [[
{field:'rn',title:'序号',align:'center', width:60},
{field:'id',title:'权限ID', align:'center', width:100, sort: true},
{field:'name',title:'权限名称', align:'center',width:150, sort: true},
{field:'url',title:'权限URL', align:'center',width:200, sort: true},
{field:'pid',title:'父级权限ID', align:'center',width:100, sort: true},
{width:200, title:'操作',align:'center', toolbar: '#toolBar'}
]],
id: 'testReload',
page: true,
height: 480
});
var $ = layui.$, active = {
reload: function(){
var id = cheNull($('#id').val());
var name = cheNull($('#name').val());
var pid = cheNull($('#pid').val());
table.reload('testReload', {
where: {
id: id,
name: name,
pid: pid
},
page: {
curr: 1 //重新从第 1 页开始
},
done: function(res, curr, count){
this.where={};
}
});
}
};
$('.queryUserList').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
function cheNull(str) {
if (str==""){
return undefined;
}else{
return str;
}
}
</script>
</body>
</html>
\ No newline at end of file
......@@ -29,26 +29,38 @@
<i class="fa fa-refresh line-size"></i></a>
</div>
</div>
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12 searchDiv">
<div class="layui-form-mid">
<label class="layui-form-label">角色名称</label>
<div class="layui-input-inline">
<input type="text" name="rolename" id="rolename" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-mid">
<label class="layui-form-label">拥有权限</label>
<div class="layui-input-block">
<input type="text" name="permissionName" id="permissionName" lay-verify="required"
class="layui-input">
</div>
</div>
<div class="layui-form-item" style="display: inline-block;width:100%;text-align: center;">
<div class="layui-form-item demoTable">
<button class="layui-btn layui-btn-normal queryUserList" data-type="reload" style="margin-left: 20px;">查询</button>
<button class="layui-btn layui-btn-normal" style="margin-left: 20px;" onclick="reset();">清空</button>
<a class="layui-btn layui-btn-normal" role="button"
style="margin-right: 10px;float: right" href="${pageContext.request.contextPath}/admin/role/add">添加角色</a>
<div class="layui-col-xs12 layui-col-sm12 layui-col-md12">
<table class="layui-table"
lay-data="{height: 'full-110',even: true,url:'${pageContext.request.contextPath}/admin/role/list',limits:[10,30,50,100], limit: 10,page:true,id:'id'}"
style="margin-left: 20px;" href="${pageContext.request.contextPath}/admin/role/add">添加角色</a>
</div>
</div>
</div>
</div>
<table class="layui-table" id="userTable"
lay-filter="user">
<thead>
<tr>
<!--<th lay-data="{checkbox:true, fixed: true}"></th>-->
<th lay-data="{field:'rn',align:'center', width:100, sort: true}">序号</th>
<th lay-data="{field:'id',align:'center', width:200, sort: true}">ID</th>
<th lay-data="{field:'rolename',align:'center', width:200, sort: true}">角色名称</th>
<%-- <th lay-data="{field:'sn', align:'center',width:100, sort: true}">角色类型</th>
<th lay-data="{field:'permission', align:'center',width:300, sort: true,templet: '#permissionTpl'}">拥有权限</th>--%>
<th lay-data="{field:'permissionName', align:'center',width:400, sort: true}">拥有权限</th>
<th lay-data="{width:200, align:'center', toolbar: '#toolBar'}">操作</th>
</tr>
</thead>
</table>
</div>
</div>
</div>
<script type="text/html" id="toolBar">
......@@ -76,6 +88,7 @@
//console.log(elem)
layer.msg(elem.text());
});
//监听工具条
table.on('tool(user)', function (obj) {
var data = obj.data;
......@@ -111,6 +124,69 @@
}
});
</script>
<script>
layui.use('table', function(){
var table = layui.table;
//方法级渲染
table.render({
id:"id",
elem: '#userTable',
limit: 50 ,//默认采用10
url: '${pageContext.request.contextPath}/admin/role/list',
cols: [[
{field:'rn',title:'序号',align:'center', width:100},
{field:'id',title:'ID', align:'center', width:200, sort: true},
{field:'rolename',title:'角色名称', align:'center',width:400, sort: true},
{field:'permissionName',title:'拥有权限', align:'center',width:200, sort: true},
{width:200, title:'操作',align:'center', toolbar: '#toolBar'}
]],
id: 'testReload',
page: true,
// done: function(res, curr, count){
// $("[data-field='id']").css('display','none');
// },
height: 480
});
var $ = layui.$, active = {
reload: function(){
var rolename = cheNull($('#rolename').val());
var permissionName = cheNull($('#permissionName').val());
console.log(rolename);
console.log(permissionName);
table.reload('testReload', {
where: {
rolename: rolename,
permissionName: permissionName
},
page: {
curr: 1 //重新从第 1 页开始
},
done: function(res, curr, count){
this.where={};
}
});
}
};
$('.queryUserList').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
function cheNull(str) {
if (str==""){
return undefined;
}else{
return str;
}
}
</script>
</body>
</html>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment