diff --git a/src/Pages/Admin/Reseller/show/Model/EditModel.tsx b/src/Pages/Admin/Reseller/show/Model/EditModel.tsx index f366fef..617cc33 100644 --- a/src/Pages/Admin/Reseller/show/Model/EditModel.tsx +++ b/src/Pages/Admin/Reseller/show/Model/EditModel.tsx @@ -5,17 +5,20 @@ import LayoutModel from "../../../../../Layout/Dashboard/LayoutModel"; import ModelForm from "./ModelForm"; import { QueryStatusEnum } from "../../../../../enums/QueryStatus"; import { useObjectToEdit } from "../../../../../zustand/ObjectToEditState"; -import { useUpdateReseller } from "../../../../../api/reseller"; +import { useUpdateReseller, useUpdateResellerCollection } from "../../../../../api/reseller"; +import { formatDate } from "../../../../../utils/formatDate"; const EditModel: React.FC = () => { - const { mutate, status } = useUpdateReseller(); + const { mutate, status } = useUpdateResellerCollection(); const { objectToEdit } = useObjectToEdit((state) => state); - + const handleSubmit = (values: any) => { mutate({ ...values, + date:formatDate(values?.date), }); }; + return ( <> { return (
- - + +
diff --git a/src/Pages/Admin/Reseller/show/Model/FilterFormCollection.tsx b/src/Pages/Admin/Reseller/show/Model/FilterFormCollection.tsx new file mode 100644 index 0000000..44d34b0 --- /dev/null +++ b/src/Pages/Admin/Reseller/show/Model/FilterFormCollection.tsx @@ -0,0 +1,19 @@ +import { Col, Row } from "reactstrap"; +import ValidationField from "../../../../../Components/ValidationField/ValidationField"; + +const FilterFormCollection = () => { + + return ( + +
+ + + + + + +
+ ); +}; + +export default FilterFormCollection; diff --git a/src/Pages/Admin/Reseller/show/Model/ModelForm.tsx b/src/Pages/Admin/Reseller/show/Model/ModelForm.tsx index 9440a8d..2570d5f 100644 --- a/src/Pages/Admin/Reseller/show/Model/ModelForm.tsx +++ b/src/Pages/Admin/Reseller/show/Model/ModelForm.tsx @@ -5,9 +5,9 @@ const Form = () => { return ( - - + + diff --git a/src/Pages/Admin/Reseller/show/Model/formUtil.ts b/src/Pages/Admin/Reseller/show/Model/formUtil.ts index 0f7ba00..1e9d0d6 100644 --- a/src/Pages/Admin/Reseller/show/Model/formUtil.ts +++ b/src/Pages/Admin/Reseller/show/Model/formUtil.ts @@ -1,19 +1,22 @@ +import dayjs from "dayjs"; import * as Yup from "yup"; export const getInitialValues = (objectToEdit: any): any => { + console.log(objectToEdit?.date); + return { id: objectToEdit?.id ?? null, - amount_value: objectToEdit?.amount_value ?? null, + amount: objectToEdit?.amount ?? null, description: objectToEdit?.description ?? null, - date_of_receipt: objectToEdit?.date_of_receipt ?? null, + date: objectToEdit?.date ? dayjs(objectToEdit.date) : null, }; }; export const getValidationSchema = () => { return Yup.object().shape({ - amount_value: Yup.string().required("validation.required"), + amount: Yup.string().required("validation.required"), description: Yup.string().required("validation.required"), - date_of_receipt: Yup.string().required("validation.required"), + date: Yup.string().required("validation.required"), }); }; diff --git a/src/Pages/Admin/Reseller/show/Page.tsx b/src/Pages/Admin/Reseller/show/Page.tsx index 507d4ad..e10fe89 100644 --- a/src/Pages/Admin/Reseller/show/Page.tsx +++ b/src/Pages/Admin/Reseller/show/Page.tsx @@ -11,7 +11,7 @@ import { useParams } from "react-router-dom"; import { ParamsEnum } from "../../../../enums/params"; import AttachmentsCard from "../../../../Components/Cards/AttachmentsCard"; import { ModalEnum } from "../../../../enums/Model"; -import { useDeleteReseller } from "../../../../api/reseller"; +import { useDeleteReseller, useDeleteResellerCollection } from "../../../../api/reseller"; import { useObjectToEdit } from "../../../../zustand/ObjectToEditState"; import useModalHandler from "../../../../utils/useModalHandler"; const DeleteModalForm = lazy( @@ -21,12 +21,12 @@ const DeleteModalForm = lazy( const TableHeader = () => { const [t] = useTranslation(); - const { re_seller_id } = useParams() + const { reseller_id } = useParams() useSetPageTitle([ { name: `${t(`page_header.home`)}`, path: "/" }, { name: `${t(`page_header.reseller`)}`, path: "reseller" }, - { name: `${t(`page_header.reseller_details`)}`, path: `reseller/${re_seller_id}` }, + { name: `${t(`page_header.reseller_details`)}`, path: `reseller/${reseller_id}` }, ]); const { handel_open_model } = useModalHandler(); @@ -34,7 +34,7 @@ const TableHeader = () => { handel_open_model(ModalEnum?.RE_SELLER_COLLECTION_ADD); } - const deleteMutation = useDeleteReseller(); + const deleteMutation = useDeleteResellerCollection(); return (
}> diff --git a/src/Pages/Admin/Reseller/show/ReSellerTabs.tsx b/src/Pages/Admin/Reseller/show/ReSellerTabs.tsx index 1da4ef2..6974b00 100644 --- a/src/Pages/Admin/Reseller/show/ReSellerTabs.tsx +++ b/src/Pages/Admin/Reseller/show/ReSellerTabs.tsx @@ -7,7 +7,10 @@ import { lazy } from 'react'; import { FaMoneyBills } from "react-icons/fa6"; import useSearchQuery from '../../../../api/utils/useSearchQuery'; import { useFilterState } from '../../../../Components/Utils/Filter/FilterState'; -import { useGetAllReseller } from '../../../../api/reseller'; +import { useGetAllReseller, useGetAllResellerCollection, useGetAllResellerSales } from '../../../../api/reseller'; +import { useParams } from 'react-router-dom'; +import { ParamsEnum } from '../../../../enums/params'; +import FilterFormCollection from './Model/FilterFormCollection'; const Table = lazy(() => import("./Table")); @@ -16,11 +19,21 @@ const ReSellerTabs = () => { const [searchQuery] = useSearchQuery("name"); const { filterState } = useFilterState(); - const response = useGetAllReseller({ + const {reseller_id} = useParams(); + + const response = useGetAllResellerSales({ name: searchQuery, pagination: true, ...filterState, - }); + reseller_id:reseller_id, + }); + + const responseCollection = useGetAllResellerCollection({ + name: searchQuery, + pagination: true, + ...filterState, + reseller_id:reseller_id, + }); const items: TabsProps['items'] = [ { @@ -43,10 +56,10 @@ const ReSellerTabs = () => { children: <> } + sub_children={} filterTitle="practical.collections" /> - +
, }, ]; diff --git a/src/Pages/Admin/Reseller/show/useTableColumns.tsx b/src/Pages/Admin/Reseller/show/useTableColumns.tsx index 0ffad1b..330cdc2 100644 --- a/src/Pages/Admin/Reseller/show/useTableColumns.tsx +++ b/src/Pages/Admin/Reseller/show/useTableColumns.tsx @@ -8,32 +8,40 @@ export const useColumns = () => { const columns: TableColumnsType = [ { title: t("columns.student_full_name"), - dataIndex: "student_full_name", key: "student_full_name", align: "center", + render: (row) => { + console.log(row); + + return row?.student?.first_name +" "+ row?.student?.last_name; + }, }, { title: t("columns.grade"), - dataIndex: "grade", - key: "grade", - align: "center", - }, - { - title: t("columns.package"), - dataIndex: "package", + render: (row) => { + return row?.package?.name; + }, key: "package", align: "center", }, { - title: t("columns.amount_paid"), - dataIndex: "amount_paid", - key: "amount_paid", + title: t("columns.paid_price"), + render: (row) => { + return row?.package?.price; + }, + key: "price", align: "center", }, { - title: t("columns.sale_date"), - dataIndex: "sale_date", - key: "sale_date", + title: t("columns.activation_date"), + dataIndex: "activation_date", + key: "activation_date", + align: "center", + }, + { + title: t("columns.expiration_date"), + dataIndex: "expiration_date", + key: "expiration_date", align: "center", }, ]; diff --git a/src/Pages/Admin/Reseller/show/useTableColumnsCollections.tsx b/src/Pages/Admin/Reseller/show/useTableColumnsCollections.tsx index 106e694..14631ea 100644 --- a/src/Pages/Admin/Reseller/show/useTableColumnsCollections.tsx +++ b/src/Pages/Admin/Reseller/show/useTableColumnsCollections.tsx @@ -29,18 +29,6 @@ export const useColumnsCollection = () => { key: "ID", align: "center", }, - { - title: t("columns.amount"), - dataIndex: "amount", - key: "amount", - align: "center", - }, - { - title: t("columns.date_of_receipt"), - dataIndex: "date_of_receipt", - key: "date_of_receipt", - align: "center", - }, { title: t("columns.description"), dataIndex: "description", @@ -48,15 +36,15 @@ export const useColumnsCollection = () => { align: "center", }, { - title: t("columns.residual"), - dataIndex: "residual", - key: "residual", + title: t("columns.amount"), + dataIndex: "amount", + key: "amount", align: "center", }, { - title: t("columns.procedure"), - dataIndex: "procedure", - key: "procedure", + title: t("columns.date"), + dataIndex: "date", + key: "date", align: "center", }, { diff --git a/src/api/config.ts b/src/api/config.ts index 9bf6b5c..c880d8b 100644 --- a/src/api/config.ts +++ b/src/api/config.ts @@ -1,4 +1,4 @@ export const BaseURL = "https://nerd-back.point-dev.net/api/"; -// export const BaseURL = "http://192.168.1.109:8000/api/"; +// export const BaseURL = "http://192.168.1.106:8000/api/"; export const HEADER_KEY = "X-Custom-Query-Key"; diff --git a/src/api/reseller.ts b/src/api/reseller.ts index d16bc8a..b18be7e 100644 --- a/src/api/reseller.ts +++ b/src/api/reseller.ts @@ -8,9 +8,18 @@ const API = { ADD: "/reseller", DELETE: "/reseller", UPDATE: "/reseller", + + GET_COLLECTION: "/financialCollection", + Update_COLLECTION: "/financialCollection", + DELETE_COLLECTION : "/financialCollection", + + GET_SAlES: "/reseller/getStudentPackage", + }; const KEY = "reseller"; +const KEY_SALE = "reseller_sale"; +const KEY_COLLECTION = "reseller_collection"; export const useGetAllReseller = (params?: any, options?: any) => useGetQuery(KEY, API.GET, params, options); @@ -19,3 +28,16 @@ export const useUpdateReseller = () => useUpdateMutation(KEY, API.GET); export const useDeleteReseller = () => useDeleteMutation(KEY, API.DELETE); + + +export const useGetAllResellerCollection = (params?: any, options?: any) => + useGetQuery(KEY_COLLECTION, API.GET_COLLECTION, params, options); +export const useUpdateResellerCollection = () => + useUpdateMutation(KEY_COLLECTION, API.Update_COLLECTION); +export const useDeleteResellerCollection = () => + useDeleteMutation(KEY_COLLECTION, API.DELETE_COLLECTION); + + + +export const useGetAllResellerSales = (params?: any, options?: any) => + useGetQuery(KEY_SALE, API.GET_SAlES, params, options); \ No newline at end of file diff --git a/src/enums/params.ts b/src/enums/params.ts index 3312230..e566f69 100644 --- a/src/enums/params.ts +++ b/src/enums/params.ts @@ -11,11 +11,12 @@ export enum ParamsEnum { LESSON_ID = "lesson_id", QUESTION_ID = "question_id", CHILDREN_QUESTION_ID = "children_question_id", - RE_SELLER_ID = "re_seller_id", + RE_SELLER_ID = "reseller_id", ROLE_ID = "role_id", CITY_ID = "city_id", Collection_ID = "collection_id", Manager_ID = "manager_id", + // RESELLER_ID = "reseller_id", }