代码生成新增加排序生成
This commit is contained in:
parent
84aeb9b27b
commit
60f2d9934c
1
.gitignore
vendored
1
.gitignore
vendored
@ -267,3 +267,4 @@ __pycache__/
|
||||
/ZR.Admin.WebApi/wwwroot/uploads
|
||||
/ZR.Admin.WebApi/wwwroot/Generatecode
|
||||
/ZR.Admin.WebApi/wwwroot/export
|
||||
/ZR.Vue/src/views/business/Gendemo.vue
|
||||
|
||||
@ -63,6 +63,7 @@
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Controllers\business\" />
|
||||
<Folder Include="Controllers\demo\" />
|
||||
<Folder Include="wwwroot\export\" />
|
||||
<Folder Include="wwwroot\Generatecode\" />
|
||||
<Folder Include="wwwroot\uploads\" />
|
||||
|
||||
@ -51,7 +51,6 @@ namespace ${options.ApiControllerNamespace}.Controllers
|
||||
var predicate = Expressionable.Create<${replaceDto.ModelTypeName}>();
|
||||
|
||||
//搜索条件查询语法参考Sqlsugar
|
||||
//predicate = predicate.And(m => m.Name.Contains(parm.Name));
|
||||
${QueryCondition}
|
||||
$if(genTable.SortField != "")
|
||||
var response = _${replaceDto.ModelTypeName}Service.GetPages(predicate.ToExpression(), parm, x => x.${genTable.SortField}, "${genTable.SortType}");
|
||||
@ -161,5 +160,25 @@ ${end}
|
||||
string sFileName = ExportExcel(list, "${replaceDto.ModelTypeName}", "${genTable.FunctionName}");
|
||||
return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName });
|
||||
}
|
||||
|
||||
$if(genTable.SortField != "")
|
||||
/// <summary>
|
||||
/// 保存排序
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="orderNum"></param>
|
||||
/// <returns></returns>
|
||||
[ActionPermissionFilter(Permission = "${replaceDto.PermissionPrefix}:update")]
|
||||
[HttpGet("ChangeSort")]
|
||||
[Log(Title = "保存排序", BusinessType = BusinessType.UPDATE)]
|
||||
public IActionResult ChangeSort(int id = 0, int orderNum = 0)
|
||||
{
|
||||
if (id <= 0) { return ToResponse(ApiResult.Error(101, "请求参数错误")); }
|
||||
|
||||
bool result = _${replaceDto.ModelTypeName}Service.Update(w => w.${replaceDto.PKName} == id, it => new ${replaceDto.ModelTypeName}() { ${genTable.SortField} = orderNum });;
|
||||
|
||||
return SUCCESS(result);
|
||||
}
|
||||
$end
|
||||
}
|
||||
}
|
||||
@ -20,6 +20,11 @@ ${vueQueryFormHtml}
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" :disabled="multiple" v-hasPermi="['${replaceDto.PermissionPrefix}:delete']" plain icon="el-icon-delete" size="mini" @click="handleDelete">删除</el-button>
|
||||
</el-col>
|
||||
$if(genTable.SortField != "")
|
||||
<el-col :span="1.5">
|
||||
<el-button type="info" plain icon="el-icon-edit" size="mini" @click="handleShowSort" v-hasPermi="['${replaceDto.PermissionPrefix}:update']">修改排序</el-button>
|
||||
</el-col>
|
||||
$end
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
||||
</el-row>
|
||||
|
||||
@ -59,7 +64,10 @@ import {
|
||||
add${genTable.BusinessName},
|
||||
del${genTable.BusinessName},
|
||||
update${genTable.BusinessName},
|
||||
get${genTable.BusinessName}
|
||||
get${genTable.BusinessName},
|
||||
$if(genTable.SortField != "")
|
||||
changeSort
|
||||
$end
|
||||
} from '@/api/${genTable.ModuleName}/${lowerBusinessName}.js';
|
||||
|
||||
export default {
|
||||
@ -68,7 +76,7 @@ export default {
|
||||
return {
|
||||
labelWidth: "100px",
|
||||
formLabelWidth:"100px",
|
||||
// 选中${replaceDto.PKName}数组
|
||||
// 选中${replaceDto.FistLowerPk}数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
@ -91,12 +99,16 @@ export default {
|
||||
$foreach(item in genTable.Columns)
|
||||
$if((item.HtmlType == "radio" || item.HtmlType == "select"))
|
||||
// ${item.ColumnComment}选项列表
|
||||
${item.CsharpField2}Options: [],
|
||||
${item.ColumnName}Options: [],
|
||||
$end
|
||||
$end
|
||||
$if(replaceDto.UploadFile == 1)
|
||||
//文件上传地址
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + "upload/SaveFile",
|
||||
$end
|
||||
$if(genTable.SortField != "")
|
||||
// 是否显示编辑排序
|
||||
showEditSort: false,
|
||||
$end
|
||||
// 数据列表
|
||||
dataList: [],
|
||||
@ -117,7 +129,7 @@ ${VueViewEditFormRuleContent}
|
||||
$foreach(item in genTable.Columns)
|
||||
$if((item.HtmlType == "radio" || item.HtmlType == "select") && item.DictType != "")
|
||||
this.getDicts("${item.DictType}").then((response) => {
|
||||
this.${item.CsharpField2}Options = response.data;
|
||||
this.${item.ColumnName}Options = response.data;
|
||||
})
|
||||
$end
|
||||
$end
|
||||
@ -162,7 +174,7 @@ $end
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map((item) => item.${replaceDto.PKName});
|
||||
this.ids = selection.map((item) => item.${replaceDto.FistLowerPk});
|
||||
this.single = selection.length != 1
|
||||
this.multiple = !selection.length;
|
||||
},
|
||||
@ -178,7 +190,7 @@ $end
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const Ids = row.${replaceDto.PKName} || this.ids;
|
||||
const Ids = row.${replaceDto.FistLowerPk} || this.ids;
|
||||
del${genTable.BusinessName}(Ids).then((res) => {
|
||||
this.msgSuccess("删除成功");
|
||||
this.handleQuery();
|
||||
@ -187,8 +199,8 @@ $end
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.reset();
|
||||
const ${replaceDto.PKName} = row.${replaceDto.PKName} || this.ids;
|
||||
get${genTable.BusinessName}(${replaceDto.PKName}).then((res) => {
|
||||
const id = row.${replaceDto.FistLowerPk} || this.ids;
|
||||
get${genTable.BusinessName}(id).then((res) => {
|
||||
if (res.code == 200) {
|
||||
this.form = res.data;
|
||||
this.open = true;
|
||||
@ -196,6 +208,22 @@ $end
|
||||
}
|
||||
});
|
||||
},
|
||||
$if(genTable.SortField != "")
|
||||
// 显示编辑排序
|
||||
handleShowSort() {
|
||||
this.showEditSort = !this.showEditSort;
|
||||
},
|
||||
// 保存排序
|
||||
handleChangeSort(item, orderNum) {
|
||||
changeSort({ orderNum: orderNum, id: item.${replaceDto.FistLowerPk} }).then(
|
||||
(response) => {
|
||||
this.msgSuccess("修改成功");
|
||||
this.getList();
|
||||
this.showEditSort = false;
|
||||
}
|
||||
);
|
||||
},
|
||||
$end
|
||||
$if(replaceDto.UploadFile == 1)
|
||||
//文件上传前判断方法
|
||||
beforeFileUpload(file) {
|
||||
@ -231,7 +259,7 @@ $end
|
||||
if (valid) {
|
||||
console.log(JSON.stringify(this.form));
|
||||
|
||||
if (this.form.${replaceDto.PKName} != undefined || this.title === "修改数据") {
|
||||
if (this.form.${replaceDto.FistLowerPk} != undefined || this.title === "修改数据") {
|
||||
update${genTable.BusinessName}(this.form).then((res) => {
|
||||
if (!res.data) {
|
||||
this.msgError("修改失败");
|
||||
|
||||
@ -64,4 +64,16 @@ export function export${replaceDto.ModelTypeName}(query) {
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
$if(genTable.SortField != "")
|
||||
//排序
|
||||
export function changeSort(data) {
|
||||
return request({
|
||||
url: '${genTable.ModuleName}/${replaceDto.ModelTypeName}/ChangeSort',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
$end
|
||||
@ -215,15 +215,27 @@ namespace ZR.CodeGenerator
|
||||
/// Vue 查询列表
|
||||
/// </summary>
|
||||
/// <param name="dbFieldInfo"></param>
|
||||
/// <param name="genTable"></param>
|
||||
/// <returns></returns>
|
||||
public static string TplTableColumn(GenTableColumn dbFieldInfo)
|
||||
public static string TplTableColumn(GenTableColumn dbFieldInfo, GenTable genTable)
|
||||
{
|
||||
string columnName = dbFieldInfo.ColumnName;
|
||||
string label = CodeGeneratorTool.GetLabelName(dbFieldInfo.ColumnComment, columnName);
|
||||
string showToolTip = dbFieldInfo.CsharpType == "string" ? ":show-overflow-tooltip=\"true\"" : "";
|
||||
string formatter = !string.IsNullOrEmpty(dbFieldInfo.DictType) ? $" :formatter=\"{columnName}Format\"" : "";
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (dbFieldInfo.IsList && dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD))
|
||||
|
||||
//有排序字段
|
||||
if (!string.IsNullOrEmpty(genTable?.SortField.ToString()) && genTable?.SortField.ToString() == dbFieldInfo.CsharpField)
|
||||
{
|
||||
sb.AppendLine($@" <el-table-column prop=""{columnName}"" label=""排序"" width=""90"" sortable align=""center"">");
|
||||
sb.AppendLine(@" <template slot-scope=""scope"">");
|
||||
sb.AppendLine($@" <el-input size=""mini"" style=""width:50px"" controls-position=""no"" v-model.number=""scope.row.{columnName}"" @blur=""handleChangeSort(scope.row, scope.row.{columnName})"" v-if=""showEditSort"" />");
|
||||
sb.AppendLine($" <span v-else>{{{{scope.row.{columnName}}}}}</span>");
|
||||
sb.AppendLine(@" </template>");
|
||||
sb.AppendLine(@" </el-table-column>");
|
||||
}
|
||||
else if (dbFieldInfo.IsList && dbFieldInfo.HtmlType.Equals(GenConstants.HTML_IMAGE_UPLOAD))
|
||||
{
|
||||
sb.AppendLine($" <el-table-column prop=\"{columnName}\" label=\"图片\">");
|
||||
sb.AppendLine(" <template slot-scope=\"scope\">");
|
||||
|
||||
@ -53,14 +53,9 @@ namespace ZR.CodeGenerator
|
||||
replaceDto.PermissionPrefix = $"{dto.GenTable.ModuleName}:{dto.GenTable.ClassName.ToLower()}";//权限
|
||||
replaceDto.Author = dto.GenTable.FunctionAuthor;
|
||||
|
||||
//StringBuilder sb1 = new StringBuilder();
|
||||
//StringBuilder sb2 = new StringBuilder();
|
||||
|
||||
//循环表字段信息
|
||||
foreach (GenTableColumn dbFieldInfo in dto.GenTable.Columns)
|
||||
{
|
||||
string columnName = dbFieldInfo.ColumnName;
|
||||
|
||||
if (dbFieldInfo.IsPk || dbFieldInfo.IsIncrement)
|
||||
{
|
||||
PKName = dbFieldInfo.CsharpField;
|
||||
@ -73,13 +68,14 @@ namespace ZR.CodeGenerator
|
||||
CodeGenerateTemplate.GetQueryDtoProperty(dbFieldInfo, replaceDto);
|
||||
|
||||
replaceDto.VueViewFormHtml += CodeGenerateTemplate.TplVueFormContent(dbFieldInfo);
|
||||
replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo);
|
||||
replaceDto.VueViewListHtml += CodeGenerateTemplate.TplTableColumn(dbFieldInfo, dto.GenTable);
|
||||
replaceDto.VueViewEditFormRuleContent += CodeGenerateTemplate.TplFormRules(dbFieldInfo);
|
||||
replaceDto.VueQueryFormHtml += CodeGenerateTemplate.TplQueryFormHtml(dbFieldInfo);
|
||||
}
|
||||
|
||||
replaceDto.PKName = PKName;
|
||||
replaceDto.PKType = PKType;
|
||||
replaceDto.FistLowerPk = FirstLowerCase(PKName);
|
||||
InitJntTemplate(dto, replaceDto);
|
||||
|
||||
GenerateModels(replaceDto, dto);
|
||||
@ -308,16 +304,6 @@ namespace ZR.CodeGenerator
|
||||
{
|
||||
return string.IsNullOrEmpty(columnDescription) ? columnName : columnDescription;
|
||||
}
|
||||
///// <summary>
|
||||
///// 判断是否给属性添加?
|
||||
///// </summary>
|
||||
///// <param name="dbFieldInfo"></param>
|
||||
///// <returns></returns>
|
||||
//public static string GetModelRequired(GenTableColumn dbFieldInfo)
|
||||
//{
|
||||
// return (!dbFieldInfo.IsRequired && (IsNumber(dbFieldInfo.ColumnType) || dbFieldInfo.CsharpType == "DateTime")) ? "?" : "";
|
||||
//}
|
||||
|
||||
/// <summary>
|
||||
/// 获取C# 类型
|
||||
/// </summary>
|
||||
|
||||
@ -9,6 +9,10 @@ namespace ZR.CodeGenerator.Model
|
||||
/// </summary>
|
||||
public string PKName { get; set; }
|
||||
/// <summary>
|
||||
/// 首字母小写主键
|
||||
/// </summary>
|
||||
public string FistLowerPk{ get; set; }
|
||||
/// <summary>
|
||||
/// 主键类型
|
||||
/// </summary>
|
||||
public string PKType { get; set; }
|
||||
|
||||
@ -13,26 +13,33 @@ namespace ZR.Model.System.Generate
|
||||
{
|
||||
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
|
||||
public int ColumnId { get; set; }
|
||||
/// <summary>
|
||||
/// 导入代码生成表列名 首字母转了小写
|
||||
/// </summary>
|
||||
public string ColumnName { get; set; }
|
||||
[SugarColumn(IsOnlyIgnoreUpdate = true)]
|
||||
public int TableId { get; set; }
|
||||
|
||||
[SugarColumn(IsOnlyIgnoreUpdate = true)]
|
||||
public string TableName { get; set; }
|
||||
/// <summary>
|
||||
/// 列说明
|
||||
/// </summary>
|
||||
public string ColumnComment { get; set; }
|
||||
/// <summary>
|
||||
/// 数据库列类型
|
||||
/// </summary>
|
||||
|
||||
[SugarColumn(IsOnlyIgnoreUpdate = true)]
|
||||
public string ColumnType { get; set; }
|
||||
/// <summary>
|
||||
/// C#类型
|
||||
/// </summary>
|
||||
public string CsharpType { get; set; }
|
||||
/// <summary>
|
||||
/// C# 字段名 首字母大写
|
||||
/// </summary>
|
||||
public string CsharpField { get; set; }
|
||||
[SugarColumn(IsIgnore = true)]
|
||||
public string CsharpField2
|
||||
{
|
||||
get
|
||||
{
|
||||
return CsharpField.Substring(0, 1).ToLower() + CsharpField[1..];
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 是否主键(1是)
|
||||
/// </summary>
|
||||
@ -42,20 +49,26 @@ namespace ZR.Model.System.Generate
|
||||
/// 是否必填(1是)
|
||||
/// </summary>
|
||||
public bool IsRequired { get; set; }
|
||||
/// <summary>
|
||||
/// 是否自增(1是)
|
||||
/// </summary>
|
||||
[SugarColumn(IsOnlyIgnoreUpdate = true)]
|
||||
public bool IsIncrement { get; set; }
|
||||
/// <summary>
|
||||
/// 是否插入
|
||||
/// 是否插入(1是)
|
||||
/// </summary>
|
||||
public bool IsInsert { get; set; }
|
||||
/// <summary>
|
||||
/// 是否需要编辑
|
||||
/// 是否需要编辑(1是)
|
||||
/// </summary>
|
||||
public bool IsEdit { get; set; }
|
||||
/// <summary>
|
||||
/// isList
|
||||
/// 是否显示列表(1是)
|
||||
/// </summary>
|
||||
public bool IsList { get; set; }
|
||||
/// <summary>
|
||||
/// 是否查询(1是)
|
||||
/// </summary>
|
||||
public bool IsQuery { get; set; }
|
||||
/// <summary>
|
||||
/// 显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user