代码生成新增字典回显样式、新增CheckBox回显

This commit is contained in:
不做码农 2021-12-08 14:09:52 +08:00
parent ca9fadaef6
commit 34332c21ce
3 changed files with 20 additions and 30 deletions

View File

@ -102,7 +102,7 @@ export default {
// 时间范围数组
timeRange: [],
$foreach(item in genTable.Columns)
$if((item.HtmlType == "radio" || item.HtmlType == "select"))
$if((item.HtmlType == "radio" || item.HtmlType == "select" || item.HtmlType == "checkbox"))
// ${item.ColumnComment}选项列表
${item.ColumnName}Options: [],
$elseif(item.HtmlType == "datetime" && item.IsQuery == true)
@ -138,7 +138,7 @@ $end
this.getList();
$foreach(item in genTable.Columns)
$if((item.HtmlType == "radio" || item.HtmlType == "select") && item.DictType != "")
$if((item.HtmlType == "radio" || item.HtmlType == "select" || item.HtmlType == "checkbox") && item.DictType != "")
this.getDicts("${item.DictType}").then((response) => {
this.${item.ColumnName}Options = response.data;
})
@ -257,7 +257,7 @@ $if(replaceDto.UploadFile == 1)
},
$end
$foreach(item in genTable.Columns)
$if((item.HtmlType == "radio" || item.HtmlType == "select") && item.DictType != "")
$if((item.HtmlType == "radio" || item.HtmlType == "select" || item.HtmlType == "checkbox") && item.DictType != "")
// ${item.ColumnComment}字典翻译
${item.ColumnName}Format(row, column) {
return this.selectDictLabel(this.${item.ColumnName}Options, row.${item.ColumnName});
@ -312,8 +312,3 @@ $end
},
};
</script>
<style scoped>
.table-td-thumb {
width: 80px;
}
</style>

View File

@ -42,26 +42,6 @@ namespace ZR.CodeGenerator
#region vue
///// <summary>
///// Vue rules
///// </summary>
///// <param name="dbFieldInfo"></param>
///// <returns></returns>
//public static string TplFormRules(GenTableColumn dbFieldInfo)
//{
// StringBuilder sbRule = new StringBuilder();
// //Rule 规则验证
// if (!dbFieldInfo.IsPk && !dbFieldInfo.IsIncrement && dbFieldInfo.IsRequired)
// {
// sbRule.AppendLine($" {dbFieldInfo.ColumnName}: [{{ required: true, message: '请输入{dbFieldInfo.ColumnComment}', trigger: \"blur\"}}],");
// }
// else if (CodeGeneratorTool.IsNumber(dbFieldInfo.ColumnType) && dbFieldInfo.IsRequired)
// {
// sbRule.AppendLine($" {dbFieldInfo.ColumnName}: [{{ type: 'number', message: '{dbFieldInfo.ColumnName}必须为数字值', trigger: \"blur\"}}],");
// }
// return sbRule.ToString();
//}
/// <summary>
/// Vue 添加修改表单
/// </summary>
@ -256,6 +236,21 @@ namespace ZR.CodeGenerator
sb.AppendLine(" </template>");
sb.AppendLine(" </el-table-column>");
}
else if (dbFieldInfo.IsList && !string.IsNullOrEmpty(dbFieldInfo.DictType))
{
sb.AppendLine($@" <el-table-column label=""{label}"" align=""center"" prop=""{columnName}"">");
sb.AppendLine(@" <template slot-scope=""scope"">");
if (dbFieldInfo.HtmlType == "checkbox")
{
sb.AppendLine($@" <dict-tag :options=""{dbFieldInfo.ColumnName}Options"" :value=""scope.row.{dbFieldInfo.ColumnName} ? scope.row.{dbFieldInfo.ColumnName}.split(',') : []""/>");
}
else
{
sb.AppendLine($@" <dict-tag :options=""{dbFieldInfo.ColumnName}Options"" :value=""scope.row.{dbFieldInfo.ColumnName}""/>");
}
sb.AppendLine(@" </template>");
sb.AppendLine(@" </el-table-column>");
}
else if (dbFieldInfo.IsList)
{
sb.AppendLine($" <el-table-column prop=\"{columnName}\" label=\"{label}\" align=\"center\" {showToolTip}{formatter}/>");

View File

@ -79,7 +79,7 @@
<el-option label="文本域" value="textarea" />
<el-option label="下拉框" value="select" />
<el-option label="单选框" value="radio" />
<!-- <el-option label="复选框" value="checkbox" /> -->
<el-option label="复选框" value="checkbox" />
<el-option label="日期控件" value="datetime" />
<el-option label="图片上传" value="imageUpload" />
<el-option label="文件上传" value="fileUpload" />