feat(table): 添加表格排序和选择功能支持
- 在KitPageArgs中新增OrderBy排序参数类,支持字段转下划线和排序绑定 - 修改SystemDictService.searchDict方法,集成排序参数处理逻辑 - 更新CuteDragTable和CuteSimpleTable组件,添加排序和选择功能 - 新增表格上方工具栏插槽和选择计数显示 - 优化前端表格组件的排序事件处理和数据刷新逻辑
This commit is contained in:
+48
-5
@@ -15,13 +15,13 @@
|
||||
*/
|
||||
package cn.odboy.base;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import java.io.Serializable;
|
||||
|
||||
import jakarta.validation.constraints.Min;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* 数据分页参数
|
||||
@@ -32,7 +32,8 @@ import lombok.NoArgsConstructor;
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class KitPageArgs<T> implements Serializable {
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
public class KitPageArgs<T> extends KitObject {
|
||||
|
||||
@NotNull(message = "参数page不能为空")
|
||||
@Min(value = 1, message = "参数page最小值为1")
|
||||
@@ -43,4 +44,46 @@ public class KitPageArgs<T> implements Serializable {
|
||||
@ApiModelProperty(value = "每页数据量", example = "10")
|
||||
private Integer size;
|
||||
private T args;
|
||||
@ApiModelProperty(value = "排序参数")
|
||||
private OrderBy orderBy;
|
||||
|
||||
@Setter
|
||||
public static class OrderBy extends KitObject {
|
||||
|
||||
/**
|
||||
* 排序列名称
|
||||
*/
|
||||
private String column;
|
||||
/**
|
||||
* 排序方式
|
||||
*/
|
||||
private String orderType;
|
||||
|
||||
/**
|
||||
* 字段属性转下划线
|
||||
*
|
||||
* @return /
|
||||
*/
|
||||
public String getColumn() {
|
||||
return StrUtil.toUnderlineCase(this.column);
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否顺序排序
|
||||
*
|
||||
* @return /
|
||||
*/
|
||||
public boolean isAsc() {
|
||||
return "asc".equals(this.orderType);
|
||||
}
|
||||
|
||||
/**
|
||||
* 绑定 QueryWrapper,应用排序条件
|
||||
*
|
||||
* @param wrapper QueryWrapper<T>
|
||||
*/
|
||||
public <T> void bindWrapper(QueryWrapper<T> wrapper) {
|
||||
wrapper.orderBy(true, this.isAsc(), this.getColumn());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user