From de43e4964e47106735693c8b176882273243a7d0 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, 27 Mar 2022 22:05:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=8A=A0vue3=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=94=9F=E6=88=90=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wwwroot/CodeGenTemplate/v3/README.txt | 0 .../wwwroot/CodeGenTemplate/v3/Vue3.txt | 552 ++++++++++++++++++ ZR.CodeGenerator/CodeGenerateTemplate.cs | 202 ++++--- ZR.CodeGenerator/CodeGeneratorTool.cs | 36 +- 4 files changed, 687 insertions(+), 103 deletions(-) create mode 100644 ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/README.txt create mode 100644 ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue3.txt diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/README.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/README.txt new file mode 100644 index 0000000..e69de29 diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue3.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue3.txt new file mode 100644 index 0000000..b3cc1b4 --- /dev/null +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue3.txt @@ -0,0 +1,552 @@ + + + + \ No newline at end of file diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index 03fcdbc..b3820d9 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -34,26 +34,23 @@ namespace ZR.CodeGenerator sb.AppendLine(" "); sb.AppendLine($" {{{{form.{columnName}}}}}"); sb.AppendLine(" "); - return sb.ToString(); } - - //树 - if (genTable.TplCategory.Equals("tree", StringComparison.OrdinalIgnoreCase) && genTable.TreeParentCode != null && dbFieldInfo.CsharpField.Equals(genTable.TreeParentCode)) + 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(@" "); - return sb.ToString(); } //主键、非自增要插入,不能编辑 - if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) + else if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement) { sb.AppendLine(" "); sb.AppendLine($" "); //主键非自增 显示input - if (dbFieldInfo.IsPk && !dbFieldInfo.IsIncrement) + if (!dbFieldInfo.IsIncrement) { sb.AppendLine($" "); } @@ -64,105 +61,106 @@ namespace ZR.CodeGenerator sb.AppendLine(" "); sb.AppendLine(" "); - return sb.ToString(); - } - 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(" "); + 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(); } diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index 29805e2..55aaeea 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -85,6 +85,7 @@ namespace ZR.CodeGenerator GenerateService(replaceDto, dto); GenerateControllers(replaceDto, dto); GenerateVueViews(replaceDto, dto); + GenerateVue3Views(replaceDto, dto); GenerateVueJs(replaceDto, dto); GenerateSql(replaceDto, dto); @@ -201,7 +202,40 @@ namespace ZR.CodeGenerator generateDto.GenCodes.Add(new GenCode(6, "index.vue", fullPath, result)); } + /// + /// vue3 + /// + /// + /// + private static void GenerateVue3Views(ReplaceDto replaceDto, GenerateDto generateDto) + { + string fileName = string.Empty; + switch (generateDto.GenTable.TplCategory) + { + case "tree": + fileName = "TplTreeVue.txt"; + break; + case "crud": + fileName = "Vue3.txt"; + break; + case "select": + fileName = "TplVueSelect.txt"; + break; + default: + break; + } + fileName = Path.Combine("v3", fileName); + var tpl = FileHelper.ReadJtTemplate(fileName); + //tpl.Set("vueQueryFormHtml", replaceDto.VueQueryFormHtml); + //tpl.Set("VueViewEditFormRuleContent", replaceDto.VueViewEditFormRuleContent);//添加、修改表单验证规则 + //tpl.Set("VueViewFormContent", replaceDto.VueViewFormHtml);//添加、修改表单 + //tpl.Set("VueViewListContent", replaceDto.VueViewListHtml);//查询 table列 + var result = tpl.Render(); + var fullPath = generateDto.IsPreview ? string.Empty : Path.Combine(generateDto.GenCodePath, "ZR.Vue3", "src", "views", generateDto.GenTable.ModuleName.FirstLowerCase(), $"{generateDto.GenTable.BusinessName.FirstUpperCase()}.vue"); + //Console.WriteLine(result); + generateDto.GenCodes.Add(new GenCode(16, "index.vue", fullPath, result)); + } /// /// 生成vue页面api /// @@ -466,7 +500,7 @@ namespace ZR.CodeGenerator /// private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto) { - //Engine.Current.Clean(); + Engine.Current.Clean(); dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList(); bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase)); //jnt模板引擎全局变量