Merge pull request '整理代码生成功能' (#207) from koy07555/Admin.NET.Pro:整理代码生成功能 into main
Reviewed-on: http://101.43.53.74:3000/Admin.NET/Admin.NET.Pro/pulls/207
This commit is contained in:
commit
ff40fcd4ab
@ -29,7 +29,7 @@ public class TestCodeGenDemo : EntityBase
|
||||
/// 数值
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "数值")]
|
||||
public int Age { get; set; }
|
||||
public int? Age { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 时间选择
|
||||
@ -41,41 +41,47 @@ public class TestCodeGenDemo : EntityBase
|
||||
/// 开关
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "开关")]
|
||||
public bool IsOk { get; set; }
|
||||
public bool? IsOk { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 外键(sys_user)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "外键(sys_user)")]
|
||||
public long UserId { get; set; }
|
||||
public long? UserId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 树选择框(sys_org)
|
||||
/// 树选择框1(sys_org)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "树选择框(sys_org)")]
|
||||
public long OrgId { get; set; }
|
||||
[SugarColumn(ColumnDescription = "树选择框1(sys_org)")]
|
||||
public long? OrgId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 树选择框2(sys_menu)
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "树选择框2(sys_menu)")]
|
||||
public long? MenuId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 字典1
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "字典1")]
|
||||
public string Dict1 { get; set; }
|
||||
public string? Dict1 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 枚举1
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "枚举1")]
|
||||
public string Enum1 { get; set; }
|
||||
public int? Enum1 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 常量1
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "常量1")]
|
||||
public int Const1 { get; set; }
|
||||
public int? Const1 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 上传控件
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnDescription = "上传控件")]
|
||||
public long UploadImage { get; set; }
|
||||
public string? UploadImage { get; set; }
|
||||
}
|
||||
|
||||
@ -319,9 +319,9 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
/// <summary>
|
||||
/// 获取库表信息
|
||||
/// </summary>
|
||||
/// <param name="containSysTable"></param>
|
||||
/// <param name="excludeSysTable">是否排除带SysTable属性的表</param>
|
||||
/// <returns></returns>
|
||||
private async Task<IEnumerable<EntityInfo>> GetEntityInfos(bool containSysTable = false)
|
||||
private async Task<IEnumerable<EntityInfo>> GetEntityInfos(bool excludeSysTable = false)
|
||||
{
|
||||
var types = new List<Type>();
|
||||
if (_codeGenOptions.EntityAssemblyNames != null)
|
||||
@ -357,7 +357,7 @@ public class SysCodeGenService : IDynamicApiController, ITransient
|
||||
foreach (var ct in cosType)
|
||||
{
|
||||
// 若实体贴[SysTable]特性,则禁止显示系统自带的
|
||||
if (containSysTable && ct.IsDefined(typeof(SysTableAttribute), false))
|
||||
if (excludeSysTable && ct.IsDefined(typeof(SysTableAttribute), false))
|
||||
continue;
|
||||
|
||||
var des = ct.GetCustomAttributes(typeof(DescriptionAttribute), false);
|
||||
|
||||
@ -120,7 +120,7 @@ if (@column.QueryWhether == "Y"){
|
||||
@:.Select<@(@Model.ClassName)Output>();
|
||||
}
|
||||
@if(@Model.TableField.Any(x=>x.EffectType == "ForeignKey")){
|
||||
@:return await query.OrderBuilder(input,"[u].","[@(PKName)]").ToPagedListAsync(input.Page, input.PageSize);
|
||||
@:return await query.OrderBuilder(input,"u.","@(PKName)").ToPagedListAsync(input.Page, input.PageSize);
|
||||
} else {
|
||||
@:return await query.OrderBuilder(input).ToPagedListAsync(input.Page, input.PageSize);
|
||||
}
|
||||
|
||||
@ -59,7 +59,7 @@
|
||||
v-model="state.ruleForm.@(@column.LowerPropertyName)"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<span>{{ data.name }}</span>
|
||||
<span>{{ data.@LowerFirstLetter(@column.DisplayColumn) }}</span>
|
||||
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
|
||||
</template>
|
||||
</el-cascader>
|
||||
@ -194,6 +194,9 @@ import { useUserInfo } from '/@@/stores/userInfo';
|
||||
@foreach (var column in Model.TableField.Where(x=>x.EffectType == "ForeignKey").ToList()){
|
||||
@:get@(@column.FkEntityName)@(@column.PropertyName)Dropdown,
|
||||
}
|
||||
@foreach (var column in Model.TableField.Where(x=>x.EffectType == "ApiTreeSelector").ToList()){
|
||||
@:get@(@column.FkEntityName)Tree,
|
||||
}
|
||||
@:add@(@Model.ClassName),
|
||||
@:update@(@Model.ClassName),
|
||||
@:detail@(@Model.ClassName) } from "/@@/api/@(@Model.PagePath)/@(@Model.LowerClassName)";
|
||||
@ -411,7 +414,7 @@ if(@column.EffectType == "ApiTreeSelector" && !definedObjects.ContainsKey("defin
|
||||
@{definedObjects.Add("define_get@(@column.FkEntityName)TreeData", 1);}
|
||||
@:const @LowerFirstLetter(@column.FkEntityName)TreeData = ref<any>([]);
|
||||
@:const get@(@column.FkEntityName)TreeData = async () => {
|
||||
@:let list = await getAPI(@(@Model.ClassName)Api).api@(@Model.ClassName)@(@column.FkEntityName)TreeGet();
|
||||
@:let list = await get@(@column.FkEntityName)Tree();
|
||||
@:@LowerFirstLetter(@column.FkEntityName)TreeData.value = list.data.result ?? [];
|
||||
@:};
|
||||
@:get@(@column.FkEntityName)TreeData();
|
||||
|
||||
@ -53,7 +53,7 @@
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-select v-model="state.queryParams.@(@column.LowerPropertyName)" filterable placeholder="请选择@(@column.ColumnComment)" clearable @@keyup.enter.native="handleQuery(true)" >
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.name||''} [${item.code}] ${item.value}`" />
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.code" :label="`${item.name||''} [${item.code}] ${item.value}`" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -64,6 +64,24 @@
|
||||
<el-option v-for="(item,index) in dl('@(@column.DictTypeCode)')" :key="index" :value="item.value" :label="`${item.name} [${item.code}] ${item.value}`" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "ApiTreeSelector") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
|
||||
<el-cascader
|
||||
@:options="@LowerFirstLetter(@column.FkEntityName)TreeData"
|
||||
@:props="{ checkStrictly: true, emitPath: false, value: '@LowerFirstLetter(@column.ValueColumn)', label: '@LowerFirstLetter(@column.DisplayColumn)' }"
|
||||
placeholder="请选择@(column.ColumnComment)"
|
||||
clearable=""
|
||||
class="w100"
|
||||
v-model="state.queryParams.@(@column.LowerPropertyName)"
|
||||
>
|
||||
<template #default="{ node, data }">
|
||||
<span>{{ data.@LowerFirstLetter(@column.DisplayColumn) }}</span>
|
||||
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
|
||||
</template>
|
||||
</el-cascader>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
} else if(@column.EffectType == "DatePicker") {
|
||||
<el-col :xs="24" :sm="12" :md="8" :lg="6" :xl="6" class="mb5" v-if="state.showAdvanceQueryUI">
|
||||
@ -225,6 +243,9 @@ foreach (var column in Model.QueryWhetherList){
|
||||
if(@column.EffectType == "ForeignKey"){
|
||||
@:import { get@(@column.FkEntityName)@(@column.PropertyName)Dropdown } from '/@@/api/@(@Model.PagePath)/@(@Model.LowerClassName)';
|
||||
}
|
||||
if(@column.EffectType == "ApiTreeSelector"){
|
||||
@:import { get@(@column.FkEntityName)Tree } from '/@@/api/@(@Model.PagePath)/@(@Model.LowerClassName)';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -468,6 +489,21 @@ const handleDelete = (row: any) => {
|
||||
@:get@(@column.FkEntityName)@(@column.PropertyName)DropdownList();
|
||||
}
|
||||
}
|
||||
|
||||
@foreach (var column in Model.QueryWhetherList) {
|
||||
@if(@column.EffectType == "ApiTreeSelector") {
|
||||
@:const @LowerFirstLetter(@column.FkEntityName)TreeData = ref<any>([]);
|
||||
@:const get@(@column.FkEntityName)TreeData = async () => {
|
||||
@if (@Model.IsApiService) {
|
||||
@:let list = await getAPI(@(@Model.ClassName)Api).api@(@Model.ClassName)@(@column.FkEntityName)Tree();
|
||||
} else {
|
||||
@:let list = await get@(@column.FkEntityName)Tree();
|
||||
}
|
||||
@:@LowerFirstLetter(@column.FkEntityName)TreeData.value = list.data.result ?? [];
|
||||
@:};
|
||||
@:get@(@column.FkEntityName)TreeData();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user