优化代码生成

This commit is contained in:
izory 2021-09-24 22:16:01 +08:00
parent 3fc8e05178
commit aad6b97014
5 changed files with 33 additions and 25 deletions

View File

@ -58,7 +58,7 @@ import {
del{ModelTypeName}, del{ModelTypeName},
update{ModelTypeName}, update{ModelTypeName},
get{ModelTypeName} get{ModelTypeName}
} from '@/api/{fileClassName}.js' } from '@/api/{fileClassName}.js';
export default { export default {
name: '{ModelTypeName}', name: '{ModelTypeName}',

View File

@ -29,12 +29,12 @@ namespace ZR.CodeGenerator
sb.AppendLine($" }},"); sb.AppendLine($" }},");
} }
//有下拉框选项初列表查询数据 //有下拉框选项初列表查询数据
if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && !string.IsNullOrEmpty(dbFieldInfo.DictType)) if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType))
{ {
sb.AppendLine(@$" // {dbFieldInfo.ColumnComment}字典翻译"); sb.AppendLine(@$" // {dbFieldInfo.ColumnComment}字典翻译");
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.Append(@" },"); sb.AppendLine(@" },");
} }
return sb.ToString(); return sb.ToString();
@ -74,7 +74,7 @@ namespace ZR.CodeGenerator
public static string GetModelRequired(GenTableColumn dbFieldInfo) public static string GetModelRequired(GenTableColumn dbFieldInfo)
{ {
string str = ""; string str = "";
if (!dbFieldInfo.IsRequired && (dbFieldInfo.CsharpType == "int" || dbFieldInfo.CsharpType == "long" || dbFieldInfo.CsharpType == "DateTime")) if (!dbFieldInfo.IsRequired && (CodeGeneratorTool.IsNumber(dbFieldInfo.ColumnType) || dbFieldInfo.CsharpType == "DateTime"))
{ {
str = "?"; str = "?";
} }
@ -104,7 +104,7 @@ namespace ZR.CodeGenerator
public static string GetQueryDtoProperty(GenTableColumn dbFieldInfo) public static string GetQueryDtoProperty(GenTableColumn dbFieldInfo)
{ {
string QueryDtoContent = ""; string QueryDtoContent = "";
if (dbFieldInfo.IsQuery && !GenConstants.inputDtoNoField.Any(f => f.Replace("_", "").ToLower().Contains(dbFieldInfo.CsharpField.ToLower().Replace("_", "")))) if (dbFieldInfo.IsQuery && !GenConstants.inputDtoNoField.Any(f => f.ToLower().Contains(dbFieldInfo.CsharpField.ToLower())))
{ {
QueryDtoContent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\r\n"; QueryDtoContent += $" public {dbFieldInfo.CsharpType} {dbFieldInfo.CsharpField} {{ get; set; }}\r\n";
} }
@ -120,7 +120,7 @@ namespace ZR.CodeGenerator
string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : ""; string labelDisabled = dbFieldInfo.IsPk ? ":disabled=\"true\"" : "";
string placeHolder = dbFieldInfo.IsIncrement ? "" : $"请输入{labelName}"; string placeHolder = dbFieldInfo.IsIncrement ? "" : $"请输入{labelName}";
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if (GenConstants.inputDtoNoField.Any(f => f.Replace("_", "").ToLower().Contains(dbFieldInfo.CsharpField.ToLower().Replace("_", "")))) if (GenConstants.inputDtoNoField.Any(f => f.ToLower().Contains(dbFieldInfo.CsharpField.ToLower())))
{ {
return sb.ToString(); return sb.ToString();
} }

View File

@ -4,6 +4,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Text;
using ZR.CodeGenerator.Model; using ZR.CodeGenerator.Model;
using ZR.Model.System.Generate; using ZR.Model.System.Generate;
@ -57,6 +58,9 @@ namespace ZR.CodeGenerator
replaceDto.ViewsFileName = FirstLowerCase(replaceDto.ModelTypeName); replaceDto.ViewsFileName = FirstLowerCase(replaceDto.ModelTypeName);
replaceDto.Author = tableInfo.FunctionAuthor; replaceDto.Author = tableInfo.FunctionAuthor;
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
//循环表字段信息 //循环表字段信息
foreach (GenTableColumn dbFieldInfo in listField) foreach (GenTableColumn dbFieldInfo in listField)
{ {
@ -86,14 +90,15 @@ namespace ZR.CodeGenerator
//{ //{
// replaceDto.Querycondition += $"predicate = predicate.And(m => m.{dbFieldInfo.CsharpField}.Contains(parm.Name));"; // replaceDto.Querycondition += $"predicate = predicate.And(m => m.{dbFieldInfo.CsharpField}.Contains(parm.Name));";
//} //}
if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType)) if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType))
{ {
replaceDto.VueDataContent += $" // {dbFieldInfo.ColumnComment}选项列表\n"; sb1.AppendLine($" // {dbFieldInfo.ColumnComment}选项列表");
replaceDto.VueDataContent += $" {FirstLowerCase(dbFieldInfo.CsharpField)}Options: [],\n"; sb1.AppendLine($" {FirstLowerCase(dbFieldInfo.CsharpField)}Options: [],");
replaceDto.MountedMethod += $" this.getDicts(\"{dbFieldInfo.DictType}\").then((response) => {{\n"; sb2.AppendLine($" this.getDicts(\"{dbFieldInfo.DictType}\").then((response) => {{");
replaceDto.MountedMethod += $" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;\n"; sb2.AppendLine($" this.{FirstLowerCase(dbFieldInfo.CsharpField)}Options = response.data;");
replaceDto.MountedMethod += " })\n"; sb2.AppendLine(" })");
} }
replaceDto.QueryProperty += CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo); replaceDto.QueryProperty += CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo);
@ -105,6 +110,9 @@ namespace ZR.CodeGenerator
replaceDto.InputDtoProperty += CodeGenerateTemplate.GetDtoProperty(dbFieldInfo); replaceDto.InputDtoProperty += CodeGenerateTemplate.GetDtoProperty(dbFieldInfo);
replaceDto.VueQueryFormHtml += CodeGenerateTemplate.GetQueryFormHtml(dbFieldInfo); replaceDto.VueQueryFormHtml += CodeGenerateTemplate.GetQueryFormHtml(dbFieldInfo);
} }
replaceDto.VueDataContent = sb1.ToString();
replaceDto.MountedMethod = sb2.ToString();
replaceDto.PKName = PKName; replaceDto.PKName = PKName;
replaceDto.PKType = PKType; replaceDto.PKType = PKType;

