树形构造器修改
This commit is contained in:
@@ -294,6 +294,14 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Yi.Framework.ApiMicroservice.Controllers.RoleController.UpdateStatus(System.Int64,System.Boolean)">
|
||||||
|
<summary>
|
||||||
|
更改角色状态
|
||||||
|
</summary>
|
||||||
|
<param name="roleId"></param>
|
||||||
|
<param name="isDel"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:Yi.Framework.ApiMicroservice.Controllers.TestController">
|
<member name="T:Yi.Framework.ApiMicroservice.Controllers.TestController">
|
||||||
<summary>
|
<summary>
|
||||||
测试控制器
|
测试控制器
|
||||||
|
|||||||
@@ -74,5 +74,18 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
{
|
{
|
||||||
return Result.Success().SetStatus(await _iRoleService.UpdateInfo(roleDto));
|
return Result.Success().SetStatus(await _iRoleService.UpdateInfo(roleDto));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更改角色状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="roleId"></param>
|
||||||
|
/// <param name="isDel"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpPut]
|
||||||
|
public async Task<Result> UpdateStatus(long roleId, bool isDel)
|
||||||
|
{
|
||||||
|
return Result.Success().SetData(await _iRoleService._repository.UpdateIgnoreNullAsync(new RoleEntity() { Id = roleId, IsDeleted = isDel }));
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -190,9 +190,9 @@ namespace Yi.Framework.ApiMicroservice.Controllers
|
|||||||
{
|
{
|
||||||
List<VueRouterModel> vueRouterModels = new()
|
List<VueRouterModel> vueRouterModels = new()
|
||||||
{
|
{
|
||||||
new VueRouterModel { Id = 1, Sort = 1, ParentId = 0, Name = "001" },
|
new VueRouterModel { Id = 1, OrderNum = 1, ParentId = 0, Name = "001" },
|
||||||
new VueRouterModel { Id = 2, Sort = 1, ParentId = 1, Name = "001001" },
|
new VueRouterModel { Id = 2, OrderNum = 1, ParentId = 1, Name = "001001" },
|
||||||
new VueRouterModel { Id = 3, Sort = 1, ParentId = 1, Name = "001002" }
|
new VueRouterModel { Id = 3, OrderNum = 1, ParentId = 1, Name = "001002" }
|
||||||
};
|
};
|
||||||
var treeData = Common.Helper.TreeHelper.SetTree(vueRouterModels);
|
var treeData = Common.Helper.TreeHelper.SetTree(vueRouterModels);
|
||||||
return Result.Success().SetData(treeData);
|
return Result.Success().SetData(treeData);
|
||||||
|
|||||||
Binary file not shown.
@@ -9,7 +9,7 @@ namespace Yi.Framework.Common.Helper
|
|||||||
{
|
{
|
||||||
public static class TreeHelper
|
public static class TreeHelper
|
||||||
{
|
{
|
||||||
public static IList<T> SetTree<T>(IList<T> list, Action<T> action = null)
|
public static List<T> SetTree<T>(List<T> list, Action<T> action = null)
|
||||||
{
|
{
|
||||||
if (list != null && list.Count > 0)
|
if (list != null && list.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -30,7 +30,7 @@ namespace Yi.Framework.Common.Helper
|
|||||||
SetTreeChildren(list, children, model, action);
|
SetTreeChildren(list, children, model, action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result.OrderBy(m => (m as ITreeModel<T>).Sort).ToList();
|
return result.OrderBy(m => (m as ITreeModel<T>).OrderNum).ToList();
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -52,7 +52,7 @@ namespace Yi.Framework.Common.Helper
|
|||||||
SetTreeChildren(list, _children, item, action);
|
SetTreeChildren(list, _children, item, action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mm.Children = mm.Children.OrderBy(m => (m as ITreeModel<T>).Sort).ToList();
|
mm.Children = mm.Children.OrderBy(m => (m as ITreeModel<T>).OrderNum).ToList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,10 +8,10 @@ namespace Yi.Framework.Common.Models
|
|||||||
{
|
{
|
||||||
public interface ITreeModel<T>
|
public interface ITreeModel<T>
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public long Id { get; set; }
|
||||||
public int ParentId { get; set; }
|
public long ParentId { get; set; }
|
||||||
public int Sort { get; set; }
|
public int OrderNum { get; set; }
|
||||||
|
|
||||||
public IList<T> Children { get; set; }
|
public List<T> Children { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,9 @@ namespace Yi.Framework.Common.Models
|
|||||||
{
|
{
|
||||||
public class VueRouterModel : ITreeModel<VueRouterModel>
|
public class VueRouterModel : ITreeModel<VueRouterModel>
|
||||||
{
|
{
|
||||||
public int Id { get; set; }
|
public long Id { get; set; }
|
||||||
public int ParentId { get; set; }
|
public long ParentId { get; set; }
|
||||||
public int Sort { get; set; }
|
public int OrderNum { get; set; }
|
||||||
|
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
public string Path { get; set; }
|
public string Path { get; set; }
|
||||||
@@ -19,7 +19,7 @@ namespace Yi.Framework.Common.Models
|
|||||||
public string Component { get; set; }
|
public string Component { get; set; }
|
||||||
public bool AlwaysShow { get; set; }
|
public bool AlwaysShow { get; set; }
|
||||||
public Meta Meta { get; set; }
|
public Meta Meta { get; set; }
|
||||||
public IList<VueRouterModel> Children { get; set; }
|
public List<VueRouterModel> Children { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ namespace Yi.Framework.Model.Models
|
|||||||
{
|
{
|
||||||
public RoleEntity()
|
public RoleEntity()
|
||||||
{
|
{
|
||||||
this.IsDeleted = false;
|
//this.IsDeleted = false;
|
||||||
this.CreateTime = DateTime.Now;
|
this.CreateTime = DateTime.Now;
|
||||||
}
|
}
|
||||||
[JsonConverter(typeof(ValueToStringConverter))]
|
[JsonConverter(typeof(ValueToStringConverter))]
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ namespace Yi.Framework.Model.Models
|
|||||||
{
|
{
|
||||||
public UserEntity()
|
public UserEntity()
|
||||||
{
|
{
|
||||||
this.IsDeleted = false;
|
|
||||||
this.CreateTime = DateTime.Now;
|
this.CreateTime = DateTime.Now;
|
||||||
}
|
}
|
||||||
[JsonConverter(typeof(ValueToStringConverter))]
|
[JsonConverter(typeof(ValueToStringConverter))]
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ namespace Yi.Framework.Service
|
|||||||
.WhereIF(!string.IsNullOrEmpty(role.RoleName), u => u.RoleName.Contains(role.RoleName))
|
.WhereIF(!string.IsNullOrEmpty(role.RoleName), u => u.RoleName.Contains(role.RoleName))
|
||||||
.WhereIF(!string.IsNullOrEmpty(role.RoleCode), u => u.RoleCode.Contains(role.RoleCode))
|
.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)
|
.WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
|
||||||
.Where(u => u.IsDeleted == role.IsDeleted)
|
.WhereIF(role.IsDeleted.IsNotNull(), u => u.IsDeleted == role.IsDeleted)
|
||||||
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
||||||
.ToPageListAsync(page.PageNum, page.PageSize, total);
|
.ToPageListAsync(page.PageNum, page.PageSize, total);
|
||||||
|
|
||||||
|
|||||||
@@ -132,10 +132,10 @@ namespace Yi.Framework.Service
|
|||||||
if (!string.IsNullOrEmpty(menu.PermissionCode))
|
if (!string.IsNullOrEmpty(menu.PermissionCode))
|
||||||
{
|
{
|
||||||
userRoleMenu.PermissionCodes.Add(menu.PermissionCode);
|
userRoleMenu.PermissionCodes.Add(menu.PermissionCode);
|
||||||
userRoleMenu.Menus.Add(menu);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userRoleMenu.Menus.Add(menu);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -164,7 +164,7 @@ namespace Yi.Framework.Service
|
|||||||
.WhereIF(!string.IsNullOrEmpty(user.Name), u => u.Name.Contains(user.Name))
|
.WhereIF(!string.IsNullOrEmpty(user.Name), u => u.Name.Contains(user.Name))
|
||||||
.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 == user.IsDeleted)
|
.WhereIF(user.IsDeleted.IsNotNull(),u => u.IsDeleted == user.IsDeleted)
|
||||||
.Includes(u => u.Roles)
|
.Includes(u => u.Roles)
|
||||||
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
.OrderBy(u => u.OrderNum, OrderByType.Desc)
|
||||||
.ToPageListAsync(page.PageNum, page.PageSize, total);
|
.ToPageListAsync(page.PageNum, page.PageSize, total);
|
||||||
@@ -179,8 +179,12 @@ namespace Yi.Framework.Service
|
|||||||
List<VueRouterModel> routers = new();
|
List<VueRouterModel> routers = new();
|
||||||
foreach (var m in menus)
|
foreach (var m in menus)
|
||||||
{
|
{
|
||||||
|
|
||||||
var r = new VueRouterModel();
|
var r = new VueRouterModel();
|
||||||
var routerName = m.Router.Split("/").LastOrDefault();
|
var routerName = m.Router.Split("/").LastOrDefault();
|
||||||
|
r.Id = m.Id;
|
||||||
|
r.ParentId = (long)m.ParentId;
|
||||||
|
|
||||||
//开头大写
|
//开头大写
|
||||||
r.Name = routerName.First().ToString().ToUpper() + routerName.Substring(1);
|
r.Name = routerName.First().ToString().ToUpper() + routerName.Substring(1);
|
||||||
r.Path = m.Router;
|
r.Path = m.Router;
|
||||||
@@ -195,6 +199,9 @@ namespace Yi.Framework.Service
|
|||||||
}
|
}
|
||||||
if (m.MenuType == MenuTypeEnum.Menu.GetHashCode())
|
if (m.MenuType == MenuTypeEnum.Menu.GetHashCode())
|
||||||
{
|
{
|
||||||
|
|
||||||
|
r.Redirect = "noRedirect";
|
||||||
|
r.AlwaysShow = true;
|
||||||
r.Component = m.Component;
|
r.Component = m.Component;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,7 +219,7 @@ namespace Yi.Framework.Service
|
|||||||
|
|
||||||
routers.Add(r);
|
routers.Add(r);
|
||||||
}
|
}
|
||||||
return routers;
|
return Common.Helper.TreeHelper.SetTree(routers) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> UpdateInfo(UserInfoDto userDto)
|
public async Task<bool> UpdateInfo(UserInfoDto userDto)
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import request from '@/utils/request'
|
|||||||
// 获取路由
|
// 获取路由
|
||||||
export const getRouters = () => {
|
export const getRouters = () => {
|
||||||
return request({
|
return request({
|
||||||
url: '/getRouters',
|
url: '/account/GetRouterInfo',
|
||||||
method: 'get'
|
method: 'get'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -47,15 +47,10 @@ export function dataScope(data) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 角色状态修改
|
// 角色状态修改
|
||||||
export function changeRoleStatus(roleId, status) {
|
export function changeRoleStatus(roleId, isDel) {
|
||||||
const data = {
|
|
||||||
roleId,
|
|
||||||
status
|
|
||||||
}
|
|
||||||
return request({
|
return request({
|
||||||
url: '/system/role/changeStatus',
|
url: `/role/updateStatus?roleId=${roleId}&isDel=${isDel}`,
|
||||||
method: 'put',
|
method: 'put'
|
||||||
data: data
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ const usePermissionStore = defineStore(
|
|||||||
generateRoutes(roles) {
|
generateRoutes(roles) {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
// 向后端请求路由数据
|
// 向后端请求路由数据
|
||||||
// getRouters().then(res => {
|
// getRouters().then(response => {
|
||||||
|
// const res=response.data;
|
||||||
const res=[
|
const res=[
|
||||||
{
|
{
|
||||||
"name": "System",
|
"name": "System",
|
||||||
@@ -344,6 +344,7 @@ const res=[
|
|||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
const sdata = JSON.parse(JSON.stringify(res))
|
const sdata = JSON.parse(JSON.stringify(res))
|
||||||
const rdata = JSON.parse(JSON.stringify(res))
|
const rdata = JSON.parse(JSON.stringify(res))
|
||||||
const defaultData = JSON.parse(JSON.stringify(res))
|
const defaultData = JSON.parse(JSON.stringify(res))
|
||||||
@@ -357,7 +358,10 @@ const res=[
|
|||||||
this.setDefaultRoutes(sidebarRoutes)
|
this.setDefaultRoutes(sidebarRoutes)
|
||||||
this.setTopbarRoutes(defaultRoutes)
|
this.setTopbarRoutes(defaultRoutes)
|
||||||
resolve(rewriteRoutes)
|
resolve(rewriteRoutes)
|
||||||
// })
|
|
||||||
|
|
||||||
|
|
||||||
|
// })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,8 +66,8 @@
|
|||||||
|
|
||||||
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="50" align="center" />
|
<el-table-column type="selection" width="50" align="center" />
|
||||||
<el-table-column label="用户账号" align="center" key="userName" prop="userName" v-if="columns[0].visible" />
|
<el-table-column label="用户编号" align="center" key="id" prop="id" v-if="columns[0].visible" />
|
||||||
<el-table-column label="用户名称" align="center" key="name" prop="name" v-if="columns[1].visible"
|
<el-table-column label="用户账号" align="center" key="userName" prop="userName" v-if="columns[1].visible"
|
||||||
:show-overflow-tooltip="true" />
|
:show-overflow-tooltip="true" />
|
||||||
<el-table-column label="用户昵称" align="center" key="nick" prop="nick" v-if="columns[2].visible"
|
<el-table-column label="用户昵称" align="center" key="nick" prop="nick" v-if="columns[2].visible"
|
||||||
:show-overflow-tooltip="true" />
|
:show-overflow-tooltip="true" />
|
||||||
@@ -177,7 +177,7 @@
|
|||||||
<el-form-item label="岗位">
|
<el-form-item label="岗位">
|
||||||
<el-select v-model="form.postIds" multiple placeholder="请选择">
|
<el-select v-model="form.postIds" multiple placeholder="请选择">
|
||||||
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName"
|
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName"
|
||||||
:value="item.postId" :disabled="item.status == 1"></el-option>
|
:value="item.postId" :disabled="item.isDeleted == true"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
|||||||
Reference in New Issue
Block a user