Просмотр исходного кода

!851 优化自动生成的查询界面
Merge pull request !851 from koy0755/优化自动生成的查询界面

zuohuaijun 2 лет назад
Родитель
Сommit
ceadbe0573

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Enum/SysEnumService.cs

@@ -30,7 +30,7 @@ public class SysEnumService : IDynamicApiController, ITransient
     [DisplayName("获取所有枚举类型")]
     public List<EnumTypeOutput> GetEnumTypeList()
     {
-        var enumTypeList = App.EffectiveTypes.Where(u => u.IsEnum && _enumOptions.EntityAssemblyNames.Contains(u.Assembly.GetName().Name)).ToList();
+        var enumTypeList = App.EffectiveTypes.Where(u => u.IsEnum && _enumOptions.EntityAssemblyNames.Contains(u.Assembly.GetName().Name)).OrderBy( u => u.Name).ToList();
 
         var result = new List<EnumTypeOutput>();
         foreach (var item in enumTypeList)

+ 8 - 4
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Input.cs.vm

@@ -1,4 +1,4 @@
-using Admin.NET.Core;
+using Admin.NET.Core;
 using System.ComponentModel.DataAnnotations;
 
 namespace @Model.NameSpace;
@@ -28,18 +28,22 @@ if (@column.ColumnKey != "True"){
         /// <summary>
         /// 关键字查询
         /// </summary>
-        public string SearchKey { get; set; }
+        public string? SearchKey { get; set; }
 
 @foreach (var column in Model.TableField){
-if (@column.QueryWhether == "Y"){
+    if (@column.QueryWhether == "Y"){
 
         @:/// <summary>
         @:/// @column.ColumnComment
         @:/// </summary>
+        if(@column.NetType?.EndsWith("?") == true){
         @:public @column.NetType @column.PropertyName { get; set; }
+        }else {
+        @:public @(@column.NetType)? @column.PropertyName { get; set; }
+        }
         @:
 
-if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~"){
+    if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~"){
         @:/// <summary>
         @: /// @(@column.ColumnComment)范围
         @: /// </summary>

+ 2 - 0
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm

@@ -54,6 +54,8 @@ if (@column.QueryWhether == "Y"){
     }else if(@column.NetType?.TrimEnd('?') == "int" || @column.NetType?.TrimEnd('?') == "long"){
             @:.WhereIF(input.@column.PropertyName>0, u => u.@(@column.PropertyName) @column.QueryType input.@(@column.PropertyName))
     }else if(@column.NetType?.TrimEnd('?') == "DateTime" && @column.QueryType == "~"){
+    }else if(@column.NetType?.TrimEnd('?').EndsWith("Enum") == true) {
+            @:.WhereIF(input.@(@column.PropertyName).HasValue, u => u.@(@column.PropertyName) @column.QueryType input.@(@column.PropertyName))
     }
 } 
 }

+ 2 - 1
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/editDialog.vue.vm

@@ -135,7 +135,7 @@
 					@:<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						@:<el-form-item label="@column.ColumnComment" prop="@(@column.LowerPropertyName)">
 							@:<el-select clearable v-model="ruleForm.@(@column.LowerPropertyName)" placeholder="请选择@(@column.ColumnComment)">
-								@:<el-option v-for="(item,index) in  getEnum@(@column.PropertyName)Data"  :key="index" :value="item.value" :label="item.describe"></el-option>
+								@:<el-option v-for="(item,index) in  getEnum@(@column.PropertyName)Data" :key="index" :value="item.value" :label="`[${item.value}] ${item.describe}`"></el-option>
 								@:
 							</el-select>
 							@:
@@ -167,6 +167,7 @@
 </style>
 <script lang="ts" setup>
 	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@@/utils/dict-utils';
 	import { ElMessage } from "element-plus";
 	import type { FormRules } from "element-plus";
 @if(@Model.TableField.Any(x=>x.EffectType == "ConstSelector")){