From 64ce449353c2bf932f93deccf423879417149c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E5=81=9A=E7=A0=81=E5=86=9C?= <599854767@qq.com> Date: Sun, 22 May 2022 13:50:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E7=94=9F?= =?UTF-8?q?=E6=88=90=E9=A2=9D=E5=A4=96=E5=8F=82=E6=95=B0=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8A=A5=E9=94=99=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../System/CodeGeneratorController.cs | 2 +- .../wwwroot/CodeGenTemplate/TplService.txt | 6 +- .../wwwroot/CodeGenTemplate/TplTreeVue.txt | 6 +- .../wwwroot/CodeGenTemplate/v3/TreeVue.txt | 2 +- .../wwwroot/CodeGenTemplate/v3/Vue.txt | 4 +- ZR.CodeGenerator/CodeGenerateTemplate.cs | 296 +++++++++--------- ZR.CodeGenerator/CodeGeneratorTool.cs | 27 +- ZR.Model/System/Dto/GenTableDto.cs | 22 +- ZR.Model/System/Generate/GenTable.cs | 52 +-- ZR.Model/System/Generate/GenTableColumn.cs | 21 +- ZR.Repository/System/GenTableRepository.cs | 3 +- ZR.Service/System/GenTableService.cs | 43 ++- ZR.Vue/src/views/tool/gen/editTable.vue | 4 +- document/admin-mysql.sql | 1 + document/admin-sqlserver.sql | 1 + 15 files changed, 262 insertions(+), 228 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs index c2590d7..20e0a00 100644 --- a/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs +++ b/ZR.Admin.WebApi/Controllers/System/CodeGeneratorController.cs @@ -204,7 +204,7 @@ namespace ZR.Admin.WebApi.Controllers var genTable = genTableDto.Adapt().ToUpdate(HttpContext); //将前端额外参数转成字符串存入Options中 - genTable.Options = JsonConvert.SerializeObject(genTableDto.Params); + genTable.Options = genTableDto.Params.Adapt(); DbResult result = GenTableService.UseTran(() => { int rows = GenTableService.UpdateGenTable(genTable); diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt index 927cb2b..a098f0b 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplService.txt @@ -56,8 +56,8 @@ $end $if(null != genTable.SubTableName && "" != genTable.SubTableName) .Includes(it => it.Sub.MappingField(z => z.${genTable.SubTableFkName}, () => it.${replaceDto.PKName})) $end -$if(genTable.SortField != "" && genTable.SortField != null) - .OrderBy("${genTable.SortField} ${genTable.SortType}") +$if(genTable.Options.SortField != "" && genTable.Options.SortField != null) + .OrderBy("${genTable.Options.SortField} ${genTable.Options.SortType}") $end .Where(predicate.ToExpression()) .ToPage(parm); @@ -88,7 +88,7 @@ $end $end var response = _${replaceDto.ModelTypeName}Repository.Queryable().Where(predicate.ToExpression()) - .ToTree(it => it.Children, it => it.${genTable.TreeParentCode}, 0); + .ToTree(it => it.Children, it => it.${genTable.Options.TreeParentCode}, 0); return response; } diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt index 3748bb3..72cfae3 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/TplTreeVue.txt @@ -38,7 +38,7 @@ $end + :default-expand-all="isExpandAll" row-key="${tool.FirstLowerCase(genTable.Options.TreeCode)}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"> ${VueViewListContent} @@ -204,8 +204,8 @@ $end delete node.children; } return { - id: node.${tool.FirstLowerCase(genTable.TreeCode)}, - label: node.${tool.FirstLowerCase(genTable.TreeName)}, + id: node.${tool.FirstLowerCase(genTable.Options.TreeCode)}, + label: node.${tool.FirstLowerCase(genTable.Options.TreeName)}, children: node.children, }; }, diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/TreeVue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/TreeVue.txt index 766c81e..dc05b23 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/TreeVue.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/TreeVue.txt @@ -88,7 +88,7 @@ $end highlight-current-row @selection-change="handleSelectionChange" :default-expand-all="isExpandAll" - row-key="${tool.FirstLowerCase(genTable.TreeCode)}" + row-key="${tool.FirstLowerCase(genTable.Options.TreeCode)}" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" > diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt index ed23f8e..451da59 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt @@ -124,7 +124,7 @@ $elseif(column.HtmlType == "imageUpload") $elseif(column.HtmlType == "checkbox" || column.HtmlType == "select" || column.HtmlType == "radio") - + $else - + $end $end $end diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index e027e23..2a551be 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -12,156 +12,156 @@ namespace ZR.CodeGenerator { #region vue 模板 - /// - /// Vue 添加修改表单 - /// - /// - /// - public static string TplVueFormContent(GenTableColumn dbFieldInfo, GenTable genTable) - { - string columnName = dbFieldInfo.CsharpFieldFl; - string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); - string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : ""; - StringBuilder sb = new(); - string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue"; + ///// + ///// Vue 添加修改表单 + ///// + ///// + ///// + //public static string TplVueFormContent(GenTableColumn dbFieldInfo, GenTable genTable) + //{ + // string columnName = dbFieldInfo.CsharpFieldFl; + // string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName); + // string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : ""; + // StringBuilder sb = new(); + // string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue"; - if (GenConstants.inputDtoNoField.Any(f => f.Contains(dbFieldInfo.CsharpField, StringComparison.OrdinalIgnoreCase))) - { - } - else if (!dbFieldInfo.IsInsert && !dbFieldInfo.IsEdit) - { - sb.AppendLine(" "); - sb.AppendLine($" {{{{form.{columnName}}}}}"); - sb.AppendLine(" "); - } - else if (genTable.TplCategory.Equals("tree", StringComparison.OrdinalIgnoreCase) && genTable.TreeParentCode != null && dbFieldInfo.CsharpField.Equals(genTable.TreeParentCode)) - { - //树 - sb.AppendLine(@" "); - sb.AppendLine($@" "); - sb.AppendLine($@" "); - sb.AppendLine(@" "); - sb.AppendLine(@" "); - } - //主键、非自增要插入,不能编辑 - else if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) - { - sb.AppendLine(" "); - sb.AppendLine($" "); - //主键非自增 显示input - if (!dbFieldInfo.IsIncrement) - { - sb.AppendLine($" "); - } - else if (dbFieldInfo.IsIncrement) //只有是 自增 就显示label - { - sb.AppendLine($" "); - } + // if (GenConstants.inputDtoNoField.Any(f => f.Contains(dbFieldInfo.CsharpField, StringComparison.OrdinalIgnoreCase))) + // { + // } + // else if (!dbFieldInfo.IsInsert && !dbFieldInfo.IsEdit) + // { + // sb.AppendLine(" "); + // sb.AppendLine($" {{{{form.{columnName}}}}}"); + // sb.AppendLine(" "); + // } + // else if (genTable.TplCategory.Equals("tree", StringComparison.OrdinalIgnoreCase) && genTable.TreeParentCode != null && dbFieldInfo.CsharpField.Equals(genTable.TreeParentCode)) + // { + // //树 + // sb.AppendLine(@" "); + // sb.AppendLine($@" "); + // sb.AppendLine($@" "); + // sb.AppendLine(@" "); + // sb.AppendLine(@" "); + // } + // //主键、非自增要插入,不能编辑 + // else if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) + // { + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // //主键非自增 显示input + // if (!dbFieldInfo.IsIncrement) + // { + // sb.AppendLine($" "); + // } + // else if (dbFieldInfo.IsIncrement) //只有是 自增 就显示label + // { + // sb.AppendLine($" "); + // } - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else - { - if (dbFieldInfo.HtmlType == GenConstants.HTML_INPUT_NUMBER) - { - //数字框 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME) - { - //时间 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_IMAGE_UPLOAD) - { - //图片 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($@" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_FILE_UPLOAD) - { - //文件 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($@" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) - { - //单选按钮 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine($" {{{{item.dictLabel}}}}"); - sb.AppendLine(" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA) - { - //文本域 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR) - { - //编辑器 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT) - { - //下拉框 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else if (dbFieldInfo.HtmlType == GenConstants.HTML_CHECKBOX) - { - //多选框 - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine($" {{{{item.dictLabel}}}}"); - sb.AppendLine(" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - else - { - string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : ""; - sb.AppendLine(" "); - sb.AppendLine($" "); - sb.AppendLine($" "); - sb.AppendLine(" "); - sb.AppendLine(" "); - } - } - return sb.ToString(); - } + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else + // { + // if (dbFieldInfo.HtmlType == GenConstants.HTML_INPUT_NUMBER) + // { + // //数字框 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME) + // { + // //时间 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_IMAGE_UPLOAD) + // { + // //图片 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($@" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_FILE_UPLOAD) + // { + // //文件 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($@" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) + // { + // //单选按钮 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine($" {{{{item.dictLabel}}}}"); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA) + // { + // //文本域 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR) + // { + // //编辑器 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT) + // { + // //下拉框 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else if (dbFieldInfo.HtmlType == GenConstants.HTML_CHECKBOX) + // { + // //多选框 + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine($" {{{{item.dictLabel}}}}"); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // else + // { + // string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : ""; + // sb.AppendLine(" "); + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // sb.AppendLine(" "); + // sb.AppendLine(" "); + // } + // } + // return sb.ToString(); + //} #endregion diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index f7fa084..5a18f89 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -46,12 +46,12 @@ namespace ZR.CodeGenerator string PKType = "int"; ReplaceDto replaceDto = new(); replaceDto.ModelTypeName = dto.GenTable.ClassName;//表名对应C# 实体类名 - replaceDto.PermissionPrefix = dto.GenTable.PermissionPrefix; + replaceDto.PermissionPrefix = dto.GenTable?.Options?.PermissionPrefix; replaceDto.Author = dto.GenTable.FunctionAuthor; - replaceDto.ShowBtnAdd = dto.GenTable.CheckedBtn.Any(f => f == 1); - replaceDto.ShowBtnEdit = dto.GenTable.CheckedBtn.Any(f => f == 2); - replaceDto.ShowBtnDelete = dto.GenTable.CheckedBtn.Any(f => f == 3); - replaceDto.ShowBtnExport = dto.GenTable.CheckedBtn.Any(f => f == 4); + replaceDto.ShowBtnAdd = dto.GenTable.Options.CheckedBtn.Any(f => f == 1); + replaceDto.ShowBtnEdit = dto.GenTable.Options.CheckedBtn.Any(f => f == 2); + replaceDto.ShowBtnDelete = dto.GenTable.Options.CheckedBtn.Any(f => f == 3); + replaceDto.ShowBtnExport = dto.GenTable.Options.CheckedBtn.Any(f => f == 4); //循环表字段信息 @@ -219,9 +219,9 @@ namespace ZR.CodeGenerator }; fileName = Path.Combine("v3", fileName); var tpl = FileHelper.ReadJtTemplate(fileName); - tpl.Set("treeCode", generateDto.GenTable?.TreeCode?.ToString()?.FirstLowerCase()); - tpl.Set("treeName", generateDto.GenTable.TreeName?.ToString()?.FirstLowerCase()); - tpl.Set("treeParentCode", generateDto.GenTable.TreeParentCode?.ToString()?.FirstLowerCase()); + tpl.Set("treeCode", generateDto.GenTable?.Options?.TreeCode?.FirstLowerCase()); + tpl.Set("treeName", generateDto.GenTable?.Options?.TreeName?.FirstLowerCase()); + tpl.Set("treeParentCode", generateDto.GenTable?.Options?.TreeParentCode?.FirstLowerCase()); var result = tpl.Render(); var fullPath = Path.Combine(generateDto.VueParentPath, "src", "views", generateDto.GenTable.ModuleName.FirstLowerCase(), $"{generateDto.GenTable.BusinessName.FirstUpperCase()}.vue"); @@ -273,7 +273,7 @@ namespace ZR.CodeGenerator break; } var tpl = FileHelper.ReadJtTemplate($"{tempName}.txt"); - tpl.Set("parentId", generateDto.GenTable.ParentMenuId ?? 0); + tpl.Set("parentId", generateDto.GenTable?.Options?.ParentMenuId ?? 0); var result = tpl.Render(); string fullPath = Path.Combine(generateDto.GenCodePath, "sql", generateDto.GenTable.BusinessName + ".sql"); @@ -423,7 +423,14 @@ namespace ZR.CodeGenerator TableComment = desc, FunctionName = desc, Create_by = userName, + Options = new Options() + { + SortType = "asc", + CheckedBtn = new int[] { 1, 2, 3 } + } }; + genTable.Options.PermissionPrefix = $"{genTable.ModuleName.ToLower()}:{genTable.ClassName.ToLower()}";//权限 + return genTable; } @@ -561,7 +568,7 @@ namespace ZR.CodeGenerator } public static bool CheckTree(GenTable genTable, string csharpField) { - return (genTable.TplCategory.Equals("tree", StringComparison.OrdinalIgnoreCase) && genTable.TreeParentCode != null && csharpField.Equals(genTable.TreeParentCode)); + return (genTable.TplCategory.Equals("tree", StringComparison.OrdinalIgnoreCase) && genTable?.Options?.TreeParentCode != null && csharpField.Equals(genTable?.Options?.TreeParentCode)); } #endregion } diff --git a/ZR.Model/System/Dto/GenTableDto.cs b/ZR.Model/System/Dto/GenTableDto.cs index 742d8e0..ba03241 100644 --- a/ZR.Model/System/Dto/GenTableDto.cs +++ b/ZR.Model/System/Dto/GenTableDto.cs @@ -1,4 +1,5 @@ using System.Collections.Generic; +using ZR.Model.System.Generate; namespace ZR.Model.System.Dto { @@ -18,7 +19,7 @@ namespace ZR.Model.System.Dto public string FunctionAuthor { get; set; } public string GenType { get; set; } public string GenPath { get; set; } - public string PermissionPrefix { get; set; } + //public string PermissionPrefix { get; set; } public string Remark { get; set; } /// /// 额外参数 @@ -31,19 +32,19 @@ namespace ZR.Model.System.Dto /// 额外参数 /// ****注意里面参数统一首字母小写***** /// - public class Options + public class Params { - public string treeCode { get; set; } - public string treeName { get; set; } - public string treeParentCode { get; set; } - public int? parentMenuId { get; set; } - public string sortField { get; set; } - public string sortType { get; set; } + public string TreeCode { get; set; } + public string TreeName { get; set; } + public string TreeParentCode { get; set; } + public int? ParentMenuId { get; set; } + public string SortField { get; set; } + public string SortType { get; set; } /// /// 额外参数字符串 /// - public string checkedBtn { get; set; } - public string permissionPrefix { get; set; } + public string CheckedBtn { get; set; } + public string PermissionPrefix { get; set; } } public class GenTableColumnDto { @@ -56,6 +57,7 @@ namespace ZR.Model.System.Dto public bool IsEdit { get; set; } public bool IsList { get; set; } public bool IsQuery { get; set; } + public bool IsSort { get; set; } public bool IsRequired { get; set; } /// /// 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件) diff --git a/ZR.Model/System/Generate/GenTable.cs b/ZR.Model/System/Generate/GenTable.cs index a668623..1fc6ad7 100644 --- a/ZR.Model/System/Generate/GenTable.cs +++ b/ZR.Model/System/Generate/GenTable.cs @@ -72,37 +72,38 @@ namespace ZR.Model.System.Generate /// /// 其他生成选项 /// - public string Options { get; set; } - + [SqlSugar.SugarColumn(IsJson = true)] + public Options Options { get; set; } + #region 表额外字段 /** 表列信息 */ [SqlSugar.SugarColumn(IsIgnore = true)] public List Columns { get; set; } //以下 Options扩展字段 - [SqlSugar.SugarColumn(IsIgnore = true)] - public object ParentMenuId { get; set; } - [SqlSugar.SugarColumn(IsIgnore = true)] - public object SortType { get; set; } = "asc"; + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public object ParentMenuId { get; set; } + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public object SortType { get; set; } = "asc"; - [SqlSugar.SugarColumn(IsIgnore = true)] - public object SortField { get; set; } = string.Empty; + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public object SortField { get; set; } = string.Empty; - [SqlSugar.SugarColumn(IsIgnore = true)] - public object TreeCode { get; set; } = string.Empty; + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public object TreeCode { get; set; } = string.Empty; - [SqlSugar.SugarColumn(IsIgnore = true)] - public object TreeName { get; set; } = string.Empty; + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public object TreeName { get; set; } = string.Empty; - [SqlSugar.SugarColumn(IsIgnore = true)] - public object TreeParentCode { get; set; } - [SqlSugar.SugarColumn(IsIgnore = true)] - public string PermissionPrefix { get; set; } + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public object TreeParentCode { get; set; } + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public string PermissionPrefix { get; set; } /// /// 生成的按钮功能 /// - [SqlSugar.SugarColumn(IsIgnore = true)] - public int[] CheckedBtn { get; set; } = new int[] { 1, 2, 3 }; + //[SqlSugar.SugarColumn(IsIgnore = true)] + //public int[] CheckedBtn { get; set; } = new int[] { 1, 2, 3 }; /// /// 字表信息 @@ -111,4 +112,19 @@ namespace ZR.Model.System.Generate public GenTable SubTable { get; set; } #endregion } + + public class Options + { + public long ParentMenuId { get; set; } = 0; + public string SortType { get; set; } = "asc"; + public string SortField { get; set; } = string.Empty; + public string TreeCode { get; set; } = string.Empty; + public string TreeName { get; set; } = string.Empty; + public string TreeParentCode { get; set; } = string.Empty; + public string PermissionPrefix { get; set; }= string.Empty; + /// + /// 额外参数字符串 + /// + public int[] CheckedBtn { get; set; } = new int[] { 1, 2, 3 }; + } } diff --git a/ZR.Model/System/Generate/GenTableColumn.cs b/ZR.Model/System/Generate/GenTableColumn.cs index 588e45f..0f491ae 100644 --- a/ZR.Model/System/Generate/GenTableColumn.cs +++ b/ZR.Model/System/Generate/GenTableColumn.cs @@ -71,6 +71,10 @@ namespace ZR.Model.System.Generate /// public bool IsQuery { get; set; } /// + /// 是否排序(1是) + /// + public bool IsSort { get; set; } + /// /// 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件) /// public string HtmlType { get; set; } @@ -95,15 +99,22 @@ namespace ZR.Model.System.Generate } } /// + /// 前端排序字符串 + /// + [SugarColumn(IsIgnore = true)] + public string SortStr + { + get + { + return IsSort ? " sortable" : ""; + } + } + /// /// C# 字段名 首字母小写,用于前端 /// [SugarColumn(IsIgnore = true)] public string CsharpFieldFl { get; set; } - /// - /// 字典集合 - /// - //[SqlSugar.SugarColumn(IsIgnore = true)] - //public List DictDatas { get; set; } + #endregion } } diff --git a/ZR.Repository/System/GenTableRepository.cs b/ZR.Repository/System/GenTableRepository.cs index add6108..018d3d6 100644 --- a/ZR.Repository/System/GenTableRepository.cs +++ b/ZR.Repository/System/GenTableRepository.cs @@ -82,7 +82,8 @@ namespace ZR.Repository.System it.Update_time, it.DictType, it.Update_by, - it.Remark + it.Remark, + it.IsSort }) .ExecuteCommand(); } diff --git a/ZR.Service/System/GenTableService.cs b/ZR.Service/System/GenTableService.cs index b6d2051..f416b4b 100644 --- a/ZR.Service/System/GenTableService.cs +++ b/ZR.Service/System/GenTableService.cs @@ -56,14 +56,9 @@ namespace ZR.Service.System public GenTable GetGenTableInfo(long tableId) { var info = GenTableRepository.GetId(tableId); - SetTableFromOptions(info); if (info != null && !info.SubTableName.IsEmpty()) { info.SubTable = GenTableRepository.Queryable().Where(f => f.SubTableName == info.TableName).First(); - if (info?.SubTable != null) - { - SetTableFromOptions(info?.SubTable); - } } return info; } @@ -84,31 +79,31 @@ namespace ZR.Service.System private void SetTableFromOptions(GenTable genTable) { //附加参数,key,value格式 - if (!string.IsNullOrEmpty(genTable?.Options)) - { - Dictionary options = JsonConvert.DeserializeObject>(genTable.Options); - if (options == null) return; + //if (!string.IsNullOrEmpty(genTable?.Options)) + //{ + // Dictionary options = JsonConvert.DeserializeObject>(genTable.Options); + // if (options == null) return; - genTable.ParentMenuId = options.GetValueOrDefault("parentMenuId") ?? null; + // genTable.ParentMenuId = options.GetValueOrDefault("parentMenuId") ?? null; - genTable.SortType = options.GetValueOrDefault("sortType") ?? "asc"; - genTable.SortField = options.GetValueOrDefault("sortField") ?? ""; + // genTable.SortType = options.GetValueOrDefault("sortType") ?? "asc"; + // genTable.SortField = options.GetValueOrDefault("sortField") ?? ""; - genTable.TreeParentCode = options.GetValueOrDefault("treeParentCode") ?? ""; - genTable.TreeName = options.GetValueOrDefault("treeName") ?? ""; - genTable.TreeCode = options.GetValueOrDefault("treeCode") ?? ""; + // genTable.TreeParentCode = options.GetValueOrDefault("treeParentCode") ?? ""; + // genTable.TreeName = options.GetValueOrDefault("treeName") ?? ""; + // genTable.TreeCode = options.GetValueOrDefault("treeCode") ?? ""; - var checkdBtn = options.GetValueOrDefault("checkedBtn") ?? ""; - genTable.CheckedBtn = Tools.SpitIntArrary(checkdBtn.ToString()); + // var checkdBtn = options.GetValueOrDefault("checkedBtn") ?? ""; + // genTable.CheckedBtn = Tools.SpitIntArrary(checkdBtn.ToString()); - var permPrefix = options.GetValueOrDefault("permissionPrefix", ""); + // var permPrefix = options.GetValueOrDefault("permissionPrefix", ""); - genTable.PermissionPrefix = permPrefix?.ToString(); - } - if (genTable.PermissionPrefix.IsEmpty()) - { - genTable.PermissionPrefix = $"{genTable.ModuleName.ToLower()}:{genTable.ClassName.ToLower()}";//权限 - } + // genTable.PermissionPrefix = permPrefix?.ToString(); + //} + //if (genTable?.Options?.PermissionPrefix.IsEmpty()) + //{ + // genTable?.Options?.PermissionPrefix = $"{genTable.ModuleName.ToLower()}:{genTable.ClassName.ToLower()}";//权限 + //} } /// diff --git a/ZR.Vue/src/views/tool/gen/editTable.vue b/ZR.Vue/src/views/tool/gen/editTable.vue index 6e7c24e..da29d09 100644 --- a/ZR.Vue/src/views/tool/gen/editTable.vue +++ b/ZR.Vue/src/views/tool/gen/editTable.vue @@ -171,7 +171,7 @@ export default { getGenTable(tableId).then((res) => { this.loading = false this.columns = res.data.info.columns - this.info = res.data.info + this.info = { ...res.data.info, ...res.data.info.options } this.tables = res.data.tables // 子表 }) /** 查询字典下拉列表 */ @@ -201,7 +201,7 @@ export default { parentMenuId: genTable.parentMenuId, sortField: genTable.sortField, sortType: genTable.sortType, - checkedBtn: genTable.checkedBtn.toString(), + checkedBtn: genTable.checkedBtn, permissionPrefix: genTable.permissionPrefix, } console.log('genForm', genTable) diff --git a/document/admin-mysql.sql b/document/admin-mysql.sql index 43dfc58..098f5bf 100644 --- a/document/admin-mysql.sql +++ b/document/admin-mysql.sql @@ -786,6 +786,7 @@ CREATE TABLE `gen_table_column` ( `isEdit` tinyint(1) NULL DEFAULT NULL COMMENT '是否编辑字段(1是)', `isList` tinyint(1) NULL DEFAULT NULL COMMENT '是否列表字段(1是)', `isQuery` tinyint(4) NULL DEFAULT NULL COMMENT '是否查询字段(1是)', + `isSort` tinyint(4) NULL DEFAULT NULL COMMENT '是否排序字段(1是)', `queryType` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', `htmlType` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', `dictType` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '字典类型', diff --git a/document/admin-sqlserver.sql b/document/admin-sqlserver.sql index 1390248..35a56db 100644 --- a/document/admin-sqlserver.sql +++ b/document/admin-sqlserver.sql @@ -735,6 +735,7 @@ create table gen_table_column ( isInsert TINYINT , --'是否为插入字段(1是)', isEdit TINYINT , --'是否编辑字段(1是)', isList TINYINT , --'是否列表字段(1是)', + isSort TINYINT , --'是否排序字段(1是)', isQuery TINYINT ,-- '是否查询字段(1是)', queryType varchar(200) default 'EQ' , --'查询方式(等于、不等于、大于、小于、范围)', htmlType varchar(200) , --'显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',