mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 14:50:32 +00:00
fix: broken transactions by vendor report
This commit is contained in:
@@ -25,9 +25,11 @@ export class TransactionsByVendorMeta {
|
|||||||
const formattedFromDate = moment(query.fromDate).format('YYYY/MM/DD');
|
const formattedFromDate = moment(query.fromDate).format('YYYY/MM/DD');
|
||||||
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`;
|
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDate}`;
|
||||||
|
|
||||||
|
const sheetName = 'Transactions By Vendor';
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...commonMeta,
|
...commonMeta,
|
||||||
sheetName: 'Transactions By Vendor',
|
sheetName,
|
||||||
formattedFromDate,
|
formattedFromDate,
|
||||||
formattedToDate,
|
formattedToDate,
|
||||||
formattedDateRange,
|
formattedDateRange,
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import { Inject, Service } from 'typedi';
|
|||||||
import { ITransactionsByVendorsFilter } from '@/interfaces';
|
import { ITransactionsByVendorsFilter } from '@/interfaces';
|
||||||
import { TableSheetPdf } from '../TableSheetPdf';
|
import { TableSheetPdf } from '../TableSheetPdf';
|
||||||
import { TransactionsByVendorTableInjectable } from './TransactionsByVendorTableInjectable';
|
import { TransactionsByVendorTableInjectable } from './TransactionsByVendorTableInjectable';
|
||||||
|
import { HtmlTableCustomCss } from './constants';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
export class TransactionsByVendorsPdf {
|
export class TransactionsByVendorsPdf {
|
||||||
@@ -27,7 +28,8 @@ export class TransactionsByVendorsPdf {
|
|||||||
tenantId,
|
tenantId,
|
||||||
table.table,
|
table.table,
|
||||||
table.meta.sheetName,
|
table.meta.sheetName,
|
||||||
table.meta.formattedDateRange
|
table.meta.formattedDateRange,
|
||||||
|
HtmlTableCustomCss
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
export const HtmlTableCustomCss = `
|
||||||
|
table tr td:not(:first-child) {
|
||||||
|
border-left: 1px solid #ececec;
|
||||||
|
}
|
||||||
|
table tr:last-child td {
|
||||||
|
border-bottom: 1px solid #ececec;
|
||||||
|
}
|
||||||
|
table .cell--credit,
|
||||||
|
table .cell--debit,
|
||||||
|
table .column--credit,
|
||||||
|
table .column--debit,
|
||||||
|
table .column--running_balance,
|
||||||
|
table .cell--running_balance{
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
table tr.row-type--closing-balance td,
|
||||||
|
table tr.row-type--opening-balance td {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
table tr.row-type--vendor:not(:first-child) td {
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
}
|
||||||
|
`;
|
||||||
@@ -20,18 +20,17 @@ export default function VendorsTransactionsTable({
|
|||||||
companyName,
|
companyName,
|
||||||
}) {
|
}) {
|
||||||
// Vendor transactions context.
|
// Vendor transactions context.
|
||||||
const {
|
const { vendorsTransactions, isVendorsTransactionsLoading } =
|
||||||
vendorsTransactions: { tableRows },
|
useVendorsTransactionsContext();
|
||||||
isVendorsTransactionsLoading,
|
|
||||||
query,
|
const { table, query } = vendorsTransactions;
|
||||||
} = useVendorsTransactionsContext();
|
|
||||||
|
|
||||||
// Retireve vendor transactions table columns.
|
// Retireve vendor transactions table columns.
|
||||||
const columns = useVendorsTransactionsColumns();
|
const columns = useVendorsTransactionsColumns();
|
||||||
|
|
||||||
const expandedRows = useMemo(
|
const expandedRows = useMemo(
|
||||||
() => defaultExpanderReducer(tableRows, 5),
|
() => defaultExpanderReducer(table.rows, 5),
|
||||||
[tableRows],
|
[table.rows],
|
||||||
);
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -46,7 +45,7 @@ export default function VendorsTransactionsTable({
|
|||||||
>
|
>
|
||||||
<VendorsTransactionsDataTable
|
<VendorsTransactionsDataTable
|
||||||
columns={columns}
|
columns={columns}
|
||||||
data={tableRows}
|
data={table.rows}
|
||||||
rowClassNames={tableRowTypesToClassnames}
|
rowClassNames={tableRowTypesToClassnames}
|
||||||
noInitialFetch={true}
|
noInitialFetch={true}
|
||||||
expandable={true}
|
expandable={true}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ import {
|
|||||||
*/
|
*/
|
||||||
export const useVendorsTransactionsColumns = () => {
|
export const useVendorsTransactionsColumns = () => {
|
||||||
const {
|
const {
|
||||||
vendorsTransactions: { tableRows },
|
vendorsTransactions: { table },
|
||||||
} = useVendorsTransactionsContext();
|
} = useVendorsTransactionsContext();
|
||||||
|
|
||||||
return React.useMemo(
|
return React.useMemo(
|
||||||
@@ -59,7 +59,7 @@ export const useVendorsTransactionsColumns = () => {
|
|||||||
accessor: 'cells[4].value',
|
accessor: 'cells[4].value',
|
||||||
className: 'credit',
|
className: 'credit',
|
||||||
textOverview: true,
|
textOverview: true,
|
||||||
width: getColumnWidth(tableRows, 'cells[5].value', {
|
width: getColumnWidth(table.rows, 'cells[5].value', {
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
magicSpacing: 10,
|
magicSpacing: 10,
|
||||||
}),
|
}),
|
||||||
@@ -69,7 +69,7 @@ export const useVendorsTransactionsColumns = () => {
|
|||||||
accessor: 'cells[5].value',
|
accessor: 'cells[5].value',
|
||||||
className: 'debit',
|
className: 'debit',
|
||||||
textOverview: true,
|
textOverview: true,
|
||||||
width: getColumnWidth(tableRows, 'cells[6].value', {
|
width: getColumnWidth(table.rows, 'cells[6].value', {
|
||||||
minWidth: 100,
|
minWidth: 100,
|
||||||
magicSpacing: 10,
|
magicSpacing: 10,
|
||||||
}),
|
}),
|
||||||
@@ -79,13 +79,13 @@ export const useVendorsTransactionsColumns = () => {
|
|||||||
accessor: 'cells[6].value',
|
accessor: 'cells[6].value',
|
||||||
className: 'running_balance',
|
className: 'running_balance',
|
||||||
textOverview: true,
|
textOverview: true,
|
||||||
width: getColumnWidth(tableRows, 'cells[7].value', {
|
width: getColumnWidth(table.rows, 'cells[7].value', {
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
magicSpacing: 10,
|
magicSpacing: 10,
|
||||||
}),
|
}),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[tableRows],
|
[table],
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
|
// @ts-nocheck
|
||||||
|
import { AnchorButton } from '@blueprintjs/core';
|
||||||
import {
|
import {
|
||||||
DialogContent,
|
DialogContent,
|
||||||
PdfDocumentPreview,
|
PdfDocumentPreview,
|
||||||
FormattedMessage as T,
|
FormattedMessage as T,
|
||||||
} from '@/components';
|
} from '@/components';
|
||||||
import { useTransactionsByVendorsPdf } from '@/hooks/query';
|
import { useTransactionsByVendorsPdf } from '@/hooks/query';
|
||||||
import { AnchorButton } from '@blueprintjs/core';
|
import { useVendorsTransactionsContext } from '../../VendorsTransactionsProvider';
|
||||||
|
|
||||||
export default function VendorTransactionsPdfDialogContent() {
|
export default function VendorTransactionsPdfDialogContent() {
|
||||||
const { isLoading, pdfUrl } = useTransactionsByVendorsPdf();
|
const { httpQuery } = useVendorsTransactionsContext();
|
||||||
|
const { isLoading, pdfUrl } = useTransactionsByVendorsPdf(httpQuery);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DialogContent>
|
<DialogContent>
|
||||||
|
|||||||
@@ -19,14 +19,7 @@ export function useVendorsTransactionsReport(query, props) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
select: (res) => ({
|
select: (res) => res.data,
|
||||||
data: res.data.table,
|
|
||||||
tableRows: res.data.table.rows,
|
|
||||||
}),
|
|
||||||
defaultData: {
|
|
||||||
tableRows: [],
|
|
||||||
data: [],
|
|
||||||
},
|
|
||||||
...props,
|
...props,
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user