feat: barcodes display and printing in deal editor

This commit is contained in:
2025-10-19 21:00:38 +04:00
parent e44691d118
commit 8cc11bca67
2 changed files with 24 additions and 13 deletions

View File

@ -5,6 +5,7 @@ import {
Image,
NumberInput,
Stack,
Text,
Textarea,
Title,
} from "@mantine/core";
@ -16,9 +17,9 @@ import {
duplicateProductServices,
ServicesKitSchema,
} from "@/lib/client";
import { useFulfillmentBaseContext } from "@/modules/dealModularEditorTabs/FulfillmentBase/shared/contexts/FulfillmentBaseContext";
import ProductFieldsList from "@/modules/dealModularEditorTabs/FulfillmentBase/desktop/components/ProductView/components/ProductFieldsList";
import ProductViewActions from "@/modules/dealModularEditorTabs/FulfillmentBase/desktop/components/ProductView/components/ProductViewActions";
import { useFulfillmentBaseContext } from "@/modules/dealModularEditorTabs/FulfillmentBase/shared/contexts/FulfillmentBaseContext";
import { ServiceType } from "@/modules/dealModularEditorTabs/FulfillmentBase/shared/types/service";
import ProductServicesTable from "./components/ProductServicesTable";
import styles from "../../../FulfillmentBase.module.css";
@ -116,10 +117,10 @@ const ProductView: FC<Props> = ({ dealProduct }) => {
)}
<Title order={3}>{dealProduct.product.name}</Title>
<ProductFieldsList product={dealProduct.product} />
{/*<Text>*/}
{/* Штрихкоды:*/}
{/*{value.product.barcodes.join(", ")}*/}
{/*</Text>*/}
<Text>
Штрихкоды:
{dealProduct.product.barcodes.join(", ")}
</Text>
<NumberInput
suffix={" шт."}
value={dealProduct.quantity}

View File

@ -1,5 +1,5 @@
import { FC } from "react";
import { IconEdit, IconTrash } from "@tabler/icons-react";
import { IconBarcode, IconEdit, IconTrash } from "@tabler/icons-react";
import { Flex } from "@mantine/core";
import { modals } from "@mantine/modals";
import ActionIconWithTip from "@/components/ui/ActionIconWithTip/ActionIconWithTip";
@ -33,18 +33,28 @@ const ProductViewActions: FC<Props> = ({ dealProduct }) => {
});
};
const onPrintBarcodeClick = () => {
modals.openContextModal({
modal: "printBarcodeModal",
title: "Печать штрихкода",
withCloseButton: true,
innerProps: {
product: dealProduct.product,
defaultQuantity: dealProduct.quantity,
},
});
};
return (
<Flex
mt={"auto"}
ml={"auto"}
gap={"sm"}>
{/*<Tooltip*/}
{/* onClick={onPrintBarcodeClick}*/}
{/* label="Печать штрихкода">*/}
{/* <ActionIcon variant={"default"}>*/}
{/* <IconBarcode />*/}
{/* </ActionIcon>*/}
{/*</Tooltip>*/}
<ActionIconWithTip
onClick={onPrintBarcodeClick}
tipLabel="Печать штрихкода">
<IconBarcode />
</ActionIconWithTip>
<ActionIconWithTip
onClick={onProductEditClick}
tipLabel="Редактировать товар">