diff --git a/OpenAuth.WebApi/Template/MultiTable/BuildApp.html b/OpenAuth.WebApi/Template/MultiTable/BuildApp.html index dea9a4d4..756abc18 100644 --- a/OpenAuth.WebApi/Template/MultiTable/BuildApp.html +++ b/OpenAuth.WebApi/Template/MultiTable/BuildApp.html @@ -34,7 +34,15 @@ namespace OpenAuth.App objs = objs.Where(request.sqlWhere); } - result.Data = objs.OrderBy(u => u.Id) + if (!string.IsNullOrEmpty(request.sort)) + { + var sortfields = request.sort.Split(','); + + objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}"); + }else{ + objs = objs.OrderBy(u => u.Id); + } + result.Data = objs .Skip((request.page - 1) * request.limit) .Take(request.limit).ToList(); result.Count = await objs.CountAsync(); diff --git a/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html b/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html index 498e4774..b20273c4 100644 --- a/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html +++ b/OpenAuth.WebApi/Template/MultiTable/BuildAppWithDynamicHeader.html @@ -39,7 +39,15 @@ namespace OpenAuth.App objs = objs.Where(request.sqlWhere); } var propertyStr = string.Join(',', columns.Select(u => u.ColumnName)); - result.Data = objs.OrderBy(u => u.Id) + if (!string.IsNullOrEmpty(request.sort)) + { + var sortfields = request.sort.Split(','); + + objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}"); + }else{ + objs = objs.OrderBy(u => u.Id); + } + result.Data = objs .Skip((request.page - 1) * request.limit) .Take(request.limit).Select($"{propertyStr}").ToList(); result.Count = await objs.CountAsync(); diff --git a/OpenAuth.WebApi/Template/SingleTable/BuildApp.html b/OpenAuth.WebApi/Template/SingleTable/BuildApp.html index 96f05a2a..edabc248 100644 --- a/OpenAuth.WebApi/Template/SingleTable/BuildApp.html +++ b/OpenAuth.WebApi/Template/SingleTable/BuildApp.html @@ -39,7 +39,15 @@ namespace OpenAuth.App {ForeignKeyTemplate} - result.Data = objs.OrderBy(u => u.Id) + if (!string.IsNullOrEmpty(request.sort)) + { + var sortfields = request.sort.Split(','); + + objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}"); + }else{ + objs = objs.OrderBy(u => u.Id); + } + result.Data = objs .Skip((request.page - 1) * request.limit) .Take(request.limit).ToList(); result.Count = await objs.CountAsync(); diff --git a/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html b/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html index 928267e9..97c3b6ae 100644 --- a/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html +++ b/OpenAuth.WebApi/Template/SingleTable/BuildAppWithDynamicHeader.html @@ -45,7 +45,15 @@ namespace OpenAuth.App var columnnames = columnFields.Select(u => u.ColumnName); var propertyStr = string.Join(',', columnnames); result.ColumnFields = columnFields; - result.Data = objs.OrderByDescending(u => u.Id) + if (!string.IsNullOrEmpty(request.sort)) + { + var sortfields = request.sort.Split(','); + + objs = objs.OrderBy($"{sortfields[0]} {sortfields[1]}"); + }else{ + objs = objs.OrderBy(u => u.Id); + } + result.Data = objs .Skip((request.page - 1) * request.limit) .Take(request.limit).Select($"{propertyStr}").ToList(); result.Count = await objs.CountAsync(); diff --git a/newdocs/docs/notes/pro/table.md b/newdocs/docs/notes/pro/table.md index 5ef0f379..be3c27f2 100644 --- a/newdocs/docs/notes/pro/table.md +++ b/newdocs/docs/notes/pro/table.md @@ -24,6 +24,7 @@ permalink: /pro/table/ @row-click="handleRowClick" @selection-change="handleSelectionChange" @item-change="handleItemChange" + @sort-change="handleSortChange" /> @@ -76,6 +77,19 @@ const handleItemChange = val => { ElNotification.success("更新成功") }) } + +// 如果不需要后端排序,则不需要实现此方法 +const handleSortChange = val => { + // 表头排序事件处理 + listQuery.sort = val.prop + ',' + val.order + listLoading.value = true + //这里不能直接用getList,因为getList会重新加载列设置 + wmsinboundordertbls.getList(listQuery).then(response => { + mainList.value = response.data + listLoading.value = false + }) +} + ``` @@ -105,11 +119,13 @@ const handleItemChange = val => { ## 事件说明 -| 事件名 | 说明 | 回调参数 | -| ----------------- | -------------------------- | ---------------- | -| row-click | 行点击事件 | row(当前行数据)| -| selection-change | 选择项变化事件 | val(选中项数组)| -| item-change | 单元格值变化事件 | val(当前行数据)| +| 事件名 | 说明 | 回调参数 |备注| +| ----------------- | -------------------------- | ---------------- |----| +| row-click | 行点击事件 | row(当前行数据)| | +| selection-change | 选择项变化事件 | val(选中项数组)| | +| item-change | 单元格值变化事件 | val(当前行数据)| | +| row-dblclick | 行双击事件 | row(当前行数据)| | +| sort-change | 表头排序事件,如果不需要后端排序,则不需要实现此方法 | val(排序字段)| vue3 v5.7及以上版本支持 | ## 方法说明