diff --git a/src/client/models/BarcodeSchema.ts b/src/client/models/BarcodeSchema.ts index 680730c..a769d62 100644 --- a/src/client/models/BarcodeSchema.ts +++ b/src/client/models/BarcodeSchema.ts @@ -6,5 +6,6 @@ import type { BarcodeAttributeSchema } from './BarcodeAttributeSchema'; export type BarcodeSchema = { barcode: string; attributes: Array; + additionalField?: (string | null); }; diff --git a/src/client/models/BarcodeTemplateCreateRequest.ts b/src/client/models/BarcodeTemplateCreateRequest.ts index f657204..6fa4244 100644 --- a/src/client/models/BarcodeTemplateCreateRequest.ts +++ b/src/client/models/BarcodeTemplateCreateRequest.ts @@ -9,6 +9,7 @@ export type BarcodeTemplateCreateRequest = { isDefault: boolean; size: BarcodeTemplateSizeSchema; additionalAttributes: Array; + additionalField?: (string | null); attributeIds: Array; }; diff --git a/src/client/models/BarcodeTemplateSchema.ts b/src/client/models/BarcodeTemplateSchema.ts index 4585b28..4f3a144 100644 --- a/src/client/models/BarcodeTemplateSchema.ts +++ b/src/client/models/BarcodeTemplateSchema.ts @@ -10,6 +10,7 @@ export type BarcodeTemplateSchema = { isDefault: boolean; size: BarcodeTemplateSizeSchema; additionalAttributes: Array; + additionalField?: (string | null); id: number; attributes: Array; }; diff --git a/src/client/models/BarcodeTemplateUpdateRequest.ts b/src/client/models/BarcodeTemplateUpdateRequest.ts index b48d70d..99c5ea1 100644 --- a/src/client/models/BarcodeTemplateUpdateRequest.ts +++ b/src/client/models/BarcodeTemplateUpdateRequest.ts @@ -9,6 +9,7 @@ export type BarcodeTemplateUpdateRequest = { isDefault: boolean; size: BarcodeTemplateSizeSchema; additionalAttributes: Array; + additionalField?: (string | null); id: number; attributeIds: Array; }; diff --git a/src/client/models/ProductSchema.ts b/src/client/models/ProductSchema.ts index bf70c75..ba78cdf 100644 --- a/src/client/models/ProductSchema.ts +++ b/src/client/models/ProductSchema.ts @@ -13,5 +13,6 @@ export type ProductSchema = { brand?: (string | null); color?: (string | null); composition?: (string | null); + size?: (string | null); }; diff --git a/src/modals/PrintBarcodeModal/PrintBarcodeContainer.tsx b/src/modals/PrintBarcodeModal/PrintBarcodeContainer.tsx index 40d4945..43ab475 100644 --- a/src/modals/PrintBarcodeModal/PrintBarcodeContainer.tsx +++ b/src/modals/PrintBarcodeModal/PrintBarcodeContainer.tsx @@ -8,12 +8,13 @@ type Props = { attributes: BarcodeAttributeSchema[] barcode?: string; quantity: number; + additionalField?: string | null; } type Ref = HTMLDivElement; const PrintBarcodeContainer = forwardRef(function PrintBarcodeContainer(props: Props, ref) { - const {attributes, barcode, quantity} = props; + const {attributes, barcode, quantity, additionalField} = props; - const MAX_ATTRIBUTES = 6; + const MAX_ATTRIBUTES = additionalField ? 5 : 6; const MIN_BARCODE_SIZE = 30; const MAX_BARCODE_SIZE = 100; const STEP = (MAX_BARCODE_SIZE - MIN_BARCODE_SIZE) / MAX_ATTRIBUTES; @@ -52,6 +53,14 @@ const PrintBarcodeContainer = forwardRef(function PrintBarcodeContai {getAttributeText(attr)} ))} + {props.additionalField && ( + + {props.additionalField} + + )} ))} diff --git a/src/modals/PrintBarcodeModal/PrintBarcodeModal.module.css b/src/modals/PrintBarcodeModal/PrintBarcodeModal.module.css index a492e0b..836298c 100644 --- a/src/modals/PrintBarcodeModal/PrintBarcodeModal.module.css +++ b/src/modals/PrintBarcodeModal/PrintBarcodeModal.module.css @@ -9,6 +9,7 @@ .barcode-container { + max-height: 1.45in; text-align: left; margin: 1.25mm; padding: 1.25mm; diff --git a/src/modals/PrintBarcodeModal/PrintBarcodeModal.tsx b/src/modals/PrintBarcodeModal/PrintBarcodeModal.tsx index 5fdef31..f91f7bc 100644 --- a/src/modals/PrintBarcodeModal/PrintBarcodeModal.tsx +++ b/src/modals/PrintBarcodeModal/PrintBarcodeModal.tsx @@ -126,7 +126,7 @@ const PrintBarcodeModal = ({ quantity={quantity} ref={barcodeRef} attributes={barcodeData?.attributes || []} - + additionalField={barcodeData?.additionalField} /> ) diff --git a/src/pages/BarcodePage/modals/BarcodeTemplateFormModal/BarcodeTemplateFormModal.tsx b/src/pages/BarcodePage/modals/BarcodeTemplateFormModal/BarcodeTemplateFormModal.tsx index c5be565..eb9c37c 100644 --- a/src/pages/BarcodePage/modals/BarcodeTemplateFormModal/BarcodeTemplateFormModal.tsx +++ b/src/pages/BarcodePage/modals/BarcodeTemplateFormModal/BarcodeTemplateFormModal.tsx @@ -6,7 +6,7 @@ import { } from "../../../../client"; import {ContextModalProps} from "@mantine/modals"; import {useForm} from "@mantine/form"; -import {Checkbox, Fieldset, Flex, rem, TextInput} from "@mantine/core"; +import {Checkbox, Fieldset, Flex, rem, Textarea, TextInput} from "@mantine/core"; import BarcodeTemplateAttributeMultiselect from "../../components/BarcodeTemplateAttributeMultiselect/BarcodeTemplateAttributeMultiselect.tsx"; import BarcodeTemplateAdditionalFieldTable @@ -69,6 +69,11 @@ const BarcodeTemplateFormModal = ({ label={"Использовать как стандартный шаблон"} checked={form.getInputProps('isDefault').value as boolean} {...form.getInputProps('isDefault')}/> +