From 33dd65c497aadce0fe651afc5cdf12cb38bd86a8 Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 9 Nov 2024 08:50:13 +0300 Subject: [PATCH] feat: deal group and stuff --- src/client/models/DealProductSchema.ts | 1 + .../components/ProductView/ProductView.tsx | 38 ++++++++++++++----- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/src/client/models/DealProductSchema.ts b/src/client/models/DealProductSchema.ts index 62e042f..1ce0fd5 100644 --- a/src/client/models/DealProductSchema.ts +++ b/src/client/models/DealProductSchema.ts @@ -8,5 +8,6 @@ export type DealProductSchema = { product: ProductSchema; services: Array; quantity: number; + comment?: string; }; diff --git a/src/pages/LeadsPage/tabs/ProductAndServiceTab/components/ProductView/ProductView.tsx b/src/pages/LeadsPage/tabs/ProductAndServiceTab/components/ProductView/ProductView.tsx index 0aa5b1a..e745a4c 100644 --- a/src/pages/LeadsPage/tabs/ProductAndServiceTab/components/ProductView/ProductView.tsx +++ b/src/pages/LeadsPage/tabs/ProductAndServiceTab/components/ProductView/ProductView.tsx @@ -6,7 +6,7 @@ import { ProductSchema, } from "../../../../../../client"; import styles from "./ProductView.module.css"; -import { ActionIcon, Box, Flex, Image, NumberInput, rem, Text, Title, Tooltip } from "@mantine/core"; +import { ActionIcon, Box, Flex, Image, NumberInput, rem, Text, Textarea, Title, Tooltip } from "@mantine/core"; import ProductServicesTable from "../ProductServicesTable/ProductServicesTable.tsx"; import { isNil, isNumber } from "lodash"; import { IconBarcode, IconEdit, IconTrash } from "@tabler/icons-react"; @@ -35,13 +35,13 @@ export const ProductFieldNames: Partial = { additionalInfo: "Доп. информация", }; const ProductView: FC = ({ - product, - onDelete, - onChange, - onCopyServices, - onKitAdd, - onProductEdit, -}) => { + product, + onDelete, + onChange, + onCopyServices, + onKitAdd, + onProductEdit, + }) => { const { dealState } = useDealProductAndServiceTabState(); const debouncedOnChange = useDebouncedCallback(async (item: DealProductSchema) => { if (!onChange) return; @@ -58,7 +58,7 @@ const ProductView: FC = ({ onChange({ ...product, services: product.services.filter( - service => service.service.id !== item.service.id + service => service.service.id !== item.service.id, ), }); }; @@ -75,7 +75,7 @@ const ProductView: FC = ({ onChange({ ...product, services: product.services.map(service => - service.service.id === item.service.id ? item : service + service.service.id === item.service.id ? item : service, ), }); }; @@ -162,6 +162,24 @@ const ProductView: FC = ({ } placeholder={"Введите количество товара"} /> +