优化代码控件生成
This commit is contained in:
parent
75fd761299
commit
a0e1276bdf
@ -15,7 +15,7 @@
|
|||||||
"urls": "http://localhost:8888", //项目启动url
|
"urls": "http://localhost:8888", //项目启动url
|
||||||
"sysConfig": {
|
"sysConfig": {
|
||||||
"DBCommandTimeout": 10,
|
"DBCommandTimeout": 10,
|
||||||
"cors": "http://localhost:8887" //跨域地址(前端启动项目),多个用","隔开
|
"cors": "http://localhost:8887" //跨域地址(前端启动项目,前后端分离单独部署需要设置),多个用","隔开
|
||||||
},
|
},
|
||||||
"JwtSettings": {
|
"JwtSettings": {
|
||||||
"Issuer": "ZRAdmin.NET",
|
"Issuer": "ZRAdmin.NET",
|
||||||
|
|||||||
@ -267,7 +267,7 @@ $if(replaceDto.UploadFile == 1)
|
|||||||
},
|
},
|
||||||
$end
|
$end
|
||||||
$foreach(item in genTable.Columns)
|
$foreach(item in genTable.Columns)
|
||||||
$if((item.HtmlType == "radio" || item.HtmlType == "select" || item.HtmlType == "checkbox") && item.DictType != "")
|
$if((item.HtmlType == "radio" || item.HtmlType == "select" || item.HtmlType == "checkbox"))
|
||||||
// ${item.ColumnComment}字典翻译
|
// ${item.ColumnComment}字典翻译
|
||||||
${item.ColumnName}Format(row, column) {
|
${item.ColumnName}Format(row, column) {
|
||||||
return this.selectDictLabel(this.${item.ColumnName}Options, row.${item.ColumnName});
|
return this.selectDictLabel(this.${item.ColumnName}Options, row.${item.ColumnName});
|
||||||
|
|||||||
@ -11,35 +11,6 @@ namespace ZR.CodeGenerator
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class CodeGenerateTemplate
|
public class CodeGenerateTemplate
|
||||||
{
|
{
|
||||||
///// <summary>
|
|
||||||
///// 查询Dto属性
|
|
||||||
///// </summary>
|
|
||||||
///// <param name="tbColumn"></param>
|
|
||||||
///// <param name="replaceDto">替换字符对象</param>
|
|
||||||
///// <returns></returns>
|
|
||||||
//public static void GetQueryDtoProperty(GenTableColumn tbColumn, ReplaceDto replaceDto)
|
|
||||||
//{
|
|
||||||
// if (tbColumn.IsQuery)
|
|
||||||
// {
|
|
||||||
// //字符串类型表达式
|
|
||||||
// if (tbColumn.CsharpType == GenConstants.TYPE_STRING)
|
|
||||||
// {
|
|
||||||
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.{tbColumn.CsharpField}), {QueryExp(tbColumn.CsharpField, tbColumn.QueryType)};\n";
|
|
||||||
// }
|
|
||||||
// //int类型表达式
|
|
||||||
// if (CodeGeneratorTool.IsNumber(tbColumn.CsharpType))
|
|
||||||
// {
|
|
||||||
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(parm.{tbColumn.CsharpField} > 0, {QueryExp(tbColumn.CsharpField, tbColumn.QueryType)};\n";
|
|
||||||
// }
|
|
||||||
// //时间类型
|
|
||||||
// if (tbColumn.CsharpType == GenConstants.TYPE_DATE)
|
|
||||||
// {
|
|
||||||
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(parm.Begin{tbColumn.CsharpField} != null, it => it.{tbColumn.CsharpField} >= parm.Begin{tbColumn.CsharpField});\n";
|
|
||||||
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(parm.End{tbColumn.CsharpField} != null, it => it.{tbColumn.CsharpField} <= parm.End{tbColumn.CsharpField});\n";
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
#region vue 模板
|
#region vue 模板
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -65,8 +36,9 @@ namespace ZR.CodeGenerator
|
|||||||
}
|
}
|
||||||
if (dbFieldInfo.HtmlType == GenConstants.HTML_INPUT_NUMBER)
|
if (dbFieldInfo.HtmlType == GenConstants.HTML_INPUT_NUMBER)
|
||||||
{
|
{
|
||||||
|
//数字框
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
sb.AppendLine(" <el-col :span=\"12\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <el-input-number v-model.number=\"form.{columnName}\" placeholder=\"请输入{labelName}\" {labelDisabled}/>");
|
sb.AppendLine($" <el-input-number v-model.number=\"form.{columnName}\" placeholder=\"请输入{labelName}\" {labelDisabled}/>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
@ -75,7 +47,7 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
//时间
|
//时间
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
sb.AppendLine(" <el-col :span=\"12\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <el-date-picker v-model=\"form.{columnName}\" format=\"yyyy-MM-dd HH:mm:ss\" value-format=\"yyyy-MM-dd HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\"> </el-date-picker>");
|
sb.AppendLine($" <el-date-picker v-model=\"form.{columnName}\" format=\"yyyy-MM-dd HH:mm:ss\" value-format=\"yyyy-MM-dd HH:mm:ss\" type=\"datetime\" placeholder=\"选择日期时间\"> </el-date-picker>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
@ -84,7 +56,7 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
//图片
|
//图片
|
||||||
sb.AppendLine(" <el-col :span=\"24\">");
|
sb.AppendLine(" <el-col :span=\"24\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($@" <UploadImage v-model=""form.{columnName}"" column=""{columnName}"" @input=""handleUploadSuccess"" />");
|
sb.AppendLine($@" <UploadImage v-model=""form.{columnName}"" column=""{columnName}"" @input=""handleUploadSuccess"" />");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
@ -93,63 +65,55 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
//文件
|
//文件
|
||||||
sb.AppendLine(" <el-col :span=\"24\">");
|
sb.AppendLine(" <el-col :span=\"24\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($@" <UploadFile v-model=""form.{columnName}"" column=""{columnName}"" @input=""handleUploadSuccess"" />");
|
sb.AppendLine($@" <UploadFile v-model=""form.{columnName}"" column=""{columnName}"" @input=""handleUploadSuccess"" />");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
}
|
}
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO && !string.IsNullOrEmpty(dbFieldInfo.DictType))
|
|
||||||
{
|
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
|
||||||
sb.AppendLine($" <el-radio-group v-model=\"form.{columnName}\">");
|
|
||||||
sb.AppendLine($" <el-radio v-for=\"item in {columnName}Options\" :key=\"item.dictValue\" :label=\"{value}\">{{{{item.dictLabel}}}}</el-radio>");
|
|
||||||
sb.AppendLine(" </el-radio-group>");
|
|
||||||
sb.AppendLine(" </el-form-item>");
|
|
||||||
sb.AppendLine(" </el-col>");
|
|
||||||
}
|
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO)
|
else if (dbFieldInfo.HtmlType == GenConstants.HTML_RADIO)
|
||||||
{
|
{
|
||||||
|
//单选按钮
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
sb.AppendLine(" <el-col :span=\"12\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <el-radio-group v-model=\"form.{columnName}\">");
|
sb.AppendLine($" <el-radio-group v-model=\"form.{columnName}\">");
|
||||||
|
if (string.IsNullOrEmpty(dbFieldInfo.DictType))
|
||||||
|
{
|
||||||
sb.AppendLine(" <el-radio :label=\"1\">请选择字典生成</el-radio>");
|
sb.AppendLine(" <el-radio :label=\"1\">请选择字典生成</el-radio>");
|
||||||
|
}
|
||||||
|
sb.AppendLine($" <el-radio v-for=\"item in {columnName}Options\" :key=\"item.dictValue\" :label=\"{value}\">{{{{item.dictLabel}}}}</el-radio>");
|
||||||
sb.AppendLine(" </el-radio-group>");
|
sb.AppendLine(" </el-radio-group>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
}
|
}
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA)
|
else if (dbFieldInfo.HtmlType == GenConstants.HTML_TEXTAREA)
|
||||||
{
|
{
|
||||||
|
//文本域
|
||||||
sb.AppendLine(" <el-col :span=\"24\">");
|
sb.AppendLine(" <el-col :span=\"24\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{ labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <el-input type=\"textarea\" v-model=\"form.{columnName}\" placeholder=\"请输入{labelName}\"/>");
|
sb.AppendLine($" <el-input type=\"textarea\" v-model=\"form.{columnName}\" placeholder=\"请输入{labelName}\"/>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
}
|
}
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR)
|
else if (dbFieldInfo.HtmlType == GenConstants.HTML_EDITOR)
|
||||||
{
|
{
|
||||||
|
//编辑器
|
||||||
sb.AppendLine(" <el-col :span=\"24\">");
|
sb.AppendLine(" <el-col :span=\"24\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <editor v-model=\"form.{columnName}\" :min-height=\"200\" />");
|
sb.AppendLine($" <editor v-model=\"form.{columnName}\" :min-height=\"200\" />");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
}
|
}
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && !string.IsNullOrEmpty(dbFieldInfo.DictType))
|
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT)
|
||||||
{
|
{
|
||||||
|
//下拉框
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
sb.AppendLine(" <el-col :span=\"12\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <el-select v-model=\"form.{columnName}\" placeholder=\"请选择{labelName}\"> ");
|
sb.AppendLine($" <el-select v-model=\"form.{columnName}\" placeholder=\"请选择{labelName}\"> ");
|
||||||
sb.AppendLine($" <el-option v-for=\"item in {columnName}Options\" :key=\"item.dictValue\" :label=\"item.dictLabel\" :value=\"{value}\"></el-option>");
|
if (string.IsNullOrEmpty(dbFieldInfo.DictType))
|
||||||
sb.AppendLine(" </el-select>");
|
|
||||||
sb.AppendLine(" </el-form-item>");
|
|
||||||
sb.AppendLine(" </el-col>");
|
|
||||||
}
|
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT && string.IsNullOrEmpty(dbFieldInfo.DictType))
|
|
||||||
{
|
{
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
|
||||||
sb.AppendLine($" <el-select v-model=\"form.{columnName}\">");
|
|
||||||
sb.AppendLine($" <el-option label=\"请选择字典生成\" value=\"\"></el-option>");
|
sb.AppendLine($" <el-option label=\"请选择字典生成\" value=\"\"></el-option>");
|
||||||
|
}
|
||||||
|
sb.AppendLine($" <el-option v-for=\"item in {columnName}Options\" :key=\"item.dictValue\" :label=\"item.dictLabel\" :value=\"{value}\"></el-option>");
|
||||||
sb.AppendLine(" </el-select>");
|
sb.AppendLine(" </el-select>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
@ -158,7 +122,7 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : "";
|
string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : "";
|
||||||
sb.AppendLine(" <el-col :span=\"12\">");
|
sb.AppendLine(" <el-col :span=\"12\">");
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\" prop=\"{columnName}\">");
|
||||||
sb.AppendLine($" <el-input v-model{inputNumTxt}=\"form.{columnName}\" placeholder=\"请输入{labelName}\" {labelDisabled}/>");
|
sb.AppendLine($" <el-input v-model{inputNumTxt}=\"form.{columnName}\" placeholder=\"请输入{labelName}\" {labelDisabled}/>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
sb.AppendLine(" </el-col>");
|
sb.AppendLine(" </el-col>");
|
||||||
@ -176,7 +140,7 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
StringBuilder sb = new();
|
StringBuilder sb = new();
|
||||||
string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, dbFieldInfo.ColumnName);
|
string labelName = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, dbFieldInfo.ColumnName);
|
||||||
if (!dbFieldInfo.IsQuery || dbFieldInfo.HtmlType == GenConstants.HTML_FILE_UPLOAD) return sb.ToString();
|
if (!dbFieldInfo.IsQuery) return sb.ToString();
|
||||||
if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME)
|
if (dbFieldInfo.HtmlType == GenConstants.HTML_DATETIME)
|
||||||
{
|
{
|
||||||
sb.AppendLine($" <el-form-item label=\"{labelName}\">");
|
sb.AppendLine($" <el-form-item label=\"{labelName}\">");
|
||||||
@ -184,7 +148,7 @@ namespace ZR.CodeGenerator
|
|||||||
sb.AppendLine($" end-placeholder=\"结束日期\" placeholder=\"请选择{dbFieldInfo.ColumnComment}\" ></el-date-picker>");
|
sb.AppendLine($" end-placeholder=\"结束日期\" placeholder=\"请选择{dbFieldInfo.ColumnComment}\" ></el-date-picker>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
}
|
}
|
||||||
else if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO) && !string.IsNullOrEmpty(dbFieldInfo.DictType))
|
else if ((dbFieldInfo.HtmlType == GenConstants.HTML_SELECT || dbFieldInfo.HtmlType == GenConstants.HTML_RADIO))
|
||||||
{
|
{
|
||||||
//string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue";
|
//string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue";
|
||||||
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{dbFieldInfo.ColumnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{dbFieldInfo.ColumnName}\">");
|
||||||
@ -193,16 +157,7 @@ namespace ZR.CodeGenerator
|
|||||||
sb.AppendLine(" </el-select>");
|
sb.AppendLine(" </el-select>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
}
|
}
|
||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT)
|
else if(dbFieldInfo.IsQuery)
|
||||||
{
|
|
||||||
//string value = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? "parseInt(item.dictValue)" : "item.dictValue";
|
|
||||||
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{dbFieldInfo.ColumnName}\">");
|
|
||||||
sb.AppendLine($" <el-select v-model=\"queryParams.{dbFieldInfo.ColumnName}\" placeholder=\"请选择{dbFieldInfo.ColumnComment}\" size=\"small\">");
|
|
||||||
sb.AppendLine($" <el-option v-for=\"item in {dbFieldInfo.ColumnName}Options\" :key=\"item.dictValue\" :label=\"item.dictLabel\" :value=\"item.dictValue\"></el-option>");
|
|
||||||
sb.AppendLine(" </el-select>");
|
|
||||||
sb.AppendLine(" </el-form-item>");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : "";
|
string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : "";
|
||||||
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{dbFieldInfo.ColumnName}\">");
|
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{dbFieldInfo.ColumnName}\">");
|
||||||
@ -224,11 +179,10 @@ namespace ZR.CodeGenerator
|
|||||||
string columnName = dbFieldInfo.ColumnName;
|
string columnName = dbFieldInfo.ColumnName;
|
||||||
string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName);
|
string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName);
|
||||||
string showToolTip = dbFieldInfo.CsharpType == "string" ? ":show-overflow-tooltip=\"true\"" : "";
|
string showToolTip = dbFieldInfo.CsharpType == "string" ? ":show-overflow-tooltip=\"true\"" : "";
|
||||||
string formatter = !string.IsNullOrEmpty(dbFieldInfo.DictType) ? $" :formatter=\"{columnName}Format\"" : "";
|
string formatter = GetFormatter(dbFieldInfo.HtmlType, columnName);
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
var sortField = genTable?.SortField ?? "";
|
//自定义排序字段
|
||||||
//有排序字段
|
if (GenConstants.HTML_SORT.Equals(dbFieldInfo.HtmlType) && !dbFieldInfo.IsPk && CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType))
|
||||||
if (!string.IsNullOrEmpty(sortField.ToString()) && sortField.ToString() == dbFieldInfo.CsharpField && !dbFieldInfo.IsPk && CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType))
|
|
||||||
{
|
{
|
||||||
sb.AppendLine($@" <el-table-column prop=""{columnName}"" label=""{label}"" width=""90"" sortable align=""center"">");
|
sb.AppendLine($@" <el-table-column prop=""{columnName}"" label=""{label}"" width=""90"" sortable align=""center"">");
|
||||||
sb.AppendLine(@" <template slot-scope=""scope"">");
|
sb.AppendLine(@" <template slot-scope=""scope"">");
|
||||||
@ -249,13 +203,13 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
sb.AppendLine($@" <el-table-column label=""{label}"" align=""center"" prop=""{columnName}"">");
|
sb.AppendLine($@" <el-table-column label=""{label}"" align=""center"" prop=""{columnName}"">");
|
||||||
sb.AppendLine(@" <template slot-scope=""scope"">");
|
sb.AppendLine(@" <template slot-scope=""scope"">");
|
||||||
if (dbFieldInfo.HtmlType == "checkbox")
|
if (dbFieldInfo.HtmlType == GenConstants.HTML_CHECKBOX)
|
||||||
{
|
{
|
||||||
sb.AppendLine($@" <dict-tag :options=""{dbFieldInfo.ColumnName}Options"" :value=""scope.row.{dbFieldInfo.ColumnName} ? scope.row.{dbFieldInfo.ColumnName}.split(',') : []""/>");
|
sb.AppendLine($@" <dict-tag :options=""{columnName}Options"" :value=""scope.row.{columnName} ? scope.row.{columnName}.split(',') : []""/>");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sb.AppendLine($@" <dict-tag :options=""{dbFieldInfo.ColumnName}Options"" :value=""scope.row.{dbFieldInfo.ColumnName}""/>");
|
sb.AppendLine($@" <dict-tag :options=""{columnName}Options"" :value=""scope.row.{columnName}""/>");
|
||||||
}
|
}
|
||||||
sb.AppendLine(@" </template>");
|
sb.AppendLine(@" </template>");
|
||||||
sb.AppendLine(@" </el-table-column>");
|
sb.AppendLine(@" </el-table-column>");
|
||||||
@ -268,7 +222,7 @@ namespace ZR.CodeGenerator
|
|||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
//模板调用
|
||||||
public static string QueryExp(string propertyName, string queryType)
|
public static string QueryExp(string propertyName, string queryType)
|
||||||
{
|
{
|
||||||
if (queryType.Equals("EQ"))
|
if (queryType.Equals("EQ"))
|
||||||
@ -301,5 +255,21 @@ namespace ZR.CodeGenerator
|
|||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// 格式化字典数据显示到table
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="htmlType"></param>
|
||||||
|
/// <param name="columnName"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static string GetFormatter(string htmlType, string columnName)
|
||||||
|
{
|
||||||
|
if (htmlType.Equals(GenConstants.HTML_CHECKBOX) ||
|
||||||
|
htmlType.Equals(GenConstants.HTML_SELECT) ||
|
||||||
|
htmlType.Equals(GenConstants.HTML_RADIO))
|
||||||
|
{
|
||||||
|
return $" :formatter=\"{columnName}Format\"";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -112,7 +112,7 @@ namespace ZR.CodeGenerator
|
|||||||
var tpl = FileHelper.ReadJtTemplate("TplModel.txt");
|
var tpl = FileHelper.ReadJtTemplate("TplModel.txt");
|
||||||
var result = tpl.Render();
|
var result = tpl.Render();
|
||||||
|
|
||||||
generateDto.GenCodes.Add(new GenCode(1, "Model", fullPath, result));
|
generateDto.GenCodes.Add(new GenCode(1, "Model.cs", fullPath, result));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -123,11 +123,10 @@ namespace ZR.CodeGenerator
|
|||||||
private static void GenerateInputDto(ReplaceDto replaceDto, GenerateDto generateDto)
|
private static void GenerateInputDto(ReplaceDto replaceDto, GenerateDto generateDto)
|
||||||
{
|
{
|
||||||
var fullPath = Path.Combine(generateDto.GenCodePath, _option.ModelsNamespace, "Dto", generateDto.GenTable.ModuleName, $"{replaceDto.ModelTypeName}Dto.cs");
|
var fullPath = Path.Combine(generateDto.GenCodePath, _option.ModelsNamespace, "Dto", generateDto.GenTable.ModuleName, $"{replaceDto.ModelTypeName}Dto.cs");
|
||||||
|
|
||||||
var tpl = FileHelper.ReadJtTemplate("TplDto.txt");
|
var tpl = FileHelper.ReadJtTemplate("TplDto.txt");
|
||||||
|
|
||||||
var result = tpl.Render();
|
var result = tpl.Render();
|
||||||
generateDto.GenCodes.Add(new GenCode(2, "Dto", fullPath, result));
|
generateDto.GenCodes.Add(new GenCode(2, "Dto.cs", fullPath, result));
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -144,7 +143,7 @@ namespace ZR.CodeGenerator
|
|||||||
var tpl = FileHelper.ReadJtTemplate("TplRepository.txt");
|
var tpl = FileHelper.ReadJtTemplate("TplRepository.txt");
|
||||||
|
|
||||||
var result = tpl.Render();
|
var result = tpl.Render();
|
||||||
generateDto.GenCodes.Add(new GenCode(3, "Repository", fullPath, result));
|
generateDto.GenCodes.Add(new GenCode(3, "Repository.cs", fullPath, result));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -158,15 +157,13 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
var fullPath = Path.Combine(generateDto.GenCodePath, _option.ServicesNamespace, "Business", $"{replaceDto.ModelTypeName}Service.cs");
|
var fullPath = Path.Combine(generateDto.GenCodePath, _option.ServicesNamespace, "Business", $"{replaceDto.ModelTypeName}Service.cs");
|
||||||
var tpl = FileHelper.ReadJtTemplate("TplService.txt");
|
var tpl = FileHelper.ReadJtTemplate("TplService.txt");
|
||||||
|
|
||||||
var result = tpl.Render();
|
var result = tpl.Render();
|
||||||
generateDto.GenCodes.Add(new GenCode(4, "Service", fullPath, result));
|
generateDto.GenCodes.Add(new GenCode(4, "Service.cs", fullPath, result));
|
||||||
|
|
||||||
var fullPath2 = Path.Combine(generateDto.GenCodePath, _option.IServicsNamespace, "Business", "IBusService", $"I{replaceDto.ModelTypeName}Service.cs");
|
var fullPath2 = Path.Combine(generateDto.GenCodePath, _option.IServicsNamespace, "Business", "IBusService", $"I{replaceDto.ModelTypeName}Service.cs");
|
||||||
var tpl2 = FileHelper.ReadJtTemplate("TplIService.txt");
|
var tpl2 = FileHelper.ReadJtTemplate("TplIService.txt");
|
||||||
|
|
||||||
var result2 = tpl2.Render();
|
var result2 = tpl2.Render();
|
||||||
generateDto.GenCodes.Add(new GenCode(4, "IService", fullPath2, result2));
|
generateDto.GenCodes.Add(new GenCode(4, "IService.cs", fullPath2, result2));
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -182,7 +179,7 @@ namespace ZR.CodeGenerator
|
|||||||
|
|
||||||
tpl.Set("QueryCondition", replaceDto.QueryCondition);
|
tpl.Set("QueryCondition", replaceDto.QueryCondition);
|
||||||
var result = tpl.Render();
|
var result = tpl.Render();
|
||||||
generateDto.GenCodes.Add(new GenCode(5, "Controller", fullPath, result));
|
generateDto.GenCodes.Add(new GenCode(5, "Controller.cs", fullPath, result));
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
@ -14,14 +14,14 @@ namespace ZR.CodeGenerator
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class DbProvider
|
public class DbProvider
|
||||||
{
|
{
|
||||||
protected static SqlSugarScope CodeDb;
|
protected static SqlSugarClient CodeDb;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取动态连接字符串
|
/// 获取动态连接字符串
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="dbName">数据库名</param>
|
/// <param name="dbName">数据库名</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public SqlSugarScope GetSugarDbContext(string dbName = "")
|
public SqlSugarClient GetSugarDbContext(string dbName = "")
|
||||||
{
|
{
|
||||||
string connStr = ConfigUtils.Instance.GetConfig(GenConstants.Gen_conn);
|
string connStr = ConfigUtils.Instance.GetConfig(GenConstants.Gen_conn);
|
||||||
int dbType = ConfigUtils.Instance.GetAppConfig(GenConstants.Gen_conn_dbType, 0);
|
int dbType = ConfigUtils.Instance.GetAppConfig(GenConstants.Gen_conn_dbType, 0);
|
||||||
@ -31,7 +31,7 @@ namespace ZR.CodeGenerator
|
|||||||
string replaceStr = GetValue(connStr, "database=", ";");
|
string replaceStr = GetValue(connStr, "database=", ";");
|
||||||
connStr = connStr.Replace(replaceStr, dbName);
|
connStr = connStr.Replace(replaceStr, dbName);
|
||||||
}
|
}
|
||||||
var db = new SqlSugarScope(new List<ConnectionConfig>()
|
var db = new SqlSugarClient(new List<ConnectionConfig>()
|
||||||
{
|
{
|
||||||
new ConnectionConfig(){
|
new ConnectionConfig(){
|
||||||
ConnectionString = connStr,
|
ConnectionString = connStr,
|
||||||
|
|||||||
@ -130,7 +130,7 @@ namespace ZR.CodeGenerator
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
//生成压缩包
|
//生成压缩包
|
||||||
string zipReturnFileName = dto.GenTable.BaseNameSpace + DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip";
|
string zipReturnFileName = "ZrAdmin.NET" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".zip";
|
||||||
|
|
||||||
CreateDirectory(dto.GenCodePath);
|
CreateDirectory(dto.GenCodePath);
|
||||||
string zipFileName = Path.Combine(dto.ZipPath, zipReturnFileName);
|
string zipFileName = Path.Combine(dto.ZipPath, zipReturnFileName);
|
||||||
|
|||||||
@ -109,6 +109,12 @@ namespace ZR.CodeGenerator
|
|||||||
|
|
||||||
/** 富文本控件 */
|
/** 富文本控件 */
|
||||||
public static string HTML_EDITOR = "editor";
|
public static string HTML_EDITOR = "editor";
|
||||||
|
// 自定义排序
|
||||||
|
public static string HTML_SORT = "sort";
|
||||||
|
//颜色选择器
|
||||||
|
public static string HTML_COLORPICKER = "colorPicker";
|
||||||
|
//switch开关
|
||||||
|
public static string HTML_SWITCH { get; set; }
|
||||||
|
|
||||||
/** 字符串类型 */
|
/** 字符串类型 */
|
||||||
public static string TYPE_STRING = "string";
|
public static string TYPE_STRING = "string";
|
||||||
|
|||||||
@ -14,7 +14,7 @@ namespace ZR.CodeGenerator.Service
|
|||||||
public List<string> GetAllDataBases()
|
public List<string> GetAllDataBases()
|
||||||
{
|
{
|
||||||
var db = GetSugarDbContext();
|
var db = GetSugarDbContext();
|
||||||
var templist = db.DbMaintenance.GetDataBaseList(db.ScopedContext);
|
var templist = db.DbMaintenance.GetDataBaseList(db);
|
||||||
|
|
||||||
return templist;
|
return templist;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,11 +31,6 @@
|
|||||||
<el-input v-model="scope.row.csharpField"></el-input>
|
<el-input v-model="scope.row.csharpField"></el-input>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="必填" min-width="5%">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-checkbox v-model="scope.row.isRequired"></el-checkbox>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column label="插入" min-width="5%">
|
<el-table-column label="插入" min-width="5%">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-checkbox v-model="scope.row.isInsert" :disabled="scope.row.isPk || scope.row.isIncrement"></el-checkbox>
|
<el-checkbox v-model="scope.row.isInsert" :disabled="scope.row.isPk || scope.row.isIncrement"></el-checkbox>
|
||||||
@ -71,6 +66,11 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="必填" min-width="5%">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-checkbox v-model="scope.row.isRequired"></el-checkbox>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="表单显示类型" min-width="12%">
|
<el-table-column label="表单显示类型" min-width="12%">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-select v-model="scope.row.htmlType">
|
<el-select v-model="scope.row.htmlType">
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user