用户角色菜单数据对应
This commit is contained in:
@@ -141,6 +141,13 @@
|
||||
菜单管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetList(Yi.Framework.Model.Models.MenuEntity)">
|
||||
<summary>
|
||||
动态条件查询全部
|
||||
</summary>
|
||||
<param name="menu"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.MenuController.GetMenuTree">
|
||||
<summary>
|
||||
得到树形菜单
|
||||
@@ -152,6 +159,12 @@
|
||||
角色管理
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.PageList(Yi.Framework.Model.Models.RoleEntity,Yi.Framework.Common.Models.PageParModel)">
|
||||
<summary>
|
||||
动态条件分页查询
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.GiveRoleSetMenu(Yi.Framework.DTOModel.GiveRoleSetMenuDto)">
|
||||
<summary>
|
||||
给多用户设置多角色
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
/// </summary>
|
||||
[ApiController]
|
||||
[Route("api/[controller]/[action]")]
|
||||
public class MenuController
|
||||
public class MenuController
|
||||
{
|
||||
private IMenuService _iMenuService;
|
||||
public MenuController(ILogger<MenuEntity> logger, IMenuService iMenuService)
|
||||
@@ -28,10 +28,16 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
_iMenuService = iMenuService;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 动态条件查询全部
|
||||
/// </summary>
|
||||
/// <param name="menu"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Result> GetList()
|
||||
public async Task<Result> GetList([FromQuery] MenuEntity menu)
|
||||
{
|
||||
return Result.Success().SetData(await _iMenuService._repository.GetListAsync());
|
||||
return Result.Success().SetData(await _iMenuService.SelctGetList(menu));
|
||||
}
|
||||
|
||||
|
||||
@@ -41,8 +47,8 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Result> GetMenuTree()
|
||||
{
|
||||
return Result.Success().SetData(await _iMenuService. GetMenuTreeAsync());
|
||||
{
|
||||
return Result.Success().SetData(await _iMenuService.GetMenuTreeAsync());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,12 +29,17 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
||||
_iRoleService = iRoleService;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 动态条件分页查询
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
public async Task<Result> PageList()
|
||||
public async Task<Result> PageList([FromQuery] RoleEntity role, [FromQuery] PageParModel page)
|
||||
{
|
||||
return Result.Success().SetData(await _iRoleService._repository.GetListAsync());
|
||||
return Result.Success().SetData(await _iRoleService.SelctPageList(role, page));
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 给多用户设置多角色
|
||||
/// </summary>
|
||||
|
||||
Binary file not shown.
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Model.Models;
|
||||
using Yi.Framework.Repository;
|
||||
|
||||
@@ -8,5 +9,6 @@ namespace Yi.Framework.Interface
|
||||
public partial interface IMenuService:IBaseService<MenuEntity>
|
||||
{
|
||||
Task<List<MenuEntity>> GetMenuTreeAsync();
|
||||
Task<List<MenuEntity>> SelctGetList(MenuEntity menu);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Model.Models;
|
||||
using Yi.Framework.Repository;
|
||||
|
||||
@@ -27,5 +28,6 @@ namespace Yi.Framework.Interface
|
||||
/// <param name="menuIds"></param>
|
||||
/// <returns></returns>
|
||||
Task<bool> GiveRoleSetMenu(List<long> roleIds, List<long> menuIds);
|
||||
Task<PageModel<List<RoleEntity>>> SelctPageList(RoleEntity role, PageParModel page);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using SqlSugar;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Model.Models;
|
||||
using Yi.Framework.Repository;
|
||||
@@ -9,11 +10,20 @@ namespace Yi.Framework.Service
|
||||
{
|
||||
public partial class MenuService : BaseService<MenuEntity>, IMenuService
|
||||
{
|
||||
public async Task<List<MenuEntity>> SelctGetList(MenuEntity menu)
|
||||
{
|
||||
var data = await _repository._Db.Queryable<MenuEntity>()
|
||||
.WhereIF(!string.IsNullOrEmpty(menu.MenuName), u => u.MenuName.Contains(menu.MenuName))
|
||||
.Where(u => u.IsDeleted == false)
|
||||
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
||||
.ToListAsync();
|
||||
return data;
|
||||
}
|
||||
public async Task<List<MenuEntity>> GetMenuTreeAsync()
|
||||
{
|
||||
//ParentId 0,代表为根目录,只能存在一个
|
||||
//复杂查询直接使用db代理
|
||||
return await _repository._Db.Queryable<MenuEntity>().Where(u=>u.IsDeleted==false).ToTreeAsync(it=>it.Children,it=>it.ParentId,0);
|
||||
return await _repository._Db.Queryable<MenuEntity>().Where(u => u.IsDeleted == false).ToTreeAsync(it => it.Children, it => it.ParentId, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Yi.Framework.Common.Models;
|
||||
using Yi.Framework.Interface;
|
||||
using Yi.Framework.Model.Models;
|
||||
using Yi.Framework.Repository;
|
||||
@@ -46,5 +48,21 @@ namespace Yi.Framework.Service
|
||||
return await _repository._Db.Queryable<RoleEntity>().Includes(u => u.Menus).InSingleAsync(roleId);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public async Task<PageModel<List<RoleEntity>>> SelctPageList(RoleEntity role, PageParModel page)
|
||||
{
|
||||
RefAsync<int> total = 0;
|
||||
var data = await _repository._Db.Queryable<RoleEntity>()
|
||||
.WhereIF(!string.IsNullOrEmpty(role.RoleName), u => u.RoleName.Contains(role.RoleName))
|
||||
.WhereIF(!string.IsNullOrEmpty(role.RoleCode), u => u.RoleCode.Contains(role.RoleCode))
|
||||
.WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
|
||||
.Where(u => u.IsDeleted == role.IsDeleted)
|
||||
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
||||
.ToPageListAsync(page.PageNum, page.PageSize, total);
|
||||
|
||||
return new PageModel<List<RoleEntity>>(data, total);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace Yi.Framework.Service
|
||||
.WhereIF(!string.IsNullOrEmpty(user.Phone), u => u.Phone.Contains(user.Phone))
|
||||
.WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
|
||||
.Where(u => u.IsDeleted == false)
|
||||
.OrderBy(u => u.OrderNum)
|
||||
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
||||
.ToPageListAsync(page.PageNum, page.PageSize, total);
|
||||
|
||||
return new PageModel<List<UserEntity>>(data, total);
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="菜单状态" clearable>
|
||||
<el-form-item label="状态" prop="isDeleted">
|
||||
<el-select v-model="queryParams.isDeleted" placeholder="菜单状态" clearable>
|
||||
<el-option
|
||||
v-for="dict in sys_normal_disable"
|
||||
:key="dict.value"
|
||||
@@ -63,7 +63,7 @@
|
||||
<el-table-column prop="orderNum" label="排序" width="60"></el-table-column>
|
||||
<el-table-column prop="permissionCode" label="权限标识" :show-overflow-tooltip="true"></el-table-column>
|
||||
<el-table-column prop="router" label="组件路径" :show-overflow-tooltip="true"></el-table-column>
|
||||
<el-table-column prop="isDe" label="状态" width="80">
|
||||
<el-table-column prop="isDeleted" label="状态" width="80">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="sys_normal_disable" :value="scope.row.isDeleted" />
|
||||
</template>
|
||||
@@ -360,7 +360,7 @@ function reset() {
|
||||
isFrame: "1",
|
||||
isCache: "0",
|
||||
visible: "0",
|
||||
status: "0"
|
||||
isDeleted: "0"
|
||||
};
|
||||
proxy.resetForm("menuRef");
|
||||
}
|
||||
|
||||
@@ -10,18 +10,18 @@
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="权限字符" prop="roleKey">
|
||||
<el-form-item label="权限字符" prop="roleCode">
|
||||
<el-input
|
||||
v-model="queryParams.roleKey"
|
||||
v-model="queryParams.roleCode"
|
||||
placeholder="请输入权限字符"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-form-item label="状态" prop="isDeleted">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
v-model="queryParams.isDeleted"
|
||||
placeholder="角色状态"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@@ -96,8 +96,8 @@
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column label="角色编号" prop="roleCode" width="120" />
|
||||
<el-table-column label="角色名称" prop="roleName" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="权限字符" prop="roleKey" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="显示顺序" prop="roleSort" width="100" />
|
||||
<el-table-column label="权限字符" prop="roleCode" :show-overflow-tooltip="true" width="150" />
|
||||
<el-table-column label="显示顺序" prop="orderNum" width="100" />
|
||||
<el-table-column label="状态" align="center" width="100">
|
||||
<template #default="scope">
|
||||
<el-switch
|
||||
@@ -304,13 +304,13 @@ const data = reactive({
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
roleName: undefined,
|
||||
roleKey: undefined,
|
||||
status: undefined
|
||||
roleCode: undefined,
|
||||
isDeleted: undefined
|
||||
},
|
||||
rules: {
|
||||
roleName: [{ required: true, message: "角色名称不能为空", trigger: "blur" }],
|
||||
roleKey: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
|
||||
roleSort: [{ required: true, message: "角色顺序不能为空", trigger: "blur" }]
|
||||
roleCode: [{ required: true, message: "权限字符不能为空", trigger: "blur" }],
|
||||
orderNum: [{ required: true, message: "角色顺序不能为空", trigger: "blur" }]
|
||||
},
|
||||
});
|
||||
|
||||
@@ -320,8 +320,8 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
function getList() {
|
||||
loading.value = true;
|
||||
listRole(proxy.addDateRange(queryParams.value, dateRange.value)).then(response => {
|
||||
roleList.value = response.data;
|
||||
total.value = response.total;
|
||||
roleList.value = response.data.data;
|
||||
total.value = response.data.total;
|
||||
loading.value = false;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user