From f30c55456c745629b369adb8a80048995eb7f7af Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 22 Sep 2024 22:09:11 +0300 Subject: [PATCH] feat: print deal --- .../tabs/DealEditDrawerGeneralTab.tsx | 87 +++++++++++++------ 1 file changed, 59 insertions(+), 28 deletions(-) diff --git a/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx b/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx index 678694e..b1a2cf8 100644 --- a/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx +++ b/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx @@ -1,6 +1,18 @@ import { FC } from "react"; import { useDealPageContext } from "../../../contexts/DealPageContext.tsx"; -import { Button, Checkbox, Divider, Fieldset, Flex, Group, rem, Textarea, TextInput } from "@mantine/core"; +import { + ActionIcon, + Button, + Checkbox, + Divider, + Fieldset, + Flex, + Group, + rem, + Textarea, + TextInput, + Tooltip, +} from "@mantine/core"; import { useForm } from "@mantine/form"; import { ClientService, DealSchema, DealService, ShippingWarehouseSchema } from "../../../../../client"; import { DealStatus, DealStatusDictionary } from "../../../../../shared/enums/DealStatus.ts"; @@ -14,6 +26,7 @@ import { useClipboard } from "@mantine/hooks"; import ButtonCopy from "../../../../../components/ButtonCopy/ButtonCopy.tsx"; import FileSaver from "file-saver"; import { getCurrentDateTimeForFilename } from "../../../../../shared/lib/date.ts"; +import { IconPrinter } from "@tabler/icons-react"; type Props = { deal: DealSchema @@ -159,36 +172,54 @@ const Content: FC = ({ deal }) => { - - {(deal.billRequest && deal.billRequest.pdfUrl) ? - - Ссылка на оплату - - : - { - // get current datetime for filename, replaced dots with _ - const date = getCurrentDateTimeForFilename(); - - - FileSaver.saveAs(`${import.meta.env.VITE_API_URL}/deal/document/${deal.id}`, - `bill_${deal.id}_${date}.pdf`); + + + { + const pdfWindow = window.open(`${import.meta.env.VITE_API_URL}/deal/detailedDocument/${deal.id}`); + if (!pdfWindow) return; + pdfWindow.print(); }} - copied={false} + variant={"default"}> + + + + + + + {(deal.billRequest && deal.billRequest.pdfUrl) ? + + Ссылка на оплату + + : + { + // get current datetime for filename, replaced dots with _ + const date = getCurrentDateTimeForFilename(); + + + FileSaver.saveAs(`${import.meta.env.VITE_API_URL}/deal/document/${deal.id}`, + `bill_${deal.id}_${date}.pdf`); + }} + copied={false} + onCopiedLabel={"Ссылка скопирована в буфер обмена"} + > + Ссылка на оплату (PDF) + + } + - Ссылка на оплату (PDF) + copied={clipboard.copied}> + Ссылка на редактирование - } - - Ссылка на редактирование - + +