⚠️feat: 代码生成器增加排序功能

This commit is contained in:
yubaolee 2025-06-14 12:13:47 +08:00
parent b275847f3b
commit 35bd071384
5 changed files with 57 additions and 9 deletions

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -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();

View File

@ -24,6 +24,7 @@ permalink: /pro/table/
@row-click="handleRowClick"
@selection-change="handleSelectionChange"
@item-change="handleItemChange"
@sort-change="handleSortChange"
/>
</template>
@ -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
})
}
</script>
```
@ -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及以上版本支持 |
## 方法说明