View File

@ -16,7 +16,7 @@ namespace ZR.CodeGenerator
/// <summary> /// <summary>
/// InputDto输入实体是不包含字段 /// InputDto输入实体是不包含字段
/// </summary> /// </summary>
public static readonly string[] inputDtoNoField = new string[] { "createTime", "updateTime", "addtime" }; public static readonly string[] inputDtoNoField = new string[] { "createTime", "updateTime", "addtime", "create_time", "update_time" };
/// <summary> /// <summary>
/// 图片字段 /// 图片字段
/// </summary> /// </summary>

View File

@ -29,45 +29,45 @@
</member> </member>
<member name="T:ZR.Admin.WebApi.Controllers.GendemoController"> <member name="T:ZR.Admin.WebApi.Controllers.GendemoController">
<summary> <summary>
代码生成测试Controller 代码生成演示Controller
@author ruirui @author zhaorui
@date 2021-09-24 @date 2021-09-24
</summary> </summary>
</member> </member>
<member name="F:ZR.Admin.WebApi.Controllers.GendemoController._GendemoService"> <member name="F:ZR.Admin.WebApi.Controllers.GendemoController._GendemoService">
<summary> <summary>
代码生成测试接口 代码生成演示接口
</summary> </summary>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.QueryGendemo(ZR.Model.Dto.GendemoQueryDto)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.QueryGendemo(ZR.Model.Dto.GendemoQueryDto)">
<summary> <summary>
查询代码生成测试列表 查询代码生成演示列表
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.GetGendemo(System.Int32)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.GetGendemo(System.Int32)">
<summary> <summary>
查询代码生成测试详情 查询代码生成演示详情
</summary> </summary>
<param name="Id"></param> <param name="Id"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.AddGendemo(ZR.Model.Dto.GendemoDto)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.AddGendemo(ZR.Model.Dto.GendemoDto)">
<summary> <summary>
添加代码生成测试 添加代码生成演示
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.UpdateGendemo(ZR.Model.Dto.GendemoDto)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.UpdateGendemo(ZR.Model.Dto.GendemoDto)">
<summary> <summary>
更新代码生成测试 更新代码生成演示
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:ZR.Admin.WebApi.Controllers.GendemoController.DeleteGendemo(System.String)"> <member name="M:ZR.Admin.WebApi.Controllers.GendemoController.DeleteGendemo(System.String)">
<summary> <summary>
删除代码生成测试 删除代码生成演示
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>