代码生成新增加富文本组件生成

This commit is contained in:
不做码农 2021-11-19 17:34:25 +08:00
parent ba0f9698d1
commit 4d25cb234a
6 changed files with 36 additions and 4 deletions

View File

@ -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) 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 -- 按钮父菜单id
SELECT @menuId := LAST_INSERT_ID(); SELECT @menuId := LAST_INSERT_ID();

View File

@ -1,6 +1,6 @@
-- {FunctionName}菜单 -- {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) 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 -- 按钮父菜单id
declare @menuId int = @@identity 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) 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); 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 parentId = {ParentId};
SELECT * FROM sys_menu WHERE menuId = @menuId; SELECT * FROM sys_menu WHERE menuId = @menuId;

View File

@ -60,8 +60,11 @@ import {
get{ModelTypeName} get{ModelTypeName}
} from '@/api/{fileClassName}.js'; } from '@/api/{fileClassName}.js';
{VueComponentImport}
export default { export default {
name: '{ModelTypeName}', name: '{ModelTypeName}',
components: { {VueComponent} },
data() { data() {
return { return {
labelWidth: "100px", labelWidth: "100px",

View File

@ -35,7 +35,6 @@ namespace ZR.CodeGenerator
sb.AppendLine($" {columnName}Format(row, column) {{"); sb.AppendLine($" {columnName}Format(row, column) {{");
sb.AppendLine(@$" return this.selectDictLabel(this.{columnName}Options, row.{columnName});"); sb.AppendLine(@$" return this.selectDictLabel(this.{columnName}Options, row.{columnName});");
sb.AppendLine(@" },"); sb.AppendLine(@" },");
} }
return sb.ToString(); return sb.ToString();
} }
@ -155,12 +154,26 @@ namespace ZR.CodeGenerator
sb.AppendLine(" </el-radio-group>"); sb.AppendLine(" </el-radio-group>");
sb.AppendLine(" </el-form-item>"); sb.AppendLine(" </el-form-item>");
} }
//else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO && !string.IsNullOrEmpty(dbFieldInfo.DictType))
//{
// sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
// sb.AppendLine($" <el-radio-group v-model=\"form.{columnName}\">");
// //TODO 根据字典类型循环
// sb.AppendLine(" </el-radio-group>");
// sb.AppendLine(" </el-form-item>");
//}
else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA) else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA)
{ {
sb.AppendLine($" <el-form-item label=\"{ labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">"); sb.AppendLine($" <el-form-item label=\"{ labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
sb.AppendLine($" <el-input type=\"textarea\" v-model=\"form.{columnName}\" placeholder=\"请输入内容\"/>"); sb.AppendLine($" <el-input type=\"textarea\" v-model=\"form.{columnName}\" placeholder=\"请输入内容\"/>");
sb.AppendLine(" </el-form-item>"); sb.AppendLine(" </el-form-item>");
} }
else if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR)
{
sb.AppendLine($" <el-form-item label=\"{ labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
sb.AppendLine($" <editor v-model=\"form.{columnName}\" :min-height=\"200\" />");
sb.AppendLine(" </el-form-item>");
}
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && !string.IsNullOrEmpty(dbFieldInfo.DictType)) else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && !string.IsNullOrEmpty(dbFieldInfo.DictType))
{ {
string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue"; string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue";

View File

@ -59,6 +59,7 @@ namespace ZR.CodeGenerator
StringBuilder sb1 = new StringBuilder(); StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder(); StringBuilder sb2 = new StringBuilder();
StringBuilder sb3 = new StringBuilder();
//循环表字段信息 //循环表字段信息
foreach (GenTableColumn dbFieldInfo in listField) foreach (GenTableColumn dbFieldInfo in listField)
@ -99,6 +100,12 @@ namespace ZR.CodeGenerator
sb2.AppendLine($" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;"); sb2.AppendLine($" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;");
sb2.AppendLine(" })"); 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.QueryProperty += CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo);
replaceDto.ModelProperty += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo); replaceDto.ModelProperty += CodeGenerateTemplate.GetModelTemplate(dbFieldInfo);
@ -348,6 +355,8 @@ namespace ZR.CodeGenerator
.Replace("{VueDataContent}", replaceDto.VueDataContent) .Replace("{VueDataContent}", replaceDto.VueDataContent)
.Replace("{PrimaryKey}", FirstLowerCase(replaceDto.PKName)) .Replace("{PrimaryKey}", FirstLowerCase(replaceDto.PKName))
.Replace("{MountedMethod}", replaceDto.MountedMethod) .Replace("{MountedMethod}", replaceDto.MountedMethod)
.Replace("{VueComponent}", replaceDto.VueComponent.TrimEnd(','))
.Replace("{VueComponentImport}", replaceDto.VueComponentImport)
.Replace("{VueViewEditFormRuleContent}", replaceDto.VueViewEditFormRuleContent);//添加、修改表单验证规则 .Replace("{VueViewEditFormRuleContent}", replaceDto.VueViewEditFormRuleContent);//添加、修改表单验证规则
generateDto.GenCodes.Add(new GenCode(6, "index.vue", fullPath, content)); generateDto.GenCodes.Add(new GenCode(6, "index.vue", fullPath, content));

View File

@ -89,6 +89,14 @@ namespace ZR.CodeGenerator.Model
/// views、js文件名 /// views、js文件名
/// </summary> /// </summary>
public string ViewsFileName { get; set; } public string ViewsFileName { get; set; }
/// <summary>
/// vue组件引用
/// </summary>
public string VueComponent { get; set; }
/// <summary>
/// vue组件导入
/// </summary>
public string VueComponentImport { get; set; }
public string Author { get; set; } public string Author { get; set; }
public string AddTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd"); public string AddTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd");
} }