From eed8f97b2f123cba9fd8e5b8f47081b8e3fad5e9 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Sat, 19 Aug 2023 14:42:39 +0800 Subject: [PATCH 1/6] update --- .../Win.Sfs.Shared/Filter/FilterExtensions.cs | 29 ++++++++++++------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/code/src/Shared/Win.Sfs.Shared/Filter/FilterExtensions.cs b/code/src/Shared/Win.Sfs.Shared/Filter/FilterExtensions.cs index fec46083..51f5fdfa 100644 --- a/code/src/Shared/Win.Sfs.Shared/Filter/FilterExtensions.cs +++ b/code/src/Shared/Win.Sfs.Shared/Filter/FilterExtensions.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; @@ -38,6 +38,10 @@ namespace Win.Sfs.Shared.Filter foreach (var filterCondition in filterConditionList) { + if (!typeof(T).GetProperties().Any(o => o.Name.ToLowerInvariant() == filterCondition.Column.ToLowerInvariant())) + { + break; + } var tempCondition = CreateLambda(filterCondition); if (condition == null) { @@ -59,7 +63,7 @@ namespace Win.Sfs.Shared.Filter throw new Exception($"获取筛选条件异常:{ex.Message}"); } - return condition; + return condition == null ? p => true : condition; } private static Expression> CreateLambda(FilterCondition filterCondition) @@ -83,33 +87,43 @@ namespace Win.Sfs.Shared.Filter case EnumFilterAction.Equal: expression = Expression.Lambda>(Expression.Equal(member, constant), parameter); break; + case EnumFilterAction.NotEqual: expression = Expression.Lambda>(Expression.NotEqual(member, constant), parameter); break; + case EnumFilterAction.BiggerThan: expression = Expression.Lambda>(Expression.GreaterThan(member, constant), parameter); break; + case EnumFilterAction.SmallThan: expression = Expression.Lambda>(Expression.LessThan(member, constant), parameter); break; + case EnumFilterAction.BiggerThanOrEqual: expression = Expression.Lambda>(Expression.GreaterThanOrEqual(member, constant), parameter); break; + case EnumFilterAction.SmallThanOrEqual: expression = Expression.Lambda>(Expression.LessThanOrEqual(member, constant), parameter); break; + case EnumFilterAction.Like: expression = GetExpressionLikeMethod("Contains", filterCondition); break; + case EnumFilterAction.NotLike: expression = GetExpressionNotLikeMethod("Contains", filterCondition); break; + case EnumFilterAction.In: expression = GetExpressionInMethod("Contains", member.Type, filterCondition); break; + case EnumFilterAction.NotIn: expression = GetExpressionNotInMethod("Contains", member.Type, filterCondition); break; + default: break; } @@ -123,7 +137,7 @@ namespace Win.Sfs.Shared.Filter } /// - /// + /// /// /// /// @@ -144,7 +158,6 @@ namespace Win.Sfs.Shared.Filter var enumValue = (Enum)Enum.Parse(propertyType, value, true); constant = Expression.Constant(enumValue); } - else { constant = propertyType.Name switch @@ -182,7 +195,6 @@ namespace Win.Sfs.Shared.Filter return Expression.Lambda>(notMethodExpression, parameterExpression); } - private static object GetPropertyValue(Type propertyType, string value) { Type lstType = typeof(List<>).MakeGenericType(propertyType); @@ -211,7 +223,7 @@ namespace Win.Sfs.Shared.Filter } else { - return p=>false; + return p => false; } } @@ -232,7 +244,6 @@ namespace Win.Sfs.Shared.Filter } } - private static MethodCallExpression GetListMethodExpression(string methodName, Type propertyType, string propertyName, object propertyValue, ParameterExpression parameterExpression) { var propertyExpression = Expression.Property(parameterExpression, propertyName); //p.GUID @@ -242,7 +253,6 @@ namespace Win.Sfs.Shared.Filter return Expression.Call(someValue, method, propertyExpression); } - /// /// 生成类似于p=>p.Code.Contains("xxx");的lambda表达式 /// parameterExpression标识p,propertyName表示values,propertyValue表示"Code",methodName表示Contains @@ -309,6 +319,5 @@ namespace Win.Sfs.Shared.Filter var inv = Expression.Invoke(condition, exp.Parameters); return Expression.Lambda>(Expression.And(exp.Body, inv), exp.Parameters); } - } -} \ No newline at end of file +} From 8e481d8d95feb28bf96de0e4e29a7cb6f9daaf89 Mon Sep 17 00:00:00 2001 From: wanggang <76527413@qq.com> Date: Sat, 19 Aug 2023 15:35:22 +0800 Subject: [PATCH 2/6] update --- .../wwwroot/api/site.js | 2 - .../wwwroot/api/user.js | 4 +- .../wwwroot/components/list/index.js | 291 ++++++++---------- .../wwwroot/request/index.js | 65 +--- .../wwwroot/router/business.js | 12 +- .../wwwroot/store/app.js | 1 - .../wwwroot/styles/site.css | 2 +- .../views/base-data/centralized-control.js | 3 +- .../wwwroot/views/login.js | 2 +- .../wwwroot/views/settle/_check.js | 75 ++++- 10 files changed, 208 insertions(+), 249 deletions(-) diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/site.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/site.js index 21c2cac5..e81de595 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/site.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/site.js @@ -1,5 +1,3 @@ -import { get, post } from "../request/index.js"; - async function getLocalizationAsync() { // const url = "abp/application-configuration"; // const data = (await get(url, null, null, true, true)).data; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js index 238fd097..3a49b0c2 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/api/user.js @@ -1,9 +1,7 @@ import router from "../router/index.js"; -import request, { get, post } from "../request/index.js"; +import request from "../request/index.js"; import jwt_decode from "../lib/jwt-decode/jwt-decode.esm.js"; -import qs from "../lib/qs/shim.js"; import { useAppStore } from "../store/index.js"; -import { refreshRouter } from "../router/index.js"; import Enumerable from "linq"; import { connection } from "../signalr/index.js"; diff --git a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js index b6c7a003..364c1572 100644 --- a/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js +++ b/code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/wwwroot/components/list/index.js @@ -1,10 +1,9 @@ import html, { getProp } from "html"; -import request, { get, getUrl, post } from "../../request/index.js"; -import { defineAsyncComponent, ref, reactive, onMounted, watch } from "vue"; +import request, { getUrl } from "../../request/index.js"; +import { defineAsyncComponent, ref, reactive, onMounted, watch, nextTick } from "vue"; import { useRoute, useRouter } from "vue-router"; import { useI18n } from "vue-i18n"; import { listToTree, schemaToModel, importFunction, format } from "../../utils/index.js"; -import qs from "../../lib/qs/shim.js"; import { camelCase, capitalize } from "lodash"; import { ElMessage, ElMessageBox } from "element-plus"; @@ -17,153 +16,146 @@ export default { AppFormInput: defineAsyncComponent(() => import("../form/form-input.js")), }, template: html` -
- - - - - - - - - - - - - {{$t('筛选')}} - - - - - - - - - - - - -