From fcc511d3b91781a76553aa5c03fb87d256c99dd2 Mon Sep 17 00:00:00 2001 From: Hermes CI Fix Date: Tue, 8 Sep 2026 16:31:49 +0800 Subject: [PATCH] =?UTF-8?q?fix(budget):=20=E7=89=88=E6=9C=AC=E5=B7=AE?= =?UTF-8?q?=E5=BC=82=E5=AF=B9=E6=AF=94=E5=BC=B9=E7=AA=97=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=AF=B9=E9=BD=90=E5=90=8E=E7=AB=AF=E5=A5=91=E7=BA=A6(version?= =?UTF-8?q?=5Fa/version=5Fb/diff)=20+=20diff=5Frate=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=20+=20=E7=A7=BB=E9=99=A4=E6=97=A0=E6=84=8F?= =?UTF-8?q?=E4=B9=89period=E5=88=97=20(project-20260908-budget-diff-empty)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/BudgetManagement.vue | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/views/BudgetManagement.vue b/frontend/src/views/BudgetManagement.vue index 3d41a8f2..ef759609 100644 --- a/frontend/src/views/BudgetManagement.vue +++ b/frontend/src/views/BudgetManagement.vue @@ -714,11 +714,11 @@ @@ -1089,7 +1089,7 @@ async function resubmitVersion(row: any) { try { await ElMessageBox.confirm(`确 const versionYear = ref(currentYear); const versionsList = ref([]); const versionsLoading = ref(false); const selectedVersions = ref([]); const showVersionDiff = ref(false); const diffLoading = ref(false); const diffData = ref(null); const currentVersion = ref('') async function loadVersions() { versionsLoading.value = true; try { const r: any = await budgetApi.versions({ year: versionYear.value, entity_id: getEntityId() }); const d = Array.isArray(r) ? r : (r.data || []); versionsList.value = d.map((v: any) => ({ ...v, _selected: false })); currentVersion.value = d[0]?.version || '' } catch (e) { ElMessage.error('加载版本列表失败') }; versionsLoading.value = false } function onVersionSelect(row: any) { selectedVersions.value = versionsList.value.filter((v: any) => v._selected); if (selectedVersions.value.length > 2) { row._selected = false; selectedVersions.value = versionsList.value.filter((v: any) => v._selected) } } -async function loadVersionDiff() { if (selectedVersions.value.length !== 2) return; diffLoading.value = true; try { const [a, b] = selectedVersions.value; const r: any = await budgetApi.versionDiff({ version_a: a.version, version_b: b.version, year: versionYear.value }); diffData.value = r; showVersionDiff.value = true } catch (e) { ElMessage.error('加载版本对比失败') }; diffLoading.value = false } +async function loadVersionDiff() { if (selectedVersions.value.length !== 2) return; diffLoading.value = true; try { const [a, b] = selectedVersions.value; const r: any = await budgetApi.versionDiff({ version_a: a.version, version_b: b.version, year: versionYear.value }); const diffs: any[] = (r && Array.isArray(r.diffs)) ? r.diffs : []; diffs.forEach((d: any) => { d.diff_rate = (typeof d.version_a === 'number' && d.version_a > 0 && typeof d.diff === 'number') ? Math.round(d.diff / d.version_a * 100) : null }); diffData.value = r; showVersionDiff.value = true } catch (e) { ElMessage.error('加载版本对比失败') }; diffLoading.value = false } const execFilterYear = ref(currentYear); const execFilterMonth = ref(new Date().getMonth()); const execFilterDim = ref(''); const execLoading = ref(false); const execReport = ref([]); const execSummaryCards = ref([]) async function loadExecutionReport() {