优化代码生成Controller 查询条件拼接
This commit is contained in:
parent
0f3424de55
commit
1fa9d2aad5
@ -51,7 +51,18 @@ namespace ${options.ApiControllerNamespace}.Controllers
|
|||||||
var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>();
|
var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>();
|
||||||
|
|
||||||
//搜索条件查询语法参考Sqlsugar
|
//搜索条件查询语法参考Sqlsugar
|
||||||
${QueryCondition}
|
$foreach(column in genTable.Columns)
|
||||||
|
$if(column.IsQuery)
|
||||||
|
$if(column.CsharpType == "string")
|
||||||
|
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.${column.CsharpField}), ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
|
||||||
|
$elseif(column.CsharpType == "DateTime")
|
||||||
|
predicate = predicate.AndIF(parm.Begin${column.CsharpField} != null, it => it.${column.CsharpField} >= parm.Begin${column.CsharpField});
|
||||||
|
predicate = predicate.AndIF(parm.End${column.CsharpField} != null, it => it.${column.CsharpField} <= parm.End${column.CsharpField});
|
||||||
|
$elseif(column.CsharpType == "int" || column.CsharpType == "long")
|
||||||
|
predicate = predicate.AndIF(parm.${column.CsharpField} != null, ${codeTool.QueryExp(column.CsharpField, column.QueryType)};
|
||||||
|
$end
|
||||||
|
$end
|
||||||
|
$end
|
||||||
$if(genTable.SortField != "" && genTable.SortField != null)
|
$if(genTable.SortField != "" && genTable.SortField != null)
|
||||||
var response = _${replaceDto.ModelTypeName}Service.GetPages(predicate.ToExpression(), parm, x => x.${genTable.SortField}, "${genTable.SortType}");
|
var response = _${replaceDto.ModelTypeName}Service.GetPages(predicate.ToExpression(), parm, x => x.${genTable.SortField}, "${genTable.SortType}");
|
||||||
$else
|
$else
|
||||||
|
|||||||
@ -14,7 +14,7 @@ $foreach(item in genTable.Columns)
|
|||||||
$if((item.IsInsert || item.IsEdit || item.IsPk || item.IsIncrement))
|
$if((item.IsInsert || item.IsEdit || item.IsPk || item.IsIncrement))
|
||||||
public $item.CsharpType$item.RequiredStr $item.CsharpField { get; set; }
|
public $item.CsharpType$item.RequiredStr $item.CsharpField { get; set; }
|
||||||
$end
|
$end
|
||||||
${end}
|
$end
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -27,8 +27,8 @@ $if(item.IsQuery && item.htmlType == "datetime")
|
|||||||
public DateTime? Begin$item.CsharpField { get; set; }
|
public DateTime? Begin$item.CsharpField { get; set; }
|
||||||
public DateTime? End$item.CsharpField { get; set; }
|
public DateTime? End$item.CsharpField { get; set; }
|
||||||
$elseif(item.IsQuery)
|
$elseif(item.IsQuery)
|
||||||
public $item.CsharpType $item.CsharpField { get; set; }
|
public $item.CsharpType$if(item.CsharpType != "string")?$end $item.CsharpField { get; set; }
|
||||||
|
$end
|
||||||
$end
|
$end
|
||||||
${end}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,7 +8,6 @@ ${vueQueryFormHtml}
|
|||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
</el-row>
|
</el-row>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<!-- 工具区域 -->
|
<!-- 工具区域 -->
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
@ -93,7 +92,12 @@ export default {
|
|||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 20
|
pageSize: 20,
|
||||||
|
$foreach(item in genTable.Columns)
|
||||||
|
$if(item.IsQuery == true)
|
||||||
|
${item.columnName}: undefined,
|
||||||
|
$end
|
||||||
|
$end
|
||||||
},
|
},
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "",
|
title: "",
|
||||||
@ -101,8 +105,6 @@ export default {
|
|||||||
open: false,
|
open: false,
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
// 时间范围数组
|
|
||||||
timeRange: [],
|
|
||||||
columns: [
|
columns: [
|
||||||
$set(index = 0)
|
$set(index = 0)
|
||||||
$foreach(column in genTable.Columns)
|
$foreach(column in genTable.Columns)
|
||||||
|
|||||||
@ -11,34 +11,34 @@ namespace ZR.CodeGenerator
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public class CodeGenerateTemplate
|
public class CodeGenerateTemplate
|
||||||
{
|
{
|
||||||
/// <summary>
|
///// <summary>
|
||||||
/// 查询Dto属性
|
///// 查询Dto属性
|
||||||
/// </summary>
|
///// </summary>
|
||||||
/// <param name="tbColumn"></param>
|
///// <param name="tbColumn"></param>
|
||||||
/// <param name="replaceDto">替换字符对象</param>
|
///// <param name="replaceDto">替换字符对象</param>
|
||||||
/// <returns></returns>
|
///// <returns></returns>
|
||||||
public static void GetQueryDtoProperty(GenTableColumn tbColumn, ReplaceDto replaceDto)
|
//public static void GetQueryDtoProperty(GenTableColumn tbColumn, ReplaceDto replaceDto)
|
||||||
{
|
//{
|
||||||
if (tbColumn.IsQuery)
|
// if (tbColumn.IsQuery)
|
||||||
{
|
// {
|
||||||
//字符串类型表达式
|
// //字符串类型表达式
|
||||||
if (tbColumn.CsharpType == GenConstants.TYPE_STRING)
|
// if (tbColumn.CsharpType == GenConstants.TYPE_STRING)
|
||||||
{
|
// {
|
||||||
replaceDto.QueryCondition += $" predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.{tbColumn.CsharpField}), {QueryExp(tbColumn.CsharpField, tbColumn.QueryType)};\n";
|
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.{tbColumn.CsharpField}), {QueryExp(tbColumn.CsharpField, tbColumn.QueryType)};\n";
|
||||||
}
|
// }
|
||||||
//int类型表达式
|
// //int类型表达式
|
||||||
if (CodeGeneratorTool.IsNumber(tbColumn.CsharpType))
|
// if (CodeGeneratorTool.IsNumber(tbColumn.CsharpType))
|
||||||
{
|
// {
|
||||||
replaceDto.QueryCondition += $" predicate = predicate.AndIF(parm.{tbColumn.CsharpField} > 0, {QueryExp(tbColumn.CsharpField, tbColumn.QueryType)};\n";
|
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(parm.{tbColumn.CsharpField} > 0, {QueryExp(tbColumn.CsharpField, tbColumn.QueryType)};\n";
|
||||||
}
|
// }
|
||||||
//时间类型
|
// //时间类型
|
||||||
if (tbColumn.CsharpType == GenConstants.TYPE_DATE)
|
// 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.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";
|
// replaceDto.QueryCondition += $" predicate = predicate.AndIF(parm.End{tbColumn.CsharpField} != null, it => it.{tbColumn.CsharpField} <= parm.End{tbColumn.CsharpField});\n";
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
//}
|
||||||
|
|
||||||
#region vue 模板
|
#region vue 模板
|
||||||
|
|
||||||
@ -187,7 +187,7 @@ namespace ZR.CodeGenerator
|
|||||||
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.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";
|
||||||
sb.AppendLine($" <el-form-item label=\"{ labelName}\" :label-width=\"labelWidth\" prop=\"{dbFieldInfo.ColumnName}\">");
|
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-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-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-select>");
|
||||||
@ -196,7 +196,7 @@ namespace ZR.CodeGenerator
|
|||||||
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT)
|
else if (dbFieldInfo.HtmlType == GenConstants.HTML_SELECT)
|
||||||
{
|
{
|
||||||
//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}\" :label-width=\"labelWidth\" prop=\"{dbFieldInfo.ColumnName}\">");
|
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-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-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-select>");
|
||||||
@ -205,7 +205,7 @@ namespace ZR.CodeGenerator
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : "";
|
string inputNumTxt = CodeGeneratorTool.IsNumber(dbFieldInfo.CsharpType) ? ".number" : "";
|
||||||
sb.AppendLine($" <el-form-item label=\"{ labelName}\" :label-width=\"labelWidth\">");
|
sb.AppendLine($" <el-form-item label=\"{ labelName}\" prop=\"{dbFieldInfo.ColumnName}\">");
|
||||||
sb.AppendLine($" <el-input v-model{inputNumTxt}=\"queryParams.{dbFieldInfo.ColumnName}\" placeholder=\"请输入{dbFieldInfo.ColumnComment}\" size=\"small\"/>");
|
sb.AppendLine($" <el-input v-model{inputNumTxt}=\"queryParams.{dbFieldInfo.ColumnName}\" placeholder=\"请输入{dbFieldInfo.ColumnComment}\" size=\"small\"/>");
|
||||||
sb.AppendLine(" </el-form-item>");
|
sb.AppendLine(" </el-form-item>");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -69,7 +69,7 @@ namespace ZR.CodeGenerator
|
|||||||
{
|
{
|
||||||
replaceDto.UploadFile = 1;
|
replaceDto.UploadFile = 1;
|
||||||
}
|
}
|
||||||
CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo, replaceDto);
|
//CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo, replaceDto);
|
||||||
|
|
||||||
replaceDto.VueViewFormHtml += CodeGenerateTemplate.TplVueFormContent(dbFieldInfo);
|
replaceDto.VueViewFormHtml += CodeGenerateTemplate.TplVueFormContent(dbFieldInfo);
|
||||||
replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo, dto.GenTable);
|
replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo, dto.GenTable);
|
||||||
@ -432,7 +432,8 @@ namespace ZR.CodeGenerator
|
|||||||
options.Data.Set("options", dto.GenOptions);
|
options.Data.Set("options", dto.GenOptions);
|
||||||
options.Data.Set("genTable", dto.GenTable);
|
options.Data.Set("genTable", dto.GenTable);
|
||||||
options.Data.Set("btns", dto.CheckedBtn);
|
options.Data.Set("btns", dto.CheckedBtn);
|
||||||
//options.Data.Set("codeTool", new CodeGeneratorTool());
|
options.Data.Set("tool", new CodeGeneratorTool());
|
||||||
|
options.Data.Set("codeTool", new CodeGenerateTemplate());
|
||||||
options.EnableCache = true;
|
options.EnableCache = true;
|
||||||
//...其它数据
|
//...其它数据
|
||||||
});
|
});
|
||||||
|
|||||||
@ -66,8 +66,7 @@ export function addDateRange(params, dateRange) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function addDateRange2(dateRange, index) {
|
export function addDateRange2(dateRange, index) {
|
||||||
console.log(dateRange);
|
var time = undefined;
|
||||||
var time = "";
|
|
||||||
if (null != dateRange && '' != dateRange) {
|
if (null != dateRange && '' != dateRange) {
|
||||||
if (dateRange.length <= 2) {
|
if (dateRange.length <= 2) {
|
||||||
time = dateRange[index];
|
time = dateRange[index];
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user