修复系统概览数据不准确的查询。修复交叉评查意见列表的数量查询。优化全局消息提示的层级。优化提交意见进行局部更新。

This commit is contained in:
2025-07-25 09:49:36 +08:00
parent 3dab54d551
commit ccd5cdf71e
29 changed files with 2444 additions and 1035 deletions
+12 -9
View File
@@ -26,7 +26,7 @@ function extractApiData<T>(responseData: unknown): T | null {
export interface SubmitOpinionRequest {
reviewPointResultId: string | number;
documentId: string | number;
evaluationPointId: number; // 必须是数字ID
evaluationPointId: number | null; // 必须是数字ID
auditOpinion: string;
deductionScore: number;
}
@@ -60,6 +60,7 @@ export interface CrossCheckingOpinion {
problem_message: string;
proposer_id: number;
created_at: string;
status: string;
}
/**
@@ -132,7 +133,7 @@ export async function submitCrossCheckingOpinion(
evaluation_result_id: opinionData.reviewPointResultId
};
const response = await fetch(`${API_BASE_URL}/admin/cross_review/proposals`, {
const response = await fetch(`${API_BASE_URL.value}/admin/cross_review/proposals`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -188,7 +189,7 @@ export async function getCrossCheckingOpinions(
// 如果没传userId,默认用1
const realUserId = userId ?? 1;
// 实际后端API调用,拼接API_BASE_URL
const response = await fetch(`${API_BASE_URL}/admin/cross_review/proposals/document`, {
const response = await fetch(`${API_BASE_URL.value}/admin/cross_review/proposals/document`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -225,6 +226,7 @@ export async function getCrossCheckingOpinions(
problem_message?: string;
proposer_id: number;
created_at: string;
status: string;
}
// 适配后端返回结构,使用新字段
@@ -241,7 +243,8 @@ export async function getCrossCheckingOpinions(
can_vote: item.can_vote ?? false,
problem_message: item.problem_message || '',
proposer_id: item.proposer_id,
created_at: item.created_at
created_at: item.created_at,
status: item.status
})) : [];
return {
@@ -300,24 +303,24 @@ export async function performOpinionAction(
switch (actionData.action) {
case 'agree':
message = '已赞同该意见';
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
requestBody = { vote_type: 'agree', voter_id: userInfo?.user_id };
break;
case 'disagree':
message = '已反对该意见';
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
requestBody = { vote_type: 'disagree', voter_id: userInfo?.user_id };
break;
case 'withdraw_vote':
message = '已撤销投票';
// 撤销投票的接口,根据实际API调整
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}/votes`;
requestBody = { vote_type: 'cancel', voter_id: userInfo?.user_id };
break;
case 'withdraw_opinion':
message = '已撤销意见';
// 撤销意见的接口,根据实际API调整
endpoint = `${API_BASE_URL}/admin/cross_review/proposals/${actionData.opinionId}`;
endpoint = `${API_BASE_URL.value}/admin/cross_review/proposals/${actionData.opinionId}`;
requestBody = {};
break;
default:
@@ -412,7 +415,7 @@ export async function checkProposalVotes(
document_id: documentId
};
const response = await fetch(`${API_BASE_URL}/admin/cross_review/proposals/document/check_pending_votes`, {
const response = await fetch(`${API_BASE_URL.value}/admin/cross_review/proposals/document/check_pending_votes`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
+2 -2
View File
@@ -389,7 +389,7 @@ export async function getCrossCheckingStats(userInfo?: { user_id?: number; [key:
export async function getUserTaskDocuments(page: number = 1, pageSize: number = 10, jwtToken?: string): Promise<ApiResponse<UserTaskApiResponse>> {
try {
// 拼接绝对路径,去除多余斜杠
const base = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
const base = API_BASE_URL.value.endsWith('/') ? API_BASE_URL.value.slice(0, -1) : API_BASE_URL.value;
const url = `${base}/admin/cross_review/tasks/user_tasks`;
const response = await fetch(url, {
@@ -436,7 +436,7 @@ export async function getUserTaskDocuments(page: number = 1, pageSize: number =
export async function getTaskDocuments(taskId: number, page: number = 1, pageSize: number = 10, jwtToken?: string): Promise<ApiResponse<TaskDocumentApiResponse>> {
try {
// 拼接绝对路径,去除多余斜杠
const base = API_BASE_URL.endsWith('/') ? API_BASE_URL.slice(0, -1) : API_BASE_URL;
const base = API_BASE_URL.value.endsWith('/') ? API_BASE_URL.value.slice(0, -1) : API_BASE_URL.value;
const url = `${base}/admin/cross_review/tasks/${taskId}/documents`;
// console.log('最终请求URL:', url);