feat(admin): 新增活动管理功能并优化字典组件
- 新增活动管理相关功能,包括活动创建、编辑、删除和状态管理 - 新增 PublishStatus 枚举定义活动发布状态 - 优化字典组件,支持字符串和数字类型的字典值 - 重构业务数据存储逻辑,简化字典数据获取流程 - 新增活动详情页面,支持分组管理和队伍配置 - 集成富文本编辑器用于活动规则编辑 - 优化图片上传组件,支持小图上传模式 - 修复模板管理中的区域选择和分页问题 - 更新 TypeScript 类型定义,完善 API 接口 - 调整主题配置,新增活动状态相关颜色
This commit is contained in:
@ -27,41 +27,47 @@ export interface TableColumnCheck {
|
||||
|
||||
export interface UseTableOptions<ResponseData, ApiData, Column, Pagination extends boolean> {
|
||||
/**
|
||||
* api function to get table data
|
||||
* 获取表格数据的 API 函数
|
||||
*/
|
||||
api: () => Promise<ResponseData>
|
||||
/**
|
||||
* whether to enable pagination
|
||||
* 是否开启分页
|
||||
*/
|
||||
pagination?: Pagination
|
||||
/**
|
||||
* transform api response to table data
|
||||
* 转换 API 响应数据为表格数据
|
||||
*/
|
||||
transform: Transform<ResponseData, ApiData, Pagination>
|
||||
/**
|
||||
* columns factory
|
||||
* 列配置工厂函数
|
||||
*/
|
||||
columns: () => Column[]
|
||||
/**
|
||||
* get column checks
|
||||
* 获取列的勾选状态
|
||||
*/
|
||||
getColumnChecks: (columns: Column[]) => TableColumnCheck[]
|
||||
/**
|
||||
* get columns
|
||||
* 获取列配置
|
||||
*/
|
||||
getColumns: (columns: Column[], checks: TableColumnCheck[]) => Column[]
|
||||
/**
|
||||
* callback when response fetched
|
||||
* 数据获取后的回调
|
||||
*/
|
||||
onFetched?: (data: GetApiData<ApiData, Pagination>) => void | Promise<void>
|
||||
/**
|
||||
* whether to get data immediately
|
||||
* 是否立即获取数据
|
||||
*
|
||||
* @default true
|
||||
*/
|
||||
immediate?: boolean
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格数据 hook
|
||||
* 用于获取表格数据,根据是否开启分页返回不同类型的数据
|
||||
* @param options 表格配置
|
||||
* @returns 表格数据
|
||||
*/
|
||||
export default function useTable<ResponseData, ApiData, Column, Pagination extends boolean>(
|
||||
options: UseTableOptions<ResponseData, ApiData, Column, Pagination>,
|
||||
) {
|
||||
@ -121,6 +127,12 @@ export default function useTable<ResponseData, ApiData, Column, Pagination exten
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取表格数据,根据是否开启分页返回不同类型的数据
|
||||
* @param data 转换后的 API 响应数据
|
||||
* @param pagination 是否开启分页
|
||||
* @returns 表格数据
|
||||
*/
|
||||
function getTableData<ApiData, Pagination extends boolean>(
|
||||
data: GetApiData<ApiData, Pagination>,
|
||||
pagination?: Pagination,
|
||||
|
||||
Reference in New Issue
Block a user