Merge pull request '优化代码生成导入菜单,去掉默认导入没有用的打印、导入、导出、菜单,但是种子数据中生成该菜单,用户自行决定是否导入该菜单' (#190) from 616036448/Admin.NET.Pro:main into main
Reviewed-on: http://101.43.53.74:3000/Admin.NET/Admin.NET.Pro/pulls/190
This commit is contained in:
commit
db3f94ad2b
@ -471,6 +471,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
ClassName = input.TableName!, // 类名称
|
||||
input.ConfigId,
|
||||
MenuList = menuList, // 菜单集合
|
||||
PrintType = input.PrintType!
|
||||
};
|
||||
tResult = await _viewEngine.RunCompileAsync(tContent, seedData, builderAction: builder =>
|
||||
{
|
||||
@ -609,6 +610,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
ClassName = input.TableName!, // 类名称
|
||||
input.ConfigId,
|
||||
MenuList = menuList, // 菜单集合
|
||||
PrintType = input.PrintType!
|
||||
};
|
||||
tResult = await _viewEngine.RunCompileAsync(tContent, seedData, builderAction: builder =>
|
||||
{
|
||||
@ -725,6 +727,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
// 若 pid=0 为顶级则创建菜单目录
|
||||
SysMenu menuType0 = null;
|
||||
long tempPid = pid;
|
||||
List<SysMenu> menuList = new List<SysMenu>();
|
||||
if (pid == 0)
|
||||
{
|
||||
// 目录
|
||||
@ -777,6 +780,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuTypePage);
|
||||
|
||||
// 按钮-detail
|
||||
var menuTypeDetail = new SysMenu
|
||||
@ -790,6 +794,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuTypeDetail);
|
||||
|
||||
// 按钮-add
|
||||
var menuTypeAdd = new SysMenu
|
||||
@ -803,6 +808,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuTypeAdd);
|
||||
|
||||
// 按钮-delete
|
||||
var menuTypeDelete = new SysMenu
|
||||
@ -816,6 +822,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
menuList.Add(menuTypeDelete);
|
||||
|
||||
// 按钮-update
|
||||
var menuTypeUpdate = new SysMenu
|
||||
@ -829,47 +836,8 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
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,
|
||||
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,
|
||||
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,
|
||||
CreateTime = DateTime.Now
|
||||
};
|
||||
menuOrder += 10;
|
||||
|
||||
var menuList = new List<SysMenu>() { menuTypePage, menuTypeDetail, menuTypeAdd, menuTypeDelete, menuTypeUpdate, menuTypePrint, menuTypeImport, menuTypeExport };
|
||||
menuList.Add(menuTypeUpdate);
|
||||
|
||||
// 加入ForeignKey、Upload、ApiTreeSelector 等接口的权限
|
||||
// 在生成表格时,有些字段只是查询时显示,不需要填写(WhetherAddUpdate),所以这些字段没必要生成相应接口
|
||||
var fkTableList = tableFieldList.Where(u => u.EffectType == "ForeignKey" && (u.WhetherAddUpdate == "Y" || u.QueryWhether == "Y")).ToList();
|
||||
|
||||
@ -3,7 +3,13 @@
|
||||
// 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
@{
|
||||
long lastId=0;
|
||||
long pid=0;
|
||||
int zindex=0;
|
||||
int orderNo=0;
|
||||
string createTime="";
|
||||
}
|
||||
|
||||
namespace @(@Model.NameSpace).SeedData;
|
||||
|
||||
@ -24,18 +30,41 @@ public class @(@Model.ClassName)SeedData : ISqlSugarEntitySeedData<SysMenu>
|
||||
|
||||
#region @(@Model.BusName)
|
||||
@foreach (var menu in Model.MenuList){
|
||||
@{
|
||||
zindex=zindex+1;
|
||||
}
|
||||
@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){
|
||||
@{
|
||||
pid=menu.Id;
|
||||
}
|
||||
@: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) });
|
||||
}
|
||||
@if((int)menu.Type==3) {
|
||||
@:list.Add(new SysMenu { Id = @(menu.Id), Pid = @(menu.Pid), Title = "@(menu.Title)", Permission = "@(menu.Permission)", Type = MenuTypeEnum.Btn, CreateTime = DateTime.Parse("@(menu.CreateTime.ToString("yyyy-MM-dd HH:mm:ss"))"), OrderNo = @(menu.OrderNo) });
|
||||
}
|
||||
@if(zindex==Model.MenuList.Count){
|
||||
lastId=menu.Id-18888;
|
||||
orderNo=menu.OrderNo;
|
||||
createTime=menu.CreateTime.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
}
|
||||
}
|
||||
@if(@Model.PrintType != "off"){
|
||||
@:list.Add(new SysMenu { Id = @(lastId+1), Pid = @(pid), Title = "打印", Permission = "@(LowerFirstLetter(@Model.ClassName))/print", Type = MenuTypeEnum.Btn, CreateTime = DateTime.Parse("@(createTime)"), OrderNo = @(orderNo+10) });
|
||||
}
|
||||
// list.Add(new SysMenu { Id = @(lastId+2), Pid = @(pid), Title = "导入", Permission = "@(LowerFirstLetter(@Model.ClassName))/import", Type = MenuTypeEnum.Btn, CreateTime = DateTime.Parse("@(createTime)"), OrderNo = @(orderNo+20) });
|
||||
// list.Add(new SysMenu { Id = @(lastId+3), Pid = @(pid), Title = "导出", Permission = "@(LowerFirstLetter(@Model.ClassName))/export", Type = MenuTypeEnum.Btn, CreateTime = DateTime.Parse("@(createTime)"), OrderNo = @(orderNo+30) });
|
||||
#endregion
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
@{
|
||||
string LowerFirstLetter(string text)
|
||||
{
|
||||
return text.ToString()[..1].ToLower() + text[1..]; // 首字母小写
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user