优化代码生成功能

This commit is contained in:
不做码农 2021-12-08 13:31:31 +08:00
parent c169ec18cd
commit ca9fadaef6
6 changed files with 52 additions and 44 deletions

View File

@ -67,7 +67,6 @@
<ItemGroup> <ItemGroup>
<Folder Include="Controllers\business\" /> <Folder Include="Controllers\business\" />
<Folder Include="Controllers\demo\" />
<Folder Include="wwwroot\export\" /> <Folder Include="wwwroot\export\" />
<Folder Include="wwwroot\Generatecode\" /> <Folder Include="wwwroot\Generatecode\" />
<Folder Include="wwwroot\uploads\" /> <Folder Include="wwwroot\uploads\" />

View File

@ -18,10 +18,10 @@
"cors": "http://localhost:8887" //"," "cors": "http://localhost:8887" //","
}, },
"JwtSettings": { "JwtSettings": {
"Issuer": "https://localhost:8888", "Issuer": "ZRAdmin.NET",
"Audience": "https://localhost:8888", "Audience": "ZRAdmin.NET",
"SecretKey": "Hello-key-ZRADMIN.NET-20210101", "SecretKey": "SecretKey-ZRADMIN.NET-20210101",
"Expire": 5 "Expire": 30
}, },
"DemoMode": false, // "DemoMode": false, //
"DbKey": "", //key "DbKey": "", //key

View File

@ -38,9 +38,7 @@ ${VueViewListContent}
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-hasPermi="['${replaceDto.PermissionPrefix}:update']" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button> <el-button v-hasPermi="['${replaceDto.PermissionPrefix}:update']" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">编辑</el-button>
<el-popconfirm title="确定删除吗?" @confirm="handleDelete(scope.row)" style="margin-left:10px"> <el-button v-hasPermi="['${replaceDto.PermissionPrefix}:delete']" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
<el-button slot="reference" v-hasPermi="['${replaceDto.PermissionPrefix}:delete']" type="text" icon="el-icon-delete">删除</el-button>
</el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -50,7 +48,7 @@ ${VueViewListContent}
<el-dialog :title="title" :lock-scroll="false" :visible.sync="open" > <el-dialog :title="title" :lock-scroll="false" :visible.sync="open" >
<el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth"> <el-form ref="form" :model="form" :rules="rules" :label-width="formLabelWidth">
<el-row> <el-row>
${VueViewFormContent} ${VueViewFormContent}
</el-row> </el-row>
</el-form> </el-form>
<div slot="footer" class="dialog-footer" v-if="btnSubmitVisible"> <div slot="footer" class="dialog-footer" v-if="btnSubmitVisible">
@ -91,7 +89,10 @@ export default {
// 显示搜索条件 // 显示搜索条件
showSearch: true, showSearch: true,
// 查询参数 // 查询参数
queryParams: {}, queryParams: {
pageNum: 1,
pageSize: 20
},
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
@ -109,7 +110,6 @@ $elseif(item.HtmlType == "datetime" && item.IsQuery == true)
dateRange${item.CsharpField}: [], dateRange${item.CsharpField}: [],
$end $end
$end $end
$if(genTable.SortField != "" && genTable.SortField != null) $if(genTable.SortField != "" && genTable.SortField != null)
// 是否显示编辑排序 // 是否显示编辑排序
showEditSort: false, showEditSort: false,
@ -122,7 +122,14 @@ $end
btnSubmitVisible: true, btnSubmitVisible: true,
// 表单校验 // 表单校验
rules: { rules: {
${VueViewEditFormRuleContent} $foreach(column in genTable.Columns)
$if(column.IsRequired)
${column.ColumnName}: [
{ required: true, message: "${column.ColumnComment}不能为空", trigger: $if(column.htmlType == "select")"change"$else"blur"$end
$if(column.CsharpType == "int" || column.CsharpType == "long"), type: "number"$end }
],
$end
$end
}, },
}; };
}, },
@ -181,11 +188,6 @@ $if(item.HtmlType == "datetime" && item.IsQuery == true)
$end $end
$end $end
this.resetForm("queryForm"); this.resetForm("queryForm");
this.queryParams = {
pageNum: 1,
pageSize: 20,
//TODO 重置字段
};
this.handleQuery(); this.handleQuery();
}, },
// 多选框选中数据 // 多选框选中数据
@ -196,6 +198,7 @@ $end
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1;
this.getList(); this.getList();
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
@ -207,10 +210,16 @@ $end
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const Ids = row.${replaceDto.FistLowerPk} || this.ids; const Ids = row.${replaceDto.FistLowerPk} || this.ids;
del${genTable.BusinessName}(Ids).then((res) => {
this.msgSuccess("删除成功"); this.${confirm}confirm('是否确认删除参数编号为"' + Ids + '"的数据项?')
this.handleQuery(); .then(function () {
}); return del${genTable.BusinessName}(Ids);
})
.then(() => {
this.handleQuery();
this.msgSuccess("删除成功");
})
.catch(() => {});
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate(row) { handleUpdate(row) {

View File

@ -42,25 +42,25 @@ namespace ZR.CodeGenerator
#region vue #region vue
/// <summary> ///// <summary>
/// Vue rules ///// Vue rules
/// </summary> ///// </summary>
/// <param name="dbFieldInfo"></param> ///// <param name="dbFieldInfo"></param>
/// <returns></returns> ///// <returns></returns>
public static string TplFormRules(GenTableColumn dbFieldInfo) //public static string TplFormRules(GenTableColumn dbFieldInfo)
{ //{
StringBuilder sbRule = new StringBuilder(); // StringBuilder sbRule = new StringBuilder();
//Rule 规则验证 // //Rule 规则验证
if (!dbFieldInfo.IsPk && !dbFieldInfo.IsIncrement && dbFieldInfo.IsRequired) // if (!dbFieldInfo.IsPk && !dbFieldInfo.IsIncrement && dbFieldInfo.IsRequired)
{ // {
sbRule.AppendLine($" {dbFieldInfo.ColumnName}: [{{ required: true, message: '请输入{dbFieldInfo.ColumnComment}', trigger: \"blur\"}}],"); // sbRule.AppendLine($" {dbFieldInfo.ColumnName}: [{{ required: true, message: '请输入{dbFieldInfo.ColumnComment}', trigger: \"blur\"}}],");
} // }
else if (CodeGeneratorTool.IsNumber(dbFieldInfo.ColumnType) && dbFieldInfo.IsRequired) // else if (CodeGeneratorTool.IsNumber(dbFieldInfo.ColumnType) && dbFieldInfo.IsRequired)
{ // {
sbRule.AppendLine($" {dbFieldInfo.ColumnName}: [{{ type: 'number', message: '{dbFieldInfo.ColumnName}必须为数字值', trigger: \"blur\"}}],"); // sbRule.AppendLine($" {dbFieldInfo.ColumnName}: [{{ type: 'number', message: '{dbFieldInfo.ColumnName}必须为数字值', trigger: \"blur\"}}],");
} // }
return sbRule.ToString(); // return sbRule.ToString();
} //}
/// <summary> /// <summary>
/// Vue 添加修改表单 /// Vue 添加修改表单
@ -133,7 +133,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}\" :label-width=\"labelWidth\" prop=\"{columnName}\">");
sb.AppendLine($" <el-input type=\"textarea\" v-model=\"form.{columnName}\" placeholder=\"请输入内容\"/>"); 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>");
} }

