- 数据库:新增 user_groups 多对多关联表,启动时自动迁移旧 group_id 数据 - 后端 users:所有查询聚合多工作组信息,增删改接口支持 group_ids 数组;新增 POST /users/batch 批量添加接口(事务+逐行错误反馈) - 后端 export/hours/activities:全面兼容多工作组关联查询 - 前端 Users:新增/编辑改为工作组多选复选框;新增批量添加模态框(粘贴解析+实时校验表+提交汇总) - 前端列表/详情:工作组以多标签形式展示,搜索支持工作组名称
This commit is contained in:
@@ -55,9 +55,16 @@ export const usersApi = {
|
||||
list: () => api.get<UserItem[]>('/users').then(r => r.data),
|
||||
search: (name: string) => api.get<UserItem[]>('/users/search', { params: { name } }).then(r => r.data),
|
||||
detail: (id: number) => api.get<UserDetail>(`/users/${id}`).then(r => r.data),
|
||||
create: (data: Partial<UserItem>) => api.post('/users', data).then(r => r.data),
|
||||
update: (id: number, data: Partial<UserItem>) => api.put(`/users/${id}`, data).then(r => r.data),
|
||||
create: (data: Partial<UserItem> & { group_ids?: number[] }) => api.post('/users', data).then(r => r.data),
|
||||
update: (id: number, data: Partial<UserItem> & { group_ids?: number[] }) => api.put(`/users/${id}`, data).then(r => r.data),
|
||||
remove: (id: number) => api.delete(`/users/${id}`).then(r => r.data),
|
||||
batch: (items: Array<Partial<UserItem> & { group_ids?: number[]; group_id?: number | null }>) =>
|
||||
api.post<{
|
||||
total: number;
|
||||
success: number;
|
||||
failed: number;
|
||||
results: Array<{ idx: number; ok: boolean; id?: number; error?: string; item: any }>;
|
||||
}>('/users/batch', { items }).then(r => r.data),
|
||||
};
|
||||
|
||||
export const activitiesApi = {
|
||||
|
||||
Reference in New Issue
Block a user