From 8f8d8c8dcf9b16e4a7604fb681e1b60cf3674533 Mon Sep 17 00:00:00 2001 From: yuance <182865460@qq.com> Date: Mon, 17 Nov 2025 16:43:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E5=AE=A1=E8=AE=A1=E5=86=85=E5=AE=B93-=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/components/HistoryModal.vue | 491 +++++++++--------- .../pwlProject/components/reportContent.vue | 139 +++-- 2 files changed, 360 insertions(+), 270 deletions(-) diff --git a/src/views/pwl/pwlProject/components/components/HistoryModal.vue b/src/views/pwl/pwlProject/components/components/HistoryModal.vue index cba7372..e786fea 100644 --- a/src/views/pwl/pwlProject/components/components/HistoryModal.vue +++ b/src/views/pwl/pwlProject/components/components/HistoryModal.vue @@ -1,271 +1,286 @@ + + \ No newline at end of file diff --git a/src/views/pwl/pwlProject/components/reportContent.vue b/src/views/pwl/pwlProject/components/reportContent.vue index 59112ee..7de9b0b 100644 --- a/src/views/pwl/pwlProject/components/reportContent.vue +++ b/src/views/pwl/pwlProject/components/reportContent.vue @@ -237,13 +237,11 @@ 共生成 - {{ - item.count - }} + {{ item.data ? item.data.length : 0 }} 条数据 - 历史记录 + 历史记录 @@ -468,6 +466,9 @@ // 文档管理相关变量 const currentCompanyId = ref(); + // 历史记录接口相关变量 + const currentInterfaceName = ref(''); + // 添加计算属性检查是否已生成三重一大数据 const hasTripleOneData = computed(() => { const section = navigationItems.value[2]; @@ -869,16 +870,7 @@ console.log('三重一大接口返回结果:', result); if (result.code === 0 && result.data && result.data.success) { - const tableData = result.data.data.map((item, index) => ({ - key: index, - category: item.category || '', - policyContent: item.policyContent || '', - groupSystem: item.groupSystem || '', - companyFormulation: item.companyFormulation || '', - checkEvidence: item.checkEvidence || '', - testResult: item.testResult || '待检查', - workPaperIndex: item.workPaperIndex || [] - })); + const tableData = mapTripleOneData(result.data.data); // 保存到三重一大数据 tripleOneTableData.value = tableData; @@ -949,18 +941,7 @@ console.log('重大经济决策调查表接口返回结果:', result); if (result.code === 0 && result.data && result.data.success) { - const tableData = result.data.data.map((item, index) => ({ - key: index, - index: index + 1, - name: item.decisionItem || '', - meetingTime: item.meetingTime || '', - decisionAmount: item.decisionAmount || '', - procedure: item.procedure || '', - executionStatus: item.executionStatus || '否', - goods: item.executionEffect?.good || '否', - normal: item.executionEffect?.normal || '否', - bad: item.executionEffect?.bad || '否' - })); + const tableData = mapDecisionTableData(result.data.data); console.log('生成的表格数据:', tableData); @@ -1145,12 +1126,106 @@ } ); + // 数据映射工具函数 + const mapTripleOneData = (data: any[]) => { + return data.map((item, index) => ({ + key: index, + category: item.category || '', + policyContent: item.policyContent || '', + groupSystem: item.groupSystem || '', + companyFormulation: item.companyFormulation || '', + checkEvidence: item.checkEvidence || '', + testResult: item.testResult || '待检查', + workPaperIndex: item.workPaperIndex || [] + })); + }; + + const mapDecisionTableData = (data: any[]) => { + return data.map((item, index) => ({ + key: index, + index: index + 1, + name: item.decisionItem || item.name || '', + meetingTime: item.meetingTime || '', + decisionAmount: item.decisionAmount || '', + procedure: item.procedure || '', + executionStatus: item.executionStatus || '否', + goods: item.executionEffect?.good || item.goods || '否', + normal: item.executionEffect?.normal || item.normal || '否', + bad: item.executionEffect?.bad || item.bad || '否' + })); + }; + + // 应用历史记录数据到指定章节 + const applyHistoryData = (sectionIndex: number, data: any[], dataType: 'tripleOne' | 'decisionTable') => { + const section = navigationItems.value[sectionIndex]; + + if (dataType === 'tripleOne') { + const tableData = mapTripleOneData(data); + section.data = tableData; + tripleOneTableData.value = tableData; + + // 强制刷新当前显示的表格 + if (table3Title.value === '三重一大') { + section.columns = table3Columns.columns0; + section.data = [...tableData]; + } + } else { + const tableData = mapDecisionTableData(data); + section.data = tableData; + decisionTableData.value = tableData; + + // 强制刷新当前显示的表格 + if (table3Title.value === '重大经济决策调查表') { + section.columns = table3Columns.columns1; + section.data = [...tableData]; + } + } + }; + const showHistory = ref(false); - const clickedItem = ref(); - const openHistory = (item) => { - clickedItem.value = item; + const openHistory = (sectionIndex: number) => { + // 重置接口名称 + currentInterfaceName.value = ''; + + // 根据当前章节和表格类型确定接口名称 + if (sectionIndex === 2) { // 审计内容3章节 + if (table3Title.value === '三重一大') { + currentInterfaceName.value = '/api/ai/auditContent3/generateTripleOneTable'; + } else if (table3Title.value === '重大经济决策调查表') { + currentInterfaceName.value = '/api/ai/auditContent3/generateDecisionTable'; + } + } + showHistory.value = true; }; + + // 历史记录选择处理方法 + const handleHistorySelect = (record: any) => { + // 关闭历史记录弹窗 + showHistory.value = false; + + try { + const responseData = JSON.parse(record.responseData); + if (!responseData.success || !responseData.data) { + throw new Error('历史记录数据格式错误'); + } + + // 根据接口名称确定数据类型 + if (record.interfaceName === '/api/ai/auditContent3/generateTripleOneTable') { + applyHistoryData(2, responseData.data, 'tripleOne'); + message.success('已应用选择的三重一大历史记录'); + } else if (record.interfaceName === '/api/ai/auditContent3/generateDecisionTable') { + applyHistoryData(2, responseData.data, 'decisionTable'); + message.success('已应用选择的重大经济决策调查表历史记录'); + } else { + message.warning('不支持的历史记录类型'); + } + } catch (error) { + console.error('解析历史记录数据失败:', error); + message.error('历史记录数据解析失败'); + } + }; +