完善通过评查点的显示优化

This commit is contained in:
2025-05-27 10:05:12 +08:00
parent ed3ff4c3b3
commit 742a789244
5 changed files with 34 additions and 30 deletions
+2 -1
View File
@@ -13,6 +13,7 @@ interface FileInfo {
pageCount: number;
uploadTime: string;
uploadUser: string;
fileType: string;
}
// 合同信息
@@ -133,7 +134,7 @@ export function FileDetails({ fileInfo, contractInfo, reviewInfo }: FileDetailsP
{renderInfoSection('文件基本信息', 'ri-file-info-line', 'blue', (
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
{renderInfoRow('文件名称', fileInfo.fileName)}
{renderInfoRow('合同编号', fileInfo.contractNumber)}
{renderInfoRow(fileInfo.fileType != "1" ? '卷宗编号' : '合同编号', fileInfo.contractNumber)}
{renderInfoRow('文件大小', fileInfo.fileSize)}
{renderInfoRow('文件格式', fileInfo.fileFormat)}
{renderInfoRow('页数', `${fileInfo.pageCount}`)}
+11 -24
View File
@@ -443,11 +443,11 @@ export function ReviewPointsList({
* @param reviewPoint 评查点
* @returns 评查点主要内容组件
*/
const renderContent = (reviewPoint: ReviewPoint) => {
const renderContent = (reviewPoint: ReviewPoint, result?: boolean) => {
return (
<>
{/* 修改评查结果的结构之后,显示新的结构 */}
{Object.entries(reviewPoint.content).map(([key, value], index) => (
{Object.entries(reviewPoint.content).map(([key, value], index) => !(result && value.value?.toString().trim() == '') && (
<div
key={index}
className="mb-2 pb-2 border-b border-gray-100 last:border-b-0 last:mb-0 last:pb-0 cursor-pointer hover:bg-gray-100 transition-colors duration-200 rounded p-1 group"
@@ -507,6 +507,7 @@ export function ReviewPointsList({
{value.value?.toString().trim() ? '' : '缺失'}
</span>
</div>
<div className="relative text-container max-h-96 group-hover:overflow-auto overflow-hidden">
<p
className="text-xs text-left select-text block overflow-hidden !line-clamp-2
@@ -544,22 +545,7 @@ export function ReviewPointsList({
if (editingReviewPoint !== reviewPoint.id) {
// 根据result和status决定渲染哪种样式
if (reviewPoint.result === true) {
// 已通过的评查点只显示基本信息和人工审核注释 delete TODO
// if (reviewPoint.needsHumanReview && reviewPoint.humanReviewNote) {
// return (
// <div className="mt-2">
// <div className="p-2 bg-green-50 rounded border border-green-200 text-xs">
// <p className="text-xs text-success"><i className="ri-check-line mr-1"></i>已处理</p>
// {reviewPoint.suggestion && (
// <div className="border-t border-green-200 mt-1 pt-1">
// <p className="text-xs text-gray-600 select-text">{reviewPoint.suggestion}</p>
// </div>
// )}
// </div>
// </div>
// );
// }
// 已通过的评查点只显示基本信息和人工审核注释
// 处理 result=true 且 postAction=manual 的情况
if (reviewPoint.postAction === 'manual') {
const note = manualReviewNotes[reviewPoint.id] || '';
@@ -591,7 +577,7 @@ export function ReviewPointsList({
{reviewPoint.content && Object.entries(reviewPoint.content).length > 0 && (
<div className="p-2 bg-white rounded border border-gray-200 text-xs mb-3 select-text">
{/* 修改评查结果的结构之后,显示新的结构 */}
{renderContent(reviewPoint)}
{renderContent(reviewPoint, true)}
</div>
)}
@@ -644,12 +630,13 @@ export function ReviewPointsList({
{checkContentPage(reviewPoint).pageIndex === 0 && (
<p className="text-xs text-red-500 select-text text-left"></p>
)}
<div className="p-2 bg-white rounded border border-gray-200 text-xs mb-3 select-text">
<div>
{/* 评查点内容显示区域 */}
{reviewPoint.content && Object.entries(reviewPoint.content).length > 0 && (
<div className="p-2 bg-white rounded border border-gray-200 text-xs mb-3 select-text">
{/* 修改评查结果的结构之后,显示新的结构 */}
{renderContent(reviewPoint)}
{renderContent(reviewPoint, true)}
</div>
</div>
)}
</>
);
}
@@ -714,7 +701,7 @@ export function ReviewPointsList({
<div className="p-2 bg-white rounded border border-gray-200 text-xs mb-3 select-text">
<div>
{/* 修改评查结果的结构之后,显示新的结构 */}
{renderContent(reviewPoint)}
{renderContent(reviewPoint,false)}
</div>
</div>
</>
+8
View File
@@ -104,6 +104,14 @@ export function ReviewTabs({ activeTab, onTabChange, children, fileInfo, onConfi
>
<i className="ri-lightbulb-line"></i> AI智能分析
</button> */}
<button
className={`tab-nav-item ${activeTab === 'fileinfo' ? 'active' : ''}`}
onClick={() => onTabChange('fileinfo')}
type="button"
aria-pressed={activeTab === 'fileinfo'}
>
<i className="ri-flip-horizontal-line"></i>
</button>
<button
className={`tab-nav-item ${activeTab === 'fileinfo' ? 'active' : ''}`}
onClick={() => onTabChange('fileinfo')}