From bc2b5cf668bbe6ebbb4f090bc476781d8630c2bb Mon Sep 17 00:00:00 2001
From: tony.cheng <chengmingwei_1984122@126.com>
Date: Thu, 12 Mar 2026 16:05:59 +0800
Subject: [PATCH] feat: 优化外呼提示文案,使用perTypeName字段动态显示当事人类型

---
 web-app/src/components/dashboard/TabContainer.jsx |   29 +++++++++++++++++++++++++----
 1 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/web-app/src/components/dashboard/TabContainer.jsx b/web-app/src/components/dashboard/TabContainer.jsx
index 299d854..0767f1c 100644
--- a/web-app/src/components/dashboard/TabContainer.jsx
+++ b/web-app/src/components/dashboard/TabContainer.jsx
@@ -1321,8 +1321,8 @@
   });
   const loadedRef = useRef(false);
 
-  // 获取 caseId
-  const caseId = caseData?.caseId || getMergedParams().caseId;
+  // 获取 caseId(兼容驼峰和蛇形命名)
+  const caseId = caseData?.caseId || caseData?.case_id || getMergedParams().caseId;
 
   // 处理协议内容展示(纯文本,处理换行)
   const renderAgreementContent = (content) => {
@@ -1394,7 +1394,28 @@
     if (!caseId) return;
     setActionLoading(prev => ({ ...prev, download: true }));
     try {
-      await MediationAgreementAPIService.downloadAgreement(caseId);
+      // 调用API获取PDF文件流
+      const response = await MediationAgreementAPIService.downloadAgreement(caseId);
+      
+      // 创建Blob对象(PDF格式)
+      const blob = new Blob([response.data], { 
+        type: 'application/pdf' 
+      });
+      
+      // 创建下载链接
+      const url = window.URL.createObjectURL(blob);
+      const link = document.createElement('a');
+      link.href = url;
+      link.download = `调解协议_${caseId}.pdf`;
+      
+      // 触发下载
+      document.body.appendChild(link);
+      link.click();
+      document.body.removeChild(link);
+      
+      // 清理URL对象
+      window.URL.revokeObjectURL(url);
+      
       message.success('协议下载成功!');
     } catch (err) {
       console.error('下载协议失败:', err);
@@ -1409,7 +1430,7 @@
     if (!caseId) return;
     setActionLoading(prev => ({ ...prev, regenerate: true }));
     try {
-      const response = await MediationAgreementAPIService.generateAgreement(caseId);
+      const response = await MediationAgreementAPIService.regenerateAgreement(caseId);
       if (response?.data?.agreeContent) {
         setAgreementContent(response.data.agreeContent);
         message.success('协议重新生成成功!');

--
Gitblit v1.8.0