diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt index bbdd150..e54eb8a 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/MySqlTemplate.txt @@ -1,6 +1,6 @@ -- 菜单 INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark) -VALUES ('{FunctionName}', 0, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', sysdate(), '', NULL, '{FunctionName}菜单'); +VALUES ('{FunctionName}', 0, 1, '{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', sysdate(), '', NULL, '{FunctionName}菜单'); -- 按钮父菜单id SELECT @menuId := LAST_INSERT_ID(); diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt index 338fe17..6e3d679 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/SqlTemplate.txt @@ -1,6 +1,6 @@ -- {FunctionName}菜单 INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark) -VALUES ('{FunctionName}', {ParentId}, 1, '/{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', GETDATE(), '', NULL, '{FunctionName}'); +VALUES ('{FunctionName}', {ParentId}, 1, '{ModuleName}/{ModelTypeName}', '{ModuleName}/{ViewsFileName}/index', 0, 0, 'C', '0', '0', '{Permission}:list', '#', '', GETDATE(), '', NULL, '{FunctionName}'); -- 按钮父菜单id declare @menuId int = @@identity @@ -18,6 +18,5 @@ VALUES ('{FunctionName}删除', @menuId, 2, '#', NULL, 0, 0, 'F', '0', '0', '{Pe INSERT INTO sys_menu(menuName, parentId, orderNum, path, component, isFrame, isCache, menuType, visible, status, perms, icon, create_by,create_time, update_by, update_time, remark) VALUES ('{FunctionName}修改', @menuId, 3, '#', NULL, 0, 0, 'F', '0', '0', '{Permission}:update', '', '', GETDATE(), '', NULL, NULL); -GO SELECT * FROM sys_menu WHERE parentId = {ParentId}; SELECT * FROM sys_menu WHERE menuId = @menuId; \ No newline at end of file diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt index 432f3fb..ae3d391 100644 --- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt +++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/VueTemplate.txt @@ -60,8 +60,11 @@ import { get{ModelTypeName} } from '@/api/{fileClassName}.js'; +{VueComponentImport} + export default { name: '{ModelTypeName}', + components: { {VueComponent} }, data() { return { labelWidth: "100px", diff --git a/ZR.CodeGenerator/CodeGenerateTemplate.cs b/ZR.CodeGenerator/CodeGenerateTemplate.cs index d047719..e9092f6 100644 --- a/ZR.CodeGenerator/CodeGenerateTemplate.cs +++ b/ZR.CodeGenerator/CodeGenerateTemplate.cs @@ -35,7 +35,6 @@ namespace ZR.CodeGenerator sb.AppendLine($" {columnName}Format(row, column) {{"); sb.AppendLine(@$" return this.selectDictLabel(this.{columnName}Options, row.{columnName});"); sb.AppendLine(@" },"); - } return sb.ToString(); } @@ -155,12 +154,26 @@ namespace ZR.CodeGenerator sb.AppendLine(" "); sb.AppendLine(" "); } + //else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO && !string.IsNullOrEmpty(dbFieldInfo.DictType)) + //{ + // sb.AppendLine($" "); + // sb.AppendLine($" "); + // //TODO 根据字典类型循环 + // sb.AppendLine(" "); + // sb.AppendLine(" "); + //} else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA) { sb.AppendLine($" "); sb.AppendLine($" "); sb.AppendLine(" "); } + else if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR) + { + sb.AppendLine($" "); + sb.AppendLine($" "); + sb.AppendLine(" "); + } else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && !string.IsNullOrEmpty(dbFieldInfo.DictType)) { string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue"; diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs index acd00b9..df7d5d0 100644 --- a/ZR.CodeGenerator/CodeGeneratorTool.cs +++ b/ZR.CodeGenerator/CodeGeneratorTool.cs @@ -59,6 +59,7 @@ namespace ZR.CodeGenerator StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); + StringBuilder sb3 = new StringBuilder(); //循环表字段信息 foreach (GenTableColumn dbFieldInfo in listField) @@ -99,6 +100,12 @@ namespace ZR.CodeGenerator sb2.AppendLine($" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;"); sb2.AppendLine(" })"); } + //引用组件 + if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR) + { + replaceDto.VueComponent += "Editor,"; + replaceDto.VueComponentImport += "import Editor from '@/components/Editor';\n"; + } replaceDto.QueryProperty += CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo); replaceDto.ModelProperty += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo); @@ -348,6 +355,8 @@ namespace ZR.CodeGenerator .Replace("{VueDataContent}", replaceDto.VueDataContent) .Replace("{PrimaryKey}", FirstLowerCase(replaceDto.PKName)) .Replace("{MountedMethod}", replaceDto.MountedMethod) + .Replace("{VueComponent}", replaceDto.VueComponent.TrimEnd(',')) + .Replace("{VueComponentImport}", replaceDto.VueComponentImport) .Replace("{VueViewEditFormRuleContent}", replaceDto.VueViewEditFormRuleContent);//添加、修改表单验证规则 generateDto.GenCodes.Add(new GenCode(6, "index.vue", fullPath, content)); diff --git a/ZR.CodeGenerator/Model/ReplaceDto.cs b/ZR.CodeGenerator/Model/ReplaceDto.cs index caad242..52c5b1f 100644 --- a/ZR.CodeGenerator/Model/ReplaceDto.cs +++ b/ZR.CodeGenerator/Model/ReplaceDto.cs @@ -89,6 +89,14 @@ namespace ZR.CodeGenerator.Model /// views、js文件名 /// public string ViewsFileName { get; set; } + /// + /// vue组件引用 + /// + public string VueComponent { get; set; } + /// + /// vue组件导入 + /// + public string VueComponentImport { get; set; } public string Author { get; set; } public string AddTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd"); }