feat: deal group and stuff

This commit is contained in:
2024-11-09 02:33:17 +03:00
parent 1fa0f63c82
commit 1ee8135508
4 changed files with 21 additions and 21 deletions

View File

@@ -1,8 +1,5 @@
import { useParams } from "@tanstack/react-router"; import { useParams } from "@tanstack/react-router";
import { import { DealPageContextProvider, useDealPageContext } from "../../LeadsPage/contexts/DealPageContext.tsx";
DealPageContextProvider,
useDealPageContext,
} from "../../LeadsPage/contexts/DealPageContext.tsx";
import ProductAndServiceTab from "../../LeadsPage/tabs/ProductAndServiceTab/ProductAndServiceTab.tsx"; import ProductAndServiceTab from "../../LeadsPage/tabs/ProductAndServiceTab/ProductAndServiceTab.tsx";
import { FC, useEffect } from "react"; import { FC, useEffect } from "react";
import { DealService } from "../../../client"; import { DealService } from "../../../client";
@@ -20,7 +17,8 @@ const DealPageContent: FC<Props> = ({ dealId }) => {
return <ProductAndServiceTab />; return <ProductAndServiceTab />;
}; };
const DealPageWrapper: FC<{ children: React.ReactNode }> = ({ children }) => { const DealPageWrapper: FC<{ children: React.ReactNode }> = ({ children }) => {
return <DealPageContextProvider>{children}</DealPageContextProvider>; return <DealPageContextProvider refetchDeals={async () => {
}}>{children}</DealPageContextProvider>;
}; };
export const DealPage = () => { export const DealPage = () => {
const { dealId } = useParams({ strict: false }); const { dealId } = useParams({ strict: false });

View File

@@ -44,12 +44,12 @@ const useDealsTableColumns = () => {
}, },
{ {
Cell: ({ row }) => Cell: ({ row }) =>
new Date(row.original.deadline).toLocaleString("ru-RU"), new Date(row.original.deadline || 0).toLocaleString("ru-RU"),
accessorKey: "deadline", accessorKey: "deadline",
header: "Дедлайн", header: "Дедлайн",
sortingFn: (rowA, rowB) => sortingFn: (rowA, rowB) =>
new Date(rowB.original.deadline).getTime() - new Date(rowB.original.deadline || 0).getTime() -
new Date(rowA.original.deadline).getTime(), new Date(rowA.original.deadline || 0).getTime(),
}, },
{ {
header: "Общая стоимость", header: "Общая стоимость",
@@ -58,7 +58,7 @@ const useDealsTableColumns = () => {
accessorKey: "totalPrice", accessorKey: "totalPrice",
}, },
], ],
[] [],
); );
}; };

View File

@@ -13,7 +13,9 @@ export const DealsPage: FC = () => {
const { data, form } = useDealsPageState(); const { data, form } = useDealsPageState();
return ( return (
<> <>
<DealPageContextProvider> <DealPageContextProvider refetchDeals={async () => {
}}>
<div className={styles["container"]}> <div className={styles["container"]}>
<PageBlock> <PageBlock>
<div className={styles["top-panel"]}> <div className={styles["top-panel"]}>

View File

@@ -1,6 +1,4 @@
import BaseFormModal, { import BaseFormModal, { CreateEditFormProps } from "../../ClientsPage/modals/BaseFormModal/BaseFormModal.tsx";
CreateEditFormProps,
} from "../../ClientsPage/modals/BaseFormModal/BaseFormModal.tsx";
import { DealSummary, ShippingWarehouseSchema } from "../../../client"; import { DealSummary, ShippingWarehouseSchema } from "../../../client";
import { ContextModalProps } from "@mantine/modals"; import { ContextModalProps } from "@mantine/modals";
import { useForm } from "@mantine/form"; import { useForm } from "@mantine/form";
@@ -14,22 +12,24 @@ type RestProps = {
}; };
type Props = CreateEditFormProps<ShippingWarehouseSchema> & RestProps; type Props = CreateEditFormProps<ShippingWarehouseSchema> & RestProps;
const ShippingWarehouseForm = ({ const ShippingWarehouseForm = ({
context, context,
innerProps, innerProps,
id, id,
}: ContextModalProps<Props>) => { }: ContextModalProps<Props>) => {
const isEditing = "onChange" in innerProps; const isEditing = "onChange" in innerProps;
const form = useForm<ShippingWarehouseSchema>({ const form = useForm<ShippingWarehouseSchema>({
initialValues: isEditing initialValues: isEditing
? innerProps.element ? innerProps.element
: { : {
id: -1, id: -1,
name: "", name: "",
}, },
}); });
return ( return (
<DealPageContextProvider> <DealPageContextProvider refetchDeals={async () => {
}}>
<BaseFormModal <BaseFormModal
{...innerProps} {...innerProps}
closeOnSubmit closeOnSubmit