mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-22 15:50:32 +00:00
feat: wip financial reports printing
This commit is contained in:
@@ -22,9 +22,11 @@ export class InventoryDetailsMetaInjectable {
|
|||||||
const formattedToDay = moment(query.toDate).format('YYYY/MM/DD');
|
const formattedToDay = moment(query.toDate).format('YYYY/MM/DD');
|
||||||
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDay}`;
|
const formattedDateRange = `From ${formattedFromDate} | To ${formattedToDay}`;
|
||||||
|
|
||||||
|
const sheetName = 'Inventory Item Details';
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...commonMeta,
|
...commonMeta,
|
||||||
sheetName: 'Inventory Details',
|
sheetName,
|
||||||
formattedFromDate,
|
formattedFromDate,
|
||||||
formattedToDay,
|
formattedToDay,
|
||||||
formattedDateRange,
|
formattedDateRange,
|
||||||
|
|||||||
@@ -22,9 +22,11 @@ export class SalesByItemsMeta {
|
|||||||
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 = 'Sales By Items';
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...commonMeta,
|
...commonMeta,
|
||||||
sheetName: 'Purchases By Items',
|
sheetName,
|
||||||
formattedFromDate,
|
formattedFromDate,
|
||||||
formattedToDate,
|
formattedToDate,
|
||||||
formattedDateRange,
|
formattedDateRange,
|
||||||
|
|||||||
@@ -44,7 +44,6 @@ export class SalesTaxLiabilitySummaryApplication {
|
|||||||
* @param {number} tenantId
|
* @param {number} tenantId
|
||||||
* @param {SalesTaxLiabilitySummaryQuery} query
|
* @param {SalesTaxLiabilitySummaryQuery} query
|
||||||
* @returns {Promise<Buffer>}
|
* @returns {Promise<Buffer>}
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public xlsx(
|
public xlsx(
|
||||||
tenantId: number,
|
tenantId: number,
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ export class SalesTaxLiabilitySummaryMeta {
|
|||||||
public async meta(tenantId: number, query: SalesTaxLiabilitySummaryQuery) {
|
public async meta(tenantId: number, query: SalesTaxLiabilitySummaryQuery) {
|
||||||
const commonMeta = await this.financialSheetMeta.meta(tenantId);
|
const commonMeta = await this.financialSheetMeta.meta(tenantId);
|
||||||
const formattedToDate = moment(query.toDate).format('YYYY/MM/DD');
|
const formattedToDate = moment(query.toDate).format('YYYY/MM/DD');
|
||||||
const formattedFromDate = moment(query.toDate).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 = 'Sales Tax Liability Summary';
|
const sheetName = 'Sales Tax Liability Summary';
|
||||||
|
|||||||
@@ -6,10 +6,10 @@ import {
|
|||||||
FormattedMessage as T,
|
FormattedMessage as T,
|
||||||
} from '@/components';
|
} from '@/components';
|
||||||
import { usePurchasesByItemsPdfExport } from '@/hooks/query';
|
import { usePurchasesByItemsPdfExport } from '@/hooks/query';
|
||||||
import { usePurchasesByItemsQuery } from '../../utils';
|
import { usePurchaseByItemsContext } from '../../PurchasesByItemsProvider';
|
||||||
|
|
||||||
export default function PurchasesByItemsPdfDialogContent() {
|
export default function PurchasesByItemsPdfDialogContent() {
|
||||||
const { httpQuery } = usePurchasesByItemsQuery();
|
const { httpQuery } = usePurchaseByItemsContext();
|
||||||
const { isLoading, pdfUrl } = usePurchasesByItemsPdfExport(httpQuery);
|
const { isLoading, pdfUrl } = usePurchasesByItemsPdfExport(httpQuery);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -40,4 +40,5 @@ function VendorsBalanceSummaryProvider({ filter, ...props }) {
|
|||||||
|
|
||||||
const useVendorsBalanceSummaryContext = () =>
|
const useVendorsBalanceSummaryContext = () =>
|
||||||
React.useContext(VendorsBalanceSummaryContext);
|
React.useContext(VendorsBalanceSummaryContext);
|
||||||
|
|
||||||
export { VendorsBalanceSummaryProvider, useVendorsBalanceSummaryContext };
|
export { VendorsBalanceSummaryProvider, useVendorsBalanceSummaryContext };
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ function VendorBalancePdfDialogRoot({ dialogName, payload, isOpen }) {
|
|||||||
return (
|
return (
|
||||||
<Dialog
|
<Dialog
|
||||||
name={dialogName}
|
name={dialogName}
|
||||||
title={'Vendor Balance Print Preview'}
|
title={'Vendor Balance Summary Print Preview'}
|
||||||
className={classNames(CLASSES.DIALOG_PDF_PREVIEW)}
|
className={classNames(CLASSES.DIALOG_PDF_PREVIEW)}
|
||||||
autoFocus={true}
|
autoFocus={true}
|
||||||
canEscapeKeyClose={true}
|
canEscapeKeyClose={true}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import useApiRequest from './useRequest';
|
import useApiRequest from './useRequest';
|
||||||
|
|
||||||
export const useRequestPdf = (url) => {
|
export const useRequestPdf = (httpProps) => {
|
||||||
const apiRequest = useApiRequest();
|
const apiRequest = useApiRequest();
|
||||||
const [isLoading, setIsLoading] = React.useState(false);
|
const [isLoading, setIsLoading] = React.useState(false);
|
||||||
const [isLoaded, setIsLoaded] = React.useState(false);
|
const [isLoaded, setIsLoaded] = React.useState(false);
|
||||||
@@ -12,9 +12,10 @@ export const useRequestPdf = (url) => {
|
|||||||
React.useEffect(() => {
|
React.useEffect(() => {
|
||||||
setIsLoading(true);
|
setIsLoading(true);
|
||||||
apiRequest
|
apiRequest
|
||||||
.get(url, {
|
.http({
|
||||||
headers: { accept: 'application/pdf' },
|
headers: { accept: 'application/pdf' },
|
||||||
responseType: 'blob',
|
responseType: 'blob',
|
||||||
|
...httpProps,
|
||||||
})
|
})
|
||||||
.then((response) => {
|
.then((response) => {
|
||||||
// Create a Blob from the PDF Stream.
|
// Create a Blob from the PDF Stream.
|
||||||
|
|||||||
Reference in New Issue
Block a user