适配最新接口附带user_id
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
// import { API_BASE_URL } from '../config/api-config';
|
import { API_BASE_URL } from '../../config/api-config';
|
||||||
|
|
||||||
// 交叉评查任务状态枚举
|
// 交叉评查任务状态枚举
|
||||||
export enum CrossCheckingTaskStatus {
|
export enum CrossCheckingTaskStatus {
|
||||||
@@ -510,9 +510,6 @@ export async function getCrossCheckingStats(): Promise<ApiResponse<{
|
|||||||
|
|
||||||
// ==================== 新增:用户任务文档相关接口 ====================
|
// ==================== 新增:用户任务文档相关接口 ====================
|
||||||
|
|
||||||
// 导入API客户端
|
|
||||||
import { post } from '../axios-client';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户参与的所有任务及文档
|
* 获取用户参与的所有任务及文档
|
||||||
* @param userId 用户ID
|
* @param userId 用户ID
|
||||||
@@ -520,87 +517,35 @@ import { post } from '../axios-client';
|
|||||||
*/
|
*/
|
||||||
export async function getUserTaskDocuments(userId: number): Promise<ApiResponse<UserTaskInfo[]>> {
|
export async function getUserTaskDocuments(userId: number): Promise<ApiResponse<UserTaskInfo[]>> {
|
||||||
try {
|
try {
|
||||||
console.log('开始调用用户任务API,用户ID:', userId);
|
// 拼接绝对路径,去除多余斜杠
|
||||||
|
const base = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
|
||||||
// 导入API配置以显示当前使用的baseUrl
|
const url = `${base}/admin/cross_review/tasks/user_documents?user_id=${userId}`;
|
||||||
const { API_BASE_URL } = await import('../../config/api-config');
|
console.log('最终请求URL:', url);
|
||||||
console.log('当前API基础URL:', API_BASE_URL);
|
const response = await fetch(url, {
|
||||||
|
method: 'POST',
|
||||||
// 调用真实的API接口
|
headers: { 'Content-Type': 'application/json' },
|
||||||
console.log('调用API路径:', '/admin/cross_review/tasks/user_documents');
|
body: JSON.stringify({ user_id: userId })
|
||||||
console.log('完整API URL:', `${API_BASE_URL}/admin/cross_review/tasks/user_documents`);
|
});
|
||||||
console.log('请求参数:', { user_id: userId });
|
if (!response.ok) {
|
||||||
|
|
||||||
const response = await post<UserTaskApiResponse>(
|
|
||||||
'/admin/cross_review/tasks/user_documents',
|
|
||||||
{ user_id: userId }
|
|
||||||
);
|
|
||||||
|
|
||||||
console.log('API响应:', response);
|
|
||||||
|
|
||||||
// 如果API调用失败,尝试使用模拟数据作为回退
|
|
||||||
if (response.error) {
|
|
||||||
console.warn('API调用失败,使用模拟数据作为回退');
|
|
||||||
// 返回模拟数据
|
|
||||||
const mockUserTasks: UserTaskInfo[] = [
|
|
||||||
{
|
|
||||||
task_id: 1,
|
|
||||||
task_status: 'completed',
|
|
||||||
documents: [
|
|
||||||
{ document_id: 1, document_name: '测试文档1', document_type_id: 1, document_type_name: '行政处罚' },
|
|
||||||
{ document_id: 2, document_name: '测试文档2', document_type_id: 1, document_type_name: '行政处罚' }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
task_id: 2,
|
|
||||||
task_status: 'in_progress',
|
|
||||||
documents: [
|
|
||||||
{ document_id: 3, document_name: '测试文档3', document_type_id: 2, document_type_name: '行政许可' }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
return {
|
|
||||||
success: true,
|
|
||||||
data: mockUserTasks
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (response.error) {
|
|
||||||
console.error('获取用户任务及文档失败:', response.error);
|
|
||||||
return {
|
return {
|
||||||
success: false,
|
success: false,
|
||||||
error: response.error
|
error: `HTTP ${response.status}: ${response.statusText}`
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
const result = await response.json();
|
||||||
// 确保返回的数据是数组格式
|
|
||||||
let userTasks: UserTaskInfo[] = [];
|
let userTasks: UserTaskInfo[] = [];
|
||||||
|
if (Array.isArray(result.data)) {
|
||||||
if (response.data) {
|
userTasks = result.data;
|
||||||
// 检查响应数据的结构
|
} else if (Array.isArray(result)) {
|
||||||
console.log('响应数据结构:', response.data);
|
userTasks = result;
|
||||||
|
} else {
|
||||||
// 根据实际API响应结构,数据在response.data.data中
|
userTasks = [];
|
||||||
if (response.data.data && Array.isArray(response.data.data)) {
|
|
||||||
userTasks = response.data.data;
|
|
||||||
} else if (Array.isArray(response.data)) {
|
|
||||||
// 备用方案:如果数据直接在response.data中
|
|
||||||
userTasks = response.data;
|
|
||||||
} else {
|
|
||||||
console.warn('响应数据格式不正确:', response.data);
|
|
||||||
userTasks = [];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('解析后的用户任务数据:', userTasks);
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
success: true,
|
success: true,
|
||||||
data: userTasks
|
data: userTasks
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('获取用户任务及文档失败:', error);
|
|
||||||
return {
|
return {
|
||||||
success: false,
|
success: false,
|
||||||
error: error instanceof Error ? error.message : '获取用户任务及文档失败'
|
error: error instanceof Error ? error.message : '获取用户任务及文档失败'
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfi
|
|||||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
|
||||||
};
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="tab-container w-full flex-1">
|
<div className="tab-container w-full flex-1">
|
||||||
<div className="tab-nav w-full flex justify-between">
|
<div className="tab-nav w-full flex justify-between">
|
||||||
|
|||||||
Reference in New Issue
Block a user