feat: print deal

This commit is contained in:
2024-09-22 22:09:11 +03:00
parent 8b9d789d93
commit f30c55456c

View File

@@ -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,7 +172,23 @@ const Content: FC<Props> = ({ deal }) => {
<Flex mt={"md"} gap={rem(10)} align={"center"} justify={"flex-end"}>
<Flex align={"center"} gap={rem(10)} justify={"center"}>
<Flex gap={rem(10)} align={"center"} justify={"space-between"}>
<Tooltip
label={"Распечатать сделку"}
>
<ActionIcon
onClick={() => {
const pdfWindow = window.open(`${import.meta.env.VITE_API_URL}/deal/detailedDocument/${deal.id}`);
if (!pdfWindow) return;
pdfWindow.print();
}}
variant={"default"}>
<IconPrinter />
</ActionIcon>
</Tooltip>
<Flex gap={rem(10)}>
{(deal.billRequest && deal.billRequest.pdfUrl) ?
<ButtonCopy
onCopiedLabel={"Ссылка скопирована в буфер обмена"}
@@ -190,6 +219,8 @@ const Content: FC<Props> = ({ deal }) => {
Ссылка на редактирование
</ButtonCopyControlled>
</Flex>
</Flex>
<Flex gap={rem(10)}>
<Checkbox