From 5aa77530d39ae1e57a1cd36b28a1d04b41331c85 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Tue, 4 Mar 2025 11:48:01 +0330 Subject: [PATCH] annoncement --- .env | 4 +-- src/langs/fa.json | 3 +- src/pages/annoncement/Create.tsx | 36 +++++++++++++------ src/pages/annoncement/List.tsx | 4 +-- .../annoncement/hooks/useAnnoncementData.ts | 8 +++++ .../annoncement/service/AnnoncementService.ts | 5 +++ .../annoncement/types/AnnoncementTypes.ts | 16 +++++++-- 7 files changed, 59 insertions(+), 17 deletions(-) diff --git a/.env b/.env index 8ac5aef..e982ef0 100644 --- a/.env +++ b/.env @@ -1,4 +1,4 @@ VITE_TOKEN_NAME = 'admin_token' VITE_REFRESH_TOKEN_NAME = 'admin_refresh_token' -# VITE_BASE_URL = 'https://api.danakcorp.com' -VITE_BASE_URL = 'http://192.168.0.216:4000' \ No newline at end of file +VITE_BASE_URL = 'https://api.danakcorp.com' +# VITE_BASE_URL = 'http://192.168.0.216:4000' \ No newline at end of file diff --git a/src/langs/fa.json b/src/langs/fa.json index 71189fb..6bad7b7 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -470,7 +470,8 @@ "date_created": "تاریخ ثبت", "summary": "خلاصه اطلاعیه", "user": "کاربر مخاطب", - "created_date": "زمان ایجاد" + "created_date": "زمان ایجاد", + "service": "سرویس" }, "back": "بازگشت", "criticisms": { diff --git a/src/pages/annoncement/Create.tsx b/src/pages/annoncement/Create.tsx index bf4bdff..d591523 100644 --- a/src/pages/annoncement/Create.tsx +++ b/src/pages/annoncement/Create.tsx @@ -1,4 +1,4 @@ -import { FC, useEffect, useRef } from 'react' +import { FC, useEffect, useRef, useState } from 'react' import { useTranslation } from 'react-i18next' import Button from '../../components/Button' import { InfoCircle, TickCircle } from 'iconsax-react' @@ -9,20 +9,26 @@ import CheckBoxComponent from '../../components/CheckBoxComponent' import Select from '../../components/Select' import { useGetAllServices } from '../service/hooks/useServiceData' import { useFormik } from 'formik' -import { AnnoncementCreateType } from './types/AnnoncementTypes' +import { AnnoncementCreateType, UserServiceItemType } from './types/AnnoncementTypes' import * as Yup from 'yup' import { ServiceItemType } from '../service/types/ServiceTypes' -import { useCreateAnnoncement } from './hooks/useAnnoncementData' +import { useCreateAnnoncement, useGetCustomersService } from './hooks/useAnnoncementData' import { ErrorType } from '../../helpers/types' import { toast } from 'react-toastify' import moment from 'moment-jalaali' +import { useNavigate } from 'react-router-dom' +import { Pages } from '../../config/Pages' const Create: FC = () => { const { t } = useTranslation('global') + const navigate = useNavigate() const editorRef = useRef(null); + const [serviceId, setServiceId] = useState('') + const [customerId, setCustomerId] = useState('') const getServices = useGetAllServices('', 1, '', '', false) const createAnnoncement = useCreateAnnoncement() + const getCustomer = useGetCustomersService(serviceId) const formik = useFormik({ initialValues: { @@ -32,7 +38,8 @@ const Create: FC = () => { isPublic: false, isImportant: false, serviceId: '', - groupIds: [] + groupIds: [], + userIds: undefined }, validationSchema: Yup.object({ title: Yup.string().required(t('errors.required')), @@ -43,10 +50,15 @@ const Create: FC = () => { if (!values.serviceId) { values.serviceId = undefined } + if (customerId) { + values.serviceId = undefined + values.userIds = [customerId] + } createAnnoncement.mutate(values, { onSuccess: () => { formik.resetForm() toast.success(t('success')) + navigate(Pages.announcement.list) }, onError: (error: ErrorType) => { toast.error(error.response?.data?.error?.message[0]) @@ -154,17 +166,21 @@ const Create: FC = () => { value: item.id })) || []} name='serviceId' - onChange={formik.handleChange} + onChange={(e) => { + formik.setFieldValue('serviceId', e.target.value) + setServiceId(e.target.value) + }} />