View File

@ -69,7 +69,7 @@ namespace ZR.CodeGenerator
replaceDto.VueViewFormHtml += CodeGenerateTemplate.TplVueFormContent(dbFieldInfo); replaceDto.VueViewFormHtml += CodeGenerateTemplate.TplVueFormContent(dbFieldInfo);
replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo, dto.GenTable); replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo, dto.GenTable);
replaceDto.VueViewEditFormRuleContent += CodeGenerateTemplate.TplFormRules(dbFieldInfo); //replaceDto.VueViewEditFormRuleContent += CodeGenerateTemplate.TplFormRules(dbFieldInfo);
replaceDto.VueQueryFormHtml += CodeGenerateTemplate.TplQueryFormHtml(dbFieldInfo); replaceDto.VueQueryFormHtml += CodeGenerateTemplate.TplQueryFormHtml(dbFieldInfo);
} }

View File

@ -79,7 +79,7 @@
<el-option label="文本域" value="textarea" /> <el-option label="文本域" value="textarea" />
<el-option label="下拉框" value="select" /> <el-option label="下拉框" value="select" />
<el-option label="单选框" value="radio" /> <el-option label="单选框" value="radio" />
<el-option label="复选框" value="checkbox" /> <!-- <el-option label="复选框" value="checkbox" /> -->
<el-option label="日期控件" value="datetime" /> <el-option label="日期控件" value="datetime" />
<el-option label="图片上传" value="imageUpload" /> <el-option label="图片上传" value="imageUpload" />
<el-option label="文件上传" value="fileUpload" /> <el-option label="文件上传" value="fileUpload" />
@ -89,7 +89,7 @@
</el-table-column> </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.dictType" clearable filterable placeholder="请选择" :disabled="scope.row.htmlType == 'datetime'"> <el-select v-model="scope.row.dictType" clearable filterable placeholder="请选择" v-if="scope.row.htmlType == 'select' || scope.row.htmlType == 'radio' || scope.row.htmlType =='checkbox'">
<el-option v-for="dict in dictOptions" :key="dict.dictType" :label="dict.dictName" :value="dict.dictType"> <el-option v-for="dict in dictOptions" :key="dict.dictType" :label="dict.dictName" :value="dict.dictType">
<span style="float: left">{{ dict.dictName }}</span> <span style="float: left">{{ dict.dictName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span> <span style="float: right; color: #8492a6; font-size: 13px">{{ dict.dictType }}</span>