feat(log、post、user、project、work-report): 添加用户姓名字段并实现岗位用户导出功能
- 在API访问日志、API错误日志中新增用户姓名字段显示 - 优化日志管理页面布局样式,修复高度自适应问题 - 添加系统岗位数据导出功能及相应API接口 - 添加系统用户数据导出功能及相应API接口 - 新增通用文件下载和导出文件名生成工具函数 - 修复工作报表删除确认提示文案 - 调整项目列表默认展开状态逻辑 - 完善岗位和用户管理页面导出按钮权限控制 - 更新日志实体类型定义,增加用户昵称字段
This commit is contained in:
@@ -18,6 +18,29 @@ const POST_PREFIX = `${SYSTEM_SERVICE_PREFIX}/post`;
|
||||
const ORG_LEADER_PREFIX = `${SYSTEM_SERVICE_PREFIX}/org-leader`;
|
||||
const USER_MANAGEMENT_RELATION_PREFIX = `${SYSTEM_SERVICE_PREFIX}/user-management-relation`;
|
||||
|
||||
function appendQueryValue(query: URLSearchParams, key: string, value: unknown) {
|
||||
if (value === null || value === undefined || value === '') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (Array.isArray(value)) {
|
||||
value.forEach(item => appendQueryValue(query, key, item));
|
||||
return;
|
||||
}
|
||||
|
||||
query.append(key, String(value));
|
||||
}
|
||||
|
||||
function buildQuery(params: object = {}) {
|
||||
const query = new URLSearchParams();
|
||||
|
||||
Object.entries(params).forEach(([key, value]) => {
|
||||
appendQueryValue(query, key, value);
|
||||
});
|
||||
|
||||
return query.toString();
|
||||
}
|
||||
|
||||
function createRolePageQuery(params?: Api.SystemManage.RoleSearchParams) {
|
||||
const query = new URLSearchParams();
|
||||
|
||||
@@ -469,6 +492,17 @@ export function fetchBatchDeletePost(ids: number[]) {
|
||||
});
|
||||
}
|
||||
|
||||
/** 导出岗位 */
|
||||
export function fetchExportPost(params: Api.SystemManage.PostSearchParams) {
|
||||
const query = buildQuery(params);
|
||||
|
||||
return request<Blob, 'blob'>({
|
||||
url: query ? `${POST_PREFIX}/export-excel?${query}` : `${POST_PREFIX}/export-excel`,
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取用户简单列表(用于用户选择下拉框) */
|
||||
export async function fetchGetUserSimpleList() {
|
||||
return request<UserSimpleResponse[]>({
|
||||
@@ -579,6 +613,17 @@ export function fetchBatchDeleteUser(ids: number[]) {
|
||||
});
|
||||
}
|
||||
|
||||
/** 导出用户 */
|
||||
export function fetchExportUser(params: Api.SystemManage.UserSearchParams) {
|
||||
const query = buildQuery(params);
|
||||
|
||||
return request<Blob, 'blob'>({
|
||||
url: query ? `${USER_PREFIX}/export-excel?${query}` : `${USER_PREFIX}/export-excel`,
|
||||
method: 'get',
|
||||
responseType: 'blob'
|
||||
});
|
||||
}
|
||||
|
||||
/** 获取菜单列表 */
|
||||
export async function fetchGetMenuList(params?: Api.SystemManage.MenuSearchParams) {
|
||||
const result = await request<MenuResponse[]>({
|
||||
|
||||
Reference in New Issue
Block a user