|
|
@ -8,22 +8,12 @@ |
|
|
|
@register="registerInnerModal" |
|
|
|
> |
|
|
|
<div class="modal-content"> |
|
|
|
<div class="grid grid-cols-6 gap-4 h-full"> |
|
|
|
<div class="col-span-2 pdf-container"> |
|
|
|
<div class="grid grid-cols-5 gap-4 h-full"> |
|
|
|
<div class="col-span-3 pdf-container"> |
|
|
|
<div class="pdf-container"> |
|
|
|
<vue-office-docx :src="pdfUrl" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col-span-2 contract-text-container"> |
|
|
|
<div class="contract-text-header"> |
|
|
|
<h3>合同文本内容</h3> |
|
|
|
</div> |
|
|
|
<div class="contract-text-content"> |
|
|
|
<div class="contract-text-scroll"> |
|
|
|
<pre>{{ contractText }}</pre> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col-span-2 review-container"> |
|
|
|
<div class="review-content"> |
|
|
|
<showResultCard v-model:cardList="cardList" /> |
|
|
@ -41,7 +31,7 @@ |
|
|
|
import { Tabs, TabPane, Card, Modal } from 'ant-design-vue'; |
|
|
|
import { useRouter } from 'vue-router'; |
|
|
|
import CanvasEditor from '@/views/CanvasEditor/index.vue'; |
|
|
|
import { getContractualResultById,getContractulContent } from '@/api/contractReview/JyjcontractualTaskBatch'; |
|
|
|
import { getContractualResultById } from '@/api/contractReview/JyjcontractualTaskBatch'; |
|
|
|
import { modifyContractReview } from '@/api/documentReview/DocumentTaskResults'; |
|
|
|
import { getPdfFile } from '@/api/contractReview/JyjcontractualTaskBatch'; |
|
|
|
import showResultCard from './showResultCard.vue'; |
|
|
@ -63,25 +53,13 @@ |
|
|
|
// 用于存储初始数据,以便比较 |
|
|
|
const initialCardList = ref<any[]>([]); |
|
|
|
|
|
|
|
// 新增合同文本内容变量 |
|
|
|
const contractText = ref<string>(''); |
|
|
|
|
|
|
|
const [registerInnerModal, { modalLoading, closeModal }] = useModalInner( |
|
|
|
async (data: { record?: Recordable }) => { |
|
|
|
modalLoading(true); |
|
|
|
cardList.value = []; |
|
|
|
const { record } = data; |
|
|
|
const res = await getContractualResultById(record.id); |
|
|
|
|
|
|
|
// 获取合同文本内容 |
|
|
|
try { |
|
|
|
const contentRes = await getContractulContent(record.id); |
|
|
|
contractText.value = contentRes || '无法获取合同文本内容'; |
|
|
|
} catch (error) { |
|
|
|
console.error('获取合同文本内容失败:', error); |
|
|
|
contractText.value = '获取合同文本内容失败'; |
|
|
|
} |
|
|
|
|
|
|
|
// const content = await getContractulContent(record.id); |
|
|
|
pdfViewerkey.value += 1; |
|
|
|
currentId.value = record.id; |
|
|
|
for (const item of res.results) { |
|
|
@ -111,7 +89,6 @@ |
|
|
|
initialCardList.value = cloneDeep(cardList.value); |
|
|
|
modalLoading(false); |
|
|
|
}, |
|
|
|
// 新增关闭模态框时清理数据的逻辑 |
|
|
|
); |
|
|
|
|
|
|
|
// 存放父组件传递的数据 |
|
|
@ -413,46 +390,4 @@ |
|
|
|
max-width: 100%; |
|
|
|
height: auto !important; |
|
|
|
} |
|
|
|
|
|
|
|
/* 合同文本容器样式 */ |
|
|
|
.contract-text-container { |
|
|
|
height: 100%; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
background: #fff; |
|
|
|
border-radius: 4px; |
|
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); |
|
|
|
} |
|
|
|
|
|
|
|
.contract-text-header { |
|
|
|
padding: 12px 16px; |
|
|
|
border-bottom: 1px solid #f0f0f0; |
|
|
|
} |
|
|
|
|
|
|
|
.contract-text-header h3 { |
|
|
|
margin: 0; |
|
|
|
color: #333; |
|
|
|
font-size: 16px; |
|
|
|
} |
|
|
|
|
|
|
|
.contract-text-content { |
|
|
|
flex: 1; |
|
|
|
padding: 16px; |
|
|
|
overflow: hidden; |
|
|
|
} |
|
|
|
|
|
|
|
.contract-text-scroll { |
|
|
|
height: 100%; |
|
|
|
overflow-y: auto; |
|
|
|
} |
|
|
|
|
|
|
|
.contract-text-scroll pre { |
|
|
|
margin: 0; |
|
|
|
white-space: pre-wrap; |
|
|
|
word-wrap: break-word; |
|
|
|
font-family: 'Source Han Sans CN', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; |
|
|
|
font-size: 14px; |
|
|
|
line-height: 1.6; |
|
|
|
color: #333; |
|
|
|
} |
|
|
|
</style> |