From 8b9d789d93e5e1a2a7bc25044867808d8f1b6819 Mon Sep 17 00:00:00 2001 From: admin Date: Fri, 20 Sep 2024 22:18:16 +0300 Subject: [PATCH] feat: deal_id fix --- .../tabs/DealEditDrawerGeneralTab.tsx | 134 +++++++++--------- 1 file changed, 67 insertions(+), 67 deletions(-) diff --git a/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx b/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx index bd2aecc..678694e 100644 --- a/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx +++ b/src/pages/LeadsPage/drawers/DealEditDrawer/tabs/DealEditDrawerGeneralTab.tsx @@ -1,28 +1,28 @@ -import {FC} from "react"; -import {useDealPageContext} from "../../../contexts/DealPageContext.tsx"; -import {Button, Checkbox, Divider, Fieldset, Flex, Group, rem, Textarea, TextInput} from "@mantine/core"; -import {useForm} from "@mantine/form"; -import {ClientService, DealSchema, DealService, ShippingWarehouseSchema} from "../../../../../client"; -import {DealStatus, DealStatusDictionary} from "../../../../../shared/enums/DealStatus.ts"; -import {isEqual} from "lodash"; -import {notifications} from "../../../../../shared/lib/notifications.ts"; -import {useQueryClient} from "@tanstack/react-query"; +import { FC } from "react"; +import { useDealPageContext } from "../../../contexts/DealPageContext.tsx"; +import { Button, Checkbox, Divider, Fieldset, Flex, Group, rem, Textarea, TextInput } from "@mantine/core"; +import { useForm } from "@mantine/form"; +import { ClientService, DealSchema, DealService, ShippingWarehouseSchema } from "../../../../../client"; +import { DealStatus, DealStatusDictionary } from "../../../../../shared/enums/DealStatus.ts"; +import { isEqual } from "lodash"; +import { notifications } from "../../../../../shared/lib/notifications.ts"; +import { useQueryClient } from "@tanstack/react-query"; import ShippingWarehouseAutocomplete from "../../../../../components/Selects/ShippingWarehouseAutocomplete/ShippingWarehouseAutocomplete.tsx"; -import {ButtonCopyControlled} from "../../../../../components/ButtonCopyControlled/ButtonCopyControlled.tsx"; -import {useClipboard} from "@mantine/hooks"; +import { ButtonCopyControlled } from "../../../../../components/ButtonCopyControlled/ButtonCopyControlled.tsx"; +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 { getCurrentDateTimeForFilename } from "../../../../../shared/lib/date.ts"; type Props = { deal: DealSchema } -type FormType = Omit +type FormType = Omit -const Content: FC = ({deal}) => { - const {setSelectedDeal} = useDealPageContext(); +const Content: FC = ({ deal }) => { + const { setSelectedDeal } = useDealPageContext(); const clipboard = useClipboard(); const queryClient = useQueryClient(); @@ -31,37 +31,37 @@ const Content: FC = ({deal}) => { { initialValues: initialValues, validate: { - name: (value: string) => value.length > 0 ? null : 'Название сделки не может быть пустым' - } - } - ) + name: (value: string) => value.length > 0 ? null : "Название сделки не может быть пустым", + }, + }, + ); const updateDealInfo = async (values: FormType) => { return DealService.updateDealGeneralInfo({ requestBody: { dealId: deal.id, - data: {...values, shippingWarehouse: values.shippingWarehouse?.toString()} - } - }).then(({ok, message}) => { - notifications.guess(ok, {message}); + data: { ...values, shippingWarehouse: values.shippingWarehouse?.toString() }, + }, + }).then(({ ok, message }) => { + notifications.guess(ok, { message }); if (!ok) return; - DealService.getDealById({dealId: deal.id}) + DealService.getDealById({ dealId: deal.id }) .then((data) => { setSelectedDeal(data); form.setInitialValues(data); queryClient.invalidateQueries({ - queryKey: ['getDealSummaries'] - }) - }) + queryKey: ["getDealSummaries"], + }); + }); }); - } + }; const updateClientInfo = async (values: FormType) => { return ClientService.updateClient({ requestBody: { - data: values.client - } - }).then(({ok, message}) => - notifications.guess(ok, {message})); - } + data: values.client, + }, + }).then(({ ok, message }) => + notifications.guess(ok, { message })); + }; const handleSubmit = async (values: FormType) => { // Updating client info if there changes if (!isEqual(values.client, deal.client)) { @@ -69,50 +69,50 @@ const Content: FC = ({deal}) => { } // updating deal info await updateDealInfo(values); - } + }; const isShippingWarehouse = (value: (ShippingWarehouseSchema | string | null | undefined)): value is ShippingWarehouseSchema => { return !["string", "null", "undefined"].includes((typeof value)); - } + }; const onCopyGuestUrlClick = () => { DealService.createDealGuestUrl({ requestBody: { - dealId: deal.id - } - }).then(({ok, message, url}) => { + dealId: deal.id, + }, + }).then(({ ok, message, url }) => { if (!ok) - notifications.guess(ok, {message}); + notifications.guess(ok, { message }); clipboard.copy( - `${window.location.origin}/${url}` + `${window.location.origin}/${url}`, ); }); - } + }; return (
handleSubmit(values))}> - -
+ +
+ value={DealStatusDictionary[deal.currentStatus as DealStatus]} />