diff --git a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt
index f302ce1..97c928c 100644
--- a/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt
+++ b/ZR.Admin.WebApi/wwwroot/CodeGenTemplate/v3/Vue.txt
@@ -37,7 +37,7 @@ $if(column.HtmlType == "datetime")
:shortcuts="dateOptions">
-$elseif(column.HtmlType == "select" || column.HtmlType == "radio")
+$elseif(column.HtmlType == "select" || column.HtmlType == "radio" || column.HtmlType == "selectMulti")
@@ -140,7 +140,7 @@ $elseif(column.HtmlType == "imageUpload")
-$elseif(column.HtmlType == "checkbox" || column.HtmlType == "select" || column.HtmlType == "radio")
+$elseif(column.HtmlType == "checkbox" || column.HtmlType == "select" || column.HtmlType == "radio" || column.HtmlType == "selectMulti")
$if(column.HtmlType == "checkbox")
@@ -243,7 +243,7 @@ $elseif(column.HtmlType == "editor")
-$elseif(column.HtmlType == "select")
+$elseif(column.HtmlType == "select" || column.HtmlType == "selectMulti")
@@ -361,7 +361,7 @@ $end
$set(index = 0)
var dictParams = [
$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 == "selectMulti" || item.HtmlType == "checkbox") && item.DictType != "")
{ dictType: "${item.DictType}" },
$set(index = index + 1)
$end
diff --git a/ZR.CodeGenerator/CodeGeneratorTool.cs b/ZR.CodeGenerator/CodeGeneratorTool.cs
index 484408f..e35e003 100644
--- a/ZR.CodeGenerator/CodeGeneratorTool.cs
+++ b/ZR.CodeGenerator/CodeGeneratorTool.cs
@@ -75,6 +75,10 @@ namespace ZR.CodeGenerator
{
replaceDto.UploadFile = 1;
}
+ if (dbFieldInfo.HtmlType.Equals(GenConstants.HTML_SELECT_MULTI))
+ {
+ replaceDto.SelectMulti = 1;
+ }
dbFieldInfo.CsharpFieldFl = dbFieldInfo.CsharpField.FirstLowerCase();
}
@@ -238,6 +242,7 @@ namespace ZR.CodeGenerator
var fullPath = Path.Combine(generateDto.VueParentPath, "src", "views", generateDto.GenTable.ModuleName.FirstLowerCase(), $"{generateDto.GenTable.BusinessName.FirstUpperCase()}.vue");
generateDto.GenCodes.Add(new GenCode(16, "index.vue", fullPath, result));
}
+
///
/// 生成vue页面api
///
@@ -261,7 +266,6 @@ namespace ZR.CodeGenerator
string fullPath = Path.Combine(generateDto.VueParentPath, "src", "api", generateDto.GenTable.ModuleName.FirstLowerCase(), fileName);
generateDto.GenCodes.Add(new GenCode(7, "api.js", fullPath, result));
-
}
///
@@ -534,7 +538,7 @@ namespace ZR.CodeGenerator
///
private static void InitJntTemplate(GenerateDto dto, ReplaceDto replaceDto)
{
- //Engine.Current.Clean();
+ Engine.Current.Clean();
dto.GenTable.Columns = dto.GenTable.Columns.OrderBy(x => x.Sort).ToList();
bool showCustomInput = dto.GenTable.Columns.Any(f => f.HtmlType.Equals(GenConstants.HTML_CUSTOM_INPUT, StringComparison.OrdinalIgnoreCase));
//jnt模板引擎全局变量
diff --git a/ZR.CodeGenerator/GenConstants.cs b/ZR.CodeGenerator/GenConstants.cs
index 5384f8a..83a35e4 100644
--- a/ZR.CodeGenerator/GenConstants.cs
+++ b/ZR.CodeGenerator/GenConstants.cs
@@ -91,6 +91,10 @@ namespace ZR.CodeGenerator
/** 下拉框 */
public static string HTML_SELECT = "select";
+ ///
+ /// 下拉多选
+ ///
+ public static string HTML_SELECT_MULTI = "selectMulti";
/** 单选框 */
public static string HTML_RADIO = "radio";
diff --git a/ZR.CodeGenerator/Model/ReplaceDto.cs b/ZR.CodeGenerator/Model/ReplaceDto.cs
index 72c231c..4ff77db 100644
--- a/ZR.CodeGenerator/Model/ReplaceDto.cs
+++ b/ZR.CodeGenerator/Model/ReplaceDto.cs
@@ -54,6 +54,10 @@ namespace ZR.CodeGenerator.Model
///
//public string VueUploadUrl { get; set; }
public int UploadFile { get; set; } = 0;
+ ///
+ /// 是否有下拉多选框
+ ///
+ public int SelectMulti { get; set; }
public string Author { get; set; }
public string AddTime { get; set; } = DateTime.Now.ToString("yyyy-MM-dd");
}
diff --git a/ZR.Model/System/Generate/GenTableColumn.cs b/ZR.Model/System/Generate/GenTableColumn.cs
index 8e8294c..804023c 100644
--- a/ZR.Model/System/Generate/GenTableColumn.cs
+++ b/ZR.Model/System/Generate/GenTableColumn.cs
@@ -99,7 +99,7 @@ namespace ZR.Model.System.Generate
get
{
string[] arr = new string[] { "int", "long" };
- return (!IsRequired && (arr.Any(f => f.Contains(CsharpType))) || typeof(DateTime).Name == CsharpType) ? "?" : "";
+ return (!IsRequired && HtmlType != "selectMulti" && (arr.Any(f => f.Contains(CsharpType))) || typeof(DateTime).Name == CsharpType) ? "?" : "";
}
}
///