修复系统概览数据不准确的查询。修复交叉评查意见列表的数量查询。优化全局消息提示的层级。优化提交意见进行局部更新。
This commit is contained in:
@@ -262,35 +262,8 @@ export async function action({ request }: ActionFunctionArgs) {
|
||||
return Response.json({ success: true, data: response.data });
|
||||
}
|
||||
|
||||
if (intent === "submitCrossCheckingOpinion") {
|
||||
const { submitCrossCheckingOpinion } = await import("~/api/cross-checking/cross-file-result");
|
||||
|
||||
const reviewPointResultId = formData.get("reviewPointResultId") as string;
|
||||
const documentId = formData.get("documentId") as string;
|
||||
const auditPoint = formData.get("auditPoint") as string;
|
||||
const foundIssue = formData.get("foundIssue") as string;
|
||||
const auditOpinion = formData.get("auditOpinion") as string;
|
||||
const deductionScore = parseFloat(formData.get("deductionScore") as string);
|
||||
|
||||
const opinionData = {
|
||||
reviewPointResultId,
|
||||
documentId,
|
||||
auditPoint,
|
||||
foundIssue,
|
||||
auditOpinion,
|
||||
deductionScore
|
||||
};
|
||||
|
||||
const response = await submitCrossCheckingOpinion(opinionData, frontendJWT);
|
||||
|
||||
if (response.error) {
|
||||
return Response.json({ success: false, error: response.error }, { status: response.status || 500 });
|
||||
}
|
||||
|
||||
return Response.json({ success: true, data: response.data });
|
||||
}
|
||||
|
||||
if (intent === "getCrossCheckingOpinions") {
|
||||
if (intent === "getCrossCheckingOpinions") {
|
||||
const { getCrossCheckingOpinions } = await import("~/api/cross-checking/cross-file-result");
|
||||
|
||||
const documentId = formData.get("documentId") as string;
|
||||
@@ -328,7 +301,18 @@ export default function CrossCheckingResult() {
|
||||
const [reviewData, setReviewData] = useState<ReviewData | null>(null);
|
||||
const [activeReviewPointResultId, setActiveReviewPointResultId] = useState<string | null>(null);
|
||||
const [targetPage, setTargetPage] = useState<number | undefined>(undefined);
|
||||
const [localScoringProposals, setLocalScoringProposals] = useState<ScoringProposal[]>(scoring_proposals || []); // 本地状态管理scoringProposals
|
||||
|
||||
// 同步外部scoring_proposals到本地状态
|
||||
useEffect(() => {
|
||||
setLocalScoringProposals(scoring_proposals || []);
|
||||
}, [scoring_proposals]);
|
||||
|
||||
// 处理意见提交成功的回调
|
||||
const handleOpinionSubmitted = (newProposal: ScoringProposal) => {
|
||||
setLocalScoringProposals(prev => [...prev, newProposal]);
|
||||
};
|
||||
|
||||
// loader 数据加载出错
|
||||
useEffect(()=>{
|
||||
loadingBarService.hide();
|
||||
@@ -555,7 +539,7 @@ export default function CrossCheckingResult() {
|
||||
|
||||
const responseData = checkRes.data as CheckProposalResponse;
|
||||
const pendingProposals = responseData?.data?.pending_proposals || [];
|
||||
console.log("pendingProposals", pendingProposals);
|
||||
// console.log("pendingProposals", pendingProposals);
|
||||
|
||||
// 3. 构建模态框消息
|
||||
let modalMessage: string = '';
|
||||
@@ -698,9 +682,10 @@ export default function CrossCheckingResult() {
|
||||
activeReviewPointResultId={activeReviewPointResultId}
|
||||
onReviewPointSelect={handleReviewPointSelect}
|
||||
onStatusChange={handleReviewPointStatusChange}
|
||||
scoringProposals={scoring_proposals as ScoringProposal[]}
|
||||
scoringProposals={localScoringProposals}
|
||||
jwtToken={jwtToken}
|
||||
userInfo={userInfo}
|
||||
onOpinionSubmitted={handleOpinionSubmitted}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user