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