From 1d9be4f223f98d22b6638a9e5780c7f45f0f2924 Mon Sep 17 00:00:00 2001 From: Nastya Date: Sat, 13 Apr 2024 15:38:46 +0300 Subject: [PATCH] =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BA=D0=B0=20=D0=BF=D0=BE=D0=BB=D0=B5=D0=B9=20=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D0=B5=D0=B4=20=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CreatePromocodeForm.tsx | 110 +++++++++++------- 1 file changed, 67 insertions(+), 43 deletions(-) diff --git a/src/pages/dashboard/Content/PromocodeManagement/CreatePromocodeForm.tsx b/src/pages/dashboard/Content/PromocodeManagement/CreatePromocodeForm.tsx index beeba75..7ff68c3 100644 --- a/src/pages/dashboard/Content/PromocodeManagement/CreatePromocodeForm.tsx +++ b/src/pages/dashboard/Content/PromocodeManagement/CreatePromocodeForm.tsx @@ -74,11 +74,28 @@ export const CreatePromocodeForm = ({ createPromocode }: Props) => { }, []); const submitForm = (values: FormValues) => { + console.log("полученные вельюсы", values) + + const currentPrivilege = privileges.find( + (item) => item.privilegeId === values.privilegeId + ); + console.log("привилегия", currentPrivilege) + console.log("bonusType", bonusType) + const body = { ...values, - threshold: values.layer === 1 ? values.threshold : values.threshold * 100, }; + if ((body.layer === 1 && bonusType === "discount") || bonusType === "privilege") { + if (currentPrivilege === undefined) return; + body.serviceKey = currentPrivilege?.serviceKey + body.target = body.privilegeId + } + if ((body.layer === 2 && bonusType === "discount")) { + if (body.serviceKey === undefined) return; + body.target = body.serviceKey + } + const factorFromDiscountValue = 1 - body.factor / 100; return createPromocode({ @@ -239,49 +256,64 @@ export const CreatePromocodeForm = ({ createPromocode }: Props) => { > {values.layer === 1 ? "Выбор привилегии" : "Выбор сервиса"} - { - if (values.layer === 1) { - const currentPrivilege = privileges.find( - (item) => item.privilegeId === target.value - ); + { + values.layer === 1 ? - setFieldValue("serviceKey", currentPrivilege?.serviceKey); - setFieldValue("privilegeId", currentPrivilege?.privilegeId); - - return; - } - - setFieldValue("privilegeId", target.value); - }} - sx={{ - width: "100%", - border: "2px solid", - color: theme.palette.secondary.main, - borderColor: theme.palette.secondary.main, - "&.Mui-focused .MuiOutlinedInput-notchedOutline": { - border: "none", - }, - ".MuiSvgIcon-root ": { fill: theme.palette.secondary.main }, - }} - value={values.privilegeId} - children={ - values.layer === 1 - ? privileges.map(({ name, privilegeId }) => ( + { + setFieldValue("target", target.value) + setFieldValue("privilegeId", target.value) + }} + children={ + privileges.map(({ name, privilegeId }) => ( {name} )) - : SERVICE_LIST.map(({ displayName, serviceKey }) => ( + } + /> + : + { + setFieldValue("target", target.value) + setFieldValue("serviceKey", target.value) + }} + children={ + SERVICE_LIST.map(({ displayName, serviceKey }) => ( {displayName} )) - } - /> + } + /> + + } { name="privilegeId" as={Select} label="Привилегия" - onChange={({ target }: SelectChangeProps) => { - const currentPrivilege = privileges.find( - (item) => item.privilegeId === target.value - ); - - setFieldValue("serviceKey", currentPrivilege?.serviceKey); - setFieldValue("privilegeId", currentPrivilege?.privilegeId); - }} sx={{ width: "100%", border: "2px solid",