Merge pull request '优化代码生成器代码预览时可查看对应菜单种子数据' (#133) from 616036448/Admin.NET.Pro:main into main
Reviewed-on: http://101.43.53.74:3000/Admin.NET/Admin.NET.Pro/pulls/133
This commit is contained in:
commit
6d63f25703
@ -374,7 +374,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
if (string.IsNullOrEmpty(input.GenerateType))
|
||||
input.GenerateType = "200";
|
||||
|
||||
string outputPath = Path.Combine(App.WebHostEnvironment.WebRootPath, "CodeGen", input.TableName!);
|
||||
string outputPath = Path.Combine(App.WebHostEnvironment.WebRootPath, "codeGen", input.TableName!);
|
||||
if (Directory.Exists(outputPath))
|
||||
Directory.Delete(outputPath, true);
|
||||
|
||||
@ -428,22 +428,50 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
};
|
||||
|
||||
// 模板
|
||||
var templateAllList = GetTemplateList(input);
|
||||
var templateList = templateAllList.Where(t => t.Type != CodeGenTypeEnum.SeedData).ToList();
|
||||
var templateList = GetTemplateList(input);
|
||||
var templatePath = Path.Combine(App.WebHostEnvironment.WebRootPath, "template");
|
||||
|
||||
// 获得菜单
|
||||
var menuList = await GetMenus(input.TableName!, input.BusName!, input.MenuPid ?? 0, input.MenuIcon!, input.PagePath!, tableFieldList);
|
||||
|
||||
for (var i = 0; i < templateList.Count; i++)
|
||||
{
|
||||
string tResult = string.Empty;//模板生成结果
|
||||
|
||||
var templateFilePath = Path.Combine(templatePath, templateList[i].Name);
|
||||
if (!File.Exists(templateFilePath)) continue;
|
||||
var tContent = File.ReadAllText(templateFilePath);
|
||||
var tResult = await _viewEngine.RunCompileFromCachedAsync(tContent, data, builderAction: builder =>
|
||||
|
||||
if (templateList[i].Type == CodeGenTypeEnum.SeedData)
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
//种子模板
|
||||
var seedData = new
|
||||
{
|
||||
AuthorName = input.AuthorName!,//作者
|
||||
BusName = input.BusName!,//业务名称
|
||||
NameSpace = input.NameSpace!,//命名空间
|
||||
ClassName = input.TableName!,//类名称
|
||||
input.ConfigId,
|
||||
MenuList = menuList,//菜单集合
|
||||
};
|
||||
tResult = await _viewEngine.RunCompileAsync(tContent, seedData, builderAction: builder =>
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
tResult = await _viewEngine.RunCompileFromCachedAsync(tContent, data, builderAction: builder =>
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
}
|
||||
|
||||
string targetFile = templateList[i].OutputFile
|
||||
.Replace("{PagePath}", input.PagePath)
|
||||
@ -471,54 +499,8 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
}
|
||||
if (input.GenerateMenu)
|
||||
{
|
||||
var menus = await AddMenu(input.TableName!, input.BusName!, input.MenuPid ?? 0, input.MenuIcon!, input.PagePath!, tableFieldList);
|
||||
|
||||
//获得种子模板
|
||||
var seedDataTemplates = templateAllList.Where(t => t.Type == CodeGenTypeEnum.SeedData).ToList();
|
||||
for (var i = 0; i < seedDataTemplates.Count; i++)
|
||||
{
|
||||
var templateFilePath = Path.Combine(templatePath, seedDataTemplates[i].Name);
|
||||
if (!File.Exists(templateFilePath)) continue;
|
||||
var tContent = File.ReadAllText(templateFilePath);
|
||||
var seedData = new
|
||||
{
|
||||
AuthorName = input.AuthorName!,//作者
|
||||
BusName = input.BusName!,//业务名称
|
||||
NameSpace = input.NameSpace!,//命名空间
|
||||
ClassName = input.TableName!,//类名称
|
||||
input.ConfigId,
|
||||
MenuList = menus,//菜单集合
|
||||
};
|
||||
var tResult = await _viewEngine.RunCompileAsync(tContent, seedData, builderAction: builder =>
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
|
||||
string targetFile = seedDataTemplates[i].OutputFile
|
||||
.Replace("{PagePath}", input.PagePath)
|
||||
.Replace("{TableName}", input.TableName)
|
||||
.Replace("{TableNameLower}", ToFirstLetterLowerCase(input.TableName!));
|
||||
|
||||
string tmpPath;
|
||||
if (!input.GenerateType.StartsWith('1'))
|
||||
{
|
||||
tmpPath = Path.Combine(new DirectoryInfo(App.WebHostEnvironment.ContentRootPath).Parent!.FullName, input.NameSpace);
|
||||
}
|
||||
else
|
||||
{
|
||||
tmpPath = Path.Combine(outputPath, input!.NameSpace!);
|
||||
}
|
||||
|
||||
targetFile = Path.Combine(tmpPath, targetFile);
|
||||
|
||||
var dirPath = new DirectoryInfo(targetFile).Parent!.FullName;
|
||||
if (!Directory.Exists(dirPath))
|
||||
Directory.CreateDirectory(dirPath);
|
||||
File.WriteAllText(targetFile, tResult, Encoding.UTF8);
|
||||
}
|
||||
//添加菜单
|
||||
await AddMenu(menuList, input.MenuPid ?? 0);
|
||||
}
|
||||
|
||||
// 非ZIP压缩返回空
|
||||
@ -531,7 +513,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
if (File.Exists(downloadPath))
|
||||
File.Delete(downloadPath);
|
||||
ZipFile.CreateFromDirectory(outputPath, downloadPath);
|
||||
return new { url = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}/CodeGen/{input.TableName}.zip" };
|
||||
return new { url = $"{App.HttpContext.Request.Scheme}://{App.HttpContext.Request.Host.Value}/codeGen/{input.TableName}.zip" };
|
||||
}
|
||||
}
|
||||
|
||||
@ -592,23 +574,51 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
};
|
||||
|
||||
// 获取模板文件并替换
|
||||
var templateAllList = GetTemplateList(input);
|
||||
var templateList = templateAllList.Where(t => t.Type != CodeGenTypeEnum.SeedData).ToList();
|
||||
var templateList = GetTemplateList(input);
|
||||
var templatePath = Path.Combine(App.WebHostEnvironment.WebRootPath, "template");
|
||||
|
||||
var result = new Dictionary<string, string>();
|
||||
for (var i = 0; i < templateList.Count; i++)
|
||||
{
|
||||
string tResult = string.Empty;//模板生成结果
|
||||
|
||||
var templateFilePath = Path.Combine(templatePath, templateList[i].Name);
|
||||
if (!File.Exists(templateFilePath)) continue;
|
||||
var tContent = File.ReadAllText(templateFilePath);
|
||||
var tResult = await _viewEngine.RunCompileFromCachedAsync(tContent, data, builderAction: builder =>
|
||||
|
||||
if (templateList[i].Type == CodeGenTypeEnum.SeedData)
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
// 种子模板
|
||||
// 获得菜单
|
||||
var menuList = await GetMenus(input.TableName!, input.BusName!, input.MenuPid ?? 0, input.MenuIcon!, input.PagePath!, tableFieldList);
|
||||
var seedData = new
|
||||
{
|
||||
AuthorName = input.AuthorName!,//作者
|
||||
BusName = input.BusName!,//业务名称
|
||||
NameSpace = input.NameSpace!,//命名空间
|
||||
ClassName = input.TableName!,//类名称
|
||||
input.ConfigId,
|
||||
MenuList = menuList,//菜单集合
|
||||
};
|
||||
tResult = await _viewEngine.RunCompileAsync(tContent, seedData, builderAction: builder =>
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
tResult = await _viewEngine.RunCompileFromCachedAsync(tContent, data, builderAction: builder =>
|
||||
{
|
||||
builder.AddAssemblyReferenceByName("System.Linq");
|
||||
builder.AddAssemblyReferenceByName("System.Collections");
|
||||
builder.AddUsing("System.Collections.Generic");
|
||||
builder.AddUsing("System.Linq");
|
||||
});
|
||||
}
|
||||
|
||||
result.Add(templateList[i].Name?.TrimEnd(".vm")!, tResult);
|
||||
}
|
||||
|
||||
@ -642,29 +652,18 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
/// <summary>
|
||||
/// 增加菜单
|
||||
/// </summary>
|
||||
/// <param name="className"></param>
|
||||
/// <param name="busName"></param>
|
||||
/// <param name="menus"></param>
|
||||
/// <param name="pid"></param>
|
||||
/// <param name="menuIcon"></param>
|
||||
/// <param name="pagePath"></param>
|
||||
/// <param name="tableFieldList"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<List<SysMenu>> AddMenu(string className, string busName, long pid, string menuIcon, string pagePath, List<CodeGenConfig> tableFieldList)
|
||||
private async Task AddMenu(List<SysMenu> menus, long pid)
|
||||
{
|
||||
|
||||
var pPath = string.Empty;
|
||||
// 若 pid=0 为顶级则创建菜单目录
|
||||
if (pid == 0)
|
||||
{
|
||||
// 目录
|
||||
var menuType0 = new SysMenu
|
||||
{
|
||||
Pid = 0,
|
||||
Title = busName + "管理",
|
||||
Type = MenuTypeEnum.Dir,
|
||||
Icon = "robot",
|
||||
Path = "/" + className.ToLower(),
|
||||
Component = "Layout",
|
||||
};
|
||||
// 顶级目录
|
||||
var menuType0 = menus.Where(u => u.Type == MenuTypeEnum.Dir && u.Pid == 0).FirstOrDefault();
|
||||
// 若先前存在则删除本级和下级
|
||||
var menuList0 = await _db.Queryable<SysMenu>().Where(u => u.Title == menuType0.Title && u.Type == menuType0.Type).ToListAsync();
|
||||
if (menuList0.Count > 0)
|
||||
@ -680,25 +679,11 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
await _db.Deleteable<SysMenu>().Where(u => listIds.Contains(u.Id)).ExecuteCommandAsync();
|
||||
await _db.Deleteable<SysRoleMenu>().Where(u => listIds.Contains(u.MenuId)).ExecuteCommandAsync();
|
||||
}
|
||||
pid = (await _db.Insertable(menuType0).ExecuteReturnEntityAsync()).Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
var pMenu = await _db.Queryable<SysMenu>().SingleAsync(u => u.Id == pid) ?? throw Oops.Oh(ErrorCodeEnum.D1505);
|
||||
pPath = pMenu.Path;
|
||||
await _db.Insertable(menuType0).ExecuteReturnEntityAsync();
|
||||
}
|
||||
|
||||
// 菜单
|
||||
var menuType = new SysMenu
|
||||
{
|
||||
Pid = pid,
|
||||
Title = busName + "管理",
|
||||
Name = className[..1].ToLower() + className[1..],
|
||||
Type = MenuTypeEnum.Menu,
|
||||
Icon = menuIcon,
|
||||
Path = pPath + "/" + className.ToLower(),
|
||||
Component = "/" + pagePath + "/" + className[..1].ToLower() + className[1..] + "/index",
|
||||
};
|
||||
var menuType = menus.Where(u => u.Type == MenuTypeEnum.Menu).FirstOrDefault();
|
||||
// 若先前存在则删除本级和下级
|
||||
var menuListCurrent = await _db.Queryable<SysMenu>().Where(u => u.Title == menuType.Title && u.Type == menuType.Type).ToListAsync();
|
||||
if (menuListCurrent.Count > 0)
|
||||
@ -714,94 +699,168 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
await _db.Deleteable<SysMenu>().Where(u => listIds.Contains(u.Id)).ExecuteCommandAsync();
|
||||
await _db.Deleteable<SysRoleMenu>().Where(u => listIds.Contains(u.MenuId)).ExecuteCommandAsync();
|
||||
}
|
||||
await _db.Insertable(menus).ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
var menuPid = (await _db.Insertable(menuType).ExecuteReturnEntityAsync()).Id;
|
||||
|
||||
/// <summary>
|
||||
/// 获得菜单列表
|
||||
/// </summary>
|
||||
/// <param name="className"></param>
|
||||
/// <param name="busName"></param>
|
||||
/// <param name="pid"></param>
|
||||
/// <param name="menuIcon"></param>
|
||||
/// <param name="pagePath"></param>
|
||||
/// <param name="tableFieldList"></param>
|
||||
/// <returns></returns>
|
||||
private async Task<List<SysMenu>> GetMenus(string className, string busName, long pid, string menuIcon, string pagePath, List<CodeGenConfig> tableFieldList)
|
||||
{
|
||||
var pPath = string.Empty;
|
||||
// 若 pid=0 为顶级则创建菜单目录
|
||||
SysMenu menuType0 = null;
|
||||
long tempPid = pid;//暂存原始pid
|
||||
if (pid == 0)
|
||||
{
|
||||
// 目录
|
||||
menuType0 = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = 0,
|
||||
Title = busName + "管理",
|
||||
Type = MenuTypeEnum.Dir,
|
||||
Icon = "robot",
|
||||
Path = "/" + className.ToLower() + "/dir",
|
||||
Name = className[..1].ToLower() + className[1..] + "Dir",
|
||||
Component = "Layout",
|
||||
OrderNo = 100,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
pid = menuType0.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
var pMenu = await _db.Queryable<SysMenu>().FirstAsync(u => u.Id == pid) ?? throw Oops.Oh(ErrorCodeEnum.D1505);
|
||||
pPath = pMenu.Path;
|
||||
}
|
||||
|
||||
// 菜单
|
||||
var menuType = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = pid,
|
||||
Title = busName + "管理",
|
||||
Name = className[..1].ToLower() + className[1..],
|
||||
Type = MenuTypeEnum.Menu,
|
||||
Icon = menuIcon,
|
||||
Path = pPath + "/" + className.ToLower(),
|
||||
Component = "/" + pagePath + "/" + className[..1].ToLower() + className[1..] + "/index",
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
|
||||
|
||||
var menuPid = menuType.Id;
|
||||
int menuOrder = 100;
|
||||
// 按钮-page
|
||||
var menuTypePage = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "查询",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/page",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-detail
|
||||
var menuTypeDetail = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "详情",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/detail",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-add
|
||||
var menuTypeAdd = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "增加",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/add",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-delete
|
||||
var menuTypeDelete = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "删除",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/delete",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-update
|
||||
var menuTypeUpdate = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "编辑",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/update",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-print
|
||||
var menuTypePrint = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "打印",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/print",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-import
|
||||
var menuTypeImport = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "导入",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/import",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
// 按钮-export
|
||||
var menuTypeExport = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "导出",
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/export",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
@ -813,11 +872,13 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
{
|
||||
var menuType1 = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "外键" + @column.ColumnName,
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/" + column.FkEntityName + column.ColumnName + "Dropdown",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuType1);
|
||||
@ -827,11 +888,13 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
{
|
||||
var menuType1 = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "树型" + @column.ColumnName,
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/" + column.FkEntityName + "Tree",
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuType1);
|
||||
@ -841,17 +904,23 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
{
|
||||
var menuType1 = new SysMenu
|
||||
{
|
||||
Id = YitIdHelper.NextId(),
|
||||
Pid = menuPid,
|
||||
Title = "上传" + @column.ColumnName,
|
||||
Type = MenuTypeEnum.Btn,
|
||||
Permission = className[..1].ToLower() + className[1..] + "/Upload" + column.ColumnName,
|
||||
OrderNo = menuOrder
|
||||
OrderNo = menuOrder,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuType1);
|
||||
}
|
||||
await _db.Insertable(menuList).ExecuteCommandAsync();
|
||||
menuList.Insert(0, menuType);
|
||||
if (tempPid == 0)
|
||||
{
|
||||
//顶级目录需要添加目录本身
|
||||
menuList.Insert(0, menuType0);
|
||||
}
|
||||
return menuList;
|
||||
}
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ namespace @(@Model.NameSpace).SeedData;
|
||||
/// <summary>
|
||||
/// @(@Model.BusName)系统菜单表种子数据
|
||||
/// </summary>
|
||||
[IncreSeed]
|
||||
public class @(@Model.ClassName)SeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
{
|
||||
/// <summary>
|
||||
@ -23,6 +24,9 @@ public class @(@Model.ClassName)SeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
|
||||
#region @(@Model.BusName)
|
||||
@foreach (var menu in Model.MenuList){
|
||||
@if((int)menu.Type==1){
|
||||
@:list.Add(new SysMenu { Id = @(menu.Id), Pid = @(menu.Pid), Title = "@(menu.Title)", Path = "@(menu.Path)", Name = "@(menu.Name)", Component = "Layout", Icon = "@(menu.Icon)", Type = MenuTypeEnum.Dir, CreateTime = DateTime.Parse("@(menu.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"))"), OrderNo = @(menu.OrderNo) });
|
||||
}
|
||||
@if((int)menu.Type==2){
|
||||
@:list.Add(new SysMenu { Id = @(menu.Id), Pid = @(menu.Pid), Title = "@(menu.Title)", Path = "@(menu.Path)", Name = "@(menu.Name)", Component = "@(menu.Component)", Icon = "@(menu.Icon)", Type = MenuTypeEnum.Menu, CreateTime = DateTime.Parse("@(menu.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"))"), OrderNo = @(menu.OrderNo) });
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user