diff --git a/web/src/widgets/ConsolidationChess/ConsolidationChessContent/ConsolidatedChessContent.tsx b/web/src/widgets/ConsolidationChess/ConsolidationChessContent/ConsolidatedChessContent.tsx index e235781..66e42a9 100644 --- a/web/src/widgets/ConsolidationChess/ConsolidationChessContent/ConsolidatedChessContent.tsx +++ b/web/src/widgets/ConsolidationChess/ConsolidationChessContent/ConsolidatedChessContent.tsx @@ -76,10 +76,6 @@ export const ChessContent = ({ card }: { card: VersionCard | null }) => { const loadData = useCallback( async (vId: string, dIds: string[], cIds: string[], isActual: () => boolean) => { - if (isHalfFiltered) { - notification.info({ description: 'Для сравнений по Дт и Кт нужно заполнить оба фильтра' }); - return; - } setLoading(true); try { let res: IntercompanyMatrixResponse; @@ -206,7 +202,7 @@ export const ChessContent = ({ card }: { card: VersionCard | null }) => { style={{ backgroundColor: isChessFullscreen ? '#fff' : 'transparent', padding: isChessFullscreen ? 6 : 0, - height: isChessFullscreen ? '100vh' : 'auto', + height: isChessFullscreen ? '100vh' : '100%', overflow: isChessFullscreen ? 'hidden' : 'visible', display: 'flex', flexDirection: 'column', @@ -217,6 +213,7 @@ export const ChessContent = ({ card }: { card: VersionCard | null }) => { decimals={decimals} units={units} isFullscreen={isChessFullscreen} + isHalfFiltered={isHalfFiltered} toolbar={
{ decimals={chessResDecimals} units={chessResUnits} isFullscreen={isResFullscreen} + toolbar={
= return ( - className='chessTable' + className='chessResTable' dataSource={data?.articles || []} columns={columns} rowKey='code' diff --git a/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidatedChessTable.css b/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidatedChessTable.css index 0bfdefa..09b6c8f 100644 --- a/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidatedChessTable.css +++ b/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidatedChessTable.css @@ -16,3 +16,19 @@ .chessTable .resRow { background-color: #e6f4ea !important ; } + + +.chessTable .ant-table-container{ + display: flex; + flex-direction: column; + +} + +.chessTable.customHeight .ant-table-container{ + height: 550px !important; + +} + +.chessTable .ant-table-summary{ + margin-top: auto; +} \ No newline at end of file diff --git a/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidationChessTable.tsx b/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidationChessTable.tsx index 7f8a8db..86434cc 100644 --- a/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidationChessTable.tsx +++ b/web/src/widgets/ConsolidationChess/ConsolidationChessTable/ConsolidationChessTable.tsx @@ -17,6 +17,7 @@ interface ConsolidationChessTableI { units: string; toolbar?: React.ReactNode; isFullscreen?: boolean; + isHalfFiltered?: boolean; } type TotalRow = { @@ -32,6 +33,7 @@ export const ConsolidationChessTable: React.FC = ({ units, toolbar, isFullscreen = false, + isHalfFiltered = false, }) => { const matrixData = useMemo(() => { if (!data?.cells) return {}; @@ -109,20 +111,19 @@ export const ConsolidationChessTable: React.FC = ({ } }); - // сумму, которую не удалось сложить, не выдумываем нулём — ячейка покажет «—» totalRow[colCompany.id] = sumAmounts(amountsToSum) ?? ''; }); return totalRow as MatrixCompany; }, [data?.companies, matrixData]); - const scrollY = isFullscreen ? 'calc(100vh - 150px)' : 436; + const scrollY = isFullscreen ? 'calc(100vh - 200px)' : 436; return ( - className='chessTable' - dataSource={data?.companies || []} - columns={columns} + className={!isFullscreen ? 'chessTable customHeight' : 'chessTable'} + dataSource={isHalfFiltered ? [] : data?.companies || []} + columns={isHalfFiltered ? [] : columns || []} rowKey='id' pagination={false} loading={loading} @@ -130,26 +131,35 @@ export const ConsolidationChessTable: React.FC = ({ size='small' bordered title={() => toolbar} + locale={{ + emptyText: isHalfFiltered ? ( +
Для получения данных выберите счета по Дт и Кт
+ ) : ( + 'Нет данных' + ), + }} summary={() => { if (!totalRowData) return null; return ( - - - -
- Итого -
-
- - {data?.companies.map((company, index) => ( - -
- {chessTableCellFormatValue((totalRowData as TotalRow)[company.id], units, decimals) || '—'} + + {!isHalfFiltered && ( + + +
+ Итого
- ))} -
+ + {data?.companies.map((company, index) => ( + +
+ {chessTableCellFormatValue((totalRowData as TotalRow)[company.id], units, decimals) || '—'} +
+
+ ))} + + )}
); }}