From 473492f6f070eaef3354959d54f4911fea99d426 Mon Sep 17 00:00:00 2001 From: Grog Date: Thu, 22 Oct 2026 10:37:27 +0300 Subject: [PATCH] added export res chess table --- .../consodilation/intercompanyMatrix.ts | 4 ++++ .../ConsolidatedChessContent.tsx | 24 +++++++++++++++++-- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/web/src/services/consodilation/intercompanyMatrix.ts b/web/src/services/consodilation/intercompanyMatrix.ts index 78702ca..db06267 100644 --- a/web/src/services/consodilation/intercompanyMatrix.ts +++ b/web/src/services/consodilation/intercompanyMatrix.ts @@ -21,3 +21,7 @@ export const exportChessTableManual = (versionId: string, data: ChessManualReque export const fetchChessConsolidationsResult = (id: string) => api.get(`/consolidations/versions/${id}/intercompany-matrix/result-table`); +export const exportChessConsolidationsResult = (versionId: string) => + apiFetchBlob(`/consolidations/versions/${versionId}/intercompany-matrix/result-table/export`, { + method: 'GET', + }); diff --git a/web/src/widgets/ConsolidatedChessContent/ConsolidatedChessContent.tsx b/web/src/widgets/ConsolidatedChessContent/ConsolidatedChessContent.tsx index 62ca106..d58e2e0 100644 --- a/web/src/widgets/ConsolidatedChessContent/ConsolidatedChessContent.tsx +++ b/web/src/widgets/ConsolidatedChessContent/ConsolidatedChessContent.tsx @@ -4,6 +4,7 @@ import { useEffect, useMemo, useRef, useState } from 'react'; import { useParams } from 'react-router-dom'; import { ApiError } from '../../api/client'; import { + exportChessConsolidationsResult, exportChessTableAll, exportChessTableManual, fetchChessConsolidations, @@ -25,7 +26,7 @@ export const ChessContent = ({ card }: { card: VersionCard | null }) => { const [data, setData] = useState(null); const [loading, setLoading] = useState(false); - const [expoerLoading, setExportLoading] = useState(false); + const [exportLoading, setExportLoading] = useState(false); const [companies, setCompanies] = useState([]); const [decimals, setDecimals] = useState(2); const [units, setUnits] = useState('thousand'); @@ -131,6 +132,22 @@ export const ChessContent = ({ card }: { card: VersionCard | null }) => { setExportLoading(false); } }; + const downloadResTable = async () => { + if (!version_id) { + return; + } + setExportLoading(true); + try { + const { blob, filename } = await exportChessConsolidationsResult(version_id); + saveBlob(blob, filename ?? exportFilename(card?.company_group.name ?? 'ГК', card?.year ?? 0, card?.quarter ?? '')); + } catch (e) { + if (e instanceof ApiError) { + notification.error({ description: e.message }); + } + } finally { + setExportLoading(false); + } + }; const filteredData = useMemo(() => { if (!data) return null; @@ -223,7 +240,7 @@ export const ChessContent = ({ card }: { card: VersionCard | null }) => { />
-